org_eclipse_lemminx_extensions_generators_xml2dtd_XML2DTDGeneratorTest_java
org.eclipse.lemminx.extensions.generators.AbstractXML2GrammarGenerator
@Override
    public String generate(Document prototypeDocument, SharedSettings sharedSettings, T generatorSettings, IXMLFullFormatter formatter) {
        String newText = this.doGenerate(prototypeDocument, sharedSettings, generatorSettings);
        if (formatter == null) {
            return newText;
        }
        return formatter.formatFull(newText, "grammar." + this.getFileExtension(), sharedSettings);
    }
 -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.String.indexOf(java.lang.String): int -> java.lang.String.indexOf(java.lang.String): int -> 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.Map.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.String.indexOf(java.lang.String): int -> java.lang.String.isEmpty(): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.ArrayList.size(): int -> java.util.List.stream(): java.util.stream.Stream -> java.util.function.Function.identity(): java.util.function.Function -> java.util.stream.Collectors.counting(): java.util.stream.Collector -> java.util.stream.Collectors.groupingBy(java.util.function.Function,java.util.function.Supplier,java.util.stream.Collector): java.util.stream.Collector -> java.util.stream.Stream.collect(java.util.stream.Collector): java.lang.Object -> java.util.Map.keySet(): java.util.Set -> java.util.Map.entrySet(): java.util.Set -> java.util.Set.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Map.entrySet(): java.util.Set -> java.util.Set.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object -> 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.Map.get(java.lang.Object): java.lang.Object -> java.lang.Long.longValue(): long -> java.lang.Long.longValue(): long -> java.util.Iterator.hasNext(): boolean -> java.util.Map.entrySet(): java.util.Set -> java.util.Set.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object -> java.util.Map$Entry.getValue(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.String.indexOf(java.lang.String): int -> java.lang.String.indexOf(java.lang.String): int -> 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.Map.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.List.stream(): java.util.stream.Stream -> java.util.function.Function.identity(): java.util.function.Function -> java.util.stream.Collectors.counting(): java.util.stream.Collector -> java.util.stream.Collectors.groupingBy(java.util.function.Function,java.util.function.Supplier,java.util.stream.Collector): java.util.stream.Collector -> java.util.stream.Stream.collect(java.util.stream.Collector): java.lang.Object -> java.util.Map.keySet(): java.util.Set -> java.util.Map.entrySet(): java.util.Set -> java.util.Set.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Map.entrySet(): java.util.Set -> java.util.Set.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Map.entrySet(): java.util.Set -> java.util.Set.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.size(): int -> java.util.ArrayList.size(): int -> java.util.Map.values(): java.util.Collection -> java.util.Collection.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.util.Map.values(): java.util.Collection -> java.util.Collection.isEmpty(): boolean -> java.lang.Boolean.booleanValue(): boolean -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.util.Map.entrySet(): java.util.Set -> java.util.Set.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object -> java.lang.Boolean.booleanValue(): boolean -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.util.Map$Entry.getValue(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.lang.Boolean.booleanValue(): boolean -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.util.Map.values(): java.util.Collection -> java.util.Collection.isEmpty(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.util.Map.values(): java.util.Collection -> java.util.Collection.isEmpty(): boolean -> java.lang.Boolean.booleanValue(): boolean -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.util.Map.values(): java.util.Collection -> java.util.Collection.isEmpty(): boolean -> java.util.Iterator.hasNext(): boolean -> java.lang.StringBuilder.toString(): java.lang.String -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String -> java.util.ServiceLoader.load(java.lang.Class): java.util.ServiceLoader -> java.util.ServiceLoader.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Collection.add(java.lang.Object): boolean -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Collections.synchronizedMap(java.util.Map): java.util.Map -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.concurrent.TimeUnit.toNanos(long): long -> java.lang.Math.min(int,int): int -> java.lang.Math.min(int,int): int -> java.lang.Math.min(long,long): long -> java.util.concurrent.atomic.AtomicReferenceArray.length(): int -> java.util.concurrent.atomic.AtomicReferenceArray.length(): int -> java.util.concurrent.atomic.AtomicReferenceArray.length(): int -> java.util.concurrent.atomic.AtomicReferenceArray.length(): int -> java.lang.String.endsWith(java.lang.String): boolean -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String -> java.util.Set.add(java.lang.Object): boolean -> java.lang.String.endsWith(java.lang.String): boolean -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String -> java.util.Set.add(java.lang.Object): boolean -> java.lang.String.endsWith(java.lang.String): boolean -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String -> java.util.Set.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.lang.Object.getClass(): java.lang.Class -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Collection.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Collection.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Collection.add(java.lang.Object): boolean -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Collection.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Collection.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Collection.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Collection.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Collection.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Collection.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Collection.add(java.lang.Object): boolean -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Collection.add(java.lang.Object): boolean -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.lang.Object.getClass(): java.lang.Class -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.lang.String.endsWith(java.lang.String): boolean -> java.lang.String.length(): int -> java.lang.String.length(): int -> java.lang.String.length(): int -> java.util.List.add(java.lang.Object): boolean -> java.lang.String.codePointAt(int): int -> java.lang.String.codePointAt(int): int -> java.lang.String.codePointAt(int): int -> java.lang.String.codePointAt(int): int -> java.lang.String.codePointAt(int): int -> java.lang.String.codePointAt(int): int -> java.lang.String.codePointAt(int): int -> java.lang.String.codePointAt(int): int -> java.lang.String.codePointAt(int): int -> java.lang.String.codePointAt(int): int -> java.lang.String.length(): int -> java.util.List.add(java.lang.Object): boolean -> java.lang.String.codePointAt(int): int -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.util.function.Predicate.test(java.lang.Object): boolean -> java.lang.Integer.intValue(): int -> java.lang.String.codePointAt(int): int -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.util.function.Predicate.test(java.lang.Object): boolean -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.String.codePointAt(int): int -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.util.function.Predicate.test(java.lang.Object): boolean -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.String.codePointAt(int): int -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.regex.Pattern.matcher(java.lang.CharSequence): java.util.regex.Matcher -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.regex.Matcher.region(int,int): java.util.regex.Matcher -> java.util.regex.Matcher.find(): boolean -> java.util.regex.Matcher.end(): int -> java.util.regex.Matcher.group(int): java.lang.String -> java.lang.String.equals(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.lang.String.codePointAt(int): int -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.util.function.Predicate.test(java.lang.Object): boolean -> java.lang.Integer.intValue(): int -> java.lang.String.codePointAt(int): int -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.util.function.Predicate.test(java.lang.Object): boolean -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.String.codePointAt(int): int -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.util.function.Predicate.test(java.lang.Object): boolean -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.String.codePointAt(int): int -> java.util.List.add(java.lang.Object): boolean -> java.lang.String.codePointAt(int): int -> java.lang.String.codePointAt(int): int -> java.lang.String.codePointAt(int): int -> java.lang.String.codePointAt(int): int -> java.lang.String.codePointAt(int): int -> java.lang.String.codePointAt(int): int -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object -> java.lang.String.codePointAt(int): int -> java.lang.String.codePointAt(int): int -> java.lang.String.codePointAt(int): int -> java.lang.String.codePointAt(int): int -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object -> java.lang.String.codePointAt(int): int -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.util.function.Predicate.test(java.lang.Object): boolean -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.String.codePointAt(int): int -> java.lang.String.codePointAt(int): int -> java.lang.String.codePointAt(int): int -> java.lang.String.codePointAt(int): int -> java.lang.String.codePointAt(int): int -> java.lang.String.codePointAt(int): int -> java.lang.String.codePointAt(int): int -> java.lang.String.codePointAt(int): int -> java.lang.String.codePointAt(int): int -> java.lang.String.codePointAt(int): int -> java.lang.String.codePointAt(int): int -> java.lang.String.length(): int -> java.util.List.add(java.lang.Object): boolean -> java.lang.String.codePointAt(int): int -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.util.function.Predicate.test(java.lang.Object): boolean -> java.lang.Integer.intValue(): int -> java.lang.String.codePointAt(int): int -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.util.function.Predicate.test(java.lang.Object): boolean -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.String.codePointAt(int): int -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.util.function.Predicate.test(java.lang.Object): boolean -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.String.codePointAt(int): int -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.regex.Matcher.reset(): java.util.regex.Matcher -> java.util.regex.Matcher.region(int,int): java.util.regex.Matcher -> java.util.regex.Matcher.find(): boolean -> java.util.regex.Matcher.end(): int -> java.util.regex.Matcher.group(int): java.lang.String -> java.lang.String.equals(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.lang.String.codePointAt(int): int -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.util.function.Predicate.test(java.lang.Object): boolean -> java.lang.Integer.intValue(): int -> java.lang.String.codePointAt(int): int -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.util.function.Predicate.test(java.lang.Object): boolean -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.String.codePointAt(int): int -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.util.function.Predicate.test(java.lang.Object): boolean -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.String.codePointAt(int): int -> java.util.List.add(java.lang.Object): boolean -> java.lang.String.codePointAt(int): int -> java.lang.String.codePointAt(int): int -> java.lang.String.codePointAt(int): int -> java.lang.String.codePointAt(int): int -> java.lang.String.codePointAt(int): int -> java.lang.String.codePointAt(int): int -> java.lang.String.codePointAt(int): int -> java.lang.String.codePointAt(int): int -> java.lang.String.codePointAt(int): int -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object -> java.lang.String.codePointAt(int): int -> java.lang.String.codePointAt(int): int -> java.lang.String.codePointAt(int): int -> java.lang.String.codePointAt(int): int -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object -> java.lang.String.codePointAt(int): int -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.util.function.Predicate.test(java.lang.Object): boolean -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.String.codePointAt(int): int -> java.lang.String.length(): int -> java.lang.String.length(): int -> java.util.List.clear(): void -> java.lang.String.length(): int -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.length(): int -> java.util.List.size(): int -> java.lang.String.length(): int -> java.util.List.add(java.lang.Object): boolean -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object -> java.util.List.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.lang.Math.floor(double): double -> java.util.List.get(int): java.lang.Object -> java.util.function.Function.apply(java.lang.Object): java.lang.Object -> java.lang.Boolean.valueOf(boolean): java.lang.Boolean -> java.lang.Boolean.booleanValue(): boolean -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.endsWith(java.lang.String): boolean -> java.lang.String.endsWith(java.lang.String): boolean -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.String.substring(int,int): java.lang.String -> java.lang.String.substring(int,int): java.lang.String -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.substring(int,int): java.lang.String -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.substring(int,int): java.lang.String -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.util.Iterator.hasNext(): boolean -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.String.substring(int,int): java.lang.String -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.substring(int,int): java.lang.String -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.substring(int,int): java.lang.String -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.util.Iterator.hasNext(): boolean -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): 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.get(int): java.lang.Object -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object -> java.lang.String.length(): int -> java.lang.StringBuilder.length(): int -> java.lang.StringBuilder.charAt(int): char -> java.lang.StringBuilder.charAt(int): char -> java.lang.StringBuilder.toString(): java.lang.String -> java.util.List.add(java.lang.Object): boolean -> java.util.List.isEmpty(): boolean -> java.util.List.get(int): java.lang.Object
 [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] -> java.util.ArrayList.size(): int [EXIT] [CALL] [CALL] -> java.util.ArrayList.get(int): java.lang.Object [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] -> java.lang.String.indexOf(java.lang.String): int [EXIT] [CALL] [CALL] [CALL] [EXIT] -> java.lang.String.indexOf(java.lang.String): int [EXIT] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object [EXIT] [EXIT] [CALL] [CALL] [EXIT] -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] -> java.util.ArrayList.size(): int [EXIT] [CALL] [CALL] -> java.util.ArrayList.get(int): java.lang.Object [EXIT] [EXIT] [CALL] [EXIT] [CALL] -> java.util.ArrayList.size(): int [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] -> java.util.ArrayList.size(): int [EXIT] [CALL] [CALL] -> java.util.ArrayList.get(int): java.lang.Object [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] -> java.lang.String.indexOf(java.lang.String): int [EXIT] [CALL] -> java.lang.String.isEmpty(): boolean [EXIT] -> java.util.List.add(java.lang.Object): boolean [CALL] -> java.util.ArrayList.size(): int [EXIT] [CALL] [CALL] -> java.util.List.stream(): java.util.stream.Stream -> java.util.function.Function.identity(): java.util.function.Function -> java.util.stream.Collectors.counting(): java.util.stream.Collector -> java.util.stream.Collectors.groupingBy(java.util.function.Function,java.util.function.Supplier,java.util.stream.Collector): java.util.stream.Collector -> java.util.stream.Stream.collect(java.util.stream.Collector): java.lang.Object -> java.util.Map.keySet(): java.util.Set -> java.util.Map.entrySet(): java.util.Set -> java.util.Set.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Map.entrySet(): java.util.Set -> java.util.Set.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] -> java.lang.Long.longValue(): long [CALL] [EXIT] -> java.lang.Long.longValue(): long [CALL] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Map.entrySet(): java.util.Set -> java.util.Set.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object -> java.util.Map$Entry.getValue(): java.lang.Object [CALL] [EXIT] -> java.util.Iterator.hasNext(): boolean [EXIT] [EXIT] [CALL] -> java.util.ArrayList.size(): int [EXIT] [CALL] [CALL] -> java.util.ArrayList.get(int): java.lang.Object [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] -> java.lang.String.indexOf(java.lang.String): int [EXIT] [CALL] [CALL] [CALL] [EXIT] -> java.lang.String.indexOf(java.lang.String): int [EXIT] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] -> java.util.ArrayList.size(): int [EXIT] [CALL] [CALL] -> java.util.ArrayList.get(int): java.lang.Object [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] -> java.util.ArrayList.size(): int [EXIT] [CALL] [CALL] -> java.util.ArrayList.get(int): java.lang.Object [EXIT] [EXIT] [CALL] [EXIT] [CALL] -> java.util.ArrayList.size(): int [EXIT] [CALL] [CALL] -> java.util.List.stream(): java.util.stream.Stream -> java.util.function.Function.identity(): java.util.function.Function -> java.util.stream.Collectors.counting(): java.util.stream.Collector -> java.util.stream.Collectors.groupingBy(java.util.function.Function,java.util.function.Supplier,java.util.stream.Collector): java.util.stream.Collector -> java.util.stream.Stream.collect(java.util.stream.Collector): java.lang.Object -> java.util.Map.keySet(): java.util.Set -> java.util.Map.entrySet(): java.util.Set -> java.util.Set.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Map.entrySet(): java.util.Set -> java.util.Set.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Map.entrySet(): java.util.Set -> java.util.Set.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean [EXIT] [EXIT] [CALL] -> java.util.ArrayList.size(): int [EXIT] [CALL] [CALL] -> java.util.ArrayList.get(int): java.lang.Object [EXIT] [EXIT] [CALL] [EXIT] [CALL] -> java.util.ArrayList.size(): int [EXIT] [EXIT] [CALL] -> java.util.ArrayList.size(): int [EXIT] [EXIT] [CALL] -> java.util.ArrayList.size(): int [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.util.Map.values(): java.util.Collection [EXIT] -> java.util.Collection.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] [CALL] [CALL] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder [EXIT] [EXIT] [CALL] [EXIT] [CALL] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder [EXIT] [EXIT] [EXIT] [CALL] -> java.util.Map.values(): java.util.Collection [EXIT] -> java.util.Collection.isEmpty(): boolean [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] -> java.lang.Boolean.booleanValue(): boolean [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] -> java.util.Map.entrySet(): java.util.Set -> java.util.Set.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] -> java.lang.Boolean.booleanValue(): boolean [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder [EXIT] [EXIT] [EXIT] -> java.util.Map$Entry.getValue(): java.lang.Object [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] -> java.lang.Boolean.booleanValue(): boolean [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder [EXIT] [EXIT] [EXIT] [CALL] [CALL] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder [EXIT] [EXIT] [CALL] -> java.util.Map.values(): java.util.Collection [EXIT] -> java.util.Collection.isEmpty(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] [CALL] [CALL] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder [EXIT] [EXIT] [CALL] [EXIT] [CALL] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder [EXIT] [EXIT] [EXIT] [CALL] -> java.util.Map.values(): java.util.Collection [EXIT] -> java.util.Collection.isEmpty(): boolean [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] -> java.lang.Boolean.booleanValue(): boolean [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder [EXIT] [EXIT] [EXIT] [CALL] [CALL] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder [EXIT] [EXIT] [CALL] -> java.util.Map.values(): java.util.Collection [EXIT] -> java.util.Collection.isEmpty(): boolean -> java.util.Iterator.hasNext(): boolean [EXIT] [EXIT] [CALL] -> java.lang.StringBuilder.toString(): java.lang.String [EXIT] [EXIT] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder [CALL] [EXIT] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [CALL] [CALL] -> java.util.ServiceLoader.load(java.lang.Class): java.util.ServiceLoader -> java.util.ServiceLoader.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] -> java.util.Collection.add(java.lang.Object): boolean [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [EXIT] [CALL] -> java.util.Collections.synchronizedMap(java.util.Map): java.util.Map [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] -> java.util.concurrent.TimeUnit.toNanos(long): long [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] -> java.lang.Math.min(int,int): int [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.Math.min(int,int): int [CALL] [EXIT] [CALL] [EXIT] -> java.lang.Math.min(long,long): long [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] -> java.util.concurrent.atomic.AtomicReferenceArray.length(): int [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] -> java.util.concurrent.atomic.AtomicReferenceArray.length(): int [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] -> java.util.concurrent.atomic.AtomicReferenceArray.length(): int [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] -> java.util.concurrent.atomic.AtomicReferenceArray.length(): int [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.lang.String.endsWith(java.lang.String): boolean -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String [EXIT] -> java.util.Set.add(java.lang.Object): boolean [EXIT] [CALL] [CALL] -> java.lang.String.endsWith(java.lang.String): boolean -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String [EXIT] -> java.util.Set.add(java.lang.Object): boolean [EXIT] [CALL] [CALL] -> java.lang.String.endsWith(java.lang.String): boolean -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String [EXIT] -> java.util.Set.add(java.lang.Object): boolean [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] -> java.lang.Object.getClass(): java.lang.Class -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object [EXIT] [CALL] [EXIT] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] [EXIT] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] [EXIT] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] [CALL] -> java.util.Collection.add(java.lang.Object): boolean [CALL] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [EXIT] [EXIT] [CALL] -> java.util.Collection.add(java.lang.Object): boolean [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [EXIT] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] [CALL] -> java.util.Collection.add(java.lang.Object): boolean [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [EXIT] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] [EXIT] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [EXIT] [CALL] [EXIT] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] -> java.util.Collection.add(java.lang.Object): boolean [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] [CALL] -> java.util.Collection.add(java.lang.Object): boolean [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] [EXIT] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] [CALL] -> java.util.Collection.add(java.lang.Object): boolean [CALL] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] [CALL] -> java.util.Collection.add(java.lang.Object): boolean [CALL] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] [CALL] -> java.util.Collection.add(java.lang.Object): boolean [CALL] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] -> java.util.Collection.add(java.lang.Object): boolean [CALL] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] -> java.util.Collection.add(java.lang.Object): boolean [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [EXIT] [CALL] [EXIT] [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] -> java.util.Collection.add(java.lang.Object): boolean [CALL] [CALL] [CALL] [CALL] -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object [EXIT] [CALL] -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object [EXIT] [EXIT] [EXIT] [CALL] -> java.lang.Object.getClass(): java.lang.Class -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object [EXIT] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] -> java.lang.String.endsWith(java.lang.String): boolean [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.lang.String.length(): int [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] -> java.lang.String.length(): int [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] -> java.lang.String.length(): int [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [EXIT] [CALL] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] -> java.lang.String.length(): int [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [EXIT] -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.util.function.Predicate.test(java.lang.Object): boolean [CALL] -> java.lang.Integer.intValue(): int [EXIT] [CALL] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [EXIT] -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.util.function.Predicate.test(java.lang.Object): boolean [CALL] -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [EXIT] -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.util.function.Predicate.test(java.lang.Object): boolean [CALL] -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [EXIT] [EXIT] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.regex.Pattern.matcher(java.lang.CharSequence): java.util.regex.Matcher -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object [EXIT] -> java.util.regex.Matcher.region(int,int): java.util.regex.Matcher -> java.util.regex.Matcher.find(): boolean -> java.util.regex.Matcher.end(): int -> java.util.regex.Matcher.group(int): java.lang.String [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] -> java.util.List.add(java.lang.Object): boolean [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [EXIT] -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.util.function.Predicate.test(java.lang.Object): boolean [CALL] -> java.lang.Integer.intValue(): int [EXIT] [CALL] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [EXIT] -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.util.function.Predicate.test(java.lang.Object): boolean [CALL] -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [EXIT] -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.util.function.Predicate.test(java.lang.Object): boolean [CALL] -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] -> java.util.List.add(java.lang.Object): boolean [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [EXIT] [EXIT] [CALL] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [EXIT] -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.util.function.Predicate.test(java.lang.Object): boolean [CALL] -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [EXIT] [CALL] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] -> java.lang.String.length(): int [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [EXIT] -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.util.function.Predicate.test(java.lang.Object): boolean [CALL] -> java.lang.Integer.intValue(): int [EXIT] [CALL] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [EXIT] -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.util.function.Predicate.test(java.lang.Object): boolean [CALL] -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [EXIT] -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.util.function.Predicate.test(java.lang.Object): boolean [CALL] -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [EXIT] [EXIT] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.regex.Matcher.reset(): java.util.regex.Matcher [EXIT] -> java.util.regex.Matcher.region(int,int): java.util.regex.Matcher -> java.util.regex.Matcher.find(): boolean -> java.util.regex.Matcher.end(): int -> java.util.regex.Matcher.group(int): java.lang.String [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] -> java.util.List.add(java.lang.Object): boolean [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [EXIT] -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.util.function.Predicate.test(java.lang.Object): boolean [CALL] -> java.lang.Integer.intValue(): int [EXIT] [CALL] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [EXIT] -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.util.function.Predicate.test(java.lang.Object): boolean [CALL] -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [EXIT] -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.util.function.Predicate.test(java.lang.Object): boolean [CALL] -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] -> java.util.List.add(java.lang.Object): boolean [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [EXIT] [EXIT] [CALL] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [EXIT] -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.util.function.Predicate.test(java.lang.Object): boolean [CALL] -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.lang.String.codePointAt(int): int [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] -> java.lang.String.length(): int [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] -> java.lang.String.length(): int [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] -> java.util.List.clear(): void -> java.lang.String.length(): int [CALL] [CALL] -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char [EXIT] -> java.lang.String.length(): int -> java.util.List.size(): int -> java.lang.String.length(): int [CALL] [EXIT] -> java.util.List.add(java.lang.Object): boolean [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object [EXIT] [EXIT] -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [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] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] -> java.util.List.size(): int -> java.lang.Math.floor(double): double -> java.util.List.get(int): java.lang.Object -> java.util.function.Function.apply(java.lang.Object): java.lang.Object [CALL] -> java.lang.Boolean.valueOf(boolean): java.lang.Boolean [EXIT] -> java.lang.Boolean.booleanValue(): boolean [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] -> java.lang.String.endsWith(java.lang.String): boolean [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] -> java.lang.String.endsWith(java.lang.String): boolean [EXIT] [EXIT] [CALL] [CALL] [EXIT] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.substring(int,int): java.lang.String [EXIT] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.substring(int,int): java.lang.String [EXIT] [EXIT] [EXIT] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String [CALL] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.substring(int,int): java.lang.String [EXIT] [EXIT] [CALL] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder [EXIT] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.substring(int,int): java.lang.String [EXIT] [EXIT] [CALL] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder [EXIT] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] [CALL] [CALL] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder [EXIT] [CALL] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.substring(int,int): java.lang.String [EXIT] [EXIT] [EXIT] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String [CALL] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.substring(int,int): java.lang.String [EXIT] [EXIT] [CALL] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder [EXIT] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.substring(int,int): java.lang.String [EXIT] [EXIT] [CALL] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder [EXIT] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] [CALL] [CALL] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean [EXIT] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean [EXIT] [CALL] [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] [CALL] [CALL] [EXIT] [CALL] [CALL] -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object [EXIT] -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] -> java.lang.String.length(): int [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] -> java.lang.StringBuilder.length(): int -> java.lang.StringBuilder.charAt(int): char -> java.lang.StringBuilder.charAt(int): char [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] -> java.lang.StringBuilder.toString(): java.lang.String [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [EXIT] [EXIT] [EXIT] [EXIT] -> java.util.List.isEmpty(): boolean -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] [EXIT]