static @NotNull NavigableSet<String> optimizeFlatRoots(@NotNull Collection<String> flatRoots,
                                                         @NotNull NavigableSet<String> recursiveRoots,
                                                         boolean convertToForwardSlashes) {
    NavigableSet<String> result = createFileNavigableSet();
    if (convertToForwardSlashes) {
      for (String flatRoot : flatRoots) {
        flatRoot = flatRoot.replace('/', '\\');
        if (!isCoveredRecursively(recursiveRoots, flatRoot)) {
          result.add(flatRoot);
        }
      }
    } else {
      for (String flatRoot : flatRoots) {
        if (!isCoveredRecursively(recursiveRoots, flatRoot)) {
          result.add(flatRoot);
        }
      }
    }
    return result;
  }
static @NotNull NavigableSet<String> optimizeFlatRoots(@NotNull Collection<String> flatRoots,
                                                         @NotNull NavigableSet<String> recursiveRoots,
                                                         boolean convertToForwardSlashes)