@Override
  public boolean get(int key, int @NotNull [] result) throws IOException {
    assert result.length > 0 : "result.length must be >0";
    if (key == 0) {
      if (hasZeroKey) {
        result[0] = zeroKeyValue;
        return true;
      }
      return false;
    }

    if (root.address == UNDEFINED_ADDRESS) return false;

    Page root = initAccessNodeView();
    try {
      int index = myAccessNodeView.locate(key, /*split: */ false);

      if (index < 0) {
        myCanUseLastKey = true;
        myLastGetKey = key;
        return false;
      }
      else {
        myCanUseLastKey = false;
      }
      result[0] = myAccessNodeView.addressAt(index);
    }
    finally {
      myAccessNodeView.disposePage();
      if (root != null) {
        root.release();
      }
    }

    return true;
  }
@Override
  public boolean get(int key, int @NotNull [] result)