@Override
    public boolean processFile(@NotNull VirtualFile fileOrDir) {
      ReadAction.run(() -> {
        if (!fileOrDir.isDirectory()) {
          if (lastParent != null && !Comparing.equal(dir, fileOrDir.getParent())) {
            lastParent = null;
          }
          lastParent = buildFileNode(fileOrDir, lastParent);
          dir = fileOrDir.getParent();
        } else {
          lastParent = null;
        }
      });
      return true;
    }
@Override
    public boolean processFile(@NotNull VirtualFile fileOrDir)