org_eclipse_lemminx_extensions_contentmodel_XMLSchemaPublishDiagnosticsTest_java
org.apache.xerces.impl.xs.traversers.XSDHandler
protected void buildGlobalNameRegistries() {
        Stack<XSDocumentInfo> stack = new Stack<XSDocumentInfo>();
        stack.push(this.fRoot);
        while (!stack.empty()) {
            XSDocumentInfo xSDocumentInfo = (XSDocumentInfo)stack.pop();
            Element element = xSDocumentInfo.fSchemaElement;
            if (DOMUtil.isHidden(element, this.fHiddenNodes)) continue;
            Element element2 = element;
            boolean bl = true;
            Object object = DOMUtil.getFirstChildElement(element2);
            while (object != null) {
                if (!DOMUtil.getLocalName((Node)object).equals(SchemaSymbols.ELT_ANNOTATION)) {
                    String string;
                    String string2;
                    Object object2;
                    if (DOMUtil.getLocalName((Node)object).equals(SchemaSymbols.ELT_INCLUDE) || DOMUtil.getLocalName((Node)object).equals(SchemaSymbols.ELT_IMPORT)) {
                        if (!bl) {
                            this.reportSchemaError("s4s-elt-invalid-content.3", new Object[]{DOMUtil.getLocalName((Node)object)}, (Element)object);
                        }
                        DOMUtil.setHidden((Node)object, this.fHiddenNodes);
                    } else if (DOMUtil.getLocalName((Node)object).equals(SchemaSymbols.ELT_REDEFINE)) {
                        if (!bl) {
                            this.reportSchemaError("s4s-elt-invalid-content.3", new Object[]{DOMUtil.getLocalName((Node)object)}, (Element)object);
                        }
                        object2 = DOMUtil.getFirstChildElement((Node)object);
                        while (object2 != null) {
                            string2 = DOMUtil.getAttrValue((Element)object2, SchemaSymbols.ATT_NAME);
                            if (string2.length() != 0) {
                                String string3;
                                string = xSDocumentInfo.fTargetNamespace == null ? "," + string2 : xSDocumentInfo.fTargetNamespace + "," + string2;
                                string = XMLChar.trim(string);
                                String string4 = DOMUtil.getLocalName((Node)object2);
                                if (string4.equals(SchemaSymbols.ELT_ATTRIBUTEGROUP)) {
                                    this.checkForDuplicateNames(string, 2, this.fUnparsedAttributeGroupRegistry, this.fUnparsedAttributeGroupRegistrySub, (Element)object2, xSDocumentInfo);
                                    string3 = DOMUtil.getAttrValue((Element)object2, SchemaSymbols.ATT_NAME) + "_fn3dktizrknc9pi";
                                    this.renameRedefiningComponents(xSDocumentInfo, (Element)object2, SchemaSymbols.ELT_ATTRIBUTEGROUP, string2, string3);
                                } else if (string4.equals(SchemaSymbols.ELT_COMPLEXTYPE) || string4.equals(SchemaSymbols.ELT_SIMPLETYPE)) {
                                    this.checkForDuplicateNames(string, 7, this.fUnparsedTypeRegistry, this.fUnparsedTypeRegistrySub, (Element)object2, xSDocumentInfo);
                                    string3 = DOMUtil.getAttrValue((Element)object2, SchemaSymbols.ATT_NAME) + "_fn3dktizrknc9pi";
                                    if (string4.equals(SchemaSymbols.ELT_COMPLEXTYPE)) {
                                        this.renameRedefiningComponents(xSDocumentInfo, (Element)object2, SchemaSymbols.ELT_COMPLEXTYPE, string2, string3);
                                    } else {
                                        this.renameRedefiningComponents(xSDocumentInfo, (Element)object2, SchemaSymbols.ELT_SIMPLETYPE, string2, string3);
                                    }
                                } else if (string4.equals(SchemaSymbols.ELT_GROUP)) {
                                    this.checkForDuplicateNames(string, 4, this.fUnparsedGroupRegistry, this.fUnparsedGroupRegistrySub, (Element)object2, xSDocumentInfo);
                                    string3 = DOMUtil.getAttrValue((Element)object2, SchemaSymbols.ATT_NAME) + "_fn3dktizrknc9pi";
                                    this.renameRedefiningComponents(xSDocumentInfo, (Element)object2, SchemaSymbols.ELT_GROUP, string2, string3);
                                }
                            }
                            object2 = DOMUtil.getNextSiblingElement((Node)object2);
                        }
                    } else {
                        bl = false;
                        object2 = DOMUtil.getAttrValue((Element)object, SchemaSymbols.ATT_NAME);
                        if (((String)object2).length() != 0) {
                            string2 = xSDocumentInfo.fTargetNamespace == null ? "," + (String)object2 : xSDocumentInfo.fTargetNamespace + "," + (String)object2;
                            string2 = XMLChar.trim(string2);
                            string = DOMUtil.getLocalName((Node)object);
                            if (string.equals(SchemaSymbols.ELT_ATTRIBUTE)) {
                                this.checkForDuplicateNames(string2, 1, this.fUnparsedAttributeRegistry, this.fUnparsedAttributeRegistrySub, (Element)object, xSDocumentInfo);
                            } else if (string.equals(SchemaSymbols.ELT_ATTRIBUTEGROUP)) {
                                this.checkForDuplicateNames(string2, 2, this.fUnparsedAttributeGroupRegistry, this.fUnparsedAttributeGroupRegistrySub, (Element)object, xSDocumentInfo);
                            } else if (string.equals(SchemaSymbols.ELT_COMPLEXTYPE) || string.equals(SchemaSymbols.ELT_SIMPLETYPE)) {
                                this.checkForDuplicateNames(string2, 7, this.fUnparsedTypeRegistry, this.fUnparsedTypeRegistrySub, (Element)object, xSDocumentInfo);
                            } else if (string.equals(SchemaSymbols.ELT_ELEMENT)) {
                                this.checkForDuplicateNames(string2, 3, this.fUnparsedElementRegistry, this.fUnparsedElementRegistrySub, (Element)object, xSDocumentInfo);
                            } else if (string.equals(SchemaSymbols.ELT_GROUP)) {
                                this.checkForDuplicateNames(string2, 4, this.fUnparsedGroupRegistry, this.fUnparsedGroupRegistrySub, (Element)object, xSDocumentInfo);
                            } else if (string.equals(SchemaSymbols.ELT_NOTATION)) {
                                this.checkForDuplicateNames(string2, 6, this.fUnparsedNotationRegistry, this.fUnparsedNotationRegistrySub, (Element)object, xSDocumentInfo);
                            }
                        }
                    }
                }
                object = DOMUtil.getNextSiblingElement((Node)object);
            }
            DOMUtil.setHidden(element, this.fHiddenNodes);
            object = (Vector)this.fDependencyMap.get(xSDocumentInfo);
            for (int i = 0; i < ((Vector)object).size(); ++i) {
                stack.push((XSDocumentInfo)((Vector)object).elementAt(i));
            }
        }
    }
 -> java.util.Stack.push(java.lang.Object): java.lang.Object -> java.util.Stack.empty(): boolean -> java.util.Stack.pop(): java.lang.Object -> 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.String.equals(java.lang.Object): boolean -> java.lang.String.length(): int -> 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.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> 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.String.equals(java.lang.Object): boolean -> java.util.Hashtable.get(java.lang.Object): java.lang.Object -> java.util.Hashtable.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.Hashtable.put(java.lang.Object,java.lang.Object): java.lang.Object -> 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.String.equals(java.lang.Object): boolean -> java.lang.String.length(): int -> 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.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> 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.util.Hashtable.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.Hashtable.put(java.lang.Object,java.lang.Object): java.lang.Object -> 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.String.equals(java.lang.Object): boolean -> java.lang.String.length(): int -> 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.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> 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.util.Hashtable.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.Hashtable.put(java.lang.Object,java.lang.Object): java.lang.Object -> 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.String.equals(java.lang.Object): boolean -> java.lang.String.length(): int -> 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.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> 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.util.Hashtable.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.Hashtable.put(java.lang.Object,java.lang.Object): java.lang.Object -> 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.String.equals(java.lang.Object): boolean -> java.lang.String.length(): int -> 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.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> 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.util.Hashtable.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.Hashtable.put(java.lang.Object,java.lang.Object): java.lang.Object -> 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.String.equals(java.lang.Object): boolean -> java.lang.String.length(): int -> 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.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> 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.util.Hashtable.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.Hashtable.put(java.lang.Object,java.lang.Object): java.lang.Object -> 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.String.equals(java.lang.Object): boolean -> java.lang.String.length(): int -> 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.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> 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.util.Hashtable.get(java.lang.Object): java.lang.Object -> java.util.Hashtable.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.Hashtable.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.Hashtable.get(java.lang.Object): java.lang.Object -> java.util.Vector.size(): int -> java.util.Stack.empty(): boolean
 [CALL] -> java.util.Stack.push(java.lang.Object): java.lang.Object -> java.util.Stack.empty(): boolean -> java.util.Stack.pop(): java.lang.Object [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [CALL] [EXIT] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [CALL] [EXIT] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [CALL] [EXIT] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [CALL] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] [EXIT] [EXIT] -> java.lang.String.length(): int -> 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] -> java.lang.String.length(): int -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [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.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean [CALL] -> java.util.Hashtable.get(java.lang.Object): java.lang.Object -> java.util.Hashtable.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.Hashtable.put(java.lang.Object,java.lang.Object): java.lang.Object [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [CALL] [EXIT] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [CALL] [EXIT] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [CALL] [EXIT] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [CALL] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] [EXIT] [EXIT] -> java.lang.String.length(): int -> 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] -> java.lang.String.length(): int -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [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 [CALL] -> java.util.Hashtable.get(java.lang.Object): java.lang.Object -> java.util.Hashtable.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.Hashtable.put(java.lang.Object,java.lang.Object): java.lang.Object [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [CALL] [EXIT] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [CALL] [EXIT] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [CALL] [EXIT] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [CALL] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] [EXIT] [EXIT] -> java.lang.String.length(): int -> 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] -> java.lang.String.length(): int -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [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 [CALL] -> java.util.Hashtable.get(java.lang.Object): java.lang.Object -> java.util.Hashtable.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.Hashtable.put(java.lang.Object,java.lang.Object): java.lang.Object [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [CALL] [EXIT] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [CALL] [EXIT] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [CALL] [EXIT] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [CALL] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] [EXIT] [EXIT] -> java.lang.String.length(): int -> 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] -> java.lang.String.length(): int -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [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 [CALL] -> java.util.Hashtable.get(java.lang.Object): java.lang.Object -> java.util.Hashtable.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.Hashtable.put(java.lang.Object,java.lang.Object): java.lang.Object [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [CALL] [EXIT] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [CALL] [EXIT] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [CALL] [EXIT] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [CALL] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] [EXIT] [EXIT] -> java.lang.String.length(): int -> 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] -> java.lang.String.length(): int -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [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 [CALL] -> java.util.Hashtable.get(java.lang.Object): java.lang.Object -> java.util.Hashtable.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.Hashtable.put(java.lang.Object,java.lang.Object): java.lang.Object [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [CALL] [EXIT] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [CALL] [EXIT] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [CALL] [EXIT] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [CALL] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] [EXIT] [EXIT] -> java.lang.String.length(): int -> 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] -> java.lang.String.length(): int -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [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 [CALL] -> java.util.Hashtable.get(java.lang.Object): java.lang.Object -> java.util.Hashtable.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.Hashtable.put(java.lang.Object,java.lang.Object): java.lang.Object [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [CALL] [EXIT] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [CALL] [EXIT] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [CALL] [EXIT] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [CALL] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] [EXIT] [EXIT] -> java.lang.String.length(): int -> 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] -> java.lang.String.length(): int -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [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.lang.String.equals(java.lang.Object): boolean [CALL] -> java.util.Hashtable.get(java.lang.Object): java.lang.Object -> java.util.Hashtable.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.Hashtable.put(java.lang.Object,java.lang.Object): java.lang.Object [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] -> java.util.Hashtable.get(java.lang.Object): java.lang.Object -> java.util.Vector.size(): int -> java.util.Stack.empty(): boolean [EXIT]