code: @Override
      public Boolean executeCommand(int timeout, String componentName, Object... data) throws QTasteException {
          setData(data);
          long maxTime = System.currentTimeMillis() + 1000 * timeout;
          String buttonText = mData[0].toString();
          component = null;
  
          while (System.currentTimeMillis() < maxTime) {
              JDialog targetPopup = null;
              for (JDialog dialog : findPopups()) {
                  if (!dialog.isVisible() || !dialog.isEnabled()) {
                      String msg = "Ignore the dialog '" + dialog.getTitle() + "' cause:\n ";
                      if (!dialog.isVisible()) {
                          msg += "\t is not visible";
                      }
                      if (!dialog.isEnabled()) {
                          msg += "\t is not enabled";
                      }
                      LOGGER.info(msg);
                      continue;
                  }
                  if (activateAndFocusComponentWindow(dialog)) {
                      targetPopup = dialog;
                      break;
                  } else {
                      LOGGER.info("Ignore the dialog '" + dialog.getTitle() + "' cause:\n  \t is not focused");
                  }
              }
              component = findButtonComponent(targetPopup, buttonText);
  
              if (component != null && component.isEnabled() && checkComponentIsVisible(component)) {
                  break;
              }
  
              try {
                  Thread.sleep(1000);
              } catch (InterruptedException e) {
                  LOGGER.warn("Exception during the component search sleep...");
              }
          }
  
          if (component == null) {
              throw new QTasteTestFailException("The button with the text \"" + buttonText + "\" is not found.");
          }
          if (!component.isEnabled()) {
              throw new QTasteTestFailException("The button with the text \"" + buttonText + "\" is not enabled.");
          }
          if (!checkComponentIsVisible(component)) {
              throw new QTasteTestFailException("The button with the text \"" + buttonText + "\" is not visible!");
          }
  
          prepareActions();
          SwingUtilities.invokeLater(this);
          synchronizeThreads();
          return true;
      }
docs: Commander which clicks on a popup button.
  
  @param timeout the timeout value; String - the button text.
  @return true if the command is successfully performed.
  @throws QTasteException