docs: protected List<CmsResource> allMappedToUriPriorityDate(CmsObject cms, String param, boolean asc, int numResults)
      throws CmsException {
  
          CmsCollectorData data = new CmsCollectorData(param);
          String foldername = CmsResource.getFolderPath(data.getFileName());
  
          CmsResourceFilter filter = CmsResourceFilter.DEFAULT.addRequireType(data.getType()).addExcludeFlags(
              CmsResource.FLAG_TEMPFILE);
          if (data.isExcludeTimerange() && !cms.getRequestContext().getCurrentProject().isOnlineProject()) {
              // include all not yet released and expired resources in an offline project
              filter = filter.addExcludeTimerange();
          }
  
          List<CmsResource> result = cms.readResources(foldername, filter, true);
          List<CmsResource> mapped = new ArrayList<CmsResource>();
  
          // sort out the resources mapped to the current page
          Iterator<CmsResource> i = result.iterator();
          while (i.hasNext()) {
              CmsResource res = i.next();
              // read all properties - reason: comparator will do this later anyway, so we just prefill the cache
              CmsProperty prop = cms.readPropertyObject(res, PROPERTY_CHANNEL, false);
              if (!prop.isNullProperty()) {
                  if (CmsProject.isInsideProject(
                      prop.getValueList(),
                      cms.getRequestContext().getSiteRoot() + cms.getRequestContext().getUri())) {
                      mapped.add(res);
                  }
              }
          }
  
          if (mapped.isEmpty()) {
              // nothing was mapped, no need for further processing
              return mapped;
          }
  
          // create priority comparator to use to sort the resources
          CmsPriorityDateResourceComparator comparator = new CmsPriorityDateResourceComparator(cms, asc);
          Collections.sort(mapped, comparator);
  
          return shrinkToFit(mapped, data.getCount(), numResults);
      }