@Override
      public FileVisitResult visitFileFailed(Path file, IOException e) throws IOException {
        if (e instanceof NoSuchFileException) {
          return FileVisitResult.TERMINATE;
        }
        if (e instanceof FileSystemLoopException) {
          LOG.info(e);
          // in some cases (e.g. Google Drive File Stream) loop detection for directories works incorrectly
          // fallback: try to traverse in the old IO-way
          traverseRecursivelyIO(file.toFile(), dirFilter, fileFilter, processor);
          return FileVisitResult.SKIP_SUBTREE;
        }
        return super.visitFileFailed(file, e);
      }
@Override
      public FileVisitResult visitFileFailed(Path file, IOException e)