traverseLocal(particle, elmDecl, schemaDoc, grammar, allContextFlags, parent);
traverseLocal(particle, elmDecl, schemaDoc, grammar, allContextFlags, parent, null);
    XSParticleDecl traverseLocal(Element elmDecl,            XSDocumentInfo schemaDoc,            SchemaGrammar grammar,            int allContextFlags,            XSObject parent) {                XSParticleDecl particle = null;        if (fSchemaHandler.fDeclPool !=null) {            particle = fSchemaHandler.fDeclPool.getParticleDecl();        } else {            particle = new XSParticleDecl();        }        if(fDeferTraversingLocalElements) {            // The only thing we care about now is whether this element has            // minOccurs=0. This affects (if the element appears in a complex            // type) whether a type has emptiable content.            particle.fType = XSParticleDecl.PARTICLE_ELEMENT;            Attr attr = elmDecl.getAttributeNode(SchemaSymbols.ATT_MINOCCURS);            if (attr != null) {                String min = attr.getValue();                try {                    int m = Integer.parseInt(min.trim());                    if (m >= 0)                        particle.fMinOccurs = m;                }                catch (NumberFormatException ex) {                }            }            fSchemaHandler.fillInLocalElemInfo(elmDecl, schemaDoc, allContextFlags, parent, particle);        } else {            traverseLocal(particle, elmDecl, schemaDoc, grammar, allContextFlags, parent);            // If it's an empty particle, return null.            if (particle.fType == XSParticleDecl.PARTICLE_EMPTY)                particle = null;        }                return particle;    }