@ApiStatus.Internal
  public final String @NotNull [] listWithCaching(@NotNull VirtualFile dir, @Nullable Set<String> filter) {
    var cache = myFileAttributesCache.get();
    if (cache != null) {
      LOG.error("unordered access to " + dir + " without cleaning after " + cache.first);
    }
    var result = myChildrenAttrGetter.accessDiskWithCheckCanceled(new Pair<>(dir, filter));
    myFileAttributesCache.set(new Pair<>(dir, result));
    return ArrayUtil.toStringArray(result.keySet());
  }
@ApiStatus.Internal
  public final String @NotNull [] listWithCaching(@NotNull VirtualFile dir, @Nullable Set<String> filter)