docs: protected void ini() throws CmsException {
  
          if (m_container == null) {
              m_container = new IndexedContainer();
              setContainerDataSource(m_container);
          } else {
              m_container.removeAllItems();
          }
          for (TableProperty prop : TableProperty.values()) {
              m_container.addContainerProperty(prop, prop.getType(), prop.getDefaultValue());
              setColumnHeader(prop, prop.getLocalizedMessage());
          }
  
          setColumnWidth(TableProperty.Icon, 40);
          setSelectable(true);
          setMultiSelect(true);
  
          m_menu = new CmsContextMenu();
          m_menu.setAsTableContextMenu(this);
  
          List<CmsSessionInfo> sessionInfos = OpenCms.getSessionManager().getSessionInfos();
          List<CmsOrganizationalUnit> manageableOus = OpenCms.getRoleManager().getManageableOrgUnits(
              A_CmsUI.getCmsObject(),
              "",
              true,
              false);
          for (CmsSessionInfo session : sessionInfos) {
              CmsUser user = A_CmsUI.getCmsObject().readUser(session.getUserId());
              CmsOrganizationalUnit userOu = OpenCms.getOrgUnitManager().readOrganizationalUnit(
                  A_CmsUI.getCmsObject(),
                  user.getOuFqn());
              if (!(manageableOus.contains(userOu) && !user.isWebuser())) {
                  continue;
              }
              //            CmsListItem item = getList().newItem(sessionInfo.getSessionId().toString());
              Item item = m_container.addItem(session.getSessionId().getStringValue());
              item.getItemProperty(TableProperty.UserName).setValue(user.getName());
              item.getItemProperty(TableProperty.DateCreated).setValue(
                  session.getAgeOfSession() + " " + CmsVaadinUtils.getMessageText(Messages.GUI_MESSAGES_HOUR_0));
              item.getItemProperty(TableProperty.IS_ACTIVE).setValue(
                  new Long(System.currentTimeMillis() - session.getTimeUpdated()));
              item.getItemProperty(TableProperty.OrgUnit).setValue(userOu.getName());
              item.getItemProperty(TableProperty.Project).setValue(
                  A_CmsUI.getCmsObject().readProject(session.getProject()).getName());
              CmsSite site = OpenCms.getSiteManager().getSiteForSiteRoot(session.getSiteRoot());
              String siteTitle = site == null
              ? CmsVaadinUtils.getMessageText(org.opencms.ade.galleries.Messages.GUI_ROOT_SITE_0)
              : site.getTitle();
              item.getItemProperty(TableProperty.Site).setValue(siteTitle);
  
              item.getItemProperty(TableProperty.IS_WAITING).setValue(
                  new Boolean(!session.getBroadcastQueue().isEmpty()));
  
          }
  
          setVisibleColumns(
              TableProperty.Icon,
              TableProperty.IS_ACTIVE,
              TableProperty.UserName,
              TableProperty.DateCreated,
              TableProperty.Site,
              TableProperty.Project);
  
      }