org_eclipse_lemminx_extensions_contentmodel_XMLSyntaxDiagnosticsTest_java
org.eclipse.lemminx.extensions.contentmodel.participants.codeactions.CloseTagCodeAction
@Override
    public void doCodeAction(Diagnostic diagnostic, Range range, DOMDocument document, List<CodeAction> codeActions, SharedSettings sharedSettings, IComponentProvider componentProvider) {
        Range diagnosticRange = diagnostic.getRange();
        try {
            int startOffset = document.offsetAt(diagnosticRange.getStart()) + 1;
            DOMNode node = document.findNodeAt(startOffset);
            if (node == null || !node.isElement()) {
                return;
            }
            DOMElement element = (DOMElement)node;
            if (element.hasEndTag() && !element.isEndTagClosed() && element.hasTagName()) {
                this.doCodeActionsForEndTagUnclosed(element, document, diagnostic, codeActions);
            } else {
                boolean startTagClosed = element.isStartTagClosed();
                if (!startTagClosed) {
                    this.doCodeActionsForStartTagUnclosed(element, document, diagnosticRange, diagnostic, codeActions);
                } else {
                    this.doCodeActionsForStartTagClosed(element, document, diagnosticRange, diagnostic, codeActions);
                }
            }
        }
        catch (BadLocationException badLocationException) {
            // empty catch block
        }
    }
 -> 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.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.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.get(int): java.lang.Object -> java.util.Collections.emptyList(): java.util.List -> java.util.List.size(): int -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.length(): int -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.Character.isWhitespace(char): boolean -> java.lang.String.charAt(int): char -> java.lang.Character.isWhitespace(char): boolean -> java.lang.String.charAt(int): char -> java.lang.Character.isWhitespace(char): boolean -> java.lang.String.charAt(int): char -> java.lang.Character.isWhitespace(char): boolean -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.util.Arrays.asList(java.lang.Object[]): java.util.List -> java.util.Collections.singletonList(java.lang.Object): java.util.List -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.util.Collections.singletonList(java.lang.Object): java.util.List -> java.util.List.add(java.lang.Object): boolean -> 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.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.Arrays.asList(java.lang.Object[]): java.util.List -> java.util.Collections.singletonList(java.lang.Object): java.util.List -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.util.Collections.singletonList(java.lang.Object): java.util.List -> java.util.List.add(java.lang.Object): boolean
 [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] -> java.util.List.clear(): void -> java.lang.String.length(): int [CALL] [CALL] -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char [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] [EXIT] -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [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] -> java.util.List.get(int): java.lang.Object [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] -> java.util.Collections.emptyList(): java.util.List [EXIT] [CALL] -> java.util.List.size(): int [EXIT] [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] [CALL] [EXIT] [EXIT] [CALL] [EXIT] -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.length(): int -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.Character.isWhitespace(char): boolean -> java.lang.String.charAt(int): char -> java.lang.Character.isWhitespace(char): boolean -> java.lang.String.charAt(int): char -> java.lang.Character.isWhitespace(char): boolean -> java.lang.String.charAt(int): char -> java.lang.Character.isWhitespace(char): boolean [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object [EXIT] [EXIT] -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] -> java.lang.String.length(): int -> java.lang.String.charAt(int): char [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] -> java.util.Arrays.asList(java.lang.Object[]): java.util.List [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] -> java.util.Collections.singletonList(java.lang.Object): java.util.List [CALL] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.Integer.valueOf(int): java.lang.Integer [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] -> java.util.Collections.singletonList(java.lang.Object): java.util.List [CALL] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> 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.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 [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] -> java.util.Arrays.asList(java.lang.Object[]): java.util.List [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] -> java.util.Collections.singletonList(java.lang.Object): java.util.List [CALL] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.Integer.valueOf(int): java.lang.Integer [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] -> java.util.Collections.singletonList(java.lang.Object): java.util.List [CALL] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [EXIT] [EXIT]