org_eclipse_lemminx_extensions_prolog_PrologCompletionExtensionsTest_java
org.eclipse.lemminx.commons.snippets.SnippetRegistry
private static MarkupContent createDocumentation(Snippet snippet, Map<String, String> model, boolean canSupportMarkdown, String lineDelimiter) {
        StringBuilder doc = new StringBuilder();
        if (canSupportMarkdown) {
            doc.append(System.lineSeparator());
            doc.append("```");
            String scope = snippet.getScope();
            if (scope != null) {
                doc.append(scope);
            }
            doc.append(System.lineSeparator());
        }
        String insertText = SnippetRegistry.getInsertText(snippet, model, true, lineDelimiter);
        doc.append(insertText);
        if (canSupportMarkdown) {
            doc.append(System.lineSeparator());
            doc.append("```");
            doc.append(System.lineSeparator());
        }
        return new MarkupContent(canSupportMarkdown ? "markdown" : "plaintext", doc.toString());
    }
 -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.indexOf(java.lang.String,int): int -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.Character.isDigit(char): boolean -> java.lang.String.indexOf(java.lang.String,int): int -> java.lang.StringBuilder.append(java.lang.CharSequence,int,int): java.lang.StringBuilder -> java.lang.String.charAt(int): char -> java.lang.Character.isDigit(char): boolean -> java.lang.String.charAt(int): char -> java.lang.Character.isDigit(char): boolean -> java.lang.String.substring(int,int): java.lang.String -> java.util.Map.containsKey(java.lang.Object): boolean -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.String.indexOf(java.lang.String,int): int -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.Character.isDigit(char): boolean -> java.lang.String.indexOf(java.lang.String,int): int -> java.lang.StringBuilder.append(java.lang.CharSequence,int,int): java.lang.StringBuilder -> java.lang.String.charAt(int): char -> java.lang.Character.isDigit(char): boolean -> java.lang.String.charAt(int): char -> java.lang.Character.isDigit(char): boolean -> java.lang.String.substring(int,int): java.lang.String -> java.util.Map.containsKey(java.lang.Object): boolean -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.String.indexOf(java.lang.String,int): int -> java.lang.String.length(): int -> java.lang.StringBuilder.append(java.lang.CharSequence,int,int): 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.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.String.indexOf(java.lang.String,int): int -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.Character.isDigit(char): boolean -> java.lang.String.indexOf(java.lang.String,int): int -> java.lang.StringBuilder.append(java.lang.CharSequence,int,int): java.lang.StringBuilder -> java.lang.String.charAt(int): char -> java.lang.Character.isDigit(char): boolean -> java.lang.String.substring(int,int): java.lang.String -> java.util.Map.containsKey(java.lang.Object): boolean -> java.lang.String.indexOf(java.lang.String,int): int -> java.lang.String.length(): int -> java.lang.StringBuilder.append(java.lang.CharSequence,int,int): 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.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.String.indexOf(java.lang.String,int): int -> 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.String.indexOf(java.lang.String,int): int -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.Character.isDigit(char): boolean -> java.lang.String.indexOf(java.lang.String,int): int -> java.lang.StringBuilder.append(java.lang.CharSequence,int,int): java.lang.StringBuilder -> java.lang.String.charAt(int): char -> java.lang.Character.isDigit(char): boolean -> java.lang.String.charAt(int): char -> java.lang.Character.isDigit(char): boolean -> java.lang.String.substring(int,int): java.lang.String -> java.util.Map.containsKey(java.lang.Object): boolean -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.String.indexOf(java.lang.String,int): int -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.Character.isDigit(char): boolean -> java.lang.String.indexOf(java.lang.String,int): int -> java.lang.StringBuilder.append(java.lang.CharSequence,int,int): java.lang.StringBuilder -> java.lang.String.charAt(int): char -> java.lang.Character.isDigit(char): boolean -> java.lang.String.substring(int,int): java.lang.String -> java.util.Map.containsKey(java.lang.Object): boolean -> java.lang.String.indexOf(java.lang.String,int): int -> java.lang.String.length(): int -> java.lang.StringBuilder.append(java.lang.CharSequence,int,int): 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.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.String.indexOf(java.lang.String,int): int -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.Character.isDigit(char): boolean -> java.lang.String.indexOf(java.lang.String,int): int -> java.lang.StringBuilder.append(java.lang.CharSequence,int,int): java.lang.StringBuilder -> java.lang.String.charAt(int): char -> java.lang.Character.isDigit(char): boolean -> java.lang.String.charAt(int): char -> java.lang.Character.isDigit(char): boolean -> java.lang.String.substring(int,int): java.lang.String -> java.util.Map.containsKey(java.lang.Object): boolean -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.String.indexOf(java.lang.String,int): int -> java.lang.String.length(): int -> java.lang.StringBuilder.append(java.lang.CharSequence,int,int): 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.toString(): java.lang.String -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String
 [CALL] [CALL] [CALL] [EXIT] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] -> java.lang.String.indexOf(java.lang.String,int): int -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.Character.isDigit(char): boolean -> java.lang.String.indexOf(java.lang.String,int): int -> java.lang.StringBuilder.append(java.lang.CharSequence,int,int): java.lang.StringBuilder -> java.lang.String.charAt(int): char -> java.lang.Character.isDigit(char): boolean -> java.lang.String.charAt(int): char -> java.lang.Character.isDigit(char): boolean -> java.lang.String.substring(int,int): java.lang.String -> java.util.Map.containsKey(java.lang.Object): boolean -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder [CALL] -> java.lang.String.indexOf(java.lang.String,int): int -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.Character.isDigit(char): boolean -> java.lang.String.indexOf(java.lang.String,int): int -> java.lang.StringBuilder.append(java.lang.CharSequence,int,int): java.lang.StringBuilder -> java.lang.String.charAt(int): char -> java.lang.Character.isDigit(char): boolean -> java.lang.String.charAt(int): char -> java.lang.Character.isDigit(char): boolean -> java.lang.String.substring(int,int): java.lang.String -> java.util.Map.containsKey(java.lang.Object): boolean -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder [CALL] -> java.lang.String.indexOf(java.lang.String,int): int -> java.lang.String.length(): int -> java.lang.StringBuilder.append(java.lang.CharSequence,int,int): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String [EXIT] [EXIT] [EXIT] [EXIT] -> 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 [CALL] [CALL] -> java.lang.String.indexOf(java.lang.String,int): int -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.Character.isDigit(char): boolean -> java.lang.String.indexOf(java.lang.String,int): int -> java.lang.StringBuilder.append(java.lang.CharSequence,int,int): java.lang.StringBuilder -> java.lang.String.charAt(int): char -> java.lang.Character.isDigit(char): boolean -> java.lang.String.substring(int,int): java.lang.String -> java.util.Map.containsKey(java.lang.Object): boolean [CALL] -> java.lang.String.indexOf(java.lang.String,int): int -> java.lang.String.length(): int -> java.lang.StringBuilder.append(java.lang.CharSequence,int,int): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String [EXIT] [EXIT] [EXIT] -> 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 [CALL] [CALL] -> java.lang.String.indexOf(java.lang.String,int): int [EXIT] [EXIT] -> 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 [CALL] [CALL] -> java.lang.String.indexOf(java.lang.String,int): int -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.Character.isDigit(char): boolean -> java.lang.String.indexOf(java.lang.String,int): int -> java.lang.StringBuilder.append(java.lang.CharSequence,int,int): java.lang.StringBuilder -> java.lang.String.charAt(int): char -> java.lang.Character.isDigit(char): boolean -> java.lang.String.charAt(int): char -> java.lang.Character.isDigit(char): boolean -> java.lang.String.substring(int,int): java.lang.String -> java.util.Map.containsKey(java.lang.Object): boolean -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder [CALL] -> java.lang.String.indexOf(java.lang.String,int): int -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.Character.isDigit(char): boolean -> java.lang.String.indexOf(java.lang.String,int): int -> java.lang.StringBuilder.append(java.lang.CharSequence,int,int): java.lang.StringBuilder -> java.lang.String.charAt(int): char -> java.lang.Character.isDigit(char): boolean -> java.lang.String.substring(int,int): java.lang.String -> java.util.Map.containsKey(java.lang.Object): boolean [CALL] -> java.lang.String.indexOf(java.lang.String,int): int -> java.lang.String.length(): int -> java.lang.StringBuilder.append(java.lang.CharSequence,int,int): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String [EXIT] [EXIT] [EXIT] [EXIT] -> 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 [CALL] [CALL] -> java.lang.String.indexOf(java.lang.String,int): int -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.Character.isDigit(char): boolean -> java.lang.String.indexOf(java.lang.String,int): int -> java.lang.StringBuilder.append(java.lang.CharSequence,int,int): java.lang.StringBuilder -> java.lang.String.charAt(int): char -> java.lang.Character.isDigit(char): boolean -> java.lang.String.charAt(int): char -> java.lang.Character.isDigit(char): boolean -> java.lang.String.substring(int,int): java.lang.String -> java.util.Map.containsKey(java.lang.Object): boolean -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder [CALL] -> java.lang.String.indexOf(java.lang.String,int): int -> java.lang.String.length(): int -> java.lang.StringBuilder.append(java.lang.CharSequence,int,int): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String [EXIT] [EXIT] [EXIT] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.util.Iterator.hasNext(): boolean -> java.lang.StringBuilder.toString(): java.lang.String [EXIT] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT]