code: @SuppressWarnings("unchecked")
      public synchronized Data[] getBackend() {
          sort();
          AbstractKVStorable[] data = new AbstractKVStorable[elementsInBucket];
          byte[] dst = new byte[gp.getElementSize()];
          int i = 0;
          for (int m = 0; m < memory.length; m++) {
              ByteBuffer bb = ByteBuffer.wrap(memory[m]);
              if (m == memory.length - 1) {
                  bb.limit(position_in_chunk);
              }
              while (bb.remaining() > 0) {
                  bb.get(dst);
                  data[i++] = prototype.fromByteBuffer(ByteBuffer.wrap(dst));
              }
          }
          Arrays.sort(data, new AbstractKVStorableComparator());
          return (Data[]) data;
      }
docs: TODO: handle backend internally as long byte-array