docs: protected CmsPublishResource createPublishResource(CmsResource resource) throws CmsException {
  
          CmsResourceUtil resUtil = new CmsResourceUtil(m_cms, resource);
          CmsPermissionInfo permissionInfo = OpenCms.getADEManager().getPermissionInfo(m_cms, resource, null);
  
          String typeName = CmsIconUtil.getDisplayType(m_cms, resource);
          String detailTypeName = CmsResourceIcon.getDefaultFileOrDetailType(m_cms, resource);
          CmsPublishResource pubResource = new CmsPublishResource(
              resource.getStructureId(),
              resUtil.getFullPath(),
              resUtil.getTitle(),
              typeName,
              resource.getState(),
              permissionInfo,
              resource.getDateLastModified(),
              resUtil.getUserLastModified(),
              CmsVfsService.formatDateTime(m_cms, resource.getDateLastModified()),
              false,
              null,
              new ArrayList<CmsPublishResource>());
          pubResource.setBigIconClasses(CmsIconUtil.getIconClasses(typeName, resource.getName(), false));
          if (CmsStringUtil.isNotEmptyOrWhitespaceOnly(detailTypeName)) {
              pubResource.setSmallIconClasses(CmsIconUtil.getIconClasses(detailTypeName, null, true));
          }
          return pubResource;
      }