### Question:
RevFeatureBuilder { public RevFeatureBuilder addAll(@NonNull List<Object> values) { for (Object v : values) { addValue(v); } return this; } RevFeatureBuilder(); RevFeature build(); RevFeatureBuilder reset(); RevFeatureBuilder addValue(@Nullable Object value); RevFeatureBuilder addValueNoCopy(@Nullable Object value); RevFeatureBuilder addAll(@NonNull List<Object> values); RevFeatureBuilder addAll(@NonNull Object... values); RevFeature build(@NonNull Feature feature);  }### Answer:
@Test public void testAddAll() { Feature f = points1; RevFeature feature = RevFeature.builder().build(f); RevFeatureBuilder b = RevFeature.builder(); f.forEach(b::addValue); RevFeature builtWithList = b.build(); assertEquals(feature, builtWithList); b.reset(); Object[] array = new Object[f.getAttributeCount()]; for (int i = 0; i < f.getAttributeCount(); i++) { array[i] = f.getAttribute(i); } b.addAll(array); RevFeature builtWithArray = b.build(); assertEquals(feature, builtWithArray); for (int i = 0; i < f.getAttributeCount(); i++) { assertEquals(f.getAttribute(i), builtWithList.getValues().get(i).orElse(null)); } }