private static List<String> combine(Set<Character> c, List<String> results) { List<String> tmp = new ArrayList<>(); c.parallelStream() .map(ch -> tmp.addAll(results.stream().map(s -> s + ch).collect(Collectors.toList()))) .count(); return tmp; }