code: protected Component getComponentByName(String name) throws QTasteException {
          mFoundComponent = null;
          mFindWithEqual = false;
          LOGGER.debug("try to find a component with the name : " + name);
          // TODO: Think about several component having the same names!
          for (Window window : getDisplayableWindows()) {
              if (mFindWithEqual) {
                  break;
              }
              if (!checkName(name, window) || !mFindWithEqual) {
                  LOGGER.debug("parse window");
                  lookForComponent(name, window.getComponents());
              }
          }
          if (mFoundComponent != null) {
              try {
                  SwingUtilities.invokeAndWait(() -> {
                      mFoundComponent.requestFocus();
                      Component parent = mFoundComponent.getParent();
                      //active the parent
                      while (parent != null && !(parent instanceof Window)) {
                          parent = parent.getParent();
                      }
                      if (parent != null) {
                          ((Window) parent).toFront();
                      }
                  });
              } catch (InterruptedException | InvocationTargetException e) {
                  // ignore
              }
  
              return mFoundComponent;
          }
          throw new QTasteTestFailException("The component \"" + name + "\" is not found.");
      }
docs: Retrieve the GUI component base on its name.
  
  @param name the GUI component's name.
  @return the found GUI component.
  @throws QTasteTestFailException If no GUI component is found.