public List<KeyValue> stream(Entity<?> entity) { List<KeyValue> streamed = new ArrayList<KeyValue>(); byte[] keyBytes = Serialization.serialize(entity.getKey()); byte[] qualifierBytes = new byte[0]; long ts = System.currentTimeMillis(); for (FieldKey<?> key : this.keys) { String name = key.getName(); if (entity.isDirty(key)) { if (entity.getDirty(key) != null) { byte[] familyBytes = Serialization.serialize(key.getName()); byte[] valueBytes = this.streamers.get(name).write(entity.get(key), Serialization.serialize(name), ts); KeyValue kv = new KeyValue(keyBytes, familyBytes, qualifierBytes, valueBytes); streamed.add(kv); } else { ErrorControl.fatal("Caught unsupported null dirty value for key: " + name); } } } return streamed; }