private void doPut(int key, int value) throws IOException {
    if (root.address == UNDEFINED_ADDRESS) doAllocateRoot();
    DirectBufferWrapper root = initAccessNodeView();
    try {
      int index = myAccessNodeView.locate(key, true);

      if (index < 0) {
        ++count;
        myAccessNodeView.insert(key, value);
      }
      else {
        myAccessNodeView.setAddressAt(index, value);
      }
    }
    finally {
      myAccessNodeView.disposeBuffer();
      if (root != null) {
        root.unlock();
      }
    }
  }
private void doPut(int key, int value)