org_eclipse_lemminx_extensions_prolog_PrologCompletionExtensionsTest_java
org.eclipse.lemminx.services.XMLCompletions
private void collectSnippetSuggestions(CompletionRequest completionRequest, CompletionResponse completionResponse) {
        DOMDocument document = completionRequest.getXMLDocument();
        String text = document.getText();
        int endExpr = completionRequest.getOffset();
        int fromSearchExpr = XMLCompletions.getExprLimitStart(completionRequest.getNode(), endExpr);
        int startExpr = XMLCompletions.getExprStart(text, fromSearchExpr, endExpr);
        try {
            Range replaceRange = XMLCompletions.getReplaceRange(startExpr, endExpr, completionRequest);
            completionRequest.setReplaceRange(replaceRange);
            String lineDelimiter = document.lineDelimiter(replaceRange.getStart().getLine());
            List<CompletionItem> snippets = this.getSnippetRegistry().getCompletionItems(replaceRange, lineDelimiter, completionRequest.canSupportMarkupKind("markdown"), completionRequest.getSharedSettings().getCompletionSettings().isCompletionSnippetsSupported(), (context, model) -> {
                if (context instanceof IXMLSnippetContext) {
                    return ((IXMLSnippetContext)context).isMatch(completionRequest, (Map<String, String>)model);
                }
                return false;
            }, suffix -> {
                for (int i = endExpr; i < text.length(); ++i) {
                    char ch = text.charAt(i);
                    if (Character.isWhitespace(ch)) continue;
                    Integer eatIndex = XMLCompletions.getSuffixIndex(text, suffix, i);
                    if (eatIndex != null) {
                        try {
                            return document.positionAt(eatIndex);
                        }
                        catch (BadLocationException e) {
                            return null;
                        }
                    }
                    return null;
                }
                return null;
            });
            for (CompletionItem completionItem : snippets) {
                completionResponse.addCompletionItem(completionItem);
            }
        }
        catch (BadLocationException e) {
            LOGGER.log(Level.SEVERE, "In XMLCompletions, collectSnippetSuggestions position error", e);
        }
    }
 -> java.lang.String.charAt(int): char -> java.lang.Character.isWhitespace(char): boolean -> java.util.List.size(): int -> java.util.List.size(): int -> 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.size(): int -> 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.get(int): java.lang.Object -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object -> java.util.ServiceLoader.load(java.lang.Class): java.util.ServiceLoader -> java.util.ServiceLoader.forEach(java.util.function.Consumer): void -> java.util.Objects.equals(java.lang.Object,java.lang.Object): boolean -> java.lang.Class.getResourceAsStream(java.lang.String): java.io.InputStream -> java.nio.charset.Charset.name(): java.lang.String -> java.io.Reader.read(char[],int,int): int -> java.lang.Object.hashCode(): int -> java.util.List.add(java.lang.Object): boolean -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.addAll(java.util.Collection): boolean -> java.util.Collections.reverse(java.util.List): void -> java.util.Collections.reverse(java.util.List): void -> java.util.List.addAll(java.util.Collection): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.addAll(java.util.Collection): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.Collections.unmodifiableList(java.util.List): java.util.List -> java.lang.Object.hashCode(): int -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.ThreadLocal.get(): java.lang.Object -> java.lang.ThreadLocal.set(java.lang.Object): void -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> 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.Class.isAssignableFrom(java.lang.Class): boolean -> java.lang.Class.getModifiers(): int -> java.lang.Class.isAnonymousClass(): boolean -> java.lang.Class.isLocalClass(): boolean -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.Map.remove(java.lang.Object): java.lang.Object -> java.lang.ThreadLocal.remove(): void -> java.util.List.add(java.lang.Object): boolean -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Math.max(int,int): int -> java.lang.Math.max(int,int): int -> java.lang.StringBuilder.append(char[],int,int): java.lang.StringBuilder -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char[],int,int): java.lang.StringBuilder -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char[],int,int): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Math.max(int,int): int -> java.lang.Math.max(int,int): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Math.max(int,int): int -> java.lang.Math.max(int,int): int -> java.lang.Math.max(int,int): int -> java.lang.Math.max(int,int): int -> java.lang.Math.max(int,int): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.util.List.iterator(): java.util.Iterator -> java.util.List.add(java.lang.Object): boolean -> java.util.List.isEmpty(): boolean -> java.util.List.get(int): java.lang.Object -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.util.List.iterator(): java.util.Iterator -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.String.contains(java.lang.CharSequence): boolean -> java.lang.String.isEmpty(): boolean -> java.lang.String.replace(java.lang.CharSequence,java.lang.CharSequence): java.lang.String -> java.util.List.isEmpty(): boolean -> java.util.List.get(int): java.lang.Object -> java.lang.String.replace(java.lang.CharSequence,java.lang.CharSequence): java.lang.String -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.util.List.add(java.lang.Object): boolean -> java.lang.Object.hashCode(): int -> java.util.List.add(java.lang.Object): boolean -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.addAll(java.util.Collection): boolean -> java.util.Collections.reverse(java.util.List): void -> java.util.Collections.reverse(java.util.List): void -> java.util.List.addAll(java.util.Collection): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.addAll(java.util.Collection): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.Collections.unmodifiableList(java.util.List): java.util.List -> java.lang.Object.hashCode(): int -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.ThreadLocal.get(): java.lang.Object -> java.lang.ThreadLocal.set(java.lang.Object): void -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> 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.Class.isAssignableFrom(java.lang.Class): boolean -> java.lang.Class.getModifiers(): int -> java.lang.Class.isAnonymousClass(): boolean -> java.lang.Class.isLocalClass(): boolean -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.Map.remove(java.lang.Object): java.lang.Object -> java.lang.ThreadLocal.remove(): void -> java.util.List.add(java.lang.Object): boolean -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Math.max(int,int): int -> java.lang.Math.max(int,int): int -> java.lang.StringBuilder.append(char[],int,int): java.lang.StringBuilder -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char[],int,int): java.lang.StringBuilder -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char[],int,int): java.lang.StringBuilder -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char[],int,int): java.lang.StringBuilder -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char[],int,int): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Math.max(int,int): int -> java.lang.Math.max(int,int): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Math.max(int,int): int -> java.lang.Math.max(int,int): int -> java.lang.Math.max(int,int): int -> java.lang.Math.max(int,int): int -> java.lang.Math.max(int,int): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.util.List.iterator(): java.util.Iterator -> java.util.List.add(java.lang.Object): boolean -> java.util.List.isEmpty(): boolean -> java.util.List.get(int): java.lang.Object -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.util.List.iterator(): java.util.Iterator -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.String.contains(java.lang.CharSequence): boolean -> java.lang.String.isEmpty(): boolean -> java.lang.String.replace(java.lang.CharSequence,java.lang.CharSequence): java.lang.String -> java.util.List.isEmpty(): boolean -> java.util.List.get(int): java.lang.Object -> java.lang.String.replace(java.lang.CharSequence,java.lang.CharSequence): java.lang.String -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.util.List.add(java.lang.Object): boolean -> java.lang.Object.hashCode(): int -> java.util.List.add(java.lang.Object): boolean -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.addAll(java.util.Collection): boolean -> java.util.Collections.reverse(java.util.List): void -> java.util.Collections.reverse(java.util.List): void -> java.util.List.addAll(java.util.Collection): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.addAll(java.util.Collection): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.Collections.unmodifiableList(java.util.List): java.util.List -> java.lang.Object.hashCode(): int -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.ThreadLocal.get(): java.lang.Object -> java.lang.ThreadLocal.set(java.lang.Object): void -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> 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.Class.isAssignableFrom(java.lang.Class): boolean -> java.lang.Class.getModifiers(): int -> java.lang.Class.isAnonymousClass(): boolean -> java.lang.Class.isLocalClass(): boolean -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.Map.remove(java.lang.Object): java.lang.Object -> java.lang.ThreadLocal.remove(): void -> java.util.List.add(java.lang.Object): boolean -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Math.max(int,int): int -> java.lang.Math.max(int,int): int -> java.lang.StringBuilder.append(char[],int,int): java.lang.StringBuilder -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char[],int,int): java.lang.StringBuilder -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char[],int,int): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Math.max(int,int): int -> java.lang.Math.max(int,int): int -> java.lang.Math.max(int,int): int -> java.lang.StringBuilder.append(char[],int,int): java.lang.StringBuilder -> java.io.Reader.read(char[],int,int): int -> java.lang.StringBuilder.append(char[],int,int): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Math.max(int,int): int -> java.lang.Math.max(int,int): int -> java.lang.Math.max(int,int): int -> java.lang.Math.max(int,int): int -> java.lang.Math.max(int,int): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.util.List.iterator(): java.util.Iterator -> java.util.List.add(java.lang.Object): boolean -> java.util.List.isEmpty(): boolean -> java.util.List.get(int): java.lang.Object -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.util.List.iterator(): java.util.Iterator -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.String.contains(java.lang.CharSequence): boolean -> java.lang.String.isEmpty(): boolean -> java.lang.String.replace(java.lang.CharSequence,java.lang.CharSequence): java.lang.String -> java.util.List.isEmpty(): boolean -> java.util.List.get(int): java.lang.Object -> java.lang.String.replace(java.lang.CharSequence,java.lang.CharSequence): java.lang.String -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.util.List.add(java.lang.Object): boolean -> java.lang.Object.hashCode(): int -> java.util.List.add(java.lang.Object): boolean -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.addAll(java.util.Collection): boolean -> java.util.Collections.reverse(java.util.List): void -> java.util.Collections.reverse(java.util.List): void -> java.util.List.addAll(java.util.Collection): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.addAll(java.util.Collection): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.Collections.unmodifiableList(java.util.List): java.util.List -> java.lang.Object.hashCode(): int -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.ThreadLocal.get(): java.lang.Object -> java.lang.ThreadLocal.set(java.lang.Object): void -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> 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.Class.isAssignableFrom(java.lang.Class): boolean -> java.lang.Class.getModifiers(): int -> java.lang.Class.isAnonymousClass(): boolean -> java.lang.Class.isLocalClass(): boolean -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.Map.remove(java.lang.Object): java.lang.Object -> java.lang.ThreadLocal.remove(): void -> java.util.List.add(java.lang.Object): boolean -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Math.max(int,int): int -> java.lang.Math.max(int,int): int -> java.lang.StringBuilder.append(char[],int,int): java.lang.StringBuilder -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char[],int,int): java.lang.StringBuilder -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char[],int,int): java.lang.StringBuilder -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char[],int,int): java.lang.StringBuilder -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char[],int,int): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Math.max(int,int): int -> java.lang.Math.max(int,int): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Math.max(int,int): int -> java.lang.Math.max(int,int): int -> java.lang.Math.max(int,int): int -> java.lang.Math.max(int,int): int -> java.lang.Math.max(int,int): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.util.List.iterator(): java.util.Iterator -> java.util.List.add(java.lang.Object): boolean -> java.util.List.isEmpty(): boolean -> java.util.List.get(int): java.lang.Object -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.util.List.iterator(): java.util.Iterator -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.String.contains(java.lang.CharSequence): boolean -> java.lang.String.isEmpty(): boolean -> java.lang.String.replace(java.lang.CharSequence,java.lang.CharSequence): java.lang.String -> java.util.List.isEmpty(): boolean -> java.util.List.get(int): java.lang.Object -> java.lang.String.replace(java.lang.CharSequence,java.lang.CharSequence): java.lang.String -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.util.List.add(java.lang.Object): boolean -> java.lang.Object.hashCode(): int -> java.util.List.add(java.lang.Object): boolean -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.addAll(java.util.Collection): boolean -> java.util.Collections.reverse(java.util.List): void -> java.util.Collections.reverse(java.util.List): void -> java.util.List.addAll(java.util.Collection): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.addAll(java.util.Collection): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.Collections.unmodifiableList(java.util.List): java.util.List -> java.lang.Object.hashCode(): int -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.ThreadLocal.get(): java.lang.Object -> java.lang.ThreadLocal.set(java.lang.Object): void -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> 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.Class.isAssignableFrom(java.lang.Class): boolean -> java.lang.Class.getModifiers(): int -> java.lang.Class.isAnonymousClass(): boolean -> java.lang.Class.isLocalClass(): boolean -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.Map.remove(java.lang.Object): java.lang.Object -> java.lang.ThreadLocal.remove(): void -> java.util.List.add(java.lang.Object): boolean -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Math.max(int,int): int -> java.util.List.add(java.lang.Object): boolean -> java.lang.Math.max(int,int): int -> java.lang.StringBuilder.append(char[],int,int): java.lang.StringBuilder -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char[],int,int): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Math.max(int,int): int -> java.lang.Math.max(int,int): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Math.max(int,int): int -> java.lang.Math.max(int,int): int -> java.lang.Math.max(int,int): int -> java.lang.Math.max(int,int): int -> java.lang.Math.max(int,int): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.util.List.iterator(): java.util.Iterator -> java.util.List.add(java.lang.Object): boolean -> java.util.List.isEmpty(): boolean -> java.util.List.get(int): java.lang.Object -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.util.List.iterator(): java.util.Iterator -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.String.contains(java.lang.CharSequence): boolean -> java.lang.String.isEmpty(): boolean -> java.lang.String.replace(java.lang.CharSequence,java.lang.CharSequence): java.lang.String -> java.util.List.isEmpty(): boolean -> java.util.List.get(int): java.lang.Object -> java.lang.String.replace(java.lang.CharSequence,java.lang.CharSequence): java.lang.String -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.util.List.add(java.lang.Object): boolean -> java.lang.Object.hashCode(): int -> java.util.List.add(java.lang.Object): boolean -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.addAll(java.util.Collection): boolean -> java.util.Collections.reverse(java.util.List): void -> java.util.Collections.reverse(java.util.List): void -> java.util.List.addAll(java.util.Collection): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.addAll(java.util.Collection): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.Collections.unmodifiableList(java.util.List): java.util.List -> java.lang.Object.hashCode(): int -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.ThreadLocal.get(): java.lang.Object -> java.lang.ThreadLocal.set(java.lang.Object): void -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> 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.Class.isAssignableFrom(java.lang.Class): boolean -> java.lang.Class.getModifiers(): int -> java.lang.Class.isAnonymousClass(): boolean -> java.lang.Class.isLocalClass(): boolean -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.Map.remove(java.lang.Object): java.lang.Object -> java.lang.ThreadLocal.remove(): void -> java.util.List.add(java.lang.Object): boolean -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Math.max(int,int): int -> java.lang.Math.max(int,int): int -> java.lang.StringBuilder.append(char[],int,int): java.lang.StringBuilder -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char[],int,int): java.lang.StringBuilder -> java.io.Reader.read(char[],int,int): int -> java.lang.StringBuilder.append(char[],int,int): java.lang.StringBuilder -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char[],int,int): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String -> java.util.List.add(java.lang.Object): boolean -> java.lang.Math.max(int,int): int -> java.lang.StringBuilder.append(char[],int,int): java.lang.StringBuilder -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char[],int,int): java.lang.StringBuilder -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char[],int,int): java.lang.StringBuilder -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char[],int,int): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String -> java.util.List.add(java.lang.Object): boolean -> java.lang.Math.max(int,int): int -> java.lang.StringBuilder.append(char[],int,int): java.lang.StringBuilder -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char[],int,int): java.lang.StringBuilder -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char[],int,int): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String -> java.util.List.add(java.lang.Object): boolean -> java.lang.Math.max(int,int): int -> java.lang.StringBuilder.append(char[],int,int): java.lang.StringBuilder -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char[],int,int): java.lang.StringBuilder -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char[],int,int): java.lang.StringBuilder -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char[],int,int): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String -> java.util.List.add(java.lang.Object): boolean -> java.lang.Math.max(int,int): int -> java.lang.StringBuilder.append(char[],int,int): java.lang.StringBuilder -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char[],int,int): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Math.max(int,int): int -> java.lang.Math.max(int,int): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Math.max(int,int): int -> java.lang.Math.max(int,int): int -> java.lang.Math.max(int,int): int -> java.lang.Math.max(int,int): int -> java.lang.Math.max(int,int): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.util.List.iterator(): java.util.Iterator -> java.util.List.add(java.lang.Object): boolean -> java.util.List.isEmpty(): boolean -> java.util.List.get(int): java.lang.Object -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.util.List.iterator(): java.util.Iterator -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.String.contains(java.lang.CharSequence): boolean -> java.lang.String.isEmpty(): boolean -> java.lang.String.replace(java.lang.CharSequence,java.lang.CharSequence): java.lang.String -> java.util.List.isEmpty(): boolean -> java.util.List.get(int): java.lang.Object -> java.lang.String.replace(java.lang.CharSequence,java.lang.CharSequence): java.lang.String -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.util.List.add(java.lang.Object): boolean -> java.lang.Object.hashCode(): int -> java.util.List.add(java.lang.Object): boolean -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.addAll(java.util.Collection): boolean -> java.util.Collections.reverse(java.util.List): void -> java.util.Collections.reverse(java.util.List): void -> java.util.List.addAll(java.util.Collection): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.addAll(java.util.Collection): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.Collections.unmodifiableList(java.util.List): java.util.List -> java.lang.Object.hashCode(): int -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.ThreadLocal.get(): java.lang.Object -> java.lang.ThreadLocal.set(java.lang.Object): void -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> 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.Class.isAssignableFrom(java.lang.Class): boolean -> java.lang.Class.getModifiers(): int -> java.lang.Class.isAnonymousClass(): boolean -> java.lang.Class.isLocalClass(): boolean -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.Map.remove(java.lang.Object): java.lang.Object -> java.lang.ThreadLocal.remove(): void -> java.util.List.add(java.lang.Object): boolean -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Math.max(int,int): int -> java.util.List.add(java.lang.Object): boolean -> java.lang.Math.max(int,int): int -> java.lang.StringBuilder.append(char[],int,int): java.lang.StringBuilder -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char[],int,int): java.lang.StringBuilder -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char
 [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] -> java.lang.String.charAt(int): char -> java.lang.Character.isWhitespace(char): boolean [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [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 [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 [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] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object [EXIT] [CALL] -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object [EXIT] [CALL] -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.util.ServiceLoader.load(java.lang.Class): java.util.ServiceLoader -> java.util.ServiceLoader.forEach(java.util.function.Consumer): void [CALL] -> java.util.Objects.equals(java.lang.Object,java.lang.Object): boolean [CALL] -> java.lang.Class.getResourceAsStream(java.lang.String): java.io.InputStream [CALL] [CALL] -> java.nio.charset.Charset.name(): java.lang.String [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.io.Reader.read(char[],int,int): int [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] -> java.lang.Object.hashCode(): int [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.addAll(java.util.Collection): boolean -> java.util.Collections.reverse(java.util.List): void -> java.util.Collections.reverse(java.util.List): void -> java.util.List.addAll(java.util.Collection): boolean [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [CALL] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.addAll(java.util.Collection): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [CALL] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean [CALL] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [CALL] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean [CALL] [EXIT] -> java.util.List.add(java.lang.Object): boolean [CALL] [EXIT] -> java.util.List.add(java.lang.Object): boolean [CALL] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean [CALL] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.util.Collections.unmodifiableList(java.util.List): java.util.List [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] -> java.lang.Object.hashCode(): int [EXIT] [EXIT] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [EXIT] -> java.lang.ThreadLocal.get(): java.lang.Object -> java.lang.ThreadLocal.set(java.lang.Object): void -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [EXIT] -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object [CALL] [EXIT] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [EXIT] -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean [EXIT] -> 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] [CALL] [CALL] -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean [CALL] -> java.lang.Class.getModifiers(): int [EXIT] -> java.lang.Class.isAnonymousClass(): boolean -> java.lang.Class.isLocalClass(): boolean [EXIT] [EXIT] [CALL] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean [EXIT] [CALL] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object [CALL] [EXIT] -> java.util.Map.remove(java.lang.Object): java.lang.Object [CALL] [EXIT] -> java.lang.ThreadLocal.remove(): void [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.lang.Comparable.compareTo(java.lang.Object): int [CALL] [EXIT] [CALL] -> java.lang.Math.max(int,int): int [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] -> java.lang.Math.max(int,int): int -> java.lang.StringBuilder.append(char[],int,int): java.lang.StringBuilder [CALL] [EXIT] -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char[],int,int): java.lang.StringBuilder [CALL] [EXIT] -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char[],int,int): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.lang.Comparable.compareTo(java.lang.Object): int [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int [CALL] [EXIT] [CALL] -> java.lang.Math.max(int,int): int -> java.lang.Math.max(int,int): int [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int [CALL] [EXIT] [CALL] -> java.lang.Math.max(int,int): int [CALL] [CALL] [EXIT] -> java.lang.Math.max(int,int): int -> java.lang.Math.max(int,int): int [EXIT] [CALL] [CALL] [EXIT] -> java.lang.Math.max(int,int): int -> java.lang.Math.max(int,int): int [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.lang.Comparable.compareTo(java.lang.Object): int [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] -> java.util.List.iterator(): java.util.Iterator [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] [EXIT] -> java.util.List.isEmpty(): boolean -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] -> java.util.List.iterator(): java.util.Iterator [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] -> java.lang.String.contains(java.lang.CharSequence): boolean [CALL] [EXIT] [CALL] -> java.lang.String.isEmpty(): boolean [EXIT] [CALL] [EXIT] -> java.lang.String.replace(java.lang.CharSequence,java.lang.CharSequence): java.lang.String [CALL] [EXIT] -> java.util.List.isEmpty(): boolean [CALL] [EXIT] -> java.util.List.get(int): java.lang.Object -> java.lang.String.replace(java.lang.CharSequence,java.lang.CharSequence): java.lang.String [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] -> java.lang.Object.hashCode(): int [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.addAll(java.util.Collection): boolean -> java.util.Collections.reverse(java.util.List): void -> java.util.Collections.reverse(java.util.List): void -> java.util.List.addAll(java.util.Collection): boolean [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [CALL] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.addAll(java.util.Collection): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [CALL] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean [CALL] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [CALL] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean [CALL] [EXIT] -> java.util.List.add(java.lang.Object): boolean [CALL] [EXIT] -> java.util.List.add(java.lang.Object): boolean [CALL] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean [CALL] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.util.Collections.unmodifiableList(java.util.List): java.util.List [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] -> java.lang.Object.hashCode(): int [EXIT] [EXIT] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [EXIT] -> java.lang.ThreadLocal.get(): java.lang.Object -> java.lang.ThreadLocal.set(java.lang.Object): void -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [EXIT] -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object [CALL] [EXIT] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [EXIT] -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean [EXIT] -> 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] [CALL] [CALL] -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean [CALL] -> java.lang.Class.getModifiers(): int [EXIT] -> java.lang.Class.isAnonymousClass(): boolean -> java.lang.Class.isLocalClass(): boolean [EXIT] [EXIT] [CALL] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean [EXIT] [CALL] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object [CALL] [EXIT] -> java.util.Map.remove(java.lang.Object): java.lang.Object [CALL] [EXIT] -> java.lang.ThreadLocal.remove(): void [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.lang.Comparable.compareTo(java.lang.Object): int [CALL] [EXIT] [CALL] -> java.lang.Math.max(int,int): int [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] -> java.lang.Math.max(int,int): int -> java.lang.StringBuilder.append(char[],int,int): java.lang.StringBuilder [CALL] [EXIT] -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char[],int,int): java.lang.StringBuilder [CALL] [EXIT] -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char[],int,int): java.lang.StringBuilder [CALL] [EXIT] -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char[],int,int): java.lang.StringBuilder [CALL] [EXIT] -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char[],int,int): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.lang.Comparable.compareTo(java.lang.Object): int [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int [CALL] [EXIT] [CALL] -> java.lang.Math.max(int,int): int -> java.lang.Math.max(int,int): int [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int [CALL] [EXIT] [CALL] -> java.lang.Math.max(int,int): int [CALL] [CALL] [EXIT] -> java.lang.Math.max(int,int): int -> java.lang.Math.max(int,int): int [EXIT] [CALL] [CALL] [EXIT] -> java.lang.Math.max(int,int): int -> java.lang.Math.max(int,int): int [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.lang.Comparable.compareTo(java.lang.Object): int [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] -> java.util.List.iterator(): java.util.Iterator [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] [EXIT] -> java.util.List.isEmpty(): boolean -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] -> java.util.List.iterator(): java.util.Iterator [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] -> java.lang.String.contains(java.lang.CharSequence): boolean [CALL] [EXIT] [CALL] -> java.lang.String.isEmpty(): boolean [EXIT] [CALL] [EXIT] -> java.lang.String.replace(java.lang.CharSequence,java.lang.CharSequence): java.lang.String [CALL] [EXIT] -> java.util.List.isEmpty(): boolean [CALL] [EXIT] -> java.util.List.get(int): java.lang.Object -> java.lang.String.replace(java.lang.CharSequence,java.lang.CharSequence): java.lang.String [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] -> java.lang.Object.hashCode(): int [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.addAll(java.util.Collection): boolean -> java.util.Collections.reverse(java.util.List): void -> java.util.Collections.reverse(java.util.List): void -> java.util.List.addAll(java.util.Collection): boolean [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [CALL] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.addAll(java.util.Collection): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [CALL] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean [CALL] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [CALL] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean [CALL] [EXIT] -> java.util.List.add(java.lang.Object): boolean [CALL] [EXIT] -> java.util.List.add(java.lang.Object): boolean [CALL] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean [CALL] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.util.Collections.unmodifiableList(java.util.List): java.util.List [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] -> java.lang.Object.hashCode(): int [EXIT] [EXIT] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [EXIT] -> java.lang.ThreadLocal.get(): java.lang.Object -> java.lang.ThreadLocal.set(java.lang.Object): void -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [EXIT] -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object [CALL] [EXIT] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [EXIT] -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean [EXIT] -> 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] [CALL] [CALL] -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean [CALL] -> java.lang.Class.getModifiers(): int [EXIT] -> java.lang.Class.isAnonymousClass(): boolean -> java.lang.Class.isLocalClass(): boolean [EXIT] [EXIT] [CALL] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean [EXIT] [CALL] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object [CALL] [EXIT] -> java.util.Map.remove(java.lang.Object): java.lang.Object [CALL] [EXIT] -> java.lang.ThreadLocal.remove(): void [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.lang.Comparable.compareTo(java.lang.Object): int [CALL] [EXIT] [CALL] -> java.lang.Math.max(int,int): int [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] -> java.lang.Math.max(int,int): int -> java.lang.StringBuilder.append(char[],int,int): java.lang.StringBuilder [CALL] [EXIT] -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char[],int,int): java.lang.StringBuilder [CALL] [EXIT] -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char[],int,int): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.lang.Comparable.compareTo(java.lang.Object): int [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int [CALL] [EXIT] [CALL] -> java.lang.Math.max(int,int): int -> java.lang.Math.max(int,int): int [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] -> java.lang.Math.max(int,int): int -> java.lang.StringBuilder.append(char[],int,int): java.lang.StringBuilder [CALL] -> java.io.Reader.read(char[],int,int): int [EXIT] -> java.lang.StringBuilder.append(char[],int,int): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int [CALL] [EXIT] [CALL] -> java.lang.Math.max(int,int): int [CALL] [CALL] [EXIT] -> java.lang.Math.max(int,int): int -> java.lang.Math.max(int,int): int [EXIT] [CALL] [CALL] [EXIT] -> java.lang.Math.max(int,int): int -> java.lang.Math.max(int,int): int [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.lang.Comparable.compareTo(java.lang.Object): int [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] -> java.util.List.iterator(): java.util.Iterator [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] [EXIT] -> java.util.List.isEmpty(): boolean -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] -> java.util.List.iterator(): java.util.Iterator [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] -> java.lang.String.contains(java.lang.CharSequence): boolean [CALL] [EXIT] [CALL] -> java.lang.String.isEmpty(): boolean [EXIT] [CALL] [EXIT] -> java.lang.String.replace(java.lang.CharSequence,java.lang.CharSequence): java.lang.String [CALL] [EXIT] -> java.util.List.isEmpty(): boolean [CALL] [EXIT] -> java.util.List.get(int): java.lang.Object -> java.lang.String.replace(java.lang.CharSequence,java.lang.CharSequence): java.lang.String [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] -> java.lang.Object.hashCode(): int [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.addAll(java.util.Collection): boolean -> java.util.Collections.reverse(java.util.List): void -> java.util.Collections.reverse(java.util.List): void -> java.util.List.addAll(java.util.Collection): boolean [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [CALL] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.addAll(java.util.Collection): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [CALL] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean [CALL] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [CALL] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean [CALL] [EXIT] -> java.util.List.add(java.lang.Object): boolean [CALL] [EXIT] -> java.util.List.add(java.lang.Object): boolean [CALL] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean [CALL] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.util.Collections.unmodifiableList(java.util.List): java.util.List [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] -> java.lang.Object.hashCode(): int [EXIT] [EXIT] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [EXIT] -> java.lang.ThreadLocal.get(): java.lang.Object -> java.lang.ThreadLocal.set(java.lang.Object): void -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [EXIT] -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object [CALL] [EXIT] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [EXIT] -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean [EXIT] -> 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] [CALL] [CALL] -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean [CALL] -> java.lang.Class.getModifiers(): int [EXIT] -> java.lang.Class.isAnonymousClass(): boolean -> java.lang.Class.isLocalClass(): boolean [EXIT] [EXIT] [CALL] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean [EXIT] [CALL] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object [CALL] [EXIT] -> java.util.Map.remove(java.lang.Object): java.lang.Object [CALL] [EXIT] -> java.lang.ThreadLocal.remove(): void [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.lang.Comparable.compareTo(java.lang.Object): int [CALL] [EXIT] [CALL] -> java.lang.Math.max(int,int): int [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] -> java.lang.Math.max(int,int): int -> java.lang.StringBuilder.append(char[],int,int): java.lang.StringBuilder [CALL] [EXIT] -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char[],int,int): java.lang.StringBuilder [CALL] [EXIT] -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char[],int,int): java.lang.StringBuilder [CALL] [EXIT] -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char[],int,int): java.lang.StringBuilder [CALL] [EXIT] -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(char[],int,int): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.lang.Comparable.compareTo(java.lang.Object): int [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int [CALL] [EXIT] [CALL] -> java.lang.Math.max(int,int): int -> java.lang.Math.max(int,int): int [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int [CALL] [EXIT] [CALL] -> java.lang.Math.max(int,int): int [CALL] [CALL] [EXIT] -> java.lang.Math.max(int,int): int -> java.lang.Math.max(int,int): int [EXIT] [CALL] [CALL] [EXIT] -> java.lang.Math.max(int,int): int -> java.lang.Math.max(int,int): int [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.lang.Comparable.compareTo(java.lang.Object): int [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] -> java.util.List.iterator(): java.util.Iterator [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] [EXIT] -> java.util.List.isEmpty(): boolean -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] -> java.util.List.iterator(): java.util.Iterator [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] -> java.lang.String.contains(java.lang.CharSequence): boolean [CALL] [EXIT] [CALL] -> java.lang.String.isEmpty(): boolean [EXIT] [CALL] [EXIT] -> java.lang.String.replace(java.lang.CharSequence,java.lang.CharSequence): java.lang.String [CALL] [EXIT] -> java.util.List.isEmpty(): boolean [CALL] [EXIT] -> java.util.List.get(int): java.lang.Object -> java.lang.String.replace(java.lang.CharSequence,java.lang.CharSequence): java.lang.String [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.lang.Comparable.compareTo(java.lang.Object): int -> java.lang.Comparable.compareTo(java.lang.Object): int [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] -> java.lang.Object.hashCode(): int [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.addAll(java.util.Collection): boolean -> java.util.Collections.reverse(java.util.List): void -> java.util.Collections.reverse(java.util.List): void -> java.util.List.addAll(java.util.Collection): boolean [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [CALL] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.addAll(java.util.Collection): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [CALL] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean [CALL] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [CALL] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean [CALL] [EXIT] -> java.util.List.add(java.lang.Object): boolean [CALL] [EXIT] -> java.util.List.add(java.lang.Object): boolean [CALL] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean [CALL] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.util.Collections.unmodifiableList(java.util.List): java.util.List [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] -> java.lang.Object.hashCode