docs: @SuppressWarnings("unchecked")
      void onItemClick(ItemClickEvent event) {
  
          if (!event.isCtrlKey() && !event.isShiftKey()) {
              // don't interfere with multi-selection using control key
              if (event.getButton().equals(MouseButton.RIGHT) || (event.getPropertyId() == null)) {
                  CmsUUID itemId = (CmsUUID)event.getItemId();
                  Set<CmsUUID> value = (Set<CmsUUID>)getValue();
                  if (value == null) {
                      select(itemId);
                  } else if (!value.contains(itemId)) {
                      setValue(null);
                      select(itemId);
                  }
                  m_menu.setEntries(getMenuEntries(), (Set<CmsUUID>)getValue());
                  m_menu.openForTable(event, this);
              } else if (event.getButton().equals(MouseButton.LEFT) && PROP_NAME.equals(event.getPropertyId())) {
                  Item item = event.getItem();
                  CmsUUID id = (CmsUUID)item.getItemProperty(PROP_ID).getValue();
                  m_manager.openSubView(
                      A_CmsWorkplaceApp.addParamToState(CmsProjectManager.PATH_NAME_FILES, "projectId", id.toString()),
                      true);
              }
          }
      }