org_aspectj_tools_ajdoc_AjdocModuleTests_java
org.aspectj.org.eclipse.jdt.internal.compiler.batch.ClasspathLocation
protected Collection<String> selectModules(Set<String> modules, Collection<String> limitModules, Function<String, IModule> getModule) {
        Collection<String> rootModules;
        if (limitModules != null) {
            HashSet<String> result = new HashSet<String>(modules);
            result.retainAll(limitModules);
            rootModules = result;
        } else {
            rootModules = this.allModules(modules, s -> s, m -> this.getModule(m.toCharArray()));
        }
        HashSet<String> allModules = new HashSet<String>(rootModules);
        for (String mod : rootModules) {
            this.addRequired(mod, allModules, getModule);
        }
        return allModules;
    }
 -> java.lang.Iterable.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.function.Function.apply(java.lang.Object): java.lang.Object -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Collection.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.toCharArray(): char[] -> java.util.Arrays.equals(char[],char[]): boolean -> java.util.function.Function.apply(java.lang.Object): java.lang.Object -> java.lang.String.toCharArray(): char[] -> java.util.Arrays.equals(char[],char[]): boolean -> java.util.function.Function.apply(java.lang.Object): java.lang.Object -> java.lang.String.toCharArray(): char[] -> java.util.Arrays.equals(char[],char[]): boolean -> java.util.function.Function.apply(java.lang.Object): java.lang.Object -> java.lang.String.toCharArray(): char[] -> java.util.Arrays.equals(char[],char[]): boolean -> java.util.function.Function.apply(java.lang.Object): java.lang.Object -> java.lang.String.toCharArray(): char[] -> java.util.Arrays.equals(char[],char[]): boolean -> java.util.function.Function.apply(java.lang.Object): java.lang.Object -> java.lang.String.toCharArray(): char[] -> java.util.Arrays.equals(char[],char[]): boolean -> java.util.function.Function.apply(java.lang.Object): java.lang.Object -> java.lang.String.toCharArray(): char[] -> java.util.Arrays.equals(char[],char[]): boolean -> java.util.function.Function.apply(java.lang.Object): java.lang.Object -> java.lang.String.toCharArray(): char[] -> java.util.Arrays.equals(char[],char[]): boolean -> java.util.function.Function.apply(java.lang.Object): java.lang.Object -> java.lang.String.toCharArray(): char[] -> java.util.Arrays.equals(char[],char[]): boolean -> java.util.function.Function.apply(java.lang.Object): java.lang.Object -> java.lang.String.toCharArray(): char[] -> java.util.Arrays.equals(char[],char[]): boolean -> java.util.function.Function.apply(java.lang.Object): java.lang.Object -> java.lang.String.toCharArray(): char[] -> java.util.Arrays.equals(char[],char[]): boolean -> java.util.function.Function.apply(java.lang.Object): java.lang.Object -> java.lang.String.toCharArray(): char[] -> java.util.Arrays.equals(char[],char[]): boolean -> java.util.function.Function.apply(java.lang.Object): java.lang.Object -> java.lang.String.toCharArray(): char[] -> java.util.Arrays.equals(char[],char[]): boolean -> java.util.function.Function.apply(java.lang.Object): java.lang.Object -> java.lang.String.toCharArray(): char[] -> java.util.Arrays.equals(char[],char[]): boolean -> java.util.function.Function.apply(java.lang.Object): java.lang.Object -> java.lang.String.toCharArray(): char[] -> java.util.Arrays.equals(char[],char[]): boolean -> java.util.function.Function.apply(java.lang.Object): java.lang.Object -> java.lang.String.toCharArray(): char[] -> java.util.Arrays.equals(char[],char[]): boolean -> java.util.function.Function.apply(java.lang.Object): java.lang.Object -> java.lang.String.toCharArray(): char[] -> java.util.Arrays.equals(char[],char[]): boolean -> java.util.function.Function.apply(java.lang.Object): java.lang.Object -> java.lang.String.toCharArray(): char[] -> java.util.Arrays.equals(char[],char[]): boolean -> java.util.function.Function.apply(java.lang.Object): java.lang.Object -> java.lang.String.toCharArray(): char[] -> java.util.Arrays.equals(char[],char[]): boolean -> java.util.function.Function.apply(java.lang.Object): java.lang.Object -> java.lang.String.toCharArray(): char[] -> java.util.Arrays.equals(char[],char[]): boolean -> java.util.function.Function.apply(java.lang.Object): java.lang.Object -> java.lang.String.toCharArray(): char[] -> java.util.Arrays.equals(char[],char[]): boolean -> java.util.Iterator.hasNext(): boolean
 [CALL] [CALL] -> java.lang.Iterable.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.function.Function.apply(java.lang.Object): java.lang.Object [CALL] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean [EXIT] -> java.util.Collection.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] -> java.lang.String.toCharArray(): char[] [CALL] [EXIT] [CALL] [EXIT] [CALL] -> java.util.Arrays.equals(char[],char[]): boolean [EXIT] [CALL] [EXIT] [CALL] [EXIT] -> java.util.function.Function.apply(java.lang.Object): java.lang.Object [CALL] -> java.lang.String.toCharArray(): char[] [CALL] [EXIT] [CALL] [EXIT] [CALL] -> java.util.Arrays.equals(char[],char[]): boolean [EXIT] [EXIT] [CALL] [EXIT] -> java.util.function.Function.apply(java.lang.Object): java.lang.Object [CALL] -> java.lang.String.toCharArray(): char[] [CALL] [EXIT] [CALL] [EXIT] [CALL] -> java.util.Arrays.equals(char[],char[]): boolean [EXIT] [EXIT] [CALL] [EXIT] -> java.util.function.Function.apply(java.lang.Object): java.lang.Object [CALL] -> java.lang.String.toCharArray(): char[] [CALL] [EXIT] [CALL] [EXIT] [CALL] -> java.util.Arrays.equals(char[],char[]): boolean [EXIT] [EXIT] [CALL] [EXIT] -> java.util.function.Function.apply(java.lang.Object): java.lang.Object [CALL] -> java.lang.String.toCharArray(): char[] [CALL] [EXIT] [CALL] [EXIT] [CALL] -> java.util.Arrays.equals(char[],char[]): boolean [EXIT] [EXIT] [CALL] [EXIT] -> java.util.function.Function.apply(java.lang.Object): java.lang.Object [CALL] -> java.lang.String.toCharArray(): char[] [CALL] [EXIT] [CALL] [EXIT] [CALL] -> java.util.Arrays.equals(char[],char[]): boolean [EXIT] [EXIT] [CALL] [EXIT] -> java.util.function.Function.apply(java.lang.Object): java.lang.Object [CALL] -> java.lang.String.toCharArray(): char[] [CALL] [EXIT] [CALL] [EXIT] [CALL] -> java.util.Arrays.equals(char[],char[]): boolean [EXIT] [EXIT] [CALL] [EXIT] -> java.util.function.Function.apply(java.lang.Object): java.lang.Object [CALL] -> java.lang.String.toCharArray(): char[] [CALL] [EXIT] [CALL] [EXIT] [CALL] -> java.util.Arrays.equals(char[],char[]): boolean [EXIT] [EXIT] [CALL] [EXIT] -> java.util.function.Function.apply(java.lang.Object): java.lang.Object [CALL] -> java.lang.String.toCharArray(): char[] [CALL] [EXIT] [CALL] [EXIT] [CALL] -> java.util.Arrays.equals(char[],char[]): boolean [EXIT] [EXIT] [CALL] [EXIT] -> java.util.function.Function.apply(java.lang.Object): java.lang.Object [CALL] -> java.lang.String.toCharArray(): char[] [CALL] [EXIT] [CALL] [EXIT] [CALL] -> java.util.Arrays.equals(char[],char[]): boolean [EXIT] [EXIT] [CALL] [EXIT] -> java.util.function.Function.apply(java.lang.Object): java.lang.Object [CALL] -> java.lang.String.toCharArray(): char[] [CALL] [EXIT] [CALL] [EXIT] [CALL] -> java.util.Arrays.equals(char[],char[]): boolean [EXIT] [EXIT] [CALL] [EXIT] -> java.util.function.Function.apply(java.lang.Object): java.lang.Object [CALL] -> java.lang.String.toCharArray(): char[] [CALL] [EXIT] [CALL] [EXIT] [CALL] -> java.util.Arrays.equals(char[],char[]): boolean [EXIT] [EXIT] [CALL] [EXIT] -> java.util.function.Function.apply(java.lang.Object): java.lang.Object [CALL] -> java.lang.String.toCharArray(): char[] [CALL] [EXIT] [CALL] [EXIT] [CALL] -> java.util.Arrays.equals(char[],char[]): boolean [EXIT] [EXIT] [CALL] [EXIT] -> java.util.function.Function.apply(java.lang.Object): java.lang.Object [CALL] -> java.lang.String.toCharArray(): char[] [CALL] [EXIT] [CALL] [EXIT] [CALL] -> java.util.Arrays.equals(char[],char[]): boolean [EXIT] [EXIT] [CALL] [EXIT] -> java.util.function.Function.apply(java.lang.Object): java.lang.Object [CALL] -> java.lang.String.toCharArray(): char[] [CALL] [EXIT] [CALL] [EXIT] [CALL] -> java.util.Arrays.equals(char[],char[]): boolean [EXIT] [EXIT] [CALL] [EXIT] -> java.util.function.Function.apply(java.lang.Object): java.lang.Object [CALL] -> java.lang.String.toCharArray(): char[] [CALL] [EXIT] [CALL] [EXIT] [CALL] -> java.util.Arrays.equals(char[],char[]): boolean [EXIT] [EXIT] [CALL] [EXIT] -> java.util.function.Function.apply(java.lang.Object): java.lang.Object [CALL] -> java.lang.String.toCharArray(): char[] [CALL] [EXIT] [CALL] [EXIT] [CALL] -> java.util.Arrays.equals(char[],char[]): boolean [EXIT] [EXIT] [CALL] [EXIT] -> java.util.function.Function.apply(java.lang.Object): java.lang.Object [CALL] -> java.lang.String.toCharArray(): char[] [CALL] [EXIT] [CALL] [EXIT] [CALL] -> java.util.Arrays.equals(char[],char[]): boolean [EXIT] [EXIT] [CALL] [EXIT] -> java.util.function.Function.apply(java.lang.Object): java.lang.Object [CALL] -> java.lang.String.toCharArray(): char[] [CALL] [EXIT] [CALL] [EXIT] [CALL] -> java.util.Arrays.equals(char[],char[]): boolean [EXIT] [EXIT] [CALL] [EXIT] -> java.util.function.Function.apply(java.lang.Object): java.lang.Object [CALL] -> java.lang.String.toCharArray(): char[] [CALL] [EXIT] [CALL] [EXIT] [CALL] -> java.util.Arrays.equals(char[],char[]): boolean [EXIT] [EXIT] [CALL] [EXIT] -> java.util.function.Function.apply(java.lang.Object): java.lang.Object [CALL] -> java.lang.String.toCharArray(): char[] [CALL] [EXIT] [CALL] [EXIT] [CALL] -> java.util.Arrays.equals(char[],char[]): boolean [EXIT] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean [EXIT]