gt:                     switch (state) {
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: 2016.10.09 at 03:44:18 PM PDT 
  //
  
  
  package generated.impl;
  
  public class IsMetadataTagImpl implements generated.IsMetadataTag, com.sun.xml.bind.RIElement, com.sun.xml.bind.JAXBObject, generated.impl.runtime.UnmarshallableObject, generated.impl.runtime.XMLSerializable, generated.impl.runtime.ValidatableObject
  {
  
      protected java.lang.String _Content;
      public final static java.lang.Class version = (generated.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 (generated.IsMetadataTag.class);
      }
  
      public java.lang.String ____jaxb_ri____getNamespaceURI() {
          return "";
      }
  
      public java.lang.String ____jaxb_ri____getLocalName() {
          return "is_metadata_tag";
      }
  
      public java.lang.String getContent() {
          return _Content;
      }
  
      public void setContent(java.lang.String value) {
          _Content = value;
      }
  
      public generated.impl.runtime.UnmarshallingEventHandler createUnmarshaller(generated.impl.runtime.UnmarshallingContext context) {
          return new generated.impl.IsMetadataTagImpl.Unmarshaller(context);
      }
  
      public void serializeBody(generated.impl.runtime.XMLSerializer context)
          throws org.xml.sax.SAXException
      {
          context.startElement("", "is_metadata_tag");
          context.endNamespaceDecls();
          context.endAttributes();
          try {
              context.text(((java.lang.String) _Content), "Content");
          } catch (java.lang.Exception e) {
              generated.impl.runtime.Util.handlePrintConversionException(this, e, context);
          }
          context.endElement();
      }
  
      public void serializeAttributes(generated.impl.runtime.XMLSerializer context)
          throws org.xml.sax.SAXException
      {
      }
  
      public void serializeURIs(generated.impl.runtime.XMLSerializer context)
          throws org.xml.sax.SAXException
      {
      }
  
      public java.lang.Class getPrimaryInterface() {
          return (generated.IsMetadataTag.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\u001bcom.sun.msv.gra"
  +"mmar.DataExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L\u0000\u0002dtt\u0000\u001fLorg/relaxng/datatype/Datatyp"
  +"e;L\u0000\u0006exceptq\u0000~\u0000\u0003L\u0000\u0004namet\u0000\u001dLcom/sun/msv/util/StringPair;xq\u0000~\u0000"
  +"\u0004ppsr\u0000#com.sun.msv.datatype.xsd.StringType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001Z\u0000\risAl"
  +"waysValidxr\u0000*com.sun.msv.datatype.xsd.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.XSDatatypeImpl\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L\u0000\fnames"
  +"paceUrit\u0000\u0012Ljava/lang/String;L\u0000\btypeNameq\u0000~\u0000\u000fL\u0000\nwhiteSpacet\u0000."
  +"Lcom/sun/msv/datatype/xsd/WhiteSpaceProcessor;xpt\u0000 http://ww"
  +"w.w3.org/2001/XMLSchemat\u0000\u0006stringsr\u00005com.sun.msv.datatype.xsd"
  +".WhiteSpaceProcessor$Preserve\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000,com.sun.msv.data"
  +"type.xsd.WhiteSpaceProcessor\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xp\u0001sr\u00000com.sun.msv.gr"
  +"ammar.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\u0002L\u0000\tlocalNameq\u0000~\u0000\u000fL\u0000\fnames"
  +"paceURIq\u0000~\u0000\u000fxpq\u0000~\u0000\u0013q\u0000~\u0000\u0012sr\u0000#com.sun.msv.grammar.SimpleNameCl"
  +"ass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\tlocalNameq\u0000~\u0000\u000fL\u0000\fnamespaceURIq\u0000~\u0000\u000fxr\u0000\u001dcom.s"
  +"un.msv.grammar.NameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xpt\u0000\u000fis_metadata_tagt\u0000\u0000sr"
  +"\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$ClosedHash;xpsr\u0000-com.su"
  +"n.msv.grammar.ExpressionPool$ClosedHash\u00d7j\u00d0N\u00ef\u00e8\u00ed\u001c\u0003\u0000\u0003I\u0000\u0005countB\u0000"
  +"\rstreamVersionL\u0000\u0006parentt\u0000$Lcom/sun/msv/grammar/ExpressionPoo"
  +"l;xp\u0000\u0000\u0000\u0000\u0001px"));
          }
          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 generated.IsMetadataTag))) {
              return false;
          }
          generated.impl.IsMetadataTagImpl target = ((generated.impl.IsMetadataTagImpl) obj);
          {
              java.lang.String value = this.getContent();
              java.lang.String targetValue = target.getContent();
              if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
                  return false;
              }
          }
          return true;
      }
  
      public int hashCode() {
          int hash = 7;
          {
              java.lang.String value = this.getContent();
              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 class Unmarshaller
          extends generated.impl.runtime.AbstractUnmarshallingEventHandlerImpl
      {
  
  
          public Unmarshaller(generated.impl.runtime.UnmarshallingContext context) {
              super(context, "----");
          }
  
          protected Unmarshaller(generated.impl.runtime.UnmarshallingContext context, int startState) {
              this(context);
              state = startState;
          }
  
          public java.lang.Object owner() {
              return generated.impl.IsMetadataTagImpl.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  0 :
                          if (("is_metadata_tag" == ___local)&&("" == ___uri)) {
                              context.pushAttributes(__atts, true);
                              state = 1;
                              return ;
                          }
                          break;
                      case  3 :
                          revertToParentFromEnterElement(___uri, ___local, ___qname, __atts);
                          return ;
                  }
                  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  2 :
                          if (("is_metadata_tag" == ___local)&&("" == ___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 ;
                  }
                  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 ;
                  }
                  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 {
  