@Override
  public void interact() {
    if (!myApp.isDispatchThread()) return;
    long now = System.currentTimeMillis();
    if (now == myLastInteraction) return;
    myLastInteraction = now;
    if (myWatcher != null && now - myLastWatcherPing > myWatcher.getUnresponsiveInterval() / 2) {
      myLastWatcherPing = now;
      myWatcher.edtEventStarted();
    }
    if (getDialog().getPanel().isShowing()) {
      myEventStealer.dispatchEvents(0);
    }
    updateUI(now);
  }
@Override
  public void interact()