code: final ByteBuffer getKeyFromPointer(int index) {
      int origionalLimit = memoryBuffer.limit();
      memoryBuffer.limit(memoryBuffer.capacity());
      int pointerOffset = computePointerOffset(index);
      int keyPos =  memoryBuffer.getInt(pointerOffset);
      int valuePos =  memoryBuffer.getInt(pointerOffset + 4);
      memoryBuffer.limit(origionalLimit);
      assert valuePos >= keyPos;
      ByteBuffer key = sliceOutRange(keyPos, valuePos);
      return key;
    }
docs: Get a key given the index of its pointer.