private int search(int value) throws IOException {
      if (isIndexLeaf() && isHashedLeaf()) {
        return hashIndex(value);
      }
      acquirePage();
      try {
        final ByteBuffer pageBuffer = page.rawPageBuffer();
        return ObjectUtils.binarySearch(0, getChildrenCount(), mid -> {
          int key = keyAtGivenLocksAndBufferAcquired(pageBuffer, mid);
          return Integer.compare(key, value);
        });
      }
      finally {
        releasePage();
      }
    }
private int search(int value)