public ByteBuffer getBytesUnsafe(int i) {
    metadata.checkBounds(i);

    ByteBuffer value = data.get(i);
    if (value == null) return null;

    return value.duplicate();
  }
 public boolean isNull(int i) {
   metadata.checkBounds(i);
   return data.get(i) == null;
 }