private ByteBuffer allocateAndLoadFileContent() throws IOException {
    final int bufferSize = myFile.getPageSize();
    final ByteBuffer buffer = DirectByteBufferAllocator.ALLOCATOR.allocate(bufferSize);
    buffer.order(myFile.isNativeBytesOrder() ? ByteOrder.nativeOrder() : ByteOrder.BIG_ENDIAN);
    assert buffer.limit() > 0;
    return myFile.executeIdempotentOp(ch -> {
      final int readBytes = ch.read(buffer, myPosition);
      if (readBytes < bufferSize) {
        for (int i = Math.max(0, readBytes); i < bufferSize; i++) {
          buffer.put(i, (byte)0);
        }
      }
      return buffer;
    }, myFile.isReadOnly());
  }
private ByteBuffer allocateAndLoadFileContent()