org_eclipse_lemminx_services_extensions_HTMLCompletionExtensionsTest_java
org.eclipse.lemminx.extensions.entities.participants.EntitiesCompletionParticipant
@Override
    public void onXMLContent(ICompletionRequest request, ICompletionResponse response, CancelChecker cancelChecker) throws Exception {
        XMLPositionUtility.EntityReferenceRange entityRange = XMLPositionUtility.selectEntityReference(request.getOffset(), request.getXMLDocument(), false);
        if (entityRange == null) {
            return;
        }
        Range range = entityRange.getRange();
        boolean markdown = request.canSupportMarkupKind("markdown");
        DOMDocument document = request.getXMLDocument();
        EntitiesCompletionParticipant.collectLocalEntityProposals(document, range, markdown, response);
        EntitiesCompletionParticipant.collectExternalEntityProposals(document, range, markdown, request, response);
        this.collectPredefinedEntityProposals(range, markdown, response);
    }
 -> java.lang.String.charAt(int): char -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.Character.valueOf(char): java.lang.Character -> java.util.function.Predicate.test(java.lang.Object): boolean -> java.lang.Character.charValue(): char -> java.lang.Character.charValue(): char -> java.lang.Character.charValue(): char -> java.lang.Character.charValue(): char -> java.lang.Character.charValue(): char -> java.lang.Character.isLetterOrDigit(char): boolean -> java.lang.String.charAt(int): char -> java.lang.Character.valueOf(char): java.lang.Character -> java.util.function.Predicate.test(java.lang.Object): boolean -> java.lang.Character.charValue(): char -> java.lang.Character.charValue(): char -> java.lang.Character.charValue(): char -> java.lang.Character.charValue(): char -> java.lang.Character.charValue(): char -> java.lang.Character.isLetterOrDigit(char): boolean -> java.lang.String.charAt(int): char -> java.lang.Character.valueOf(char): java.lang.Character -> java.util.function.Predicate.test(java.lang.Object): boolean -> java.lang.Character.charValue(): char -> java.lang.Character.charValue(): char -> java.lang.Character.charValue(): char -> java.lang.Character.charValue(): char -> java.lang.Character.charValue(): char -> java.lang.Character.isLetterOrDigit(char): boolean
 [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] -> java.lang.String.charAt(int): char [CALL] -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.Character.valueOf(char): java.lang.Character -> java.util.function.Predicate.test(java.lang.Object): boolean [CALL] -> java.lang.Character.charValue(): char -> java.lang.Character.charValue(): char -> java.lang.Character.charValue(): char -> java.lang.Character.charValue(): char -> java.lang.Character.charValue(): char -> java.lang.Character.isLetterOrDigit(char): boolean [EXIT] -> java.lang.String.charAt(int): char -> java.lang.Character.valueOf(char): java.lang.Character -> java.util.function.Predicate.test(java.lang.Object): boolean [CALL] -> java.lang.Character.charValue(): char -> java.lang.Character.charValue(): char -> java.lang.Character.charValue(): char -> java.lang.Character.charValue(): char -> java.lang.Character.charValue(): char -> java.lang.Character.isLetterOrDigit(char): boolean [EXIT] -> java.lang.String.charAt(int): char -> java.lang.Character.valueOf(char): java.lang.Character -> java.util.function.Predicate.test(java.lang.Object): boolean [CALL] -> java.lang.Character.charValue(): char -> java.lang.Character.charValue(): char -> java.lang.Character.charValue(): char -> java.lang.Character.charValue(): char -> java.lang.Character.charValue(): char -> java.lang.Character.isLetterOrDigit(char): boolean [EXIT] [EXIT] [EXIT] [EXIT] [EXIT]