public synchronized void addFiles(@NotNull Collection<Path> newList) {
    if (newList.isEmpty()) {
      return;
    }
    else if (newList.size() == 1) {
      addFile(newList instanceof List ? ((List<Path>)newList).get(0) : newList.iterator().next());
      return;
    }

    Set<Path> result = new LinkedHashSet<>(files.length + newList.size());
    Collections.addAll(result, files);
    result.addAll(newList);
    if (result.size() == files.length) {
      // no new files
      return;
    }

    files = result.toArray(new Path[]{});
    allUrlsWereProcessed = false;
  }
public synchronized void addFiles(@NotNull Collection<Path> newList)