org_eclipse_lemminx_extensions_contentmodel_ReferencedGrammarSymbolsTest_java
org.eclipse.lemminx.extensions.contentmodel.participants.ContentModelSymbolsProviderParticipant
@Override
    public void findDocumentSymbols(DOMDocument document, DocumentSymbolsResult symbols, XMLSymbolFilter filter, CancelChecker cancelChecker) {
        if (!this.isEnabled()) {
            return;
        }
        Set<ReferencedGrammarInfo> referencedGrammarInfos = this.contentModelManager.getReferencedGrammarInfos(document);
        if (referencedGrammarInfos.isEmpty()) {
            return;
        }
        DocumentSymbol rootSymbol = new DocumentSymbol(GRAMMARS_CATEGORY, SymbolKind.Module, DUMMY_RANGE, DUMMY_RANGE);
        symbols.add(rootSymbol);
        DocumentSymbolsResult children = symbols.createList();
        rootSymbol.setChildren(children);
        for (ReferencedGrammarInfo info : referencedGrammarInfos) {
            ResolvedURIInfo resolvedInfo = info.getResolvedURIInfo();
            DocumentSymbol grammarInfoSymbol = new DocumentSymbol(resolvedInfo.getResolvedURI(), SymbolKind.File, DUMMY_RANGE, DUMMY_RANGE);
            children.add(grammarInfoSymbol);
            DocumentSymbolsResult grammarInfoSymbols = symbols.createList();
            grammarInfoSymbol.setChildren(grammarInfoSymbols);
            StringBuilder bindingName = new StringBuilder("Binding: ");
            bindingName.append(ReferencedGrammarInfo.getBindingKindAndResolvedBy(info));
            ContentModelProvider.Identifier identifier = info.getIdentifier();
            DOMRange domRange = identifier != null ? identifier.getRange() : null;
            Range range = domRange != null ? XMLPositionUtility.createRange(domRange) : DUMMY_RANGE;
            DocumentSymbol bindingInfoSymbol = new DocumentSymbol(bindingName.toString(), SymbolKind.Property, range, range);
            grammarInfoSymbols.add(bindingInfoSymbol);
            DocumentSymbol cacheInfoSymbol = null;
            if (!info.isInCache()) {
                cacheInfoSymbol = new DocumentSymbol("Cache: false", SymbolKind.Property, DUMMY_RANGE, DUMMY_RANGE);
            } else {
                cacheInfoSymbol = new DocumentSymbol("Cache", SymbolKind.Property, DUMMY_RANGE, DUMMY_RANGE);
                cacheInfoSymbol.setChildren(symbols.createList());
                GrammarCacheInfo grammarCacheInfo = info.getGrammarCacheInfo();
                DocumentSymbol cacheFileSymbol = new DocumentSymbol(grammarCacheInfo.getCachedResolvedUri(), SymbolKind.File, DUMMY_RANGE, DUMMY_RANGE);
                cacheInfoSymbol.getChildren().add(cacheFileSymbol);
            }
            grammarInfoSymbols.add(cacheInfoSymbol);
        }
    }
 -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.List.isEmpty(): boolean -> java.util.List.stream(): java.util.stream.Stream -> java.util.stream.Stream.filter(java.util.function.Predicate): java.util.stream.Stream -> java.util.stream.Stream.map(java.util.function.Function): java.util.stream.Stream -> java.util.stream.Collectors.toList(): java.util.stream.Collector -> java.util.stream.Stream.collect(java.util.stream.Collector): java.lang.Object -> java.lang.String.equals(java.lang.Object): boolean -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.List.isEmpty(): boolean -> java.util.List.isEmpty(): boolean -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.substring(int,int): java.lang.String -> java.lang.String.trim(): java.lang.String -> java.lang.String.toCharArray(): char[] -> java.lang.String.length(): int -> java.lang.Character.isWhitespace(char): boolean -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.Character.isWhitespace(char): boolean -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.Character.isWhitespace(char): boolean -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.Character.isWhitespace(char): boolean -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.Character.isWhitespace(char): boolean -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String -> java.lang.String.hashCode(): int -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.StringBuilder.toString(): java.lang.String -> java.lang.String.length(): int -> java.lang.StringBuilder.setLength(int): void -> java.lang.StringBuilder.setLength(int): void -> java.lang.String.isEmpty(): boolean -> java.lang.String.trim(): java.lang.String -> java.lang.String.length(): int -> java.util.Collection.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.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.equals(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.equals(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.lang.String.length(): int -> java.lang.String.indexOf(int): int -> java.lang.String.indexOf(int): int -> java.lang.String.charAt(int): char -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.substring(int,int): java.lang.String -> java.lang.String.length(): int -> java.lang.String.length(): int -> java.lang.String.indexOf(int): int -> java.lang.String.indexOf(int): int -> java.lang.String.charAt(int): char -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.substring(int,int): java.lang.String -> java.security.AccessController.doPrivileged(java.security.PrivilegedAction): java.lang.Object -> java.lang.System.getProperty(java.lang.String): java.lang.String -> java.lang.String.length(): int -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.length(): int -> java.lang.String.length(): int -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.length(): int -> java.lang.String.lastIndexOf(int): int -> java.lang.String.substring(int,int): java.lang.String -> java.lang.String.concat(java.lang.String): java.lang.String -> java.lang.String.indexOf(java.lang.String): int -> java.lang.String.endsWith(java.lang.String): boolean -> java.lang.String.indexOf(java.lang.String,int): int -> java.lang.String.endsWith(java.lang.String): boolean -> java.lang.String.length(): int -> java.lang.String.length(): int -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.length(): int -> java.lang.String.lastIndexOf(int): int -> java.lang.String.substring(int,int): java.lang.String -> java.lang.String.concat(java.lang.String): java.lang.String -> java.lang.String.indexOf(java.lang.String): int -> java.lang.String.endsWith(java.lang.String): boolean -> java.lang.String.indexOf(java.lang.String,int): int -> java.lang.String.endsWith(java.lang.String): boolean -> java.lang.StringBuffer.append(java.lang.String): java.lang.StringBuffer -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.StringBuffer.append(java.lang.String): java.lang.StringBuffer -> java.lang.StringBuffer.append(java.lang.String): java.lang.StringBuffer -> java.lang.StringBuffer.append(java.lang.String): java.lang.StringBuffer -> java.lang.StringBuffer.toString(): java.lang.String -> java.lang.StringBuffer.append(java.lang.String): java.lang.StringBuffer -> java.lang.StringBuffer.toString(): java.lang.String -> java.lang.String.isEmpty(): boolean -> java.util.Set.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.indexOf(java.lang.String): int -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.equals(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.equals(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Set.isEmpty(): boolean -> java.util.concurrent.atomic.AtomicLong.decrementAndGet(): long -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.Set.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.List.add(java.lang.Object): boolean -> java.util.concurrent.atomic.AtomicLong.decrementAndGet(): long -> java.util.ArrayList.add(java.lang.Object): boolean -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.StringBuilder.toString(): java.lang.String -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.util.List.clear(): void -> java.lang.String.length(): int -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.util.List.size(): int -> java.util.List.add(java.lang.Object): boolean -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.util.List.size(): int -> java.util.List.add(java.lang.Object): boolean -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.length(): int -> java.util.List.size(): int -> java.lang.String.length(): int -> java.util.List.add(java.lang.Object): boolean -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object -> java.lang.StringBuilder.toString(): java.lang.String -> java.util.List.add(java.lang.Object): boolean -> java.util.concurrent.atomic.AtomicLong.decrementAndGet(): long -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.concurrent.atomic.AtomicLong.decrementAndGet(): long -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean
 [CALL] [CALL] [EXIT] [CALL] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [CALL] [CALL] [CALL] [CALL] [CALL] [EXIT] -> java.util.List.isEmpty(): boolean -> java.util.List.stream(): java.util.stream.Stream -> java.util.stream.Stream.filter(java.util.function.Predicate): java.util.stream.Stream -> java.util.stream.Stream.map(java.util.function.Function): java.util.stream.Stream -> java.util.stream.Collectors.toList(): java.util.stream.Collector -> java.util.stream.Stream.collect(java.util.stream.Collector): java.lang.Object [CALL] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean [EXIT] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] -> java.util.List.isEmpty(): boolean [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] -> java.util.List.isEmpty(): boolean -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.substring(int,int): java.lang.String [EXIT] -> java.lang.String.trim(): java.lang.String [EXIT] -> java.lang.String.toCharArray(): char[] -> java.lang.String.length(): int [CALL] -> java.lang.Character.isWhitespace(char): boolean -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.Character.isWhitespace(char): boolean -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.Character.isWhitespace(char): boolean -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.Character.isWhitespace(char): boolean -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.Character.isWhitespace(char): boolean -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String -> java.lang.String.hashCode(): int -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.StringBuilder.toString(): java.lang.String -> java.lang.String.length(): int [CALL] [EXIT] [CALL] [EXIT] -> java.lang.StringBuilder.setLength(int): void -> java.lang.StringBuilder.setLength(int): void [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] -> java.lang.String.isEmpty(): boolean [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] -> java.lang.String.trim(): java.lang.String [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.length(): int [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] -> java.util.Collection.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] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] [CALL] [CALL] [CALL] [CALL] [CALL] -> java.lang.String.length(): int -> java.lang.String.indexOf(int): int -> java.lang.String.indexOf(int): int -> java.lang.String.charAt(int): char [CALL] -> java.lang.String.length(): int [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.substring(int,int): java.lang.String [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] -> java.lang.String.length(): int [CALL] [CALL] [CALL] -> java.lang.String.length(): int -> java.lang.String.indexOf(int): int -> java.lang.String.indexOf(int): int -> java.lang.String.charAt(int): char [CALL] -> java.lang.String.length(): int [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.substring(int,int): java.lang.String [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] -> java.security.AccessController.doPrivileged(java.security.PrivilegedAction): java.lang.Object [CALL] -> java.lang.System.getProperty(java.lang.String): java.lang.String [EXIT] -> java.lang.String.length(): int -> java.lang.String.equals(java.lang.Object): boolean [EXIT] [CALL] -> java.lang.String.length(): int [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.length(): int -> java.lang.String.startsWith(java.lang.String): boolean [CALL] [EXIT] -> java.lang.String.length(): int -> java.lang.String.lastIndexOf(int): int -> java.lang.String.substring(int,int): java.lang.String -> java.lang.String.concat(java.lang.String): java.lang.String -> java.lang.String.indexOf(java.lang.String): int -> java.lang.String.endsWith(java.lang.String): boolean -> java.lang.String.indexOf(java.lang.String,int): int -> java.lang.String.endsWith(java.lang.String): boolean [EXIT] [CALL] -> java.lang.String.length(): int [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.length(): int -> java.lang.String.startsWith(java.lang.String): boolean [CALL] [EXIT] -> java.lang.String.length(): int -> java.lang.String.lastIndexOf(int): int -> java.lang.String.substring(int,int): java.lang.String -> java.lang.String.concat(java.lang.String): java.lang.String -> java.lang.String.indexOf(java.lang.String): int -> java.lang.String.endsWith(java.lang.String): boolean -> java.lang.String.indexOf(java.lang.String,int): int -> java.lang.String.endsWith(java.lang.String): boolean [EXIT] [CALL] -> java.lang.StringBuffer.append(java.lang.String): java.lang.StringBuffer -> java.lang.StringBuffer.append(char): java.lang.StringBuffer [CALL] -> java.lang.StringBuffer.append(java.lang.String): java.lang.StringBuffer -> java.lang.StringBuffer.append(java.lang.String): java.lang.StringBuffer -> java.lang.StringBuffer.append(java.lang.String): java.lang.StringBuffer -> java.lang.StringBuffer.toString(): java.lang.String [EXIT] -> java.lang.StringBuffer.append(java.lang.String): java.lang.StringBuffer -> java.lang.StringBuffer.toString(): java.lang.String [EXIT] [EXIT] [EXIT] [EXIT] -> java.lang.String.isEmpty(): boolean [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] -> java.util.Set.add(java.lang.Object): boolean [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] -> java.lang.String.indexOf(java.lang.String): int [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] -> java.util.Set.isEmpty(): boolean [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] -> java.util.concurrent.atomic.AtomicLong.decrementAndGet(): long [EXIT] -> java.util.ArrayList.add(java.lang.Object): boolean [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] -> java.util.Set.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [CALL] [CALL] -> java.util.concurrent.atomic.AtomicLong.decrementAndGet(): long [EXIT] -> java.util.ArrayList.add(java.lang.Object): boolean [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder [CALL] [CALL] [CALL] [EXIT] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] -> java.lang.StringBuilder.toString(): java.lang.String [EXIT] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] -> java.util.List.clear(): void -> java.lang.String.length(): int [CALL] [CALL] -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char [EXIT] -> java.util.List.size(): int [CALL] [EXIT] -> java.util.List.add(java.lang.Object): boolean [CALL] -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char [EXIT] -> java.util.List.size(): int [CALL] [EXIT] -> java.util.List.add(java.lang.Object): boolean [CALL] -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char [EXIT] -> java.lang.String.length(): int -> java.util.List.size(): int -> java.lang.String.length(): int [CALL] [EXIT] -> java.util.List.add(java.lang.Object): boolean [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object -> java.util.List.get(int): java.lang.Object [EXIT] [EXIT] -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object -> java.util.List.get(int): java.lang.Object [EXIT] [EXIT] -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] -> java.lang.StringBuilder.toString(): java.lang.String [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [CALL] [CALL] -> java.util.concurrent.atomic.AtomicLong.decrementAndGet(): long [EXIT] -> java.util.ArrayList.add(java.lang.Object): boolean [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [CALL] [CALL] -> java.util.concurrent.atomic.AtomicLong.decrementAndGet(): long [EXIT] -> java.util.ArrayList.add(java.lang.Object): boolean [EXIT] -> java.util.Iterator.hasNext(): boolean [EXIT]