### Question:
MultiFeatureTypeBuilder implements Function<ObjectInfo<RevFeature>, Feature> { public @Override Feature apply(ObjectInfo<RevFeature> info) { FeatureType featureType = get(info.ref().getMetadataId()); String id = info.node().getName(); RevFeature values = info.object(); Feature feature = Feature.build(id, featureType, values); return feature; } MultiFeatureTypeBuilder(@NonNull ObjectStore odb); @Override Feature apply(ObjectInfo<RevFeature> info);  }### Answer:
@Test public void testBuild() throws Exception { ObjectId meta1 = getOID(1); org.locationtech.geogig.feature.FeatureType fType1 = FeatureTypes.createType("location", "the_geom:Point:srid=4326", "name:String", "name2:String"); RevFeatureType revft1 = RevFeatureType.builder().id(getOID(1)).type(fType1).build(); ObjectDatabase odb = mock(ObjectDatabase.class); when(odb.getFeatureType(meta1)).thenReturn(revft1); WKTReader wkt = new WKTReader(); RevFeature feat = RevObjectTestSupport.feature(wkt.read("POINT(0 0)"), "abc", "def"); Node n1 = RevObjectFactory.defaultInstance().createNode("name1", getOID(2), meta1, TYPE.FEATURE, new Envelope(), null); NodeRef nr1 = new NodeRef(n1, "testcase", meta1); ObjectInfo<RevFeature> fi = ObjectInfo.of(nr1, feat); MultiFeatureTypeBuilder builder = new MultiFeatureTypeBuilder(odb); Feature sf = builder.apply(fi); Assert.isTrue(sf.getAttribute("name").equals("abc")); Assert.isTrue(sf.getAttribute("name2").equals("def")); }