org_eclipse_lemminx_extensions_xsd_XSDCompletionExtensionsTest_java
org.apache.xerces.impl.xs.traversers.XSDGroupTraverser
XSParticleDecl traverseLocal(Element element, XSDocumentInfo xSDocumentInfo, SchemaGrammar schemaGrammar) {
        Object[] objectArray = this.fAttrChecker.checkAttributes(element, false, xSDocumentInfo);
        QName qName = (QName)objectArray[XSAttributeChecker.ATTIDX_REF];
        XInt xInt = (XInt)objectArray[XSAttributeChecker.ATTIDX_MINOCCURS];
        XInt xInt2 = (XInt)objectArray[XSAttributeChecker.ATTIDX_MAXOCCURS];
        XSGroupDecl xSGroupDecl = null;
        if (qName == null) {
            this.reportSchemaError("s4s-att-must-appear", new Object[]{"group (local)", "ref"}, element);
        } else {
            xSGroupDecl = (XSGroupDecl)this.fSchemaHandler.getGlobalDecl(xSDocumentInfo, 4, qName, element);
        }
        XSAnnotationImpl xSAnnotationImpl = null;
        Element element2 = DOMUtil.getFirstChildElement(element);
        if (element2 != null && DOMUtil.getLocalName(element2).equals(SchemaSymbols.ELT_ANNOTATION)) {
            xSAnnotationImpl = this.traverseAnnotationDecl(element2, objectArray, false, xSDocumentInfo);
            element2 = DOMUtil.getNextSiblingElement(element2);
        } else {
            String string = DOMUtil.getSyntheticAnnotation(element);
            if (string != null) {
                xSAnnotationImpl = this.traverseSyntheticAnnotation(element, string, objectArray, false, xSDocumentInfo);
            }
        }
        if (element2 != null) {
            this.reportSchemaError("s4s-elt-must-match.1", new Object[]{"group (local)", "(annotation?)", DOMUtil.getLocalName(element)}, element);
        }
        int n = xInt.intValue();
        int n2 = xInt2.intValue();
        XSParticleDecl xSParticleDecl = null;
        if (xSGroupDecl != null && xSGroupDecl.fModelGroup != null && (n != 0 || n2 != 0)) {
            Object object;
            xSParticleDecl = this.fSchemaHandler.fDeclPool != null ? this.fSchemaHandler.fDeclPool.getParticleDecl() : new XSParticleDecl();
            xSParticleDecl.fType = (short)3;
            xSParticleDecl.fValue = xSGroupDecl.fModelGroup;
            xSParticleDecl.fMinOccurs = n;
            xSParticleDecl.fMaxOccurs = n2;
            if (xSGroupDecl.fModelGroup.fCompositor == 103) {
                object = (Long)objectArray[XSAttributeChecker.ATTIDX_FROMDEFAULT];
                xSParticleDecl = this.checkOccurrences(xSParticleDecl, SchemaSymbols.ELT_GROUP, (Element)element.getParentNode(), 2, (Long)object);
            }
            if (qName != null) {
                if (xSAnnotationImpl != null) {
                    object = new XSObjectListImpl();
                    ((XSObjectListImpl)object).addXSObject(xSAnnotationImpl);
                } else {
                    object = XSObjectListImpl.EMPTY_LIST;
                }
                xSParticleDecl.fAnnotations = object;
            } else {
                xSParticleDecl.fAnnotations = xSGroupDecl.fAnnotations;
            }
        }
        this.fAttrChecker.returnAttrArray(objectArray, xSDocumentInfo);
        return xSParticleDecl;
    }
 -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.util.Hashtable.get(java.lang.Object): java.lang.Object -> java.lang.System.arraycopy(java.lang.Object,int,java.lang.Object,int,int): void -> java.lang.System.arraycopy(java.lang.Object,int,java.lang.Object,int,int): void -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.Object.toString(): java.lang.String -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.indexOf(java.lang.String): int -> java.lang.String.substring(int,int): java.lang.String -> java.lang.String.hashCode(): int -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.substring(int): java.lang.String -> 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.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.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.length(): int -> java.lang.String.hashCode(): int -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.hashCode(): int -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> 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.Integer.parseInt(java.lang.String): int -> java.lang.String.equals(java.lang.Object): boolean -> java.util.Vector.contains(java.lang.Object): boolean -> java.util.Hashtable.get(java.lang.Object): java.lang.Object -> java.lang.Object.hashCode(): int -> java.lang.Object.equals(java.lang.Object): boolean -> java.lang.Object.equals(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.Boolean.booleanValue(): boolean
 [CALL] [CALL] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.startsWith(java.lang.String): boolean [CALL] [CALL] [EXIT] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.startsWith(java.lang.String): boolean [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.util.Hashtable.get(java.lang.Object): java.lang.Object [CALL] -> java.lang.System.arraycopy(java.lang.Object,int,java.lang.Object,int,int): void [EXIT] -> java.lang.System.arraycopy(java.lang.Object,int,java.lang.Object,int,int): void [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] -> java.lang.String.startsWith(java.lang.String): boolean [CALL] -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] -> java.lang.Object.toString(): java.lang.String [CALL] -> java.lang.String.length(): int -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] [EXIT] [EXIT] [CALL] -> java.lang.String.indexOf(java.lang.String): int -> java.lang.String.substring(int,int): java.lang.String [CALL] [CALL] [CALL] -> java.lang.String.hashCode(): int [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] [EXIT] -> java.lang.String.substring(int): java.lang.String -> java.lang.String.length(): int [CALL] -> java.lang.String.length(): int -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] [EXIT] [CALL] -> java.lang.String.length(): int -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] -> java.lang.String.length(): int [CALL] [CALL] [CALL] -> java.lang.String.hashCode(): int [EXIT] -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.lang.String.hashCode(): int [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] -> java.lang.String.startsWith(java.lang.String): boolean [CALL] -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean [EXIT] [CALL] [CALL] -> java.lang.String.length(): int -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] [EXIT] -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.Integer.parseInt(java.lang.String): int [CALL] [EXIT] [CALL] [EXIT] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] -> java.util.Vector.contains(java.lang.Object): boolean [EXIT] [CALL] -> java.util.Hashtable.get(java.lang.Object): java.lang.Object [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.lang.Object.hashCode(): int [EXIT] [CALL] -> java.lang.Object.equals(java.lang.Object): boolean -> java.lang.Object.equals(java.lang.Object): boolean [EXIT] [EXIT] [EXIT] [EXIT] -> 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 [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] -> java.lang.Boolean.booleanValue(): boolean [EXIT] [EXIT]