org_eclipse_lemminx_services_XMLRenameTest_java
org.eclipse.lemminx.services.XMLRename
private List<TextEdit> getTagNameRenameTextEdits(DOMDocument xmlDocument, DOMElement element, Position position, String newText) {
        Range startTagRange = XMLPositionUtility.getTagNameRange(TokenType.StartTag, element.getStart(), xmlDocument);
        Range endTagRange = element.hasEndTag() ? XMLPositionUtility.getTagNameRange(TokenType.EndTag, element.getEndTagOpenOffset(), xmlDocument) : null;
        String fullNodeName = element.getNodeName();
        int indexOfColon = fullNodeName.indexOf(":");
        if (indexOfColon > 0) {
            String prefix = element.getPrefix();
            String suffixName = element.getLocalName();
            int suffixLength = suffixName.length();
            Range startTagPrefixRange = null;
            Range suffixRangeStart = null;
            if (startTagRange != null) {
                Position startTagStartPosition = startTagRange.getStart();
                Position startTagPrefixPosition = new Position(startTagStartPosition.getLine(), startTagStartPosition.getCharacter() + indexOfColon);
                Position startTagEndPosition = startTagRange.getEnd();
                Position suffixStartPositionStart = new Position(startTagEndPosition.getLine(), startTagEndPosition.getCharacter() - suffixLength);
                startTagPrefixRange = new Range(startTagStartPosition, startTagPrefixPosition);
                suffixRangeStart = new Range(suffixStartPositionStart, startTagEndPosition);
            }
            Range suffixRangeEnd = null;
            Range endTagPrefixRange = null;
            if (endTagRange != null) {
                Position endTagStartPosition = endTagRange.getStart();
                Position endTagPrefixPosition = new Position(endTagStartPosition.getLine(), endTagStartPosition.getCharacter() + indexOfColon);
                Position endTagEndPosition = endTagRange.getEnd();
                Position suffixEndPositionStart = new Position(endTagEndPosition.getLine(), endTagEndPosition.getCharacter() - suffixLength);
                endTagPrefixRange = new Range(endTagStartPosition, endTagPrefixPosition);
                suffixRangeEnd = new Range(suffixEndPositionStart, endTagEndPosition);
            }
            if (newText.contains(":")) {
                String[] tagParts = newText.split(":", 2);
                ArrayList<TextEdit> tagTextEdits = new ArrayList<TextEdit>();
                if (!prefix.equals(tagParts[0])) {
                    tagTextEdits.addAll(XMLRename.renameElementNamespace(xmlDocument, element, prefix.length(), tagParts[0]));
                }
                if (!suffixName.equals(tagParts[1])) {
                    tagTextEdits.addAll(XMLRename.getRenameList(suffixRangeStart, suffixRangeEnd, tagParts[1]));
                }
                return tagTextEdits;
            }
            if (XMLPositionUtility.doesTagCoverPosition(startTagPrefixRange, endTagPrefixRange, position)) {
                return XMLRename.renameElementNamespace(xmlDocument, element, prefix.length(), newText);
            }
            return XMLRename.getRenameList(suffixRangeStart, suffixRangeEnd, newText);
        }
        return XMLRename.getRenameList(startTagRange, endTagRange, newText);
    }
 -> java.lang.String.length(): 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.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.Character.isLetter(int): 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.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Character.isLetterOrDigit(int): 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.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Character.isLetterOrDigit(int): 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.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Character.isLetterOrDigit(int): 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.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Character.isLetterOrDigit(int): 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.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.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.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.Character.isLetter(int): 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.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Character.isLetterOrDigit(int): 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.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Character.isLetterOrDigit(int): 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.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Character.isLetterOrDigit(int): 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.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Integer.intValue(): int -> java.lang.Character.isLetterOrDigit(int): 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.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.indexOf(java.lang.String): int -> java.util.List.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean
 [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [CALL] -> java.lang.String.length(): int [EXIT] [EXIT] [EXIT] [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] [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] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [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.Character.isLetter(int): boolean [EXIT] [CALL] [EXIT] [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 -> java.lang.Character.isLetterOrDigit(int): boolean [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 -> java.lang.Character.isLetterOrDigit(int): boolean [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 -> java.lang.Character.isLetterOrDigit(int): boolean [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 -> java.lang.Character.isLetterOrDigit(int): boolean [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [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] [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] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [CALL] -> java.lang.String.length(): int [EXIT] [EXIT] [EXIT] [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] [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] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [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.Character.isLetter(int): boolean [EXIT] [CALL] [EXIT] [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 -> java.lang.Character.isLetterOrDigit(int): boolean [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 -> java.lang.Character.isLetterOrDigit(int): boolean [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 -> java.lang.Character.isLetterOrDigit(int): boolean [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 -> java.lang.Character.isLetterOrDigit(int): boolean [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [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] [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] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] -> java.lang.String.indexOf(java.lang.String): int [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [EXIT] [EXIT]