private boolean doContainsMapping(Key key) throws IOException {
    flushAppendCache(key);

    myEnumerator.lockStorageRead();
    try {
      if (myDirectlyStoreLongFileOffsetMode) {
        return ((PersistentBTreeEnumerator<Key>)myEnumerator).getNonNegativeValue(key) != NULL_ADDR;
      }
      else {
        final int id = myEnumerator.tryEnumerate(key);
        if (id == DataEnumerator.NULL_ID) {
          return false;
        }
        if (myIntMapping) return true;
        return readValueId(id) != NULL_ADDR;
      }
    }
    finally {
      myEnumerator.unlockStorageRead();
    }
  }
private boolean doContainsMapping(Key key)