docs: public static CmsResourceInfo getPrincipalInfo(I_CmsPrincipal principal) {
  
          if (principal == null) {
              return null;
          }
          if (principal instanceof CmsUser) {
              CmsUser user = (CmsUser)principal;
              CmsUserIconHelper helper = OpenCms.getWorkplaceAppManager().getUserIconHelper();
              return new CmsResourceInfo(
                  user.getName(),
                  user.getEmail(),
                  new ExternalResource(helper.getTinyIconPath(A_CmsUI.getCmsObject(), user)));
          }
          if (principal.getId().equals(CmsAccessControlEntry.PRINCIPAL_ALL_OTHERS_ID)) {
              return new CmsResourceInfo(
                  CmsVaadinUtils.getMessageText(org.opencms.workplace.commons.Messages.GUI_LABEL_ALLOTHERS_0),
                  CmsVaadinUtils.getMessageText(org.opencms.workplace.commons.Messages.GUI_DESCRIPTION_ALLOTHERS_0),
                  new CmsCssIcon(OpenCmsTheme.ICON_PRINCIPAL_ALL));
          }
          if (principal.getId().equals(CmsAccessControlEntry.PRINCIPAL_OVERWRITE_ALL_ID)) {
              return new CmsResourceInfo(
                  CmsVaadinUtils.getMessageText(org.opencms.workplace.commons.Messages.GUI_LABEL_OVERWRITEALL_0),
                  CmsVaadinUtils.getMessageText(org.opencms.workplace.commons.Messages.GUI_DESCRIPTION_OVERWRITEALL_0),
                  new CmsCssIcon(OpenCmsTheme.ICON_PRINCIPAL_OVERWRITE));
          }
          CmsRole role = CmsRole.valueOfId(principal.getId());
          if (role != null) {
              return new CmsResourceInfo(
                  role.getName(A_CmsUI.get().getLocale()),
                  role.getDescription(A_CmsUI.get().getLocale()),
                  new CmsCssIcon(OpenCmsTheme.ICON_ROLE));
          }
          return new CmsResourceInfo(
              principal.getName(),
              principal.getDescription(A_CmsUI.get().getLocale()),
              new CmsCssIcon(OpenCmsTheme.ICON_GROUP));
      }