gt:             while (true) {
context: //
  // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.5-09/29/2005 11:56 AM(valikov)-fcs 
  // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
  // Any modifications to this file will be lost upon recompilation of the source schema. 
  // Generated on: 2015.06.16 at 12:18:25 AM PDT 
  //
  
  
  package org.uniprot.uniprot.impl;
  
  public class NameListTypeImpl implements org.uniprot.uniprot.NameListType, com.sun.xml.bind.JAXBObject, org.uniprot.uniprot.impl.runtime.UnmarshallableObject, org.uniprot.uniprot.impl.runtime.XMLSerializable, org.uniprot.uniprot.impl.runtime.ValidatableObject
  {
  
      protected com.sun.xml.bind.util.ListImpl _ConsortiumOrPerson;
      public final static java.lang.Class version = (org.uniprot.uniprot.impl.JAXBVersion.class);
      private static com.sun.msv.grammar.Grammar schemaFragment;
      protected java.lang.Long _Hjid;
      protected java.lang.Long _Hjversion;
  
      private final static java.lang.Class PRIMARY_INTERFACE_CLASS() {
          return (org.uniprot.uniprot.NameListType.class);
      }
  
      protected com.sun.xml.bind.util.ListImpl _getConsortiumOrPerson() {
          if (_ConsortiumOrPerson == null) {
              _ConsortiumOrPerson = new com.sun.xml.bind.util.ListImpl(new java.util.ArrayList());
          }
          return _ConsortiumOrPerson;
      }
  
      public java.util.List getConsortiumOrPerson() {
          return _getConsortiumOrPerson();
      }
  
      public org.uniprot.uniprot.impl.runtime.UnmarshallingEventHandler createUnmarshaller(org.uniprot.uniprot.impl.runtime.UnmarshallingContext context) {
          return new org.uniprot.uniprot.impl.NameListTypeImpl.Unmarshaller(context);
      }
  
      public void serializeBody(org.uniprot.uniprot.impl.runtime.XMLSerializer context)
          throws org.xml.sax.SAXException
      {
          int idx1 = 0;
          final int len1 = ((_ConsortiumOrPerson == null)? 0 :_ConsortiumOrPerson.size());
          while (idx1 != len1) {
              context.childAsBody(((com.sun.xml.bind.JAXBObject) _ConsortiumOrPerson.get(idx1 ++)), "ConsortiumOrPerson");
          }
      }
  
      public void serializeAttributes(org.uniprot.uniprot.impl.runtime.XMLSerializer context)
          throws org.xml.sax.SAXException
      {
          int idx1 = 0;
          final int len1 = ((_ConsortiumOrPerson == null)? 0 :_ConsortiumOrPerson.size());
          while (idx1 != len1) {
              context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _ConsortiumOrPerson.get(idx1 ++)), "ConsortiumOrPerson");
          }
      }
  
      public void serializeURIs(org.uniprot.uniprot.impl.runtime.XMLSerializer context)
          throws org.xml.sax.SAXException
      {
          int idx1 = 0;
          final int len1 = ((_ConsortiumOrPerson == null)? 0 :_ConsortiumOrPerson.size());
          while (idx1 != len1) {
              context.childAsURIs(((com.sun.xml.bind.JAXBObject) _ConsortiumOrPerson.get(idx1 ++)), "ConsortiumOrPerson");
          }
      }
  
      public java.lang.Class getPrimaryInterface() {
          return (org.uniprot.uniprot.NameListType.class);
      }
  
      public com.sun.msv.verifier.DocumentDeclaration createRawValidator() {
          if (schemaFragment == null) {
              schemaFragment = com.sun.xml.bind.validator.SchemaDeserializer.deserialize((
   "\u00ac\u00ed\u0000\u0005sr\u0000 com.sun.msv.grammar.OneOrMoreExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001ccom.s"
  +"un.msv.grammar.UnaryExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\u0003expt\u0000 Lcom/sun/msv/gram"
  +"mar/Expression;xr\u0000\u001ecom.sun.msv.grammar.Expression\u00f8\u0018\u0082\u00e8N5~O\u0002\u0000\u0002"
  +"L\u0000\u0013epsilonReducibilityt\u0000\u0013Ljava/lang/Boolean;L\u0000\u000bexpandedExpq\u0000"
  +"~\u0000\u0002xpppsr\u0000\u001dcom.sun.msv.grammar.ChoiceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001dcom.s"
  +"un.msv.grammar.BinaryExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0004exp1q\u0000~\u0000\u0002L\u0000\u0004exp2q\u0000~\u0000\u0002x"
  +"q\u0000~\u0000\u0003ppsr\u0000\'com.sun.msv.grammar.trex.ElementPattern\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000"
  +"\u0001L\u0000\tnameClasst\u0000\u001fLcom/sun/msv/grammar/NameClass;xr\u0000\u001ecom.sun.m"
  +"sv.grammar.ElementExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002Z\u0000\u001aignoreUndeclaredAttribute"
  +"sL\u0000\fcontentModelq\u0000~\u0000\u0002xq\u0000~\u0000\u0003pp\u0000sq\u0000~\u0000\u0006ppsq\u0000~\u0000\u0000sr\u0000\u0011java.lang.Bo"
  +"olean\u00cd r\u0080\u00d5\u009c\u00fa\u00ee\u0002\u0000\u0001Z\u0000\u0005valuexp\u0000psr\u0000 com.sun.msv.grammar.Attribut"
  +"eExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0003expq\u0000~\u0000\u0002L\u0000\tnameClassq\u0000~\u0000\nxq\u0000~\u0000\u0003q\u0000~\u0000\u0010psr\u00002c"
  +"om.sun.msv.grammar.Expression$AnyStringExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000"
  +"xq\u0000~\u0000\u0003sq\u0000~\u0000\u000f\u0001q\u0000~\u0000\u0014sr\u0000 com.sun.msv.grammar.AnyNameClass\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\u0000xpsr\u00000com.s"
  +"un.msv.grammar.Expression$EpsilonExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003"
  +"q\u0000~\u0000\u0015q\u0000~\u0000\u001asr\u0000#com.sun.msv.grammar.SimpleNameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002"
  +"L\u0000\tlocalNamet\u0000\u0012Ljava/lang/String;L\u0000\fnamespaceURIq\u0000~\u0000\u001cxq\u0000~\u0000\u0017t"
  +"\u0000+org.uniprot.uniprot.NameListType.Consortiumt\u0000+http://java."
  +"sun.com/jaxb/xjc/dummy-elementssq\u0000~\u0000\tpp\u0000sq\u0000~\u0000\u0006ppsq\u0000~\u0000\u0000q\u0000~\u0000\u0010p"
  +"sq\u0000~\u0000\u0011q\u0000~\u0000\u0010pq\u0000~\u0000\u0014q\u0000~\u0000\u0018q\u0000~\u0000\u001asq\u0000~\u0000\u001bt\u0000\'org.uniprot.uniprot.Name"
  +"ListType.Personq\u0000~\u0000\u001fsr\u0000\"com.sun.msv.grammar.ExpressionPool\u0000\u0000"
  +"\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\bexpTablet\u0000/Lcom/sun/msv/grammar/ExpressionPool$C"
  +"losedHash;xpsr\u0000-com.sun.msv.grammar.ExpressionPool$ClosedHas"
  +"h\u00d7j\u00d0N\u00ef\u00e8\u00ed\u001c\u0003\u0000\u0003I\u0000\u0005countB\u0000\rstreamVersionL\u0000\u0006parentt\u0000$Lcom/sun/msv"
  +"/grammar/ExpressionPool;xp\u0000\u0000\u0000\u0006\u0001pq\u0000~\u0000\u0005q\u0000~\u0000\bq\u0000~\u0000\u000eq\u0000~\u0000\"q\u0000~\u0000\rq\u0000~"
  +"\u0000!x"));
          }
          return new com.sun.msv.verifier.regexp.REDocumentDeclaration(schemaFragment);
      }
  
      public boolean equals(java.lang.Object obj) {
          if (this == obj) {
              return true;
          }
          if ((null == obj)||(!(obj instanceof org.uniprot.uniprot.NameListType))) {
              return false;
          }
          org.uniprot.uniprot.impl.NameListTypeImpl target = ((org.uniprot.uniprot.impl.NameListTypeImpl) obj);
          {
              java.util.List value = this.getConsortiumOrPerson();
              java.util.List targetValue = target.getConsortiumOrPerson();
              if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
                  return false;
              }
          }
          return true;
      }
  
      public int hashCode() {
          int hash = 7;
          {
              java.util.List value = this.getConsortiumOrPerson();
              hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
          }
          return hash;
      }
  
      public java.lang.Long getHjid() {
          return _Hjid;
      }
  
      public void setHjid(java.lang.Long value) {
          _Hjid = value;
      }
  
      public java.lang.Long getHjversion() {
          return _Hjversion;
      }
  
      public void setHjversion(java.lang.Long value) {
          _Hjversion = value;
      }
  
      public static class ConsortiumImpl
          extends org.uniprot.uniprot.impl.ConsortiumTypeImpl
          implements org.uniprot.uniprot.NameListType.Consortium, com.sun.xml.bind.RIElement, com.sun.xml.bind.JAXBObject, org.uniprot.uniprot.impl.runtime.UnmarshallableObject, org.uniprot.uniprot.impl.runtime.XMLSerializable, org.uniprot.uniprot.impl.runtime.ValidatableObject
      {
  
          public final static java.lang.Class version = (org.uniprot.uniprot.impl.JAXBVersion.class);
          private static com.sun.msv.grammar.Grammar schemaFragment;
  
          private final static java.lang.Class PRIMARY_INTERFACE_CLASS() {
              return (org.uniprot.uniprot.NameListType.Consortium.class);
          }
  
          public java.lang.String ____jaxb_ri____getNamespaceURI() {
              return "http://uniprot.org/uniprot";
          }
  
          public java.lang.String ____jaxb_ri____getLocalName() {
              return "consortium";
          }
  
          public org.uniprot.uniprot.impl.runtime.UnmarshallingEventHandler createUnmarshaller(org.uniprot.uniprot.impl.runtime.UnmarshallingContext context) {
              return new org.uniprot.uniprot.impl.NameListTypeImpl.ConsortiumImpl.Unmarshaller(context);
          }
  
          public void serializeBody(org.uniprot.uniprot.impl.runtime.XMLSerializer context)
              throws org.xml.sax.SAXException
          {
              context.startElement("http://uniprot.org/uniprot", "consortium");
              super.serializeURIs(context);
              context.endNamespaceDecls();
              super.serializeAttributes(context);
              context.endAttributes();
              super.serializeBody(context);
              context.endElement();
          }
  
          public void serializeAttributes(org.uniprot.uniprot.impl.runtime.XMLSerializer context)
              throws org.xml.sax.SAXException
          {
          }
  
          public void serializeURIs(org.uniprot.uniprot.impl.runtime.XMLSerializer context)
              throws org.xml.sax.SAXException
          {
          }
  
          public java.lang.Class getPrimaryInterface() {
              return (org.uniprot.uniprot.NameListType.Consortium.class);
          }
  
          public com.sun.msv.verifier.DocumentDeclaration createRawValidator() {
              if (schemaFragment == null) {
                  schemaFragment = com.sun.xml.bind.validator.SchemaDeserializer.deserialize((
   "\u00ac\u00ed\u0000\u0005sr\u0000\'com.sun.msv.grammar.trex.ElementPattern\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000"
  +"\tnameClasst\u0000\u001fLcom/sun/msv/grammar/NameClass;xr\u0000\u001ecom.sun.msv."
  +"grammar.ElementExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002Z\u0000\u001aignoreUndeclaredAttributesL\u0000"
  +"\fcontentModelt\u0000 Lcom/sun/msv/grammar/Expression;xr\u0000\u001ecom.sun."
  +"msv.grammar.Expression\u00f8\u0018\u0082\u00e8N5~O\u0002\u0000\u0002L\u0000\u0013epsilonReducibilityt\u0000\u0013Lj"
  +"ava/lang/Boolean;L\u0000\u000bexpandedExpq\u0000~\u0000\u0003xppp\u0000sr\u0000\u001fcom.sun.msv.gra"
  +"mmar.SequenceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001dcom.sun.msv.grammar.BinaryExp"
  +"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0004exp1q\u0000~\u0000\u0003L\u0000\u0004exp2q\u0000~\u0000\u0003xq\u0000~\u0000\u0004ppsr\u0000 com.sun.msv.g"
  +"rammar.AttributeExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0003expq\u0000~\u0000\u0003L\u0000\tnameClassq\u0000~\u0000\u0001xq"
  +"\u0000~\u0000\u0004ppsr\u0000\u001bcom.sun.msv.grammar.DataExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L\u0000\u0002dtt\u0000\u001fLorg"
  +"/relaxng/datatype/Datatype;L\u0000\u0006exceptq\u0000~\u0000\u0003L\u0000\u0004namet\u0000\u001dLcom/sun/"
  +"msv/util/StringPair;xq\u0000~\u0000\u0004ppsr\u0000#com.sun.msv.datatype.xsd.Str"
  +"ingType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001Z\u0000\risAlwaysValidxr\u0000*com.sun.msv.datatype.x"
  +"sd.BuiltinAtomicType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000%com.sun.msv.datatype.xsd."
  +"ConcreteType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\'com.sun.msv.datatype.xsd.XSDataty"
  +"peImpl\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L\u0000\fnamespaceUrit\u0000\u0012Ljava/lang/String;L\u0000\btype"
  +"Nameq\u0000~\u0000\u0014L\u0000\nwhiteSpacet\u0000.Lcom/sun/msv/datatype/xsd/WhiteSpac"
  +"eProcessor;xpt\u0000 http://www.w3.org/2001/XMLSchemat\u0000\u0006stringsr\u0000"
  +"5com.sun.msv.datatype.xsd.WhiteSpaceProcessor$Preserve\u0000\u0000\u0000\u0000\u0000\u0000"
  +"\u0000\u0001\u0002\u0000\u0000xr\u0000,com.sun.msv.datatype.xsd.WhiteSpaceProcessor\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
  +"\u0001\u0002\u0000\u0000xp\u0001sr\u00000com.sun.msv.grammar.Expression$NullSetExpression\u0000"
  +"\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0004ppsr\u0000\u001bcom.sun.msv.util.StringPair\u00d0t\u001ejB\u008f\u008d\u00a0\u0002\u0000\u0002"
  +"L\u0000\tlocalNameq\u0000~\u0000\u0014L\u0000\fnamespaceURIq\u0000~\u0000\u0014xpq\u0000~\u0000\u0018q\u0000~\u0000\u0017sr\u0000#com.sun"
  +".msv.grammar.SimpleNameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\tlocalNameq\u0000~\u0000\u0014L\u0000\fn"
  +"amespaceURIq\u0000~\u0000\u0014xr\u0000\u001dcom.sun.msv.grammar.NameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000"
  +"xpt\u0000\u0004namet\u0000\u0000sr\u0000\u001dcom.sun.msv.grammar.ChoiceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~"
  +"\u0000\bppsq\u0000~\u0000\nsr\u0000\u0011java.lang.Boolean\u00cd r\u0080\u00d5\u009c\u00fa\u00ee\u0002\u0000\u0001Z\u0000\u0005valuexp\u0000psq\u0000~\u0000\f"
  +"ppsr\u0000\"com.sun.msv.datatype.xsd.QnameType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0011q\u0000~"
  +"\u0000\u0017t\u0000\u0005QNamesr\u00005com.sun.msv.datatype.xsd.WhiteSpaceProcessor$C"
  +"ollapse\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u001aq\u0000~\u0000\u001dsq\u0000~\u0000\u001eq\u0000~\u0000-q\u0000~\u0000\u0017sq\u0000~\u0000 t\u0000\u0004typet\u0000"
  +")http://www.w3.org/2001/XMLSchema-instancesr\u00000com.sun.msv.gr"
  +"ammar.Expression$EpsilonExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0004sq\u0000~\u0000(\u0001q\u0000"
  +"~\u00005sq\u0000~\u0000 t\u0000\nconsortiumt\u0000\u001ahttp://uniprot.org/uniprotsr\u0000\"com.s"
  +"un.msv.grammar.ExpressionPool\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\bexpTablet\u0000/Lcom/s"
  +"un/msv/grammar/ExpressionPool$ClosedHash;xpsr\u0000-com.sun.msv.g"
  +"rammar.ExpressionPool$ClosedHash\u00d7j\u00d0N\u00ef\u00e8\u00ed\u001c\u0003\u0000\u0003I\u0000\u0005countB\u0000\rstream"
  +"VersionL\u0000\u0006parentt\u0000$Lcom/sun/msv/grammar/ExpressionPool;xp\u0000\u0000\u0000"
  +"\u0002\u0001pq\u0000~\u0000\tq\u0000~\u0000&x"));
              }
              return new com.sun.msv.verifier.regexp.REDocumentDeclaration(schemaFragment);
          }
  
          public boolean equals(java.lang.Object obj) {
              if (this == obj) {
                  return true;
              }
              if ((null == obj)||(!(obj instanceof org.uniprot.uniprot.NameListType.Consortium))) {
                  return false;
              }
              org.uniprot.uniprot.impl.NameListTypeImpl.ConsortiumImpl target = ((org.uniprot.uniprot.impl.NameListTypeImpl.ConsortiumImpl) obj);
              {
                  java.lang.String value = this.getName();
                  java.lang.String targetValue = target.getName();
                  if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
                      return false;
                  }
              }
              return true;
          }
  
          public int hashCode() {
              int hash = 7;
              {
                  java.lang.String value = this.getName();
                  hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
              }
              return hash;
          }
  
          public class Unmarshaller
              extends org.uniprot.uniprot.impl.runtime.AbstractUnmarshallingEventHandlerImpl
          {
  
  
              public Unmarshaller(org.uniprot.uniprot.impl.runtime.UnmarshallingContext context) {
                  super(context, "----");
              }
  
              protected Unmarshaller(org.uniprot.uniprot.impl.runtime.UnmarshallingContext context, int startState) {
                  this(context);
                  state = startState;
              }
  
              public java.lang.Object owner() {
                  return org.uniprot.uniprot.impl.NameListTypeImpl.ConsortiumImpl.this;
              }
  
              public void enterElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname, org.xml.sax.Attributes __atts)
                  throws org.xml.sax.SAXException
              {
                  int attIdx;
                  outer:
                  while (true) {
                      switch (state) {
                          case  3 :
                              revertToParentFromEnterElement(___uri, ___local, ___qname, __atts);
                              return ;
                          case  0 :
                              if (("consortium" == ___local)&&("http://uniprot.org/uniprot" == ___uri)) {
                                  context.pushAttributes(__atts, false);
                                  state = 1;
                                  return ;
                              }
                              break;
                          case  1 :
                              attIdx = context.getAttribute("", "name");
                              if (attIdx >= 0) {
                                  context.consumeAttribute(attIdx);
                                  context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
                                  return ;
                              }
                              break;
                      }
                      super.enterElement(___uri, ___local, ___qname, __atts);
                      break;
                  }
              }
  
              public void leaveElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
                  throws org.xml.sax.SAXException
              {
                  int attIdx;
                  outer:
                  while (true) {
                      switch (state) {
                          case  3 :
                              revertToParentFromLeaveElement(___uri, ___local, ___qname);
                              return ;
                          case  1 :
                              attIdx = context.getAttribute("", "name");
                              if (attIdx >= 0) {
                                  context.consumeAttribute(attIdx);
                                  context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
                                  return ;
                              }
                              break;
                          case  2 :
                              if (("consortium" == ___local)&&("http://uniprot.org/uniprot" == ___uri)) {
                                  context.popAttributes();
                                  state = 3;
                                  return ;
                              }
                              break;
                      }
                      super.leaveElement(___uri, ___local, ___qname);
                      break;
                  }
              }
  
              public void enterAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
                  throws org.xml.sax.SAXException
              {
                  int attIdx;
                  outer:
                  while (true) {
                      switch (state) {
                          case  3 :
                              revertToParentFromEnterAttribute(___uri, ___local, ___qname);
                              return ;
                          case  1 :
                              if (("name" == ___local)&&("" == ___uri)) {
                                  spawnHandlerFromEnterAttribute((((org.uniprot.uniprot.impl.ConsortiumTypeImpl)org.uniprot.uniprot.impl.NameListTypeImpl.ConsortiumImpl.this).new Unmarshaller(context)), 2, ___uri, ___local, ___qname);
                                  return ;
                              }
                              break;
                      }
                      super.enterAttribute(___uri, ___local, ___qname);
                      break;
                  }
              }
  
              public void leaveAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
                  throws org.xml.sax.SAXException
              {
                  int attIdx;
                  outer:
                  while (true) {
                      switch (state) {
                          case  3 :
                              revertToParentFromLeaveAttribute(___uri, ___local, ___qname);
                              return ;
                          case  1 :
                              attIdx = context.getAttribute("", "name");
                              if (attIdx >= 0) {
                                  context.consumeAttribute(attIdx);
                                  context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
                                  return ;
                              }
                              break;
                      }
                      super.leaveAttribute(___uri, ___local, ___qname);
                      break;
                  }
              }
  
              public void handleText(final java.lang.String value)
                  throws org.xml.sax.SAXException
              {
                  int attIdx;
                  outer:
                  while (true) {
                      try {
                          switch (state) {
                              case  3 :
                                  revertToParentFromText(value);
                                  return ;
                              case  1 :
                                  attIdx = context.getAttribute("", "name");
                                  if (attIdx >= 0) {
                                      context.consumeAttribute(attIdx);
                                      context.getCurrentHandler().text(value);
                                      return ;
                                  }
                                  break;
                          }
                      } catch (java.lang.RuntimeException e) {
                          handleUnexpectedTextException(value, e);
                      }
                      break;
                  }
              }
  
          }
  
      }
  
      public static class PersonImpl
          extends org.uniprot.uniprot.impl.PersonTypeImpl
          implements org.uniprot.uniprot.NameListType.Person, com.sun.xml.bind.RIElement, com.sun.xml.bind.JAXBObject, org.uniprot.uniprot.impl.runtime.UnmarshallableObject, org.uniprot.uniprot.impl.runtime.XMLSerializable, org.uniprot.uniprot.impl.runtime.ValidatableObject
      {
  
          public final static java.lang.Class version = (org.uniprot.uniprot.impl.JAXBVersion.class);
          private static com.sun.msv.grammar.Grammar schemaFragment;
  
          private final static java.lang.Class PRIMARY_INTERFACE_CLASS() {
              return (org.uniprot.uniprot.NameListType.Person.class);
          }
  
          public java.lang.String ____jaxb_ri____getNamespaceURI() {
              return "http://uniprot.org/uniprot";
          }
  
          public java.lang.String ____jaxb_ri____getLocalName() {
              return "person";
          }
  
          public org.uniprot.uniprot.impl.runtime.UnmarshallingEventHandler createUnmarshaller(org.uniprot.uniprot.impl.runtime.UnmarshallingContext context) {
              return new org.uniprot.uniprot.impl.NameListTypeImpl.PersonImpl.Unmarshaller(context);
          }
  
          public void serializeBody(org.uniprot.uniprot.impl.runtime.XMLSerializer context)
              throws org.xml.sax.SAXException
          {
              context.startElement("http://uniprot.org/uniprot", "person");
              super.serializeURIs(context);
              context.endNamespaceDecls();
              super.serializeAttributes(context);
              context.endAttributes();
              super.serializeBody(context);
              context.endElement();
          }
  
          public void serializeAttributes(org.uniprot.uniprot.impl.runtime.XMLSerializer context)
              throws org.xml.sax.SAXException
          {
          }
  
          public void serializeURIs(org.uniprot.uniprot.impl.runtime.XMLSerializer context)
              throws org.xml.sax.SAXException
          {
          }
  
          public java.lang.Class getPrimaryInterface() {
              return (org.uniprot.uniprot.NameListType.Person.class);
          }
  
          public com.sun.msv.verifier.DocumentDeclaration createRawValidator() {
              if (schemaFragment == null) {
                  schemaFragment = com.sun.xml.bind.validator.SchemaDeserializer.deserialize((
   "\u00ac\u00ed\u0000\u0005sr\u0000\'com.sun.msv.grammar.trex.ElementPattern\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000"
  +"\tnameClasst\u0000\u001fLcom/sun/msv/grammar/NameClass;xr\u0000\u001ecom.sun.msv."
  +"grammar.ElementExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002Z\u0000\u001aignoreUndeclaredAttributesL\u0000"
  +"\fcontentModelt\u0000 Lcom/sun/msv/grammar/Expression;xr\u0000\u001ecom.sun."
  +"msv.grammar.Expression\u00f8\u0018\u0082\u00e8N5~O\u0002\u0000\u0002L\u0000\u0013epsilonReducibilityt\u0000\u0013Lj"
  +"ava/lang/Boolean;L\u0000\u000bexpandedExpq\u0000~\u0000\u0003xppp\u0000sr\u0000\u001fcom.sun.msv.gra"
  +"mmar.SequenceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001dcom.sun.msv.grammar.BinaryExp"
  +"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0004exp1q\u0000~\u0000\u0003L\u0000\u0004exp2q\u0000~\u0000\u0003xq\u0000~\u0000\u0004ppsr\u0000 com.sun.msv.g"
  +"rammar.AttributeExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0003expq\u0000~\u0000\u0003L\u0000\tnameClassq\u0000~\u0000\u0001xq"
  +"\u0000~\u0000\u0004ppsr\u0000\u001bcom.sun.msv.grammar.DataExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L\u0000\u0002dtt\u0000\u001fLorg"
  +"/relaxng/datatype/Datatype;L\u0000\u0006exceptq\u0000~\u0000\u0003L\u0000\u0004namet\u0000\u001dLcom/sun/"
  +"msv/util/StringPair;xq\u0000~\u0000\u0004ppsr\u0000#com.sun.msv.datatype.xsd.Str"
  +"ingType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001Z\u0000\risAlwaysValidxr\u0000*com.sun.msv.datatype.x"
  +"sd.BuiltinAtomicType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000%com.sun.msv.datatype.xsd."
  +"ConcreteType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\'com.sun.msv.datatype.xsd.XSDataty"
  +"peImpl\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L\u0000\fnamespaceUrit\u0000\u0012Ljava/lang/String;L\u0000\btype"
  +"Nameq\u0000~\u0000\u0014L\u0000\nwhiteSpacet\u0000.Lcom/sun/msv/datatype/xsd/WhiteSpac"
  +"eProcessor;xpt\u0000 http://www.w3.org/2001/XMLSchemat\u0000\u0006stringsr\u0000"
  +"5com.sun.msv.datatype.xsd.WhiteSpaceProcessor$Preserve\u0000\u0000\u0000\u0000\u0000\u0000"
  +"\u0000\u0001\u0002\u0000\u0000xr\u0000,com.sun.msv.datatype.xsd.WhiteSpaceProcessor\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
  +"\u0001\u0002\u0000\u0000xp\u0001sr\u00000com.sun.msv.grammar.Expression$NullSetExpression\u0000"
  +"\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0004ppsr\u0000\u001bcom.sun.msv.util.StringPair\u00d0t\u001ejB\u008f\u008d\u00a0\u0002\u0000\u0002"
  +"L\u0000\tlocalNameq\u0000~\u0000\u0014L\u0000\fnamespaceURIq\u0000~\u0000\u0014xpq\u0000~\u0000\u0018q\u0000~\u0000\u0017sr\u0000#com.sun"
  +".msv.grammar.SimpleNameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\tlocalNameq\u0000~\u0000\u0014L\u0000\fn"
  +"amespaceURIq\u0000~\u0000\u0014xr\u0000\u001dcom.sun.msv.grammar.NameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000"
  +"xpt\u0000\u0004namet\u0000\u0000sr\u0000\u001dcom.sun.msv.grammar.ChoiceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~"
  +"\u0000\bppsq\u0000~\u0000\nsr\u0000\u0011java.lang.Boolean\u00cd r\u0080\u00d5\u009c\u00fa\u00ee\u0002\u0000\u0001Z\u0000\u0005valuexp\u0000psq\u0000~\u0000\f"
  +"ppsr\u0000\"com.sun.msv.datatype.xsd.QnameType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0011q\u0000~"
  +"\u0000\u0017t\u0000\u0005QNamesr\u00005com.sun.msv.datatype.xsd.WhiteSpaceProcessor$C"
  +"ollapse\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u001aq\u0000~\u0000\u001dsq\u0000~\u0000\u001eq\u0000~\u0000-q\u0000~\u0000\u0017sq\u0000~\u0000 t\u0000\u0004typet\u0000"
  +")http://www.w3.org/2001/XMLSchema-instancesr\u00000com.sun.msv.gr"
  +"ammar.Expression$EpsilonExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0004sq\u0000~\u0000(\u0001q\u0000"
  +"~\u00005sq\u0000~\u0000 t\u0000\u0006persont\u0000\u001ahttp://uniprot.org/uniprotsr\u0000\"com.sun.m"
  +"sv.grammar.ExpressionPool\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\bexpTablet\u0000/Lcom/sun/m"
  +"sv/grammar/ExpressionPool$ClosedHash;xpsr\u0000-com.sun.msv.gramm"
  +"ar.ExpressionPool$ClosedHash\u00d7j\u00d0N\u00ef\u00e8\u00ed\u001c\u0003\u0000\u0003I\u0000\u0005countB\u0000\rstreamVers"
  +"ionL\u0000\u0006parentt\u0000$Lcom/sun/msv/grammar/ExpressionPool;xp\u0000\u0000\u0000\u0002\u0001pq"
  +"\u0000~\u0000\tq\u0000~\u0000&x"));
              }
              return new com.sun.msv.verifier.regexp.REDocumentDeclaration(schemaFragment);
          }
  
          public boolean equals(java.lang.Object obj) {
              if (this == obj) {
                  return true;
              }
              if ((null == obj)||(!(obj instanceof org.uniprot.uniprot.NameListType.Person))) {
                  return false;
              }
              org.uniprot.uniprot.impl.NameListTypeImpl.PersonImpl target = ((org.uniprot.uniprot.impl.NameListTypeImpl.PersonImpl) obj);
              {
                  java.lang.String value = this.getName();
                  java.lang.String targetValue = target.getName();
                  if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
                      return false;
                  }
              }
              return true;
          }
  
          public int hashCode() {
              int hash = 7;
              {
                  java.lang.String value = this.getName();
                  hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
              }
              return hash;
          }
  
          public class Unmarshaller
              extends org.uniprot.uniprot.impl.runtime.AbstractUnmarshallingEventHandlerImpl
          {
  
  
              public Unmarshaller(org.uniprot.uniprot.impl.runtime.UnmarshallingContext context) {
                  super(context, "----");
              }
  
              protected Unmarshaller(org.uniprot.uniprot.impl.runtime.UnmarshallingContext context, int startState) {
                  this(context);
                  state = startState;
              }
  
              public java.lang.Object owner() {
                  return org.uniprot.uniprot.impl.NameListTypeImpl.PersonImpl.this;
              }
  
              public void enterElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname, org.xml.sax.Attributes __atts)
                  throws org.xml.sax.SAXException
              {
                  int attIdx;
                  outer:
                  while (true) {
                      switch (state) {
                          case  1 :
                              attIdx = context.getAttribute("", "name");
                              if (attIdx >= 0) {
                                  context.consumeAttribute(attIdx);
                                  context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
                                  return ;
                              }
                              break;
                          case  3 :
                              revertToParentFromEnterElement(___uri, ___local, ___qname, __atts);
                              return ;
                          case  0 :
                              if (("person" == ___local)&&("http://uniprot.org/uniprot" == ___uri)) {
                                  context.pushAttributes(__atts, false);
                                  state = 1;
                                  return ;
                              }
                              break;
                      }
                      super.enterElement(___uri, ___local, ___qname, __atts);
                      break;
                  }
              }
  
              public void leaveElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
                  throws org.xml.sax.SAXException
              {
                  int attIdx;
                  outer:
                  while (true) {
                      switch (state) {
                          case  1 :
                              attIdx = context.getAttribute("", "name");
                              if (attIdx >= 0) {
                                  context.consumeAttribute(attIdx);
                                  context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
                                  return ;
                              }
                              break;
                          case  3 :
                              revertToParentFromLeaveElement(___uri, ___local, ___qname);
                              return ;
                          case  2 :
                              if (("person" == ___local)&&("http://uniprot.org/uniprot" == ___uri)) {
                                  context.popAttributes();
                                  state = 3;
                                  return ;
                              }
                              break;
                      }
                      super.leaveElement(___uri, ___local, ___qname);
                      break;
                  }
              }
  
              public void enterAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
                  throws org.xml.sax.SAXException
              {
                  int attIdx;
                  outer:
                  while (true) {
                      switch (state) {
                          case  1 :
                              if (("name" == ___local)&&("" == ___uri)) {
                                  spawnHandlerFromEnterAttribute((((org.uniprot.uniprot.impl.PersonTypeImpl)org.uniprot.uniprot.impl.NameListTypeImpl.PersonImpl.this).new Unmarshaller(context)), 2, ___uri, ___local, ___qname);
                                  return ;
                              }
                              break;
                          case  3 :
                              revertToParentFromEnterAttribute(___uri, ___local, ___qname);
                              return ;
                      }
                      super.enterAttribute(___uri, ___local, ___qname);
                      break;
                  }
              }
  
              public void leaveAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
                  throws org.xml.sax.SAXException
              {
                  int attIdx;
                  outer:
                  while (true) {
                      switch (state) {
                          case  1 :
                              attIdx = context.getAttribute("", "name");
                              if (attIdx >= 0) {
                                  context.consumeAttribute(attIdx);
                                  context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
                                  return ;
                              }
                              break;
                          case  3 :
                              revertToParentFromLeaveAttribute(___uri, ___local, ___qname);
                              return ;
                      }
                      super.leaveAttribute(___uri, ___local, ___qname);
                      break;
                  }
              }
  
              public void handleText(final java.lang.String value)
                  throws org.xml.sax.SAXException
              {
                  int attIdx;
                  outer:
                  while (true) {
                      try {
                          switch (state) {
                              case  1 :
                                  attIdx = context.getAttribute("", "name");
                                  if (attIdx >= 0) {
                                      context.consumeAttribute(attIdx);
                                      context.getCurrentHandler().text(value);
                                      return ;
                                  }
                                  break;
                              case  3 :
                                  revertToParentFromText(value);
                                  return ;
                          }
                      } catch (java.lang.RuntimeException e) {
                          handleUnexpectedTextException(value, e);
                      }
                      break;
                  }
              }
  
          }
  
      }
  
      public class Unmarshaller
          extends org.uniprot.uniprot.impl.runtime.AbstractUnmarshallingEventHandlerImpl
      {
  
  
          public Unmarshaller(org.uniprot.uniprot.impl.runtime.UnmarshallingContext context) {
              super(context, "--");
          }
  
          protected Unmarshaller(org.uniprot.uniprot.impl.runtime.UnmarshallingContext context, int startState) {
              this(context);
              state = startState;
          }
  
          public java.lang.Object owner() {
              return org.uniprot.uniprot.impl.NameListTypeImpl.this;
          }
  
          public void enterElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname, org.xml.sax.Attributes __atts)
              throws org.xml.sax.SAXException
          {
              int attIdx;
              outer:
              while (true) {
                  switch (state) {
                      case  1 :
                          if (("consortium" == ___local)&&("http://uniprot.org/uniprot" == ___uri)) {
                              _getConsortiumOrPerson().add(((org.uniprot.uniprot.impl.NameListTypeImpl.ConsortiumImpl) spawnChildFromEnterElement((org.uniprot.uniprot.impl.NameListTypeImpl.ConsortiumImpl.class), 1, ___uri, ___local, ___qname, __atts)));
                              return ;
                          }
                          if (("person" == ___local)&&("http://uniprot.org/uniprot" == ___uri)) {
                              _getConsortiumOrPerson().add(((org.uniprot.uniprot.impl.NameListTypeImpl.PersonImpl) spawnChildFromEnterElement((org.uniprot.uniprot.impl.NameListTypeImpl.PersonImpl.class), 1, ___uri, ___local, ___qname, __atts)));
                              return ;
                          }
                          revertToParentFromEnterElement(___uri, ___local, ___qname, __atts);
                          return ;
                      case  0 :
                          if (("consortium" == ___local)&&("http://uniprot.org/uniprot" == ___uri)) {
                              _getConsortiumOrPerson().add(((org.uniprot.uniprot.impl.NameListTypeImpl.ConsortiumImpl) spawnChildFromEnterElement((org.uniprot.uniprot.impl.NameListTypeImpl.ConsortiumImpl.class), 1, ___uri, ___local, ___qname, __atts)));
                              return ;
                          }
                          if (("person" == ___local)&&("http://uniprot.org/uniprot" == ___uri)) {
                              _getConsortiumOrPerson().add(((org.uniprot.uniprot.impl.NameListTypeImpl.PersonImpl) spawnChildFromEnterElement((org.uniprot.uniprot.impl.NameListTypeImpl.PersonImpl.class), 1, ___uri, ___local, ___qname, __atts)));
                              return ;
                          }
                          break;
                  }
                  super.enterElement(___uri, ___local, ___qname, __atts);
                  break;
              }
          }
  
          public void leaveElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
              throws org.xml.sax.SAXException
          {
              int attIdx;
              outer:
              while (true) {
                  switch (state) {
                      case  1 :
                          revertToParentFromLeaveElement(___uri, ___local, ___qname);
                          return ;
                  }
                  super.leaveElement(___uri, ___local, ___qname);
                  break;
              }
          }
  
          public void enterAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
              throws org.xml.sax.SAXException
          {
              int attIdx;
              outer:
              while (true) {
                  switch (state) {
                      case  1 :
                          revertToParentFromEnterAttribute(___uri, ___local, ___qname);
                          return ;
                  }
                  super.enterAttribute(___uri, ___local, ___qname);
                  break;
              }
          }
  
          public void leaveAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
              throws org.xml.sax.SAXException
          {
              int attIdx;
              outer:
              while (true) {
                  switch (state) {
                      case  1 :
                          revertToParentFromLeaveAttribute(___uri, ___local, ___qname);
                          return ;
                  }
                  super.leaveAttribute(___uri, ___local, ___qname);
                  break;
              }
          }
  
          public void handleText(final java.lang.String value)
              throws org.xml.sax.SAXException
          {
              int attIdx;
              outer:
  