private static void performRefreshAndTrackChanges(Project project,
                                                    Collection<? extends Change> changesBeforeUpdate,
                                                    Collection<? extends FilePath> unversionedBefore,
                                                    boolean wasUpdatingBefore) {
    if (project.isDisposed()) return;
    ChangeListManagerEx changeListManager = ChangeListManagerEx.getInstanceEx(project);

    VcsDirtyScopeManager.getInstance(project).markEverythingDirty();

    changeListManager.invokeAfterUpdate(false, () -> {
      Collection<Change> changesAfterUpdate = changeListManager.getAllChanges();
      Collection<FilePath> unversionedAfter = changeListManager.getUnversionedFilesPaths();

      VcsStatisticsCollector
        .logRefreshActionPerformed(project, changesBeforeUpdate, changesAfterUpdate, unversionedBefore, unversionedAfter,
                                   wasUpdatingBefore);
    });
  }
private static void performRefreshAndTrackChanges(Project project,
                                                    Collection<? extends Change> changesBeforeUpdate,
                                                    Collection<? extends FilePath> unversionedBefore,
                                                    boolean wasUpdatingBefore)