this.recordConsumer = consumer;
}
@Override
public void write(Object value) {
RecordConsumer consumer = recordConsumer;
String[] ns = names;
PropertyExtractor[] ps = properties;
ValueWriter[] vs = drivers;
consumer.startMessage();
for (int index = 0, n = ns.length; index < n; index++) {
ValueOption<?> property = ps[index].extract(value);
if (property.isNull() == false) {
String name = ns[index];
consumer.startField(name, index);
vs[index].write(property, consumer);
consumer.endField(name, index);
}
}
consumer.endMessage();
}