@RequiresEdt
  private void updateChangeListAvailability() {
    if (myProject.isDisposed()) return;

    boolean enabled = shouldEnableChangeLists();
    synchronized (myDataLock) {
      if (enabled == myWorker.areChangeListsEnabled()) return;
    }

    myProject.getMessageBus().syncPublisher(ChangeListAvailabilityListener.TOPIC).onBefore();

    synchronized (myDataLock) {
      assert enabled != myWorker.areChangeListsEnabled();

      if (!enabled) {
        myDisabledWorkerState = myWorker.getChangeListsImpl();
      }

      myWorker.setChangeListsEnabled(enabled);

      if (enabled) {
        if (myDisabledWorkerState != null) {
          myWorker.setChangeLists(myDisabledWorkerState);
        }

        // Schedule refresh to replace FakeRevisions with actual changes
        VcsDirtyScopeManager.getInstance(myProject).markEverythingDirty();
        ChangesViewManager.getInstance(myProject).scheduleRefresh();
      }
    }

    myProject.getMessageBus().syncPublisher(ChangeListAvailabilityListener.TOPIC).onAfter();
  }
@RequiresEdt
  private void updateChangeListAvailability()