void processResources(@NotNull String dir,
                        @NotNull Predicate<? super String> fileNameFilter,
                        @NotNull BiConsumer<? super String, ? super InputStream> consumer) throws IOException {
    if (useCache && allUrlsWereProcessed) {
      // getLoadersByName compute package name by name, so, add ending slash
      Loader[] loaders = cache.getLoadersByResourcePackageDir(dir);
      if (loaders != null) {
        for (Loader loader : loaders) {
          loader.processResources(dir, fileNameFilter, consumer);
        }
      }
    }
    else {
      int index = 0;
      Loader loader;
      while ((loader = getLoader(index++)) != null) {
        loader.processResources(dir, fileNameFilter, consumer);
      }
    }
  }
void processResources(@NotNull String dir,
                        @NotNull Predicate<? super String> fileNameFilter,
                        @NotNull BiConsumer<? super String, ? super InputStream> consumer)