org_eclipse_lemminx_extensions_prolog_PrologCompletionExtensionsTest_java
org.eclipse.lemminx.commons.snippets.SnippetRegistry
private static Snippet createSnippet(JsonReader reader, TypeAdapter<? extends ISnippetContext<?>> contextDeserializer) throws JsonIOException, JsonSyntaxException {
        GsonBuilder builder = new GsonBuilder();
        builder.registerTypeAdapter((Type)((Object)Snippet.class), new SnippetDeserializer(contextDeserializer));
        return (Snippet)builder.create().fromJson(reader, (Type)((Object)Snippet.class));
    }
 -> 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.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.lang.Comparable.compareTo(java.lang.Object): 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.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.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.Comparable.compareTo(java.lang.Object): int
 [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] [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] [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 [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] [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] [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] [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] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [EXIT]