NavigableSet<String> (@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; }