code: public List<DetailInfo> getDetailInfos(CmsObject cms) {
  
          List<DetailInfo> result = Lists.newArrayList();
          List<CmsDetailPageInfo> detailPages = getAllDetailPages(true);
          Collections.reverse(detailPages); // make sure primary detail pages come later in the list and override other detail pages for the same type
          Map<String, CmsDetailPageInfo> primaryDetailPageMapByType = Maps.newHashMap();
          for (CmsDetailPageInfo pageInfo : detailPages) {
              primaryDetailPageMapByType.put(pageInfo.getType(), pageInfo);
          }
          for (CmsResourceTypeConfig typeConfig : getResourceTypes()) {
              String typeName = typeConfig.getTypeName();
              if (((typeConfig.getFolderOrName() == null) || !typeConfig.getFolderOrName().isPageRelative())
                  && primaryDetailPageMapByType.containsKey(typeName)) {
                  String folderPath = typeConfig.getFolderPath(cms, null);
                  CmsDetailPageInfo pageInfo = primaryDetailPageMapByType.get(typeName);
                  result.add(new DetailInfo(folderPath, pageInfo, typeName, getBasePath()));
              }
          }
          return result;
      }
docs: Gets the detail information for this sitemap config data object.<p>
  
  @param cms the CMS context
  @return the list of detail information