001//
002// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:15 PM(kohsuke)-fcs 
003// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
004// Any modifications to this file will be lost upon recompilation of the source schema. 
005// Generated on: 2012.10.03 at 04:27:47 AM CEST 
006//
007
008
009package org.jdtaus.mojo.resource.model.impl;
010
011public class SpecificationsImpl
012    extends org.jdtaus.mojo.resource.model.impl.ModelObjectImpl
013    implements org.jdtaus.mojo.resource.model.Specifications, com.sun.xml.bind.JAXBObject, org.jdtaus.mojo.resource.model.impl.runtime.UnmarshallableObject, org.jdtaus.mojo.resource.model.impl.runtime.XMLSerializable, org.jdtaus.mojo.resource.model.impl.runtime.ValidatableObject
014{
015
016    protected com.sun.xml.bind.util.ListImpl _Specification;
017    protected com.sun.xml.bind.util.ListImpl _Reference;
018    public final static java.lang.Class version = (org.jdtaus.mojo.resource.model.impl.JAXBVersion.class);
019    private static com.sun.msv.grammar.Grammar schemaFragment;
020
021    private final static java.lang.Class PRIMARY_INTERFACE_CLASS() {
022        return (org.jdtaus.mojo.resource.model.Specifications.class);
023    }
024
025    protected com.sun.xml.bind.util.ListImpl _getSpecification() {
026        if (_Specification == null) {
027            _Specification = new com.sun.xml.bind.util.ListImpl(new java.util.ArrayList());
028        }
029        return _Specification;
030    }
031
032    public java.util.List getSpecification() {
033        return _getSpecification();
034    }
035
036    protected com.sun.xml.bind.util.ListImpl _getReference() {
037        if (_Reference == null) {
038            _Reference = new com.sun.xml.bind.util.ListImpl(new java.util.ArrayList());
039        }
040        return _Reference;
041    }
042
043    public java.util.List getReference() {
044        return _getReference();
045    }
046
047    public org.jdtaus.mojo.resource.model.impl.runtime.UnmarshallingEventHandler createUnmarshaller(org.jdtaus.mojo.resource.model.impl.runtime.UnmarshallingContext context) {
048        return new org.jdtaus.mojo.resource.model.impl.SpecificationsImpl.Unmarshaller(context);
049    }
050
051    public void serializeBody(org.jdtaus.mojo.resource.model.impl.runtime.XMLSerializer context)
052        throws org.xml.sax.SAXException
053    {
054        int idx1 = 0;
055        final int len1 = ((_Specification == null)? 0 :_Specification.size());
056        int idx2 = 0;
057        final int len2 = ((_Reference == null)? 0 :_Reference.size());
058        super.serializeBody(context);
059        if ((((_Reference == null)? 0 :_Reference.size()) == 0)&&(((_Specification == null)? 0 :_Specification.size())>= 1)) {
060            while (idx1 != len1) {
061                if (_Specification.get(idx1) instanceof javax.xml.bind.Element) {
062                    context.childAsBody(((com.sun.xml.bind.JAXBObject) _Specification.get(idx1 ++)), "Specification");
063                } else {
064                    context.startElement("http://jdtaus.org/core/model/container", "specification");
065                    int idx_0 = idx1;
066                    context.childAsURIs(((com.sun.xml.bind.JAXBObject) _Specification.get(idx_0 ++)), "Specification");
067                    context.endNamespaceDecls();
068                    int idx_1 = idx1;
069                    context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _Specification.get(idx_1 ++)), "Specification");
070                    context.endAttributes();
071                    context.childAsBody(((com.sun.xml.bind.JAXBObject) _Specification.get(idx1 ++)), "Specification");
072                    context.endElement();
073                }
074            }
075        } else {
076            if ((((_Reference == null)? 0 :_Reference.size())>= 1)&&(((_Specification == null)? 0 :_Specification.size()) == 0)) {
077                while (idx2 != len2) {
078                    context.startElement("http://jdtaus.org/core/model/container", "reference");
079                    int idx_2 = idx2;
080                    context.childAsURIs(((com.sun.xml.bind.JAXBObject) _Reference.get(idx_2 ++)), "Reference");
081                    context.endNamespaceDecls();
082                    int idx_3 = idx2;
083                    context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _Reference.get(idx_3 ++)), "Reference");
084                    context.endAttributes();
085                    context.childAsBody(((com.sun.xml.bind.JAXBObject) _Reference.get(idx2 ++)), "Reference");
086                    context.endElement();
087                }
088            }
089        }
090    }
091
092    public void serializeAttributes(org.jdtaus.mojo.resource.model.impl.runtime.XMLSerializer context)
093        throws org.xml.sax.SAXException
094    {
095        int idx1 = 0;
096        final int len1 = ((_Specification == null)? 0 :_Specification.size());
097        int idx2 = 0;
098        final int len2 = ((_Reference == null)? 0 :_Reference.size());
099        super.serializeAttributes(context);
100        if ((((_Reference == null)? 0 :_Reference.size()) == 0)&&(((_Specification == null)? 0 :_Specification.size())>= 1)) {
101            while (idx1 != len1) {
102                if (_Specification.get(idx1) instanceof javax.xml.bind.Element) {
103                    context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _Specification.get(idx1 ++)), "Specification");
104                } else {
105                    idx1 += 1;
106                }
107            }
108        } else {
109            if ((((_Reference == null)? 0 :_Reference.size())>= 1)&&(((_Specification == null)? 0 :_Specification.size()) == 0)) {
110                while (idx2 != len2) {
111                    idx2 += 1;
112                }
113            }
114        }
115    }
116
117    public void serializeURIs(org.jdtaus.mojo.resource.model.impl.runtime.XMLSerializer context)
118        throws org.xml.sax.SAXException
119    {
120        int idx1 = 0;
121        final int len1 = ((_Specification == null)? 0 :_Specification.size());
122        int idx2 = 0;
123        final int len2 = ((_Reference == null)? 0 :_Reference.size());
124        super.serializeURIs(context);
125        if ((((_Reference == null)? 0 :_Reference.size()) == 0)&&(((_Specification == null)? 0 :_Specification.size())>= 1)) {
126            while (idx1 != len1) {
127                if (_Specification.get(idx1) instanceof javax.xml.bind.Element) {
128                    context.childAsURIs(((com.sun.xml.bind.JAXBObject) _Specification.get(idx1 ++)), "Specification");
129                } else {
130                    idx1 += 1;
131                }
132            }
133        } else {
134            if ((((_Reference == null)? 0 :_Reference.size())>= 1)&&(((_Specification == null)? 0 :_Specification.size()) == 0)) {
135                while (idx2 != len2) {
136                    idx2 += 1;
137                }
138            }
139        }
140    }
141
142    public java.lang.Class getPrimaryInterface() {
143        return (org.jdtaus.mojo.resource.model.Specifications.class);
144    }
145
146    public com.sun.msv.verifier.DocumentDeclaration createRawValidator() {
147        if (schemaFragment == null) {
148            schemaFragment = com.sun.xml.bind.validator.SchemaDeserializer.deserialize((
149 "\u00ac\u00ed\u0000\u0005sr\u0000\u001fcom.sun.msv.grammar.SequenceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001dcom.su"
150+"n.msv.grammar.BinaryExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0004exp1t\u0000 Lcom/sun/msv/gra"
151+"mmar/Expression;L\u0000\u0004exp2q\u0000~\u0000\u0002xr\u0000\u001ecom.sun.msv.grammar.Expressi"
152+"on\u00f8\u0018\u0082\u00e8N5~O\u0002\u0000\u0002L\u0000\u0013epsilonReducibilityt\u0000\u0013Ljava/lang/Boolean;L\u0000\u000b"
153+"expandedExpq\u0000~\u0000\u0002xpppsq\u0000~\u0000\u0000ppsr\u0000\u001dcom.sun.msv.grammar.ChoiceEx"
154+"p\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0001ppsq\u0000~\u0000\u0007sr\u0000\u0011java.lang.Boolean\u00cd r\u0080\u00d5\u009c\u00fa\u00ee\u0002\u0000\u0001Z\u0000"
155+"\u0005valuexp\u0000psr\u0000\'com.sun.msv.grammar.trex.ElementPattern\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
156+"\u0001\u0002\u0000\u0001L\u0000\tnameClasst\u0000\u001fLcom/sun/msv/grammar/NameClass;xr\u0000\u001ecom.su"
157+"n.msv.grammar.ElementExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002Z\u0000\u001aignoreUndeclaredAttrib"
158+"utesL\u0000\fcontentModelq\u0000~\u0000\u0002xq\u0000~\u0000\u0003q\u0000~\u0000\u000bp\u0000sq\u0000~\u0000\u0007ppsr\u0000 com.sun.msv"
159+".grammar.OneOrMoreExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001ccom.sun.msv.grammar.Unar"
160+"yExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\u0003expq\u0000~\u0000\u0002xq\u0000~\u0000\u0003q\u0000~\u0000\u000bpsr\u0000 com.sun.msv.gramma"
161+"r.AttributeExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0003expq\u0000~\u0000\u0002L\u0000\tnameClassq\u0000~\u0000\rxq\u0000~\u0000\u0003q"
162+"\u0000~\u0000\u000bpsr\u00002com.sun.msv.grammar.Expression$AnyStringExpression\u0000"
163+"\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003sq\u0000~\u0000\n\u0001q\u0000~\u0000\u0017sr\u0000 com.sun.msv.grammar.AnyNameC"
164+"lass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001dcom.sun.msv.grammar.NameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000x"
165+"psr\u00000com.sun.msv.grammar.Expression$EpsilonExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
166+"\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003q\u0000~\u0000\u0018q\u0000~\u0000\u001dsr\u0000#com.sun.msv.grammar.SimpleNameClass\u0000"
167+"\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\tlocalNamet\u0000\u0012Ljava/lang/String;L\u0000\fnamespaceURIq\u0000"
168+"~\u0000\u001fxq\u0000~\u0000\u001at\u00003org.jdtaus.mojo.resource.model.DocumentationElem"
169+"entt\u0000+http://java.sun.com/jaxb/xjc/dummy-elementssq\u0000~\u0000\fq\u0000~\u0000\u000b"
170+"p\u0000sq\u0000~\u0000\u0000ppsq\u0000~\u0000\fpp\u0000sq\u0000~\u0000\u0007ppsq\u0000~\u0000\u0011q\u0000~\u0000\u000bpsq\u0000~\u0000\u0014q\u0000~\u0000\u000bpq\u0000~\u0000\u0017q\u0000~\u0000"
171+"\u001bq\u0000~\u0000\u001dsq\u0000~\u0000\u001et\u0000$org.jdtaus.mojo.resource.model.Textsq\u0000~\u0000\"sq\u0000~"
172+"\u0000\u0007ppsq\u0000~\u0000\u0014q\u0000~\u0000\u000bpsr\u0000\u001bcom.sun.msv.grammar.DataExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L\u0000"
173+"\u0002dtt\u0000\u001fLorg/relaxng/datatype/Datatype;L\u0000\u0006exceptq\u0000~\u0000\u0002L\u0000\u0004namet\u0000"
174+"\u001dLcom/sun/msv/util/StringPair;xq\u0000~\u0000\u0003ppsr\u0000\"com.sun.msv.dataty"
175+"pe.xsd.QnameType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000*com.sun.msv.datatype.xsd.Buil"
176+"tinAtomicType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000%com.sun.msv.datatype.xsd.Concret"
177+"eType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\'com.sun.msv.datatype.xsd.XSDatatypeImpl\u0000"
178+"\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L\u0000\fnamespaceUriq\u0000~\u0000\u001fL\u0000\btypeNameq\u0000~\u0000\u001fL\u0000\nwhiteSpacet"
179+"\u0000.Lcom/sun/msv/datatype/xsd/WhiteSpaceProcessor;xpt\u0000 http://"
180+"www.w3.org/2001/XMLSchemat\u0000\u0005QNamesr\u00005com.sun.msv.datatype.xs"
181+"d.WhiteSpaceProcessor$Collapse\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000,com.sun.msv.dat"
182+"atype.xsd.WhiteSpaceProcessor\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xpsr\u00000com.sun.msv.gr"
183+"ammar.Expression$NullSetExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003ppsr\u0000\u001bcom"
184+".sun.msv.util.StringPair\u00d0t\u001ejB\u008f\u008d\u00a0\u0002\u0000\u0002L\u0000\tlocalNameq\u0000~\u0000\u001fL\u0000\fnames"
185+"paceURIq\u0000~\u0000\u001fxpq\u0000~\u00008q\u0000~\u00007sq\u0000~\u0000\u001et\u0000\u0004typet\u0000)http://www.w3.org/20"
186+"01/XMLSchema-instanceq\u0000~\u0000\u001dsq\u0000~\u0000\u001et\u0000\rdocumentationt\u0000&http://jd"
187+"taus.org/core/model/containerq\u0000~\u0000\u001dsq\u0000~\u0000\u0007ppsq\u0000~\u0000\u0007ppsq\u0000~\u0000\u0011q\u0000~\u0000"
188+"\u000bpsq\u0000~\u0000\u0007q\u0000~\u0000\u000bpsq\u0000~\u0000\fq\u0000~\u0000\u000bp\u0000sq\u0000~\u0000\u0007ppsq\u0000~\u0000\u0011q\u0000~\u0000\u000bpsq\u0000~\u0000\u0014q\u0000~\u0000\u000bpq"
189+"\u0000~\u0000\u0017q\u0000~\u0000\u001bq\u0000~\u0000\u001dsq\u0000~\u0000\u001et\u00003org.jdtaus.mojo.resource.model.Specif"
190+"icationElementq\u0000~\u0000\"sq\u0000~\u0000\fq\u0000~\u0000\u000bp\u0000sq\u0000~\u0000\u0000ppsq\u0000~\u0000\fpp\u0000sq\u0000~\u0000\u0007ppsq\u0000"
191+"~\u0000\u0011q\u0000~\u0000\u000bpsq\u0000~\u0000\u0014q\u0000~\u0000\u000bpq\u0000~\u0000\u0017q\u0000~\u0000\u001bq\u0000~\u0000\u001dsq\u0000~\u0000\u001et\u0000,org.jdtaus.mojo"
192+".resource.model.Specificationq\u0000~\u0000\"sq\u0000~\u0000\u0007ppsq\u0000~\u0000\u0014q\u0000~\u0000\u000bpq\u0000~\u00000q"
193+"\u0000~\u0000@q\u0000~\u0000\u001dsq\u0000~\u0000\u001et\u0000\rspecificationq\u0000~\u0000Eq\u0000~\u0000\u001dsq\u0000~\u0000\u0011ppsq\u0000~\u0000\fpp\u0000sq"
194+"\u0000~\u0000\u0000ppsq\u0000~\u0000\fpp\u0000sq\u0000~\u0000\u0007ppsq\u0000~\u0000\u0011q\u0000~\u0000\u000bpsq\u0000~\u0000\u0014q\u0000~\u0000\u000bpq\u0000~\u0000\u0017q\u0000~\u0000\u001bq\u0000~"
195+"\u0000\u001dsq\u0000~\u0000\u001et\u00005org.jdtaus.mojo.resource.model.SpecificationRefer"
196+"enceq\u0000~\u0000\"sq\u0000~\u0000\u0007ppsq\u0000~\u0000\u0014q\u0000~\u0000\u000bpq\u0000~\u00000q\u0000~\u0000@q\u0000~\u0000\u001dsq\u0000~\u0000\u001et\u0000\treferen"
197+"ceq\u0000~\u0000Esq\u0000~\u0000\u0007ppsq\u0000~\u0000\u0014q\u0000~\u0000\u000bpsq\u0000~\u0000-ppsr\u0000\'com.sun.msv.datatype."
198+"xsd.MaxLengthFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001I\u0000\tmaxLengthxr\u00009com.sun.msv.dat"
199+"atype.xsd.DataTypeWithValueConstraintFacet\"\u00a7Ro\u00ca\u00c7\u008aT\u0002\u0000\u0000xr\u0000*com"
200+".sun.msv.datatype.xsd.DataTypeWithFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0005Z\u0000\fisFacet"
201+"FixedZ\u0000\u0012needValueCheckFlagL\u0000\bbaseTypet\u0000)Lcom/sun/msv/datatyp"
202+"e/xsd/XSDatatypeImpl;L\u0000\fconcreteTypet\u0000\'Lcom/sun/msv/datatype"
203+"/xsd/ConcreteType;L\u0000\tfacetNameq\u0000~\u0000\u001fxq\u0000~\u00004q\u0000~\u0000Et\u0000\u0007Versionsr\u00005"
204+"com.sun.msv.datatype.xsd.WhiteSpaceProcessor$Preserve\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
205+"\u0001\u0002\u0000\u0000xq\u0000~\u0000:\u0000\u0000sr\u0000#com.sun.msv.datatype.xsd.StringType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002"
206+"\u0000\u0001Z\u0000\risAlwaysValidxq\u0000~\u00002q\u0000~\u00007t\u0000\u0006stringq\u0000~\u0000t\u0001q\u0000~\u0000vt\u0000\tmaxLengt"
207+"h\u0000\u0000\u0000dq\u0000~\u0000=sq\u0000~\u0000>q\u0000~\u0000rq\u0000~\u0000Esq\u0000~\u0000\u001et\u0000\fmodelVersionq\u0000~\u0000Eq\u0000~\u0000\u001dsr\u0000"
208+"\"com.sun.msv.grammar.ExpressionPool\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\bexpTablet\u0000/"
209+"Lcom/sun/msv/grammar/ExpressionPool$ClosedHash;xpsr\u0000-com.sun"
210+".msv.grammar.ExpressionPool$ClosedHash\u00d7j\u00d0N\u00ef\u00e8\u00ed\u001c\u0003\u0000\u0003I\u0000\u0005countB\u0000\r"
211+"streamVersionL\u0000\u0006parentt\u0000$Lcom/sun/msv/grammar/ExpressionPool"
212+";xp\u0000\u0000\u0000\u001a\u0001pq\u0000~\u0000\u0010q\u0000~\u0000&q\u0000~\u0000Kq\u0000~\u0000Sq\u0000~\u0000`q\u0000~\u0000\u0006q\u0000~\u0000+q\u0000~\u0000Xq\u0000~\u0000eq\u0000~\u0000\u0005q"
213+"\u0000~\u0000\tq\u0000~\u0000Iq\u0000~\u0000\u0013q\u0000~\u0000\'q\u0000~\u0000Lq\u0000~\u0000Tq\u0000~\u0000aq\u0000~\u0000\bq\u0000~\u0000iq\u0000~\u0000Fq\u0000~\u0000$q\u0000~\u0000Qq"
214+"\u0000~\u0000^q\u0000~\u0000Gq\u0000~\u0000\\q\u0000~\u0000Hx"));
215        }
216        return new com.sun.msv.verifier.regexp.REDocumentDeclaration(schemaFragment);
217    }
218
219    public class Unmarshaller
220        extends org.jdtaus.mojo.resource.model.impl.runtime.AbstractUnmarshallingEventHandlerImpl
221    {
222
223
224        public Unmarshaller(org.jdtaus.mojo.resource.model.impl.runtime.UnmarshallingContext context) {
225            super(context, "-------");
226        }
227
228        protected Unmarshaller(org.jdtaus.mojo.resource.model.impl.runtime.UnmarshallingContext context, int startState) {
229            this(context);
230            state = startState;
231        }
232
233        public java.lang.Object owner() {
234            return org.jdtaus.mojo.resource.model.impl.SpecificationsImpl.this;
235        }
236
237        public void enterElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname, org.xml.sax.Attributes __atts)
238            throws org.xml.sax.SAXException
239        {
240            int attIdx;
241            outer:
242            while (true) {
243                switch (state) {
244                    case  1 :
245                        if (("specification" == ___local)&&("http://jdtaus.org/core/model/container" == ___uri)) {
246                            _getSpecification().add(((org.jdtaus.mojo.resource.model.impl.SpecificationElementImpl) spawnChildFromEnterElement((org.jdtaus.mojo.resource.model.impl.SpecificationElementImpl.class), 4, ___uri, ___local, ___qname, __atts)));
247                            return ;
248                        }
249                        if (("specification" == ___local)&&("http://jdtaus.org/core/model/container" == ___uri)) {
250                            context.pushAttributes(__atts, false);
251                            state = 2;
252                            return ;
253                        }
254                        if (("reference" == ___local)&&("http://jdtaus.org/core/model/container" == ___uri)) {
255                            context.pushAttributes(__atts, false);
256                            state = 5;
257                            return ;
258                        }
259                        state = 4;
260                        continue outer;
261                    case  5 :
262                        attIdx = context.getAttribute("http://jdtaus.org/core/model/container", "identifier");
263                        if (attIdx >= 0) {
264                            context.consumeAttribute(attIdx);
265                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
266                            return ;
267                        }
268                        break;
269                    case  4 :
270                        if (("specification" == ___local)&&("http://jdtaus.org/core/model/container" == ___uri)) {
271                            _getSpecification().add(((org.jdtaus.mojo.resource.model.impl.SpecificationElementImpl) spawnChildFromEnterElement((org.jdtaus.mojo.resource.model.impl.SpecificationElementImpl.class), 4, ___uri, ___local, ___qname, __atts)));
272                            return ;
273                        }
274                        if (("specification" == ___local)&&("http://jdtaus.org/core/model/container" == ___uri)) {
275                            context.pushAttributes(__atts, false);
276                            state = 2;
277                            return ;
278                        }
279                        if (("reference" == ___local)&&("http://jdtaus.org/core/model/container" == ___uri)) {
280                            context.pushAttributes(__atts, false);
281                            state = 5;
282                            return ;
283                        }
284                        revertToParentFromEnterElement(___uri, ___local, ___qname, __atts);
285                        return ;
286                    case  0 :
287                        attIdx = context.getAttribute("http://jdtaus.org/core/model/container", "modelVersion");
288                        if (attIdx >= 0) {
289                            context.consumeAttribute(attIdx);
290                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
291                            return ;
292                        }
293                        if (("documentation" == ___local)&&("http://jdtaus.org/core/model/container" == ___uri)) {
294                            spawnHandlerFromEnterElement((((org.jdtaus.mojo.resource.model.impl.ModelObjectImpl)org.jdtaus.mojo.resource.model.impl.SpecificationsImpl.this).new Unmarshaller(context)), 1, ___uri, ___local, ___qname, __atts);
295                            return ;
296                        }
297                        if (("documentation" == ___local)&&("http://jdtaus.org/core/model/container" == ___uri)) {
298                            spawnHandlerFromEnterElement((((org.jdtaus.mojo.resource.model.impl.ModelObjectImpl)org.jdtaus.mojo.resource.model.impl.SpecificationsImpl.this).new Unmarshaller(context)), 1, ___uri, ___local, ___qname, __atts);
299                            return ;
300                        }
301                        spawnHandlerFromEnterElement((((org.jdtaus.mojo.resource.model.impl.ModelObjectImpl)org.jdtaus.mojo.resource.model.impl.SpecificationsImpl.this).new Unmarshaller(context)), 1, ___uri, ___local, ___qname, __atts);
302                        return ;
303                    case  2 :
304                        attIdx = context.getAttribute("http://jdtaus.org/core/model/container", "identifier");
305                        if (attIdx >= 0) {
306                            context.consumeAttribute(attIdx);
307                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
308                            return ;
309                        }
310                        break;
311                }
312                super.enterElement(___uri, ___local, ___qname, __atts);
313                break;
314            }
315        }
316
317        public void leaveElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
318            throws org.xml.sax.SAXException
319        {
320            int attIdx;
321            outer:
322            while (true) {
323                switch (state) {
324                    case  1 :
325                        state = 4;
326                        continue outer;
327                    case  6 :
328                        if (("reference" == ___local)&&("http://jdtaus.org/core/model/container" == ___uri)) {
329                            context.popAttributes();
330                            state = 4;
331                            return ;
332                        }
333                        break;
334                    case  5 :
335                        attIdx = context.getAttribute("http://jdtaus.org/core/model/container", "identifier");
336                        if (attIdx >= 0) {
337                            context.consumeAttribute(attIdx);
338                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
339                            return ;
340                        }
341                        break;
342                    case  4 :
343                        revertToParentFromLeaveElement(___uri, ___local, ___qname);
344                        return ;
345                    case  0 :
346                        attIdx = context.getAttribute("http://jdtaus.org/core/model/container", "modelVersion");
347                        if (attIdx >= 0) {
348                            context.consumeAttribute(attIdx);
349                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
350                            return ;
351                        }
352                        spawnHandlerFromLeaveElement((((org.jdtaus.mojo.resource.model.impl.ModelObjectImpl)org.jdtaus.mojo.resource.model.impl.SpecificationsImpl.this).new Unmarshaller(context)), 1, ___uri, ___local, ___qname);
353                        return ;
354                    case  3 :
355                        if (("specification" == ___local)&&("http://jdtaus.org/core/model/container" == ___uri)) {
356                            context.popAttributes();
357                            state = 4;
358                            return ;
359                        }
360                        break;
361                    case  2 :
362                        attIdx = context.getAttribute("http://jdtaus.org/core/model/container", "identifier");
363                        if (attIdx >= 0) {
364                            context.consumeAttribute(attIdx);
365                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
366                            return ;
367                        }
368                        break;
369                }
370                super.leaveElement(___uri, ___local, ___qname);
371                break;
372            }
373        }
374
375        public void enterAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
376            throws org.xml.sax.SAXException
377        {
378            int attIdx;
379            outer:
380            while (true) {
381                switch (state) {
382                    case  1 :
383                        state = 4;
384                        continue outer;
385                    case  5 :
386                        if (("identifier" == ___local)&&("http://jdtaus.org/core/model/container" == ___uri)) {
387                            _getReference().add(((org.jdtaus.mojo.resource.model.impl.SpecificationReferenceImpl) spawnChildFromEnterAttribute((org.jdtaus.mojo.resource.model.impl.SpecificationReferenceImpl.class), 6, ___uri, ___local, ___qname)));
388                            return ;
389                        }
390                        break;
391                    case  4 :
392                        revertToParentFromEnterAttribute(___uri, ___local, ___qname);
393                        return ;
394                    case  0 :
395                        if (("modelVersion" == ___local)&&("http://jdtaus.org/core/model/container" == ___uri)) {
396                            spawnHandlerFromEnterAttribute((((org.jdtaus.mojo.resource.model.impl.ModelObjectImpl)org.jdtaus.mojo.resource.model.impl.SpecificationsImpl.this).new Unmarshaller(context)), 1, ___uri, ___local, ___qname);
397                            return ;
398                        }
399                        spawnHandlerFromEnterAttribute((((org.jdtaus.mojo.resource.model.impl.ModelObjectImpl)org.jdtaus.mojo.resource.model.impl.SpecificationsImpl.this).new Unmarshaller(context)), 1, ___uri, ___local, ___qname);
400                        return ;
401                    case  2 :
402                        if (("identifier" == ___local)&&("http://jdtaus.org/core/model/container" == ___uri)) {
403                            _getSpecification().add(((org.jdtaus.mojo.resource.model.impl.SpecificationImpl) spawnChildFromEnterAttribute((org.jdtaus.mojo.resource.model.impl.SpecificationImpl.class), 3, ___uri, ___local, ___qname)));
404                            return ;
405                        }
406                        break;
407                }
408                super.enterAttribute(___uri, ___local, ___qname);
409                break;
410            }
411        }
412
413        public void leaveAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
414            throws org.xml.sax.SAXException
415        {
416            int attIdx;
417            outer:
418            while (true) {
419                switch (state) {
420                    case  1 :
421                        state = 4;
422                        continue outer;
423                    case  5 :
424                        attIdx = context.getAttribute("http://jdtaus.org/core/model/container", "identifier");
425                        if (attIdx >= 0) {
426                            context.consumeAttribute(attIdx);
427                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
428                            return ;
429                        }
430                        break;
431                    case  4 :
432                        revertToParentFromLeaveAttribute(___uri, ___local, ___qname);
433                        return ;
434                    case  0 :
435                        attIdx = context.getAttribute("http://jdtaus.org/core/model/container", "modelVersion");
436                        if (attIdx >= 0) {
437                            context.consumeAttribute(attIdx);
438                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
439                            return ;
440                        }
441                        spawnHandlerFromLeaveAttribute((((org.jdtaus.mojo.resource.model.impl.ModelObjectImpl)org.jdtaus.mojo.resource.model.impl.SpecificationsImpl.this).new Unmarshaller(context)), 1, ___uri, ___local, ___qname);
442                        return ;
443                    case  2 :
444                        attIdx = context.getAttribute("http://jdtaus.org/core/model/container", "identifier");
445                        if (attIdx >= 0) {
446                            context.consumeAttribute(attIdx);
447                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
448                            return ;
449                        }
450                        break;
451                }
452                super.leaveAttribute(___uri, ___local, ___qname);
453                break;
454            }
455        }
456
457        public void handleText(final java.lang.String value)
458            throws org.xml.sax.SAXException
459        {
460            int attIdx;
461            outer:
462            while (true) {
463                try {
464                    switch (state) {
465                        case  1 :
466                            state = 4;
467                            continue outer;
468                        case  5 :
469                            attIdx = context.getAttribute("http://jdtaus.org/core/model/container", "identifier");
470                            if (attIdx >= 0) {
471                                context.consumeAttribute(attIdx);
472                                context.getCurrentHandler().text(value);
473                                return ;
474                            }
475                            break;
476                        case  4 :
477                            revertToParentFromText(value);
478                            return ;
479                        case  0 :
480                            attIdx = context.getAttribute("http://jdtaus.org/core/model/container", "modelVersion");
481                            if (attIdx >= 0) {
482                                context.consumeAttribute(attIdx);
483                                context.getCurrentHandler().text(value);
484                                return ;
485                            }
486                            spawnHandlerFromText((((org.jdtaus.mojo.resource.model.impl.ModelObjectImpl)org.jdtaus.mojo.resource.model.impl.SpecificationsImpl.this).new Unmarshaller(context)), 1, value);
487                            return ;
488                        case  2 :
489                            attIdx = context.getAttribute("http://jdtaus.org/core/model/container", "identifier");
490                            if (attIdx >= 0) {
491                                context.consumeAttribute(attIdx);
492                                context.getCurrentHandler().text(value);
493                                return ;
494                            }
495                            break;
496                    }
497                } catch (java.lang.RuntimeException e) {
498                    handleUnexpectedTextException(value, e);
499                }
500                break;
501            }
502        }
503
504    }
505
506}