@Override
  public boolean hasDirtyFiles() throws IOException {
    final Ref<Boolean> hasDirtyFiles = Ref.create(false);
    processDirtyFiles(new FileProcessor<R, T>() {
      @Override
      public boolean apply(@NotNull T target, @NotNull File file, @NotNull R root) {
        hasDirtyFiles.set(true);
        return false;
      }
    });
    return hasDirtyFiles.get();
  }
@Override
  public boolean hasDirtyFiles()