docs: public static SelectOptions getProjectSelectOptionsStatic(CmsObject cms, String startProject, Locale locale) {
  
          List<CmsProject> allProjects;
          try {
              String ouFqn = "";
              CmsUserSettings settings = new CmsUserSettings(cms);
              if (!settings.getListAllProjects()) {
                  ouFqn = cms.getRequestContext().getCurrentUser().getOuFqn();
              }
              allProjects = OpenCms.getOrgUnitManager().getAllAccessibleProjects(
                  cms,
                  ouFqn,
                  settings.getListAllProjects());
          } catch (CmsException e) {
              // should usually never happen
              if (LOG.isErrorEnabled()) {
                  LOG.error(e.getLocalizedMessage(), e);
              }
              allProjects = Collections.emptyList();
          }
  
          boolean singleOu = true;
          String ouFqn = null;
          Iterator<CmsProject> itProjects = allProjects.iterator();
          while (itProjects.hasNext()) {
              CmsProject prj = itProjects.next();
              if (prj.isOnlineProject()) {
                  // skip the online project
                  continue;
              }
              if (ouFqn == null) {
                  // set the first ou
                  ouFqn = prj.getOuFqn();
              }
              if (!ouFqn.equals(prj.getOuFqn())) {
                  // break if one different ou is found
                  singleOu = false;
                  break;
              }
          }
  
          List<String> options = new ArrayList<String>(allProjects.size());
          List<String> values = new ArrayList<String>(allProjects.size());
          int checkedIndex = 0;
  
          for (int i = 0, n = allProjects.size(); i < n; i++) {
              CmsProject project = allProjects.get(i);
              String projectName = project.getSimpleName();
              if (!singleOu && !project.isOnlineProject()) {
                  try {
                      projectName = projectName
                          + " - "
                          + OpenCms.getOrgUnitManager().readOrganizationalUnit(cms, project.getOuFqn()).getDisplayName(
                              locale);
                  } catch (CmsException e) {
                      projectName = projectName + " - " + project.getOuFqn();
                  }
              }
              options.add(projectName);
              values.add(project.getName());
              if (startProject.equals(project.getName())) {
                  checkedIndex = i;
              }
          }
          SelectOptions selectOptions = new SelectOptions(options, values, checkedIndex);
          return selectOptions;
      }