this causes an array copy... would it be safe to use new BytesWritable(value.get()) here? that ctor doesn't copy bytes.