@Override
  public void remove(Key key) throws IOException {
    if (myIsReadOnly) throw new IncorrectOperationException();
    if (myWal != null) {
      myWal.remove(key);
    }

    getWriteLock().lock();
    try {
      doRemove(key);
    }
    finally {
      getWriteLock().unlock();
    }
  }
@Override
  public void remove(Key key)