currentRow.copyBytes());
final PersistentDataset<CommonIndexValue> commonData = new PersistentDataset<CommonIndexValue>();
final PersistentDataset<Object> extendedData = new PersistentDataset<Object>();
for (int i = 0; (i < keys.size()) && (i < values.size()); i++) {
final Key key = keys.get(i);
final ByteArrayId fieldId = new ByteArrayId(
key.getColumnQualifierData().getBackingArray());
final FieldReader<? extends CommonIndexValue> reader = model.getReader(fieldId);
if (reader == null) {
// try extended data
final FieldReader<Object> extReader = dataAdapter.getReader(fieldId);
if (extReader == null) {
continue;
}
final Object fieldValue = extReader.readField(values.get(
i).get());
extendedData.addValue(new PersistentValue<Object>(
fieldId,
fieldValue));
}
else {
final CommonIndexValue fieldValue = reader.readField(values.get(
i).get());
fieldValue.setVisibility(key.getColumnVisibilityData().getBackingArray());
commonData.addValue(new PersistentValue<CommonIndexValue>(
fieldId,
fieldValue));
}
}
final IndexedAdapterPersistenceEncoding encoding = new IndexedAdapterPersistenceEncoding(
new ByteArrayId(
rowId.getAdapterId()),
new ByteArrayId(
rowId.getDataId()),
new ByteArrayId(
rowId.getIndexId()),
rowId.getNumberOfDuplicates(),
commonData,
extendedData);
if (geowaveFilter != null) {