docs: public static CmsListItemWidget createListItemWidget(CmsPublishResource resourceBean, int[] slotMapping) {
  
          CmsListItemWidget itemWidget = new CmsListItemWidget(resourceBean);
          if (resourceBean.getUserLastModified() != null) {
              String userLabel = org.opencms.ade.publish.client.Messages.get().key(
                  org.opencms.ade.publish.client.Messages.GUI_LABEL_USER_LAST_MODIFIED_0);
              itemWidget.addAdditionalInfo(
                  new CmsAdditionalInfoBean(userLabel, resourceBean.getUserLastModified(), null));
          }
          if (resourceBean.getDateLastModifiedString() != null) {
              String dateLabel = org.opencms.ade.publish.client.Messages.get().key(
                  org.opencms.ade.publish.client.Messages.GUI_LABEL_DATE_LAST_MODIFIED_0);
              itemWidget.addAdditionalInfo(
                  new CmsAdditionalInfoBean(dateLabel, resourceBean.getDateLastModifiedString(), null));
          }
  
          String resourceUser = resourceBean.getUserLastModified();
          String currentUser = CmsCoreProvider.get().getUserInfo().getName();
          if (!currentUser.equals(resourceUser)) {
              itemWidget.setTopRightIcon(
                  I_CmsLayoutBundle.INSTANCE.listItemWidgetCss().changed(),
                  Messages.get().key(Messages.GUI_CHANGED_BY_USER_1, resourceBean.getUserLastModified()));
          }
          for (int i = 0; i < NUM_BUTTON_SLOTS; i++) {
              SimplePanel panel = new SimplePanel();
              panel.getElement().getStyle().setWidth(20, Unit.PX);
              panel.getElement().getStyle().setHeight(20, Unit.PX);
              if (i == slotMapping[SLOT_WARNING]) {
                  panel.addStyleName(I_CmsLayoutBundle.INSTANCE.listItemWidgetCss().permaVisible());
              }
              itemWidget.addButton(panel);
          }
  
          if (CmsPublishDataModel.hasProblems(resourceBean)) {
              Widget warningImage = FontOpenCms.WARNING.getWidget(20, I_CmsConstantsBundle.INSTANCE.css().colorWarning());
              warningImage.setTitle(resourceBean.getInfo().getValue());
              warningImage.addStyleName(I_CmsLayoutBundle.INSTANCE.listItemWidgetCss().permaVisible());
              fillButtonSlot(itemWidget, SLOT_WARNING, warningImage, slotMapping);
          }
          itemWidget.setUnselectable();
          return itemWidget;
      }