@Override
  public void put(int key, int value) throws IOException {
    if (key == 0) {
      hasZeroKey = true;
      zeroKeyValue = value;
      return;
    }

    boolean canUseLastKey = myCanUseLastKey;
    if (canUseLastKey) {
      myCanUseLastKey = false;
      if (key == myLastGetKey && !myAccessNodeView.myHasFullPagesAlongPath) {
        ++myOptimizedInserts;
        ++count;
        try {
          myAccessNodeView.insert(key, value);
        }
        finally {
          myAccessNodeView.disposeBuffer();
        }
        return;
      }
    }
    doPut(key, value);
  }
@Override
  public void put(int key, int value)