@Override
  public @NotNull Map<Key, Value> getIndexedFileData(int fileId) throws StorageException {
    return ConcurrencyUtil.withLock(getLock().readLock(), () -> {
      try {
        // TODO remove Collections.unmodifiableMap when ContainerUtil started to return unmodifiable map in all cases
        //noinspection RedundantUnmodifiable
        return Collections.unmodifiableMap(ContainerUtil.notNullize(getNullableIndexedData(fileId)));
      }
      catch (IOException e) {
        throw new StorageException(e);
      }
    });
  }
@Override
  public @NotNull Map<Key, Value> getIndexedFileData(int fileId)