docs: private FormLayout initForm() {
  
          FormLayout form = new FormLayout();
          form.setWidth("100%");
  
          IndexedContainer sites = CmsVaadinUtils.getAvailableSitesContainer(m_context.getCms(), CAPTION_PROPERTY);
          m_siteComboBox = prepareComboBox(sites, org.opencms.workplace.Messages.GUI_LABEL_SITE_0);
          m_siteComboBox.select(m_context.getCms().getRequestContext().getSiteRoot());
          form.addComponent(m_siteComboBox);
          ValueChangeListener changeListener = new ValueChangeListener() {
  
              private static final long serialVersionUID = 1L;
  
              public void valueChange(ValueChangeEvent event) {
  
                  submit();
              }
          };
          m_siteComboBox.addValueChangeListener(changeListener);
          IndexedContainer projects = CmsVaadinUtils.getProjectsContainer(m_context.getCms(), CAPTION_PROPERTY);
          m_projectComboBox = prepareComboBox(projects, org.opencms.workplace.Messages.GUI_LABEL_PROJECT_0);
          CmsUUID currentProjectId = m_context.getCms().getRequestContext().getCurrentProject().getUuid();
          if (projects.containsId(currentProjectId)) {
              m_projectComboBox.select(currentProjectId);
          } else {
              try {
                  CmsUUID ouProject = OpenCms.getOrgUnitManager().readOrganizationalUnit(
                      m_context.getCms(),
                      m_context.getCms().getRequestContext().getOuFqn()).getProjectId();
                  if (projects.containsId(ouProject)) {
                      m_projectComboBox.select(ouProject);
                  }
              } catch (CmsException e) {
                  LOG.error("Error while reading current OU.", e);
              }
          }
  
          form.addComponent(m_projectComboBox);
          m_projectComboBox.addValueChangeListener(changeListener);
          return form;
      }