### Question:
MetadataBrowser { public Optional<Metadata> getFieldMetadata(String schemaFullName, String field) { Validate.notBlank(schemaFullName, "Schema full name is blank"); Validate.notBlank(field, "Field is blank"); MultiValuedMap<String, String> entityFields = getEntityFields(); Collection<String> fields = entityFields.get(schemaFullName); if (fields == null || !fields.contains(field)) { throw new IllegalArgumentException( String.format("Schema has no field '%s' in '%s'", field, schemaFullName)); } FieldDescriptor key = FieldDescriptor.with(schemaFullName, field); return Optional.ofNullable(getFieldMetadata().get(key)); } MetadataBrowser(T schema); boolean isEmpty(); int size(); List<Metadata> getSchemaMetadataAsList(); List<Metadata> getFieldMetadataAsList(); List<Metadata> getAsList(MetadataType type); List<Metadata> toList(); Map<MetadataKey, Metadata> getFieldMetadataAsMap(); Map<MetadataKey, Metadata> getAsMap(MetadataType type); Optional<Metadata> getSchemaMetadata(); Optional<Metadata> getFieldMetadata(String schemaFullName, String field);  }### Answer:
@Test(expected=Exception.class) public void testFailsOnUnknownField() { FullSchemaInfo schemaInfo = testSchema(null); MetadataBrowser<FullSchemaInfo> browser = schemaInfo.getMetadataBrowser(); Assert.assertNotNull(browser); browser.getFieldMetadata("schemaFullName", "unknown_field_path"); }