docs: protected List<I_CmsResourceType> getDetailTypesForPage(CmsResource resource) {
  
          Collection<String> typesForPage = m_detailTypesByPage.get(resource.getRootPath());
          String parentPath = CmsFileUtil.removeTrailingSeparator(CmsResource.getParentFolder(resource.getRootPath()));
          Collection<String> typesForFolder = m_detailTypesByPage.get(parentPath);
          Set<String> allTypes = new HashSet<String>();
          allTypes.addAll(typesForPage);
          allTypes.addAll(typesForFolder);
          List<I_CmsResourceType> resTypes = new ArrayList<I_CmsResourceType>();
          CmsResourceManager resMan = OpenCms.getResourceManager();
          for (String typeName : allTypes) {
              if (typeName.startsWith(CmsDetailPageInfo.FUNCTION_PREFIX)) {
                  continue;
              }
              try {
                  I_CmsResourceType resType = resMan.getResourceType(typeName);
                  resTypes.add(resType);
              } catch (CmsLoaderException e) {
                  LOG.warn("Invalid resource type name" + typeName + "! " + e.getLocalizedMessage(), e);
              }
          }
          return resTypes;
      }