private void collectFiles(@NotNull VirtualFile dir,
                            @NotNull List<? super VirtualFile> filesList) {
    for (VirtualFile child : myDirectory2Children.getOrDefault(dir, Collections.emptyList())) {
      ProgressManager.checkCanceled();

      if (!child.isDirectory()) {
        if (LOG.isDebugEnabled()) {
          LOG.assertTrue(!filesList.contains(child));
        }
        filesList.add(child);
      }
      else {
        collectFiles(child, filesList);
      }
    }
  }
private void collectFiles(@NotNull VirtualFile dir,
                            @NotNull List<? super VirtualFile> filesList)