code: private List<Path> mergeRoots(Path[] dupRoots) {
      sortPathByDepth(dupRoots);
      List<Path> roots = new ArrayList<Path>();
      
      for (Path candidate : dupRoots) {
        boolean shouldAdd = true;
        for (Path root : roots) {
          if (isAncestorPath(root.toUri().getPath(), 
              candidate.toUri().getPath())) {
            shouldAdd = false;
            break;
          }
        }
        
        if (shouldAdd) {
          roots.add(candidate);
        }
      }
      return roots;
    }
docs: merge the roots, get the top ones.
  @param dupRoots
  @return