docs: private List<CmsJspNavElement> getNavigationForFolder(
          String folder,
          boolean includeInvisible,
          CmsResourceFilter resourceFilter,
          boolean shallow) {
  
          folder = CmsResource.getFolderPath(folder);
          List<CmsJspNavElement> result = new ArrayList<CmsJspNavElement>();
  
          List<CmsResource> resources;
          try {
              resources = m_cms.getResourcesInFolder(folder, resourceFilter);
          } catch (Exception e) {
              // should never happen
              LOG.error(e.getLocalizedMessage(), e);
              return Collections.<CmsJspNavElement> emptyList();
          }
  
          for (CmsResource r : resources) {
              CmsJspNavElement element = getNavigationForResource(m_cms.getSitePath(r), resourceFilter, shallow);
              if ((element != null) && (includeInvisible || element.isInNavigation())) {
                  result.add(element);
              }
          }
          Collections.sort(result);
          return result;
      }