private void startMacScrollbarFadeout(boolean now) {
    if (myDisposed || !isMacOverlayScrollbar()) return;

    myMacScrollbarFadeTimer.cancelAllRequests();

    if (now) {
      if (!myMacScrollbarHidden && !myMacScrollbarFadeAnimator.isRunning()) {
        myMacScrollbarFadeAnimator.resume();
      }
      return;
    }

    myMacScrollbarFadeAnimator.suspend();
    myMacScrollbarFadeAnimator.reset();
    myMacScrollbarHidden = false;
    myMacScrollbarFadeLevel = 0;

    JScrollBar sb = scrollbar; // concurrency in background editors initialization
    if (sb != null) {
      sb.repaint();

      Application application = ApplicationManager.getApplication();
      if (!myMouseOverScrollbar && !sb.getValueIsAdjusting() && (application == null || !application.isUnitTestMode())) {
        myMacScrollbarFadeTimer.addRequest(() -> myMacScrollbarFadeAnimator.resume(), 700, null);
      }
    }
  }
private void startMacScrollbarFadeout(boolean now)