@Override
  public void interact() {
    if (!EDT.isCurrentThreadEdt()) return;
    long now = System.nanoTime();
    if (now == myLastInteraction) return;
    myLastInteraction = now;
    long millisSinceLastUpdate = TimeoutUtil.getDurationMillis(myLastUiUpdate);
    if (!myShowing && millisSinceLastUpdate > myDelayInMillis) {
      myShowing = true;
    }
    if (myShowing) {
      myEventStealer.dispatchEvents(0);
    }
    if (myShowing && millisSinceLastUpdate > ProgressDialog.UPDATE_INTERVAL) {
      myLastUiUpdate = System.nanoTime();
      paintProgress();
    }
  }
@Override
  public void interact()