@Override
  public boolean processKeys(@NotNull Processor<? super K> processor) throws IOException {
    return keyHashToIdMap.forEach((keyHash, recordId) -> {
      K key = readKey(convertStoredIdToLogId(recordId));
      if (key == null) {
        throw new AssertionError(
          "(keyHash: " + keyHash + ", recordId: " + recordId + "): key can't be null, removed records must NOT be in keyHashToIdMap"
        );
      }
      return processor.process(key);
    });
  }
@Override
  public boolean processKeys(@NotNull Processor<? super K> processor)