code: public Set<String> getIncludeRoots() {
  
          List<String> pathList = new ArrayList<String>(m_includes);
          Set<String> includeRoots = new HashSet<String>();
          Collections.sort(pathList);
          while (!pathList.isEmpty()) {
              Iterator<String> iterator = pathList.iterator();
              String firstPath = iterator.next();
              includeRoots.add(firstPath);
              iterator.remove();
              while (iterator.hasNext()) {
                  String currentPath = iterator.next();
                  if (CmsStringUtil.isPrefixPath(firstPath, currentPath)) {
                      iterator.remove();
                  }
              }
          }
          return includeRoots;
      }
docs: Gets the root include paths, i.e. those include paths which don't have an ancestor path which is also an include path.<p>
  
  @return the list of root include paths