docs: void search() {
  
          CmsSearchReplaceSettings settings = new CmsSearchReplaceSettings();
          settings.setSiteRoot((String)m_siteSelect.getValue());
          settings.setType((SearchType)m_searchType.getValue());
          settings.setPaths(Collections.singletonList(m_searchRoot.getValue()));
          settings.setIgnoreSubSites(m_ignoreSubSites.getValue().booleanValue());
          I_CmsResourceType type = (I_CmsResourceType)m_resourceType.getValue();
          if (type != null) {
              settings.setTypes(type.getTypeName());
          }
          if (SearchType.resourcetype.equals(m_searchType.getValue())
              | SearchType.renameContainer.equals(m_searchType.getValue())) {
              settings.setTypes(
                  CmsResourceTypeXmlContainerPage.getStaticTypeName()
                      + ","
                      + CmsResourceTypeXmlContainerPage.MODEL_GROUP_TYPE_NAME);
          }
  
          if (SearchType.renameContainer.equals(m_searchType.getValue())) {
              try {
                  CmsObject cms = OpenCms.initCmsObject(A_CmsUI.getCmsObject());
                  cms.getRequestContext().setSiteRoot("");
                  CmsResource element = cms.readResource(m_resourceSearch.getValue());
                  settings.setElementResource(element);
              } catch (CmsException e) {
                  LOG.error("Can not read resource", e);
              }
          }
  
          if (m_replace.getValue().booleanValue()) {
              try {
                  CmsProject workProject = A_CmsUI.getCmsObject().readProject((CmsUUID)m_workProject.getValue());
                  settings.setProject(workProject.getName());
              } catch (CmsException e) {
                  // ignore
              }
              if (SearchType.resourcetype.equals(m_searchType.getValue())) {
                  try {
                      CmsObject cms = OpenCms.initCmsObject(A_CmsUI.getCmsObject());
                      cms.getRequestContext().setSiteRoot("");
                      CmsResource resource = cms.readResource(m_replaceResource.getValue());
                      settings.setReplacepattern(CmsSearchReplaceSettings.replaceElementInPagePattern(resource));
                  } catch (CmsException e) {
                      LOG.error("Unable to read resource.", e);
                  }
              } else if (SearchType.renameContainer.equals(m_searchType.getValue())) {
                  settings.setReplacepattern(m_oldName.getValue() + ";" + m_newName.getValue());
              } else {
  
                  settings.setReplacepattern(m_replacePattern.getValue());
              }
  
          }
  
          if (SearchType.resourcetype.equals(m_searchType.getValue())
              | SearchType.renameContainer.equals(m_searchType.getValue())) {
              try {
                  CmsObject cms = OpenCms.initCmsObject(A_CmsUI.getCmsObject());
                  cms.getRequestContext().setSiteRoot("");
                  CmsResource resource = cms.readResource(m_resourceSearch.getValue());
                  settings.setSearchpattern(CmsSearchReplaceSettings.searchElementInPagePattern(resource));
              } catch (CmsException e) {
                  LOG.error("Unable to read resource.", e);
              }
          } else {
  
              settings.setSearchpattern(m_searchPattern.getValue());
          }
          if (settings.getType().isContentValuesOnly()) {
              if (m_locale.getValue() != null) {
                  settings.setLocale(m_locale.getValue().toString());
              }
              settings.setXpath(m_xPath.getValue());
          }
          if (settings.getType().isSolrSearch()) {
              settings.setQuery(m_solrQuery.getValue());
              settings.setSource((String)m_searchIndex.getValue());
          }
  
          if (settings.getType().isPropertySearch()) {
              settings.setProperty((CmsPropertyDefinition)m_property.getValue());
              settings.setForceReplace(m_replace.getValue().booleanValue());
          }
  
          m_app.search(settings, true);
      }