code: public Map<String, CmsJspCategoryAccessBean> getReadResourceCategories() {
  
          if (null == m_resourceCategories) {
              m_resourceCategories = CmsCollectionsGenericWrapper.createLazyMap(new Transformer() {
  
                  public Object transform(Object resourceName) {
  
                      try {
                          CmsResource resource = m_cms.readResource(
                              getRequestContext().removeSiteRoot((String)resourceName));
                          return new CmsJspCategoryAccessBean(m_cms, resource);
                      } catch (CmsException e) {
                          LOG.warn(e.getLocalizedMessage(), e);
                          return null;
                      }
                  }
              });
          }
          return m_resourceCategories;
      }
docs: Reads the categories assigned to a resource.
  
  @return map from the resource path (root path) to the assigned categories