code: private static ImmutableList<String> createRootPaths(
        Iterable<String> roots, PathResolver resolver, PathEscaper escaper) {
      // Sort longest length to shortest so that paths are applied most specific to least.
      Set<String> builder =
          new TreeSet<>(
              Comparator.comparingInt(String::length).thenComparing(String::compareTo).reversed());
      for (String root : roots) {
        String rootModuleName = escaper.escape(resolver.apply(root));
        if (isAmbiguousIdentifier(rootModuleName)) {
          rootModuleName = MODULE_SLASH + rootModuleName;
        }
        builder.add(rootModuleName);
      }
      return ImmutableList.copyOf(builder);
    }
docs: Normalizes the given root paths, which are path prefixes to be removed from a module path when
  resolved.