private ByteBuffer getBytes(int address, int length) throws IOException {
      acquirePage();
      try {
        final ByteBuffer duplicate = page.duplicate();

        final int newPosition = address + addressInBuffer;
        duplicate.position(newPosition);
        duplicate.limit(newPosition + length);
        return duplicate;
      }
      finally {
        releasePage();
      }
    }
private ByteBuffer getBytes(int address, int length)