changeset 400:5a93f2bb893e

Upgrade existing sources to JAXB 2.2.4-2, SAAJ 1.3.16 & JAXWS 2.2.4-1 as in 7168374
author andrew
date Mon, 11 Jun 2012 03:24:50 +0100
parents 00a5028f6960
children 35430596224d
files sources/jaxws_src/src/com/sun/codemodel/internal/CodeWriter.java sources/jaxws_src/src/com/sun/codemodel/internal/writer/FileCodeWriter.java sources/jaxws_src/src/com/sun/istack/internal/tools/ParallelWorldClassLoader.java sources/jaxws_src/src/com/sun/tools/internal/jxc/MessageBundle.properties sources/jaxws_src/src/com/sun/tools/internal/jxc/gen/config/Classes.java sources/jaxws_src/src/com/sun/tools/internal/jxc/gen/config/Config.java sources/jaxws_src/src/com/sun/tools/internal/jxc/gen/config/Schema.java sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/parser/SOAPExtensionHandler.java sources/jaxws_src/src/com/sun/tools/internal/xjc/MessageBundle.properties sources/jaxws_src/src/com/sun/tools/internal/xjc/Messages.java sources/jaxws_src/src/com/sun/tools/internal/xjc/ModelLoader.java sources/jaxws_src/src/com/sun/tools/internal/xjc/Options.java sources/jaxws_src/src/com/sun/tools/internal/xjc/SchemaCache.java sources/jaxws_src/src/com/sun/tools/internal/xjc/addon/episode/PluginImpl.java sources/jaxws_src/src/com/sun/tools/internal/xjc/api/util/APTClassLoader.java sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlAnyElementWriter.java sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlAttributeWriter.java sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlElementDeclWriter.java sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlElementRefWriter.java sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlElementWrapperWriter.java sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlElementWriter.java sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlJavaTypeAdapterWriter.java sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlNsWriter.java sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlRootElementWriter.java sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlSchemaTypeWriter.java sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlSchemaWriter.java sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlTypeWriter.java sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/bean/PackageOutlineImpl.java sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/bean/field/SingleField.java sources/jaxws_src/src/com/sun/tools/internal/xjc/model/Model.java sources/jaxws_src/src/com/sun/tools/internal/xjc/outline/PackageOutline.java sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/Ring.java sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/SimpleTypeBuilder.java sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/parser/SchemaConstraintChecker.java sources/jaxws_src/src/com/sun/xml/internal/bind/AccessorFactoryImpl.java sources/jaxws_src/src/com/sun/xml/internal/bind/DatatypeConverterImpl.java sources/jaxws_src/src/com/sun/xml/internal/bind/api/JAXBRIContext.java sources/jaxws_src/src/com/sun/xml/internal/bind/v2/ClassFactory.java sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/annotation/Messages.java sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/annotation/Messages.properties sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/annotation/RuntimeInlineAnnotationReader.java sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/annotation/XmlAttributeQuick.java sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/annotation/XmlElementDeclQuick.java sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/annotation/XmlElementQuick.java sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/annotation/XmlElementRefQuick.java sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/annotation/XmlRootElementQuick.java sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/annotation/XmlSchemaQuick.java sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/annotation/XmlSchemaTypeQuick.java sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/annotation/XmlTypeQuick.java sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/impl/ClassInfoImpl.java sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/AnyTypeBeanInfo.java sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/ClassBeanInfoImpl.java sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/Coordinator.java sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/JAXBContextImpl.java sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/XMLSerializer.java sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/property/ArrayERProperty.java sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/property/SingleMapNodeProperty.java sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/Accessor.java sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/opt/OptimizedTransducedAccessorFactory.java sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/unmarshaller/Base64Data.java sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/unmarshaller/UnmarshallerImpl.java sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/XmlSchemaGenerator.java sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/episode/Package.java sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/episode/SchemaBindings.java sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Element.java sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Occurs.java sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Schema.java sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/client/p2p/HttpSOAPConnection.java sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/BMMimeMultipart.java sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/MimeMultipart.java sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/MimeUtility.java sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/MessageImpl.java sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/SOAPPartImpl.java sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/util/JAXMStreamSource.java sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/util/LogDomainConstants.java sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/util/SAAJUtil.java sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/SchemaDocumentImpl.java sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/Schema.java sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/SimpleType_List.java sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/SimpleType_Restriction.java sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/SimpleType_Union.java sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/annotation.java sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/attributeDeclBody.java sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/attributeGroupDecl.java sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/attributeUses.java sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/complexType.java sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/complexType_complexContent_body.java sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/elementDeclBody.java sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/facet.java sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/group.java sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/identityConstraint.java sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/importDecl.java sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/includeDecl.java sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/modelGroupBody.java sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/notation.java sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/occurs.java sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/particle.java sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/qname.java sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/redefine.java sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/simpleType.java sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/wildcardBody.java sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/xpath.java sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/util/SchemaWriter.java sources/jaxws_src/src/com/sun/xml/internal/xsom/parser/JAXPParser.java sources/jaxws_src/src/javax/xml/bind/DatatypeConverterImpl.java sources/jaxws_src/src/javax/xml/bind/helpers/AbstractUnmarshallerImpl.java
diffstat 106 files changed, 5572 insertions(+), 5337 deletions(-) [+]
line wrap: on
line diff
--- a/sources/jaxws_src/src/com/sun/codemodel/internal/CodeWriter.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/codemodel/internal/CodeWriter.java	Mon Jun 11 03:24:50 2012 +0100
@@ -43,6 +43,13 @@
 public abstract class CodeWriter {
 
     /**
+     * Encoding to be used by the writer. Null means platform specific encoding.
+     *
+     * @since 2.5
+     */
+    protected String encoding = null;
+
+    /**
      * Called by CodeModel to store the specified file.
      * The callee must allocate a storage to store the specified file.
      *
@@ -75,7 +82,9 @@
      *      "Foo.java" or "Bar.properties"
      */
     public Writer openSource( JPackage pkg, String fileName ) throws IOException {
-        final OutputStreamWriter bw = new OutputStreamWriter(openBinary(pkg,fileName));
+        final OutputStreamWriter bw = encoding != null
+                ? new OutputStreamWriter(openBinary(pkg,fileName), encoding)
+                : new OutputStreamWriter(openBinary(pkg,fileName));
 
         // create writer
         try {
--- a/sources/jaxws_src/src/com/sun/codemodel/internal/writer/FileCodeWriter.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/codemodel/internal/writer/FileCodeWriter.java	Mon Jun 11 03:24:50 2012 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -56,14 +56,22 @@
         this(target,false);
     }
 
+    public FileCodeWriter( File target, String encoding ) throws IOException {
+        this(target,false, encoding);
+    }
+
     public FileCodeWriter( File target, boolean readOnly ) throws IOException {
+        this(target, readOnly, null);
+    }
+
+    public FileCodeWriter( File target, boolean readOnly, String encoding ) throws IOException {
         this.target = target;
         this.readOnly = readOnly;
+        this.encoding = encoding;
         if(!target.exists() || !target.isDirectory())
             throw new IOException(target + ": non-existent directory");
     }
 
-
     public OutputStream openBinary(JPackage pkg, String fileName) throws IOException {
         return new FileOutputStream(getFile(pkg,fileName));
     }
--- a/sources/jaxws_src/src/com/sun/istack/internal/tools/ParallelWorldClassLoader.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/istack/internal/tools/ParallelWorldClassLoader.java	Mon Jun 11 03:24:50 2012 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -27,10 +27,21 @@
 
 import java.io.InputStream;
 import java.io.ByteArrayOutputStream;
+import java.io.Closeable;
+import java.io.File;
 import java.io.IOException;
+import java.net.JarURLConnection;
+import java.net.URISyntaxException;
 import java.net.URL;
 import java.net.MalformedURLException;
+import java.net.URLConnection;
+import java.util.Collections;
 import java.util.Enumeration;
+import java.util.HashSet;
+import java.util.Set;
+import java.util.jar.JarFile;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 
 /**
  * Load classes/resources from a side folder, so that
@@ -74,24 +85,40 @@
  *
  * @author Kohsuke Kawaguchi
  */
-public class ParallelWorldClassLoader extends ClassLoader {
+public class ParallelWorldClassLoader extends ClassLoader implements Closeable {
 
     /**
      * Strings like "prefix/", "abc/", or "" to indicate
      * classes should be loaded normally.
      */
     private final String prefix;
+    private final Set<JarFile> jars;
 
     public ParallelWorldClassLoader(ClassLoader parent,String prefix) {
         super(parent);
         this.prefix = prefix;
+        jars = Collections.synchronizedSet(new HashSet<JarFile>());
     }
 
     protected Class findClass(String name) throws ClassNotFoundException {
         StringBuffer sb = new StringBuffer(name.length()+prefix.length()+6);
         sb.append(prefix).append(name.replace('.','/')).append(".class");
 
-        InputStream is = getParent().getResourceAsStream(sb.toString());
+        URL u  = getParent().getResource(sb.toString());
+        if (u == null) {
+            throw new ClassNotFoundException(name);
+        }
+
+        InputStream is = null;
+        URLConnection con = null;
+
+        try {
+            con = u.openConnection();
+            is = con.getInputStream();
+        } catch (IOException ioe) {
+            throw new ClassNotFoundException(name);
+        }
+
         if (is==null)
             throw new ClassNotFoundException(name);
 
@@ -115,15 +142,63 @@
             return defineClass(name,buf,0,buf.length);
         } catch (IOException e) {
             throw new ClassNotFoundException(name,e);
+        } finally {
+            try {
+                if (con != null && con instanceof JarURLConnection) {
+                    jars.add(((JarURLConnection) con).getJarFile());
+                }
+            } catch (IOException ioe) {
+                //ignore
+            }
+            if (is != null) {
+                try {
+                    is.close();
+                } catch (IOException ioe) {
+                    //ignore
+                }
+            }
         }
     }
 
+    @Override
     protected URL findResource(String name) {
-        return getParent().getResource(prefix+name);
+        URL u = getParent().getResource(prefix + name);
+        if (u != null) {
+            try {
+                jars.add(new JarFile(new File(toJarUrl(u).toURI())));
+            } catch (URISyntaxException ex) {
+                Logger.getLogger(ParallelWorldClassLoader.class.getName()).log(Level.WARNING, null, ex);
+            } catch (IOException ex) {
+                Logger.getLogger(ParallelWorldClassLoader.class.getName()).log(Level.WARNING, null, ex);
+            } catch (ClassNotFoundException ex) {
+                //ignore - not a jar
+            }
+        }
+        return u;
     }
 
+    @Override
     protected Enumeration<URL> findResources(String name) throws IOException {
-        return getParent().getResources(    prefix+name);
+        Enumeration<URL> en = getParent().getResources(prefix + name);
+        while (en.hasMoreElements()) {
+            try {
+                jars.add(new JarFile(new File(toJarUrl(en.nextElement()).toURI())));
+            } catch (URISyntaxException ex) {
+                //should not happen
+                Logger.getLogger(ParallelWorldClassLoader.class.getName()).log(Level.WARNING, null, ex);
+            } catch (IOException ex) {
+                Logger.getLogger(ParallelWorldClassLoader.class.getName()).log(Level.WARNING, null, ex);
+            } catch (ClassNotFoundException ex) {
+                //ignore - not a jar
+            }
+        }
+        return en;
+    }
+
+    public synchronized void close() throws IOException {
+        for (JarFile jar : jars) {
+            jar.close();
+        }
     }
 
     /**
--- a/sources/jaxws_src/src/com/sun/tools/internal/jxc/MessageBundle.properties	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/tools/internal/jxc/MessageBundle.properties	Mon Jun 11 03:24:50 2012 +0100
@@ -30,10 +30,10 @@
     Non-existent directory: {0}
 
 VERSION = \
-        schemagen 2.2.4
+        schemagen 2.2.4-2
 
 FULLVERSION = \
-        schemagen full version "2.2.4"
+        schemagen full version "2.2.4-2"
 
 USAGE = \
 Usage: schemagen [-options ...] <java files> \n\
--- a/sources/jaxws_src/src/com/sun/tools/internal/jxc/gen/config/Classes.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/tools/internal/jxc/gen/config/Classes.java	Mon Jun 11 03:24:50 2012 +0100
@@ -78,12 +78,35 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
+        case 2:
+            {
+                if(($__uri.equals("") && $__local.equals("excludes"))) {
+                    $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
+                    $_ngcc_current_state = 6;
+                }
+                else {
+                    $_ngcc_current_state = 1;
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                }
+            }
+            break;
         case 4:
             {
                 $_ngcc_current_state = 3;
                 $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
             }
             break;
+        case 11:
+            {
+                if(($__uri.equals("") && $__local.equals("includes"))) {
+                    $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
+                    $_ngcc_current_state = 10;
+                }
+                else {
+                    unexpectedEnterElement($__qname);
+                }
+            }
+            break;
         case 12:
             {
                 if(($__uri.equals("") && $__local.equals("classes"))) {
@@ -95,34 +118,11 @@
                 }
             }
             break;
-        case 11:
-            {
-                if(($__uri.equals("") && $__local.equals("includes"))) {
-                    $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
-                    $_ngcc_current_state = 10;
-                }
-                else {
-                    unexpectedEnterElement($__qname);
-                }
-            }
-            break;
         case 0:
             {
                 revertToParentFromEnterElement(this, super._cookie, $__uri, $__local, $__qname, $attrs);
             }
             break;
-        case 2:
-            {
-                if(($__uri.equals("") && $__local.equals("excludes"))) {
-                    $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
-                    $_ngcc_current_state = 6;
-                }
-                else {
-                    $_ngcc_current_state = 1;
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-                }
-            }
-            break;
         default:
             {
                 unexpectedEnterElement($__qname);
@@ -137,34 +137,29 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 4:
+        case 1:
             {
-                $_ngcc_current_state = 3;
-                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 8:
-            {
-                if(($__uri.equals("") && $__local.equals("includes"))) {
+                if(($__uri.equals("") && $__local.equals("classes"))) {
                     $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
-                    $_ngcc_current_state = 2;
+                    $_ngcc_current_state = 0;
                 }
                 else {
                     unexpectedLeaveElement($__qname);
                 }
             }
             break;
-        case 0:
-            {
-                revertToParentFromLeaveElement(this, super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
         case 2:
             {
                 $_ngcc_current_state = 1;
                 $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
             }
             break;
+        case 4:
+            {
+                $_ngcc_current_state = 3;
+                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
         case 3:
             {
                 if(($__uri.equals("") && $__local.equals("excludes"))) {
@@ -176,11 +171,16 @@
                 }
             }
             break;
-        case 1:
+        case 0:
             {
-                if(($__uri.equals("") && $__local.equals("classes"))) {
+                revertToParentFromLeaveElement(this, super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 8:
+            {
+                if(($__uri.equals("") && $__local.equals("includes"))) {
                     $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
-                    $_ngcc_current_state = 0;
+                    $_ngcc_current_state = 2;
                 }
                 else {
                     unexpectedLeaveElement($__qname);
@@ -201,6 +201,12 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
+        case 2:
+            {
+                $_ngcc_current_state = 1;
+                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
         case 4:
             {
                 $_ngcc_current_state = 3;
@@ -212,12 +218,6 @@
                 revertToParentFromEnterAttribute(this, super._cookie, $__uri, $__local, $__qname);
             }
             break;
-        case 2:
-            {
-                $_ngcc_current_state = 1;
-                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
         default:
             {
                 unexpectedEnterAttribute($__qname);
@@ -232,6 +232,12 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
+        case 2:
+            {
+                $_ngcc_current_state = 1;
+                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
         case 4:
             {
                 $_ngcc_current_state = 3;
@@ -243,12 +249,6 @@
                 revertToParentFromLeaveAttribute(this, super._cookie, $__uri, $__local, $__qname);
             }
             break;
-        case 2:
-            {
-                $_ngcc_current_state = 1;
-                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
         default:
             {
                 unexpectedLeaveAttribute($__qname);
@@ -260,14 +260,13 @@
     public void text(String $value) throws SAXException {
         int $ai;
         switch($_ngcc_current_state) {
-        case 4:
+        case 2:
             {
-                exclude_content = $value;
-                $_ngcc_current_state = 3;
-                action0();
+                $_ngcc_current_state = 1;
+                $runtime.sendText(super._cookie, $value);
             }
             break;
-        case 8:
+        case 9:
             {
                 include_content = $value;
                 $_ngcc_current_state = 8;
@@ -281,11 +280,32 @@
                 action1();
             }
             break;
+        case 4:
+            {
+                exclude_content = $value;
+                $_ngcc_current_state = 3;
+                action0();
+            }
+            break;
+        case 3:
+            {
+                exclude_content = $value;
+                $_ngcc_current_state = 3;
+                action0();
+            }
+            break;
         case 0:
             {
                 revertToParentFromText(this, super._cookie, $value);
             }
             break;
+        case 8:
+            {
+                include_content = $value;
+                $_ngcc_current_state = 8;
+                action2();
+            }
+            break;
         case 10:
             {
                 __text = $value;
@@ -293,26 +313,6 @@
                 action3();
             }
             break;
-        case 2:
-            {
-                $_ngcc_current_state = 1;
-                $runtime.sendText(super._cookie, $value);
-            }
-            break;
-        case 9:
-            {
-                include_content = $value;
-                $_ngcc_current_state = 8;
-                action2();
-            }
-            break;
-        case 3:
-            {
-                exclude_content = $value;
-                $_ngcc_current_state = 3;
-                action0();
-            }
-            break;
         }
     }
 
--- a/sources/jaxws_src/src/com/sun/tools/internal/jxc/gen/config/Config.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/tools/internal/jxc/gen/config/Config.java	Mon Jun 11 03:24:50 2012 +0100
@@ -77,7 +77,7 @@
         case 1:
             {
                 if(($__uri.equals("") && $__local.equals("schema"))) {
-                    NGCCHandler h = new Schema(this, super._source, $runtime, 15, baseDir);
+                    NGCCHandler h = new Schema(this, super._source, $runtime, 3, baseDir);
                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
@@ -85,15 +85,14 @@
                 }
             }
             break;
-        case 2:
+        case 4:
             {
-                if(($__uri.equals("") && $__local.equals("schema"))) {
-                    NGCCHandler h = new Schema(this, super._source, $runtime, 16, baseDir);
+                if(($__uri.equals("") && $__local.equals("classes"))) {
+                    NGCCHandler h = new Classes(this, super._source, $runtime, 6);
                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
-                    $_ngcc_current_state = 1;
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                    unexpectedEnterElement($__qname);
                 }
             }
             break;
@@ -108,14 +107,20 @@
                 }
             }
             break;
-        case 4:
+        case 0:
             {
-                if(($__uri.equals("") && $__local.equals("classes"))) {
-                    NGCCHandler h = new Classes(this, super._source, $runtime, 18);
+                revertToParentFromEnterElement(this, super._cookie, $__uri, $__local, $__qname, $attrs);
+            }
+            break;
+        case 2:
+            {
+                if(($__uri.equals("") && $__local.equals("schema"))) {
+                    NGCCHandler h = new Schema(this, super._source, $runtime, 4, baseDir);
                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
-                    unexpectedEnterElement($__qname);
+                    $_ngcc_current_state = 1;
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
                 }
             }
             break;
@@ -130,11 +135,6 @@
                 }
             }
             break;
-        case 0:
-            {
-                revertToParentFromEnterElement(this, super._cookie, $__uri, $__local, $__qname, $attrs);
-            }
-            break;
         default:
             {
                 unexpectedEnterElement($__qname);
@@ -160,12 +160,6 @@
                 }
             }
             break;
-        case 2:
-            {
-                $_ngcc_current_state = 1;
-                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
         case 7:
             {
                 if(($ai = $runtime.getAttributeIndex("","baseDir"))>=0) {
@@ -182,6 +176,12 @@
                 revertToParentFromLeaveElement(this, super._cookie, $__uri, $__local, $__qname);
             }
             break;
+        case 2:
+            {
+                $_ngcc_current_state = 1;
+                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
         default:
             {
                 unexpectedLeaveElement($__qname);
@@ -196,12 +196,6 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 2:
-            {
-                $_ngcc_current_state = 1;
-                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
         case 7:
             {
                 if(($__uri.equals("") && $__local.equals("baseDir"))) {
@@ -217,6 +211,12 @@
                 revertToParentFromEnterAttribute(this, super._cookie, $__uri, $__local, $__qname);
             }
             break;
+        case 2:
+            {
+                $_ngcc_current_state = 1;
+                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
         default:
             {
                 unexpectedEnterAttribute($__qname);
@@ -241,17 +241,17 @@
                 }
             }
             break;
+        case 0:
+            {
+                revertToParentFromLeaveAttribute(this, super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
         case 2:
             {
                 $_ngcc_current_state = 1;
                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
-        case 0:
-            {
-                revertToParentFromLeaveAttribute(this, super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
         default:
             {
                 unexpectedLeaveAttribute($__qname);
@@ -263,10 +263,11 @@
     public void text(String $value) throws SAXException {
         int $ai;
         switch($_ngcc_current_state) {
-        case 2:
+        case 6:
             {
-                $_ngcc_current_state = 1;
-                $runtime.sendText(super._cookie, $value);
+                bd = $value;
+                $_ngcc_current_state = 5;
+                action1();
             }
             break;
         case 7:
@@ -277,43 +278,42 @@
                 }
             }
             break;
-        case 6:
-            {
-                bd = $value;
-                $_ngcc_current_state = 5;
-                action1();
-            }
-            break;
         case 0:
             {
                 revertToParentFromText(this, super._cookie, $value);
             }
             break;
+        case 2:
+            {
+                $_ngcc_current_state = 1;
+                $runtime.sendText(super._cookie, $value);
+            }
+            break;
         }
     }
 
     public void onChildCompleted(Object result, int cookie, boolean needAttCheck)throws SAXException {
         switch(cookie) {
-        case 15:
+        case 3:
             {
                 this._schema = ((Schema)result);
                 action0();
                 $_ngcc_current_state = 1;
             }
             break;
-        case 16:
+        case 6:
+            {
+                this.classes = ((Classes)result);
+                $_ngcc_current_state = 2;
+            }
+            break;
+        case 4:
             {
                 this._schema = ((Schema)result);
                 action0();
                 $_ngcc_current_state = 1;
             }
             break;
-        case 18:
-            {
-                this.classes = ((Classes)result);
-                $_ngcc_current_state = 2;
-            }
-            break;
         }
     }
 
--- a/sources/jaxws_src/src/com/sun/tools/internal/jxc/gen/config/Schema.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/tools/internal/jxc/gen/config/Schema.java	Mon Jun 11 03:24:50 2012 +0100
@@ -121,6 +121,17 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
+        case 1:
+            {
+                if(($__uri.equals("") && $__local.equals("schema"))) {
+                    $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
+                    $_ngcc_current_state = 0;
+                }
+                else {
+                    unexpectedLeaveElement($__qname);
+                }
+            }
+            break;
         case 2:
             {
                 if(($ai = $runtime.getAttributeIndex("","location"))>=0) {
@@ -150,17 +161,6 @@
                 revertToParentFromLeaveElement(this, super._cookie, $__uri, $__local, $__qname);
             }
             break;
-        case 1:
-            {
-                if(($__uri.equals("") && $__local.equals("schema"))) {
-                    $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
-                    $_ngcc_current_state = 0;
-                }
-                else {
-                    unexpectedLeaveElement($__qname);
-                }
-            }
-            break;
         default:
             {
                 unexpectedLeaveElement($__qname);
@@ -216,12 +216,6 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 2:
-            {
-                $_ngcc_current_state = 1;
-                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
         case 7:
             {
                 if(($__uri.equals("") && $__local.equals("namespace"))) {
@@ -232,6 +226,12 @@
                 }
             }
             break;
+        case 2:
+            {
+                $_ngcc_current_state = 1;
+                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
         case 6:
             {
                 $_ngcc_current_state = 2;
@@ -264,6 +264,13 @@
     public void text(String $value) throws SAXException {
         int $ai;
         switch($_ngcc_current_state) {
+        case 4:
+            {
+                loc = $value;
+                $_ngcc_current_state = 3;
+                action0();
+            }
+            break;
         case 2:
             {
                 if(($ai = $runtime.getAttributeIndex("","location"))>=0) {
@@ -294,13 +301,6 @@
                 }
             }
             break;
-        case 4:
-            {
-                loc = $value;
-                $_ngcc_current_state = 3;
-                action0();
-            }
-            break;
         case 0:
             {
                 revertToParentFromText(this, super._cookie, $value);
--- a/sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/parser/SOAPExtensionHandler.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/tools/internal/ws/wsdl/parser/SOAPExtensionHandler.java	Mon Jun 11 03:24:50 2012 +0100
@@ -232,127 +232,110 @@
 //            context.fireDoneParsingEntity(getBodyQName(), body);
             return true;
         } else if (XmlUtil.matchesTagNS(e, getHeaderQName())) {
-            context.push();
-            context.registerNamespaces(e);
-
-            SOAPHeader header = new SOAPHeader(context.getLocation(e));
-
-            String use = XmlUtil.getAttributeOrNull(e, Constants.ATTR_USE);
-            if (use != null) {
-                if (use.equals(Constants.ATTRVALUE_LITERAL)) {
-                    header.setUse(SOAPUse.LITERAL);
-                } else if (use.equals(Constants.ATTRVALUE_ENCODED)) {
-                    header.setUse(SOAPUse.ENCODED);
-                } else {
-                    Util.fail(
-                        "parsing.invalidAttributeValue",
-                        Constants.ATTR_USE,
-                        use);
-                }
-            }
-
-            String namespace =
-                XmlUtil.getAttributeOrNull(e, Constants.ATTR_NAMESPACE);
-            if (namespace != null) {
-                header.setNamespace(namespace);
-            }
-
-            String encodingStyle =
-                XmlUtil.getAttributeOrNull(e, Constants.ATTR_ENCODING_STYLE);
-            if (encodingStyle != null) {
-                header.setEncodingStyle(encodingStyle);
-            }
-
-            String part = XmlUtil.getAttributeOrNull(e, Constants.ATTR_PART);
-            if (part != null) {
-                header.setPart(part);
-            }
-
-            String messageAttr =
-                XmlUtil.getAttributeOrNull(e, Constants.ATTR_MESSAGE);
-            if (messageAttr != null) {
-                header.setMessage(context.translateQualifiedName(context.getLocation(e), messageAttr));
-            }
-
-            for (Iterator iter = XmlUtil.getAllChildren(e); iter.hasNext();) {
-                Element e2 = Util.nextElement(iter);
-                if (e2 == null)
-                    break;
-
-                if (XmlUtil
-                    .matchesTagNS(e2, getHeaderfaultQName())) {
-                    context.push();
-                    context.registerNamespaces(e);
-
-                    SOAPHeaderFault headerfault = new SOAPHeaderFault(context.getLocation(e));
-
-                    String use2 =
-                        XmlUtil.getAttributeOrNull(e2, Constants.ATTR_USE);
-                    if (use2 != null) {
-                        if (use2.equals(Constants.ATTRVALUE_LITERAL)) {
-                            headerfault.setUse(SOAPUse.LITERAL);
-                        } else if (use.equals(Constants.ATTRVALUE_ENCODED)) {
-                            headerfault.setUse(SOAPUse.ENCODED);
-                        } else {
-                            Util.fail(
-                                "parsing.invalidAttributeValue",
-                                Constants.ATTR_USE,
-                                use2);
-                        }
-                    }
-
-                    String namespace2 =
-                        XmlUtil.getAttributeOrNull(
-                            e2,
-                            Constants.ATTR_NAMESPACE);
-                    if (namespace2 != null) {
-                        headerfault.setNamespace(namespace2);
-                    }
-
-                    String encodingStyle2 =
-                        XmlUtil.getAttributeOrNull(
-                            e2,
-                            Constants.ATTR_ENCODING_STYLE);
-                    if (encodingStyle2 != null) {
-                        headerfault.setEncodingStyle(encodingStyle2);
-                    }
-
-                    String part2 =
-                        XmlUtil.getAttributeOrNull(e2, Constants.ATTR_PART);
-                    if (part2 != null) {
-                        headerfault.setPart(part2);
-                    }
-
-                    String messageAttr2 =
-                        XmlUtil.getAttributeOrNull(e2, Constants.ATTR_MESSAGE);
-                    if (messageAttr2 != null) {
-                        headerfault.setMessage(
-                            context.translateQualifiedName(context.getLocation(e2), messageAttr2));
-                    }
-
-                    header.add(headerfault);
-                    context.pop();
-                } else {
-                    Util.fail(
-                        "parsing.invalidElement",
-                        e2.getTagName(),
-                        e2.getNamespaceURI());
-                }
-            }
-
-            parent.addExtension(header);
-            context.pop();
-            context.fireDoneParsingEntity(getHeaderQName(), header);
-            return true;
+            return handleHeaderElement(parent, e, context);
         } else {
-            Util.fail(
-                "parsing.invalidExtensionElement",
-                e.getTagName(),
-                e.getNamespaceURI());
+            Util.fail("parsing.invalidExtensionElement", e.getTagName(), e.getNamespaceURI());
             return false; // keep compiler happy
         }
     }
 
+    private boolean handleHeaderElement(TWSDLExtensible parent, Element e, TWSDLParserContextImpl context) {
+        context.push();
+        context.registerNamespaces(e);
+
+        SOAPHeader header = new SOAPHeader(context.getLocation(e));
+
+        String use = XmlUtil.getAttributeOrNull(e, Constants.ATTR_USE);
+        if (use != null) {
+            if (use.equals(Constants.ATTRVALUE_LITERAL)) {
+                header.setUse(SOAPUse.LITERAL);
+            } else if (use.equals(Constants.ATTRVALUE_ENCODED)) {
+                header.setUse(SOAPUse.ENCODED);
+            } else {
+                Util.fail("parsing.invalidAttributeValue", Constants.ATTR_USE, use);
+            }
+        }
+
+        String namespace = XmlUtil.getAttributeOrNull(e, Constants.ATTR_NAMESPACE);
+        if (namespace != null) {
+            header.setNamespace(namespace);
+        }
+
+        String encodingStyle = XmlUtil.getAttributeOrNull(e, Constants.ATTR_ENCODING_STYLE);
+        if (encodingStyle != null) {
+            header.setEncodingStyle(encodingStyle);
+        }
+
+        String part = XmlUtil.getAttributeOrNull(e, Constants.ATTR_PART);
+        if (part != null) {
+            header.setPart(part);
+        }
+
+        String messageAttr = XmlUtil.getAttributeOrNull(e, Constants.ATTR_MESSAGE);
+        if (messageAttr != null) {
+            header.setMessage(context.translateQualifiedName(context.getLocation(e), messageAttr));
+        }
+
+        for (Iterator iter = XmlUtil.getAllChildren(e); iter.hasNext();) {
+            Element e2 = Util.nextElement(iter);
+            if (e2 == null)
+                break;
+
+            if (XmlUtil.matchesTagNS(e2, getHeaderfaultQName())) {
+                handleHeaderFaultElement(e, context, header, use, e2);
+            } else {
+                Util.fail("parsing.invalidElement", e2.getTagName(), e2.getNamespaceURI());
+            }
+        }
+
+        parent.addExtension(header);
+        context.pop();
+        context.fireDoneParsingEntity(getHeaderQName(), header);
+        return true;
+    }
+
+    private void handleHeaderFaultElement(Element e, TWSDLParserContextImpl context, SOAPHeader header, String use, Element e2) {
+        context.push();
+        context.registerNamespaces(e);
+
+        SOAPHeaderFault headerfault = new SOAPHeaderFault(context.getLocation(e));
+
+        String use2 = XmlUtil.getAttributeOrNull(e2, Constants.ATTR_USE);
+        if (use2 != null) {
+            if (use2.equals(Constants.ATTRVALUE_LITERAL)) {
+                headerfault.setUse(SOAPUse.LITERAL);
+            } else if (use.equals(Constants.ATTRVALUE_ENCODED)) {
+                headerfault.setUse(SOAPUse.ENCODED);
+            } else {
+                Util.fail("parsing.invalidAttributeValue", Constants.ATTR_USE, use2);
+            }
+        }
+
+        String namespace2 = XmlUtil.getAttributeOrNull(e2, Constants.ATTR_NAMESPACE);
+        if (namespace2 != null) {
+            headerfault.setNamespace(namespace2);
+        }
+
+        String encodingStyle2 = XmlUtil.getAttributeOrNull(e2, Constants.ATTR_ENCODING_STYLE);
+        if (encodingStyle2 != null) {
+            headerfault.setEncodingStyle(encodingStyle2);
+        }
+
+        String part2 = XmlUtil.getAttributeOrNull(e2, Constants.ATTR_PART);
+        if (part2 != null) {
+            headerfault.setPart(part2);
+        }
+
+        String messageAttr2 = XmlUtil.getAttributeOrNull(e2, Constants.ATTR_MESSAGE);
+        if (messageAttr2 != null) {
+            headerfault.setMessage(
+                context.translateQualifiedName(context.getLocation(e2), messageAttr2));
+        }
+
+        header.add(headerfault);
+        context.pop();
+    }
+
     public boolean handleFaultExtension(
         TWSDLParserContext context,
         TWSDLExtensible parent,
@@ -398,6 +381,10 @@
             context.pop();
 //            context.fireDoneParsingEntity(getFaultQName(), fault);
             return true;
+        } else if (XmlUtil.matchesTagNS(e, getHeaderQName())) {
+            // although SOAP spec doesn't define meaning of this extension; it is allowed
+            // to be here, so we have to accept it, not fail (bug 13576977)
+            return handleHeaderElement(parent, e, (TWSDLParserContextImpl) context);
         } else {
             Util.fail(
                 "parsing.invalidExtensionElement",
--- a/sources/jaxws_src/src/com/sun/tools/internal/xjc/MessageBundle.properties	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/tools/internal/xjc/MessageBundle.properties	Mon Jun 11 03:24:50 2012 +0100
@@ -65,6 +65,7 @@
 \ \ -npa               :  suppress generation of package level annotations (**/package-info.java)\n\
 \ \ -no-header         :  suppress generation of a file header with timestamp\n\
 \ \ -target (2.0|2.1)  :  behave like XJC 2.0 or 2.1 and generate code that doesn't use any 2.2 features.\n\
+\ \ -encoding <encoding> :  specify character encoding for generated source files\n\
 \ \ -enableIntrospection :  enable correct generation of Boolean getters/setters to enable Bean Introspection apis \n\
 \ \ -contentForWildcard  :  generates content property for types with multiple xs:any derived elements \n\
 \ \ -xmlschema         :  treat input as W3C XML Schema (default)\n\
@@ -128,6 +129,9 @@
 Driver.UnrecognizedParameter = \
         unrecognized parameter {0}
 
+Driver.UnsupportedEncoding = \
+        unsupported encoding: {0}
+
 Driver.MissingGrammar = \
         grammar is not specified
 
@@ -152,23 +156,23 @@
 Driver.FailedToGenerateCode = \
         Failed to produce code.
 
-# DO NOT localize the 2.2.4 string - it is a token for an ant <replaceFilter>
+# DO NOT localize the 2.2.4-2 string - it is a token for an ant <replaceFilter>
 Driver.FilePrologComment = \
-        This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 \n\
+        This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2 \n\
         See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> \n\
         Any modifications to this file will be lost upon recompilation of the source schema. \n\
         Generated on: {0} \n
 
 Driver.Version = \
-        xjc 2.2.4
+        xjc 2.2.4-2
 
 Driver.FullVersion = \
-        xjc full version "2.2.4-1b10"
+        xjc full version "2.2.4-2-b${build.number}"
 
-Driver.BuildID = 2.2.4
+Driver.BuildID = 2.2.4-2
 
 # for JDK integration - include version in source zip
-jaxb.jdk.version=2.2.4
+jaxb.jdk.version=2.2.4-2
 
 # see java.text.SimpleDateFormat for format syntax
 Driver.DateFormat = \
--- a/sources/jaxws_src/src/com/sun/tools/internal/xjc/Messages.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/tools/internal/xjc/Messages.java	Mon Jun 11 03:24:50 2012 +0100
@@ -110,6 +110,9 @@
     static final String UNRECOGNIZED_PARAMETER = // 1 arg
         "Driver.UnrecognizedParameter";
 
+    static final String UNSUPPORTED_ENCODING = // 1 arg
+            "Driver.UnsupportedEncoding";
+
     static final String MISSING_GRAMMAR = // 0 args
         "Driver.MissingGrammar";
 
--- a/sources/jaxws_src/src/com/sun/tools/internal/xjc/ModelLoader.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/tools/internal/xjc/ModelLoader.java	Mon Jun 11 03:24:50 2012 +0100
@@ -110,6 +110,7 @@
         this.errorReceiver = new ErrorReceiverFilter(er);
     }
 
+    @SuppressWarnings("CallToThreadDumpStack")
     private Model load() {
         Model grammar;
 
--- a/sources/jaxws_src/src/com/sun/tools/internal/xjc/Options.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/tools/internal/xjc/Options.java	Mon Jun 11 03:24:50 2012 +0100
@@ -60,6 +60,8 @@
 import com.sun.tools.internal.xjc.model.Model;
 import com.sun.tools.internal.xjc.reader.Util;
 import com.sun.xml.internal.bind.api.impl.NameConverter;
+import java.nio.charset.Charset;
+import java.nio.charset.IllegalCharsetNameException;
 import java.util.Locale;
 import java.util.logging.Level;
 import java.util.logging.Logger;
@@ -98,6 +100,9 @@
     /** When on, generates content property for types with multiple xs:any derived elements (which is supposed to be correct behaviour) */
     public boolean contentForWildcard;
 
+    /** Encoding to be used by generated java sources, null for platform default. */
+    public String encoding;
+
     /**
      * Check the source schemas with extra scrutiny.
      * The exact meaning depends on the schema language.
@@ -652,6 +657,20 @@
             return 1;
         }
 
+        if (args[i].equals("-encoding")) {
+            encoding = requireArgument("-encoding", args, ++i);
+            try {
+                if (!Charset.isSupported(encoding)) {
+                    throw new BadCommandLineException(
+                        Messages.format(Messages.UNSUPPORTED_ENCODING, encoding));
+                }
+            } catch (IllegalCharsetNameException icne) {
+                throw new BadCommandLineException(
+                    Messages.format(Messages.UNSUPPORTED_ENCODING, encoding));
+            }
+            return 2;
+        }
+
         // see if this is one of the extensions
         for( Plugin plugin : getAllPlugins() ) {
             try {
@@ -860,7 +879,7 @@
      * Creates a configured CodeWriter that produces files into the specified directory.
      */
     public CodeWriter createCodeWriter() throws IOException {
-        return createCodeWriter(new FileCodeWriter( targetDir, readOnly ));
+        return createCodeWriter(new FileCodeWriter( targetDir, readOnly, encoding ));
     }
 
     /**
--- a/sources/jaxws_src/src/com/sun/tools/internal/xjc/SchemaCache.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/tools/internal/xjc/SchemaCache.java	Mon Jun 11 03:24:50 2012 +0100
@@ -25,8 +25,8 @@
 
 package com.sun.tools.internal.xjc;
 
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
+//import java.lang.reflect.Field;
+//import java.lang.reflect.Method;
 import java.net.URL;
 
 import javax.xml.validation.Schema;
@@ -38,9 +38,7 @@
 import org.xml.sax.SAXException;
 
 /**
- * Wraps a JAXP {@link Schema} object and lazily instanciate it.
- *
- * Also fix bug 6246922.
+ * Wraps a JAXP {@link Schema} object and lazily instantiate it.
  *
  * This object is thread-safe. There should be only one instance of
  * this for the whole VM.
@@ -70,7 +68,7 @@
         }
 
         ValidatorHandler handler = schema.newValidatorHandler();
-        fixValidatorBug6246922(handler);
+//        fixValidatorBug6246922(handler);
 
         return handler;
     }
@@ -79,42 +77,42 @@
     /**
      * Fix the bug 6246922 if we are running inside Tiger.
      */
-    private void fixValidatorBug6246922(ValidatorHandler handler) {
-        try {
-            Field f = handler.getClass().getDeclaredField("errorReporter");
-            f.setAccessible(true);
-            Object errorReporter = f.get(handler);
-
-            Method get = errorReporter.getClass().getDeclaredMethod("getMessageFormatter",String.class);
-            Object currentFormatter = get.invoke(errorReporter,"http://www.w3.org/TR/xml-schema-1");
-            if(currentFormatter!=null)
-                return;
-
-            // otherwise attempt to set
-            Method put = null;
-            for( Method m : errorReporter.getClass().getDeclaredMethods() ) {
-                if(m.getName().equals("putMessageFormatter")) {
-                    put = m;
-                    break;
-                }
-            }
-            if(put==null)       return; // unable to find the putMessageFormatter
-
-            ClassLoader cl = errorReporter.getClass().getClassLoader();
-            String className = "com.sun.org.apache.xerces.internal.impl.xs.XSMessageFormatter";
-            Class xsformatter;
-            if(cl==null) {
-                xsformatter = Class.forName(className);
-            } else {
-                xsformatter = cl.loadClass(className);
-            }
-
-            put.invoke(errorReporter,"http://www.w3.org/TR/xml-schema-1",xsformatter.newInstance());
-        } catch( Throwable t ) {
-            // this code is heavily relying on an implementation detail of JAXP RI,
-            // so any error is likely because of the incompatible change in it.
-            // don't die if that happens. Just continue. The worst case is a illegible
-            // error messages, which are much better than not compiling schemas at all.
-        }
-    }
+//    private void fixValidatorBug6246922(ValidatorHandler handler) {
+//        try {
+//            Field f = handler.getClass().getDeclaredField("errorReporter");
+//            f.setAccessible(true);
+//            Object errorReporter = f.get(handler);
+//
+//            Method get = errorReporter.getClass().getDeclaredMethod("getMessageFormatter",String.class);
+//            Object currentFormatter = get.invoke(errorReporter,"http://www.w3.org/TR/xml-schema-1");
+//            if(currentFormatter!=null)
+//                return;
+//
+//            // otherwise attempt to set
+//            Method put = null;
+//            for( Method m : errorReporter.getClass().getDeclaredMethods() ) {
+//                if(m.getName().equals("putMessageFormatter")) {
+//                    put = m;
+//                    break;
+//                }
+//            }
+//            if(put==null)       return; // unable to find the putMessageFormatter
+//
+//            ClassLoader cl = errorReporter.getClass().getClassLoader();
+//            String className = "com.sun.org.apache.xerces.internal.impl.xs.XSMessageFormatter";
+//            Class xsformatter;
+//            if(cl==null) {
+//                xsformatter = Class.forName(className);
+//            } else {
+//                xsformatter = cl.loadClass(className);
+//            }
+//
+//            put.invoke(errorReporter,"http://www.w3.org/TR/xml-schema-1",xsformatter.newInstance());
+//        } catch( Throwable t ) {
+//            // this code is heavily relying on an implementation detail of JAXP RI,
+//            // so any error is likely because of the incompatible change in it.
+//            // don't die if that happens. Just continue. The worst case is a illegible
+//            // error messages, which are much better than not compiling schemas at all.
+//        }
+//    }
 }
--- a/sources/jaxws_src/src/com/sun/tools/internal/xjc/addon/episode/PluginImpl.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/tools/internal/xjc/addon/episode/PluginImpl.java	Mon Jun 11 03:24:50 2012 +0100
@@ -31,8 +31,10 @@
 import java.io.OutputStream;
 import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
 import com.sun.tools.internal.xjc.BadCommandLineException;
 import com.sun.tools.internal.xjc.Options;
@@ -64,6 +66,7 @@
 import com.sun.xml.internal.xsom.XSXPath;
 import com.sun.xml.internal.xsom.visitor.XSFunction;
 import com.sun.xml.internal.bind.v2.schemagen.episode.Bindings;
+import com.sun.xml.internal.bind.v2.schemagen.episode.SchemaBindings;
 
 import org.xml.sax.ErrorHandler;
 import org.xml.sax.SAXException;
@@ -103,7 +106,7 @@
         try {
             // reorganize qualifying components by their namespaces to
             // generate the list nicely
-            Map<XSSchema, List<OutlineAdaptor>> perSchema = new HashMap<XSSchema,List<OutlineAdaptor>>();
+            Map<XSSchema, PerSchemaOutlineAdaptors> perSchema = new HashMap<XSSchema,PerSchemaOutlineAdaptors>();
             boolean hasComponentInNoNamespace = false;
 
             // Combine classes and enums into a single list
@@ -112,16 +115,18 @@
             for (ClassOutline co : model.getClasses()) {
                 XSComponent sc = co.target.getSchemaComponent();
                 String fullName = co.implClass.fullName();
+                String packageName = co.implClass.getPackage().name();
                 OutlineAdaptor adaptor = new OutlineAdaptor(sc,
-                        OutlineAdaptor.OutlineType.CLASS, fullName);
+                        OutlineAdaptor.OutlineType.CLASS, fullName, packageName);
                 outlines.add(adaptor);
             }
 
             for (EnumOutline eo : model.getEnums()) {
                 XSComponent sc = eo.target.getSchemaComponent();
                 String fullName = eo.clazz.fullName();
+                String packageName = eo.clazz.getPackage().name();
                 OutlineAdaptor adaptor = new OutlineAdaptor(sc,
-                        OutlineAdaptor.OutlineType.ENUM, fullName);
+                        OutlineAdaptor.OutlineType.ENUM, fullName, packageName);
                 outlines.add(adaptor);
             }
 
@@ -135,9 +140,9 @@
                 if (decl.isLocal())
                     continue;   // local components cannot be referenced from outside, so no need to list.
 
-                List<OutlineAdaptor> list = perSchema.get(decl.getOwnerSchema());
+                PerSchemaOutlineAdaptors list = perSchema.get(decl.getOwnerSchema());
                 if (list == null) {
-                    list = new ArrayList<OutlineAdaptor>();
+                    list = new PerSchemaOutlineAdaptors();
                     perSchema.put(decl.getOwnerSchema(), list);
                 }
 
@@ -157,16 +162,25 @@
             bindings._comment("\n\n"+opt.getPrologComment()+"\n  ");
 
             // generate listing per schema
-            for (Map.Entry<XSSchema,List<OutlineAdaptor>> e : perSchema.entrySet()) {
+            for (Map.Entry<XSSchema,PerSchemaOutlineAdaptors> e : perSchema.entrySet()) {
+                PerSchemaOutlineAdaptors ps = e.getValue();
                 Bindings group = bindings.bindings();
                 String tns = e.getKey().getTargetNamespace();
                 if(!tns.equals(""))
                     group._namespace(tns,"tns");
 
                 group.scd("x-schema::"+(tns.equals("")?"":"tns"));
-                group.schemaBindings().map(false);
+                SchemaBindings schemaBindings = group.schemaBindings();
+                                schemaBindings.map(false);
+                                if (ps.packageNames.size() == 1)
+                                {
+                                        final String packageName = ps.packageNames.iterator().next();
+                                        if (packageName != null && packageName.length() > 0) {
+                                                schemaBindings._package().name(packageName);
+                                        }
+                                }
 
-                for (OutlineAdaptor oa : e.getValue()) {
+                                for (OutlineAdaptor oa : ps.outlineAdaptors) {
                     Bindings child = group.bindings();
                     oa.buildBindings(child);
                 }
@@ -295,12 +309,14 @@
         private final XSComponent schemaComponent;
         private final OutlineType outlineType;
         private final String implName;
+        private final String packageName;
 
         public OutlineAdaptor(XSComponent schemaComponent, OutlineType outlineType,
-                              String implName) {
+                              String implName, String packageName) {
             this.schemaComponent = schemaComponent;
             this.outlineType = outlineType;
             this.implName = implName;
+            this.packageName = packageName;
         }
 
         private void buildBindings(Bindings bindings) {
@@ -308,4 +324,18 @@
             outlineType.bindingsBuilder.build(this, bindings);
         }
     }
+
+    private final static class PerSchemaOutlineAdaptors {
+
+        private final List<OutlineAdaptor> outlineAdaptors = new ArrayList<OutlineAdaptor>();
+
+        private final Set<String> packageNames = new HashSet<String>();
+
+        private void add(OutlineAdaptor outlineAdaptor)
+        {
+                this.outlineAdaptors.add(outlineAdaptor);
+                this.packageNames.add(outlineAdaptor.packageName);
+        }
+
+    }
 }
--- a/sources/jaxws_src/src/com/sun/tools/internal/xjc/api/util/APTClassLoader.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/tools/internal/xjc/api/util/APTClassLoader.java	Mon Jun 11 03:24:50 2012 +0100
@@ -109,6 +109,12 @@
             return defineClass(name,buf,0,buf.length);
         } catch (IOException e) {
             throw new ClassNotFoundException(name,e);
+        } finally {
+            try {
+                is.close();
+            } catch (IOException ioe) {
+                //ignore
+            }
         }
     }
 
--- a/sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlAnyElementWriter.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlAnyElementWriter.java	Mon Jun 11 03:24:50 2012 +0100
@@ -34,10 +34,10 @@
 {
 
 
-    XmlAnyElementWriter lax(boolean value);
-
     XmlAnyElementWriter value(Class value);
 
     XmlAnyElementWriter value(JType value);
 
+    XmlAnyElementWriter lax(boolean value);
+
 }
--- a/sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlAttributeWriter.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlAttributeWriter.java	Mon Jun 11 03:24:50 2012 +0100
@@ -33,10 +33,10 @@
 {
 
 
+    XmlAttributeWriter name(String value);
+
     XmlAttributeWriter namespace(String value);
 
     XmlAttributeWriter required(boolean value);
 
-    XmlAttributeWriter name(String value);
-
 }
--- a/sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlElementDeclWriter.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlElementDeclWriter.java	Mon Jun 11 03:24:50 2012 +0100
@@ -34,18 +34,18 @@
 {
 
 
+    XmlElementDeclWriter name(String value);
+
+    XmlElementDeclWriter scope(Class value);
+
+    XmlElementDeclWriter scope(JType value);
+
     XmlElementDeclWriter namespace(String value);
 
+    XmlElementDeclWriter defaultValue(String value);
+
     XmlElementDeclWriter substitutionHeadNamespace(String value);
 
     XmlElementDeclWriter substitutionHeadName(String value);
 
-    XmlElementDeclWriter name(String value);
-
-    XmlElementDeclWriter defaultValue(String value);
-
-    XmlElementDeclWriter scope(Class value);
-
-    XmlElementDeclWriter scope(JType value);
-
 }
--- a/sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlElementRefWriter.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlElementRefWriter.java	Mon Jun 11 03:24:50 2012 +0100
@@ -34,14 +34,14 @@
 {
 
 
-    XmlElementRefWriter namespace(String value);
-
-    XmlElementRefWriter required(boolean value);
-
     XmlElementRefWriter name(String value);
 
     XmlElementRefWriter type(Class value);
 
     XmlElementRefWriter type(JType value);
 
+    XmlElementRefWriter namespace(String value);
+
+    XmlElementRefWriter required(boolean value);
+
 }
--- a/sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlElementWrapperWriter.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlElementWrapperWriter.java	Mon Jun 11 03:24:50 2012 +0100
@@ -33,12 +33,12 @@
 {
 
 
+    XmlElementWrapperWriter name(String value);
+
     XmlElementWrapperWriter namespace(String value);
 
     XmlElementWrapperWriter required(boolean value);
 
     XmlElementWrapperWriter nillable(boolean value);
 
-    XmlElementWrapperWriter name(String value);
-
 }
--- a/sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlElementWriter.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlElementWriter.java	Mon Jun 11 03:24:50 2012 +0100
@@ -34,18 +34,18 @@
 {
 
 
-    XmlElementWriter namespace(String value);
-
-    XmlElementWriter required(boolean value);
-
-    XmlElementWriter nillable(boolean value);
-
     XmlElementWriter name(String value);
 
     XmlElementWriter type(Class value);
 
     XmlElementWriter type(JType value);
 
+    XmlElementWriter namespace(String value);
+
     XmlElementWriter defaultValue(String value);
 
+    XmlElementWriter required(boolean value);
+
+    XmlElementWriter nillable(boolean value);
+
 }
--- a/sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlJavaTypeAdapterWriter.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlJavaTypeAdapterWriter.java	Mon Jun 11 03:24:50 2012 +0100
@@ -34,12 +34,12 @@
 {
 
 
+    XmlJavaTypeAdapterWriter type(Class value);
+
+    XmlJavaTypeAdapterWriter type(JType value);
+
     XmlJavaTypeAdapterWriter value(Class value);
 
     XmlJavaTypeAdapterWriter value(JType value);
 
-    XmlJavaTypeAdapterWriter type(Class value);
-
-    XmlJavaTypeAdapterWriter type(JType value);
-
 }
--- a/sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlNsWriter.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlNsWriter.java	Mon Jun 11 03:24:50 2012 +0100
@@ -33,8 +33,8 @@
 {
 
 
+    XmlNsWriter prefix(String value);
+
     XmlNsWriter namespaceURI(String value);
 
-    XmlNsWriter prefix(String value);
-
 }
--- a/sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlRootElementWriter.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlRootElementWriter.java	Mon Jun 11 03:24:50 2012 +0100
@@ -33,8 +33,8 @@
 {
 
 
+    XmlRootElementWriter name(String value);
+
     XmlRootElementWriter namespace(String value);
 
-    XmlRootElementWriter name(String value);
-
 }
--- a/sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlSchemaTypeWriter.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlSchemaTypeWriter.java	Mon Jun 11 03:24:50 2012 +0100
@@ -34,12 +34,12 @@
 {
 
 
-    XmlSchemaTypeWriter namespace(String value);
-
     XmlSchemaTypeWriter name(String value);
 
     XmlSchemaTypeWriter type(Class value);
 
     XmlSchemaTypeWriter type(JType value);
 
+    XmlSchemaTypeWriter namespace(String value);
+
 }
--- a/sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlSchemaWriter.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlSchemaWriter.java	Mon Jun 11 03:24:50 2012 +0100
@@ -34,14 +34,14 @@
 {
 
 
+    XmlSchemaWriter location(String value);
+
     XmlSchemaWriter namespace(String value);
 
+    XmlNsWriter xmlns();
+
     XmlSchemaWriter elementFormDefault(XmlNsForm value);
 
     XmlSchemaWriter attributeFormDefault(XmlNsForm value);
 
-    XmlSchemaWriter location(String value);
-
-    XmlNsWriter xmlns();
-
 }
--- a/sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlTypeWriter.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/annotation/spec/XmlTypeWriter.java	Mon Jun 11 03:24:50 2012 +0100
@@ -34,6 +34,8 @@
 {
 
 
+    XmlTypeWriter name(String value);
+
     XmlTypeWriter namespace(String value);
 
     XmlTypeWriter propOrder(String value);
@@ -44,6 +46,4 @@
 
     XmlTypeWriter factoryMethod(String value);
 
-    XmlTypeWriter name(String value);
-
 }
--- a/sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/bean/PackageOutlineImpl.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/bean/PackageOutlineImpl.java	Mon Jun 11 03:24:50 2012 +0100
@@ -56,7 +56,7 @@
  * information.
  *
  * @author
- *     Kohsuke Kawaguchi (kohsuke.kawaguchi@sun.com)
+ *     Kohsuke Kawaguchi (kohsuke.kawaguchi@sun.com), Martin Grebac (martin.grebac@oracle.com)
  */
 public final class PackageOutlineImpl implements PackageOutline {
     private final Model _model;
@@ -68,6 +68,7 @@
 
     private String mostUsedNamespaceURI;
     private XmlNsForm elementFormDefault;
+    private XmlNsForm attributeFormDefault;
 
     /**
      * The namespace URI most commonly used in classes in this package.
@@ -83,6 +84,16 @@
     }
 
     /**
+     * The attribute form default for this package.
+     * <p>
+     * The value is computed by examining what would yield the smallest generated code.
+     */
+    public XmlNsForm getAttributeFormDefault() {
+        assert attributeFormDefault!=null;
+        return attributeFormDefault;
+    }
+
+    /**
      * The element form default for this package.
      * <p>
      * The value is computed by examining what would yield the smallest generated code.
@@ -174,16 +185,26 @@
                 p.accept(propVisitor);
         }
         mostUsedNamespaceURI = getMostUsedURI(uriCountMap);
+
         elementFormDefault = getFormDefault();
+        attributeFormDefault = XmlNsForm.UNQUALIFIED;
+        try {
+            XmlNsForm modelValue = _model.getAttributeFormDefault(mostUsedNamespaceURI);
+            attributeFormDefault = modelValue;
+        } catch (Exception e) {
+            // ignore and accept default
+        }
 
         // generate package-info.java
         // we won't get this far if the user specified -npa
-        if(!mostUsedNamespaceURI.equals("") || elementFormDefault==XmlNsForm.QUALIFIED) {
+        if(!mostUsedNamespaceURI.equals("") || elementFormDefault==XmlNsForm.QUALIFIED || (attributeFormDefault == XmlNsForm.QUALIFIED)) {
             XmlSchemaWriter w = _model.strategy.getPackage(_package, Aspect.IMPLEMENTATION).annotate2(XmlSchemaWriter.class);
             if(!mostUsedNamespaceURI.equals(""))
                 w.namespace(mostUsedNamespaceURI);
             if(elementFormDefault==XmlNsForm.QUALIFIED)
                 w.elementFormDefault(elementFormDefault);
+            if(attributeFormDefault==XmlNsForm.QUALIFIED)
+                w.attributeFormDefault(attributeFormDefault);
         }
     }
 
@@ -255,4 +276,5 @@
         if (getMostUsedURI(propUriCountMap).equals("")) return XmlNsForm.UNQUALIFIED;
         else return XmlNsForm.QUALIFIED;
     }
+
 }
--- a/sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/bean/field/SingleField.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/tools/internal/xjc/generator/bean/field/SingleField.java	Mon Jun 11 03:24:50 2012 +0100
@@ -96,10 +96,17 @@
         // if Type is a wrapper and we have a default value,
         // we can use the primitive type.
         JType getterType;
-        if (defaultValue!=null || forcePrimitiveAccess)
-            getterType = exposedType.unboxify();
-        else
-            getterType = exposedType;
+        if (getOptions().enableIntrospection) {
+            if (forcePrimitiveAccess)
+                getterType = exposedType.unboxify();
+            else
+                getterType = exposedType;
+        } else {
+            if (defaultValue != null || forcePrimitiveAccess)
+                getterType = exposedType.unboxify();
+            else
+                getterType = exposedType;
+        }
 
         JMethod $get = writer.declareMethod( getterType,getGetterMethod() );
         String javadoc = prop.javadoc;
--- a/sources/jaxws_src/src/com/sun/tools/internal/xjc/model/Model.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/tools/internal/xjc/model/Model.java	Mon Jun 11 03:24:50 2012 +0100
@@ -71,7 +71,7 @@
  *
  * <p>
  * A {@link Model} is a schema language neutral representation of the
- * result of a scehma parsing. The back-end then works against this model
+ * result of a schema parsing. The back-end then works against this model
  * to turn this into a series of Java source code.
  *
  * @author Kohsuke Kawaguchi
--- a/sources/jaxws_src/src/com/sun/tools/internal/xjc/outline/PackageOutline.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/tools/internal/xjc/outline/PackageOutline.java	Mon Jun 11 03:24:50 2012 +0100
@@ -93,4 +93,10 @@
      */
     public XmlNsForm getElementFormDefault();
 
+    /**
+     * The attribute form default for this package.
+     * <p>
+     * The value is computed by examining what would yield the smallest generated code.
+     */
+    public XmlNsForm getAttributeFormDefault();
 }
--- a/sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/Ring.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/Ring.java	Mon Jun 11 03:24:50 2012 +0100
@@ -65,11 +65,7 @@
 
     private final Map<Class,Object> components = new HashMap<Class,Object>();
 
-    private static final ThreadLocal<Ring> instances = new ThreadLocal<Ring>() {
-        public Ring initialValue() {
-            return new Ring();
-        }
-    };
+    private static final ThreadLocal<Ring> instances = new ThreadLocal<Ring>();
 
     private Ring() {}
 
@@ -118,8 +114,11 @@
      * Starts a new scope.
      */
     public static Ring begin() {
-        Ring r = instances.get();
-        instances.set(new Ring());
+        Ring r = null;
+        synchronized (instances) {
+            r = instances.get();
+            instances.set(new Ring());
+        }
         return r;
     }
 
@@ -127,6 +126,9 @@
      * Ends a scope.
      */
     public static void end(Ring old) {
-        instances.set(old);
+        synchronized (instances) {
+            instances.remove();
+            instances.set(old);
+        }
     }
 }
--- a/sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/SimpleTypeBuilder.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/SimpleTypeBuilder.java	Mon Jun 11 03:24:50 2012 +0100
@@ -666,9 +666,11 @@
                     // look at the one attached to the facet object
                     mem = builder.getBindInfo(facet).get(BIEnumMember.class);
 
-                if( mem!=null ) {
+                if (mem!=null) {
                     name = mem.name;
-                    mdoc = mem.javadoc;
+                    if (mdoc != null) {
+                        mdoc = mem.javadoc;
+                    }
                 }
 
                 if(name==null) {
--- a/sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/parser/SchemaConstraintChecker.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/tools/internal/xjc/reader/xmlschema/parser/SchemaConstraintChecker.java	Mon Jun 11 03:24:50 2012 +0100
@@ -67,14 +67,6 @@
 
         SchemaFactory sf = SchemaFactory.newInstance(W3C_XML_SCHEMA_NS_URI);
         sf.setErrorHandler(errorFilter);
-        try {
-            // By default the SchemaFactory imposes a limit of 5000 on
-            // xsd:sequence maxOccurs if a SecurityManager is
-            // installed.  This breaks the specification of xjc,
-            // causing TCK failures.
-            sf.setProperty("http://apache.org/xml/properties/security-manager", null);
-        } catch (SAXException e) {
-        }
         if( entityResolver != null ) {
             sf.setResourceResolver(new LSResourceResolver() {
                 public LSInput resolveResource(String type, String namespaceURI, String publicId, String systemId, String baseURI) {
--- a/sources/jaxws_src/src/com/sun/xml/internal/bind/AccessorFactoryImpl.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/bind/AccessorFactoryImpl.java	Mon Jun 11 03:24:50 2012 +0100
@@ -32,7 +32,7 @@
 
 import com.sun.xml.internal.bind.v2.runtime.reflect.Accessor;
 
-public class AccessorFactoryImpl implements AccessorFactory {
+public class AccessorFactoryImpl implements InternalAccessorFactory {
 
     private static AccessorFactoryImpl instance = new AccessorFactoryImpl();
     private AccessorFactoryImpl(){}
@@ -58,6 +58,23 @@
     }
 
     /**
+     * Access a field of the class.
+     *
+     * @param bean the class to be processed.
+     * @param field the field within the class to be accessed.
+     * @param readOnly  the isStatic value of the field's modifier.
+     * @param supressWarning supress security warning about accessing fields through reflection
+     * @return Accessor the accessor for this field
+     *
+     * @throws JAXBException reports failures of the method.
+     */
+    public Accessor createFieldAccessor(Class bean, Field field, boolean readOnly, boolean supressWarning) {
+        return readOnly
+                ? new Accessor.ReadOnlyFieldReflection(field, supressWarning)
+                : new Accessor.FieldReflection(field, supressWarning);
+    }
+
+    /**
      * Access a property of the class.
      *
      * @param bean the class to be processed
--- a/sources/jaxws_src/src/com/sun/xml/internal/bind/DatatypeConverterImpl.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/bind/DatatypeConverterImpl.java	Mon Jun 11 03:24:50 2012 +0100
@@ -37,6 +37,8 @@
 import javax.xml.datatype.DatatypeFactory;
 import javax.xml.namespace.NamespaceContext;
 import javax.xml.namespace.QName;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamWriter;
 
 /**
  * This class is the JAXB RI's default implementation of the
@@ -50,43 +52,25 @@
  * <p>
  * This class is responsible for whitespace normalization.
  *
- * @author <ul><li>Ryan Shoemaker, Sun Microsystems, Inc.</li></ul>
+ * @author <ul><li>Ryan Shoemaker, Martin Grebac</li></ul>
  * @since JAXB1.0
+ * @deprecated in JAXB 2.2.4 - use javax.xml.bind.DatatypeConverterImpl instead
+ * or let us know why you can't
  */
-public final class DatatypeConverterImpl implements DatatypeConverterInterface {
-
-    /**
-     * To avoid re-creating instances, we cache one instance.
-     */
-    public static final DatatypeConverterInterface theInstance = new DatatypeConverterImpl();
+public final class DatatypeConverterImpl {
 
     protected DatatypeConverterImpl() {
-    }
-
-    public String parseString(String lexicalXSDString) {
-        return lexicalXSDString;
-    }
-
-    public BigInteger parseInteger(String lexicalXSDInteger) {
-        return _parseInteger(lexicalXSDInteger);
+        // shall not be used
     }
 
     public static BigInteger _parseInteger(CharSequence s) {
         return new BigInteger(removeOptionalPlus(WhiteSpaceProcessor.trim(s)).toString());
     }
 
-    public String printInteger(BigInteger val) {
-        return _printInteger(val);
-    }
-
     public static String _printInteger(BigInteger val) {
         return val.toString();
     }
 
-    public int parseInt(String s) {
-        return _parseInt(s);
-    }
-
     /**
      * Faster but less robust String->int conversion.
      *
@@ -121,34 +105,18 @@
         return r * sign;
     }
 
-    public long parseLong(String lexicalXSLong) {
-        return _parseLong(lexicalXSLong);
-    }
-
     public static long _parseLong(CharSequence s) {
         return Long.valueOf(removeOptionalPlus(WhiteSpaceProcessor.trim(s)).toString());
     }
 
-    public short parseShort(String lexicalXSDShort) {
-        return _parseShort(lexicalXSDShort);
-    }
-
     public static short _parseShort(CharSequence s) {
         return (short) _parseInt(s);
     }
 
-    public String printShort(short val) {
-        return _printShort(val);
-    }
-
     public static String _printShort(short val) {
         return String.valueOf(val);
     }
 
-    public BigDecimal parseDecimal(String content) {
-        return _parseDecimal(content);
-    }
-
     public static BigDecimal _parseDecimal(CharSequence content) {
         content = WhiteSpaceProcessor.trim(content);
 
@@ -171,10 +139,6 @@
         // 1 (not 1.0) is returned from "1.000"
     }
 
-    public float parseFloat(String lexicalXSDFloat) {
-        return _parseFloat(lexicalXSDFloat);
-    }
-
     public static float _parseFloat(CharSequence _val) {
         String s = WhiteSpaceProcessor.trim(_val).toString();
         /* Incompatibilities of XML Schema's float "xfloat" and Java's float "jfloat"
@@ -212,10 +176,6 @@
         return Float.parseFloat(s);
     }
 
-    public String printFloat(float v) {
-        return _printFloat(v);
-    }
-
     public static String _printFloat(float v) {
         if (Float.isNaN(v)) {
             return "NaN";
@@ -229,10 +189,6 @@
         return String.valueOf(v);
     }
 
-    public double parseDouble(String lexicalXSDDouble) {
-        return _parseDouble(lexicalXSDDouble);
-    }
-
     public static double _parseDouble(CharSequence _val) {
         String val = WhiteSpaceProcessor.trim(_val).toString();
 
@@ -257,10 +213,6 @@
         return Double.parseDouble(val);
     }
 
-    public boolean parseBoolean(String lexicalXSDBoolean) {
-        return _parseBoolean(lexicalXSDBoolean);
-    }
-
     public static Boolean _parseBoolean(CharSequence literal) {
         if (literal == null) {
             return null;
@@ -328,39 +280,23 @@
         if (i == len) {
             return value;
         } else {
-            return false;
+            return null;
         }
 //            throw new IllegalArgumentException("String \"" + literal + "\" is not valid boolean value.");
     }
 
-    public String printBoolean(boolean val) {
-        return val ? "true" : "false";
-    }
-
     public static String _printBoolean(boolean val) {
         return val ? "true" : "false";
     }
 
-    public byte parseByte(String lexicalXSDByte) {
-        return _parseByte(lexicalXSDByte);
-    }
-
     public static byte _parseByte(CharSequence literal) {
         return (byte) _parseInt(literal);
     }
 
-    public String printByte(byte val) {
-        return _printByte(val);
-    }
-
     public static String _printByte(byte val) {
         return String.valueOf(val);
     }
 
-    public QName parseQName(String lexicalXSDQName, NamespaceContext nsc) {
-        return _parseQName(lexicalXSDQName, nsc);
-    }
-
     /**
      * @return null if fails to convert.
      */
@@ -414,143 +350,31 @@
         return new QName(uri, localPart, prefix);
     }
 
-    public Calendar parseDateTime(String lexicalXSDDateTime) {
-        return _parseDateTime(lexicalXSDDateTime);
-    }
-
     public static GregorianCalendar _parseDateTime(CharSequence s) {
         String val = WhiteSpaceProcessor.trim(s).toString();
         return datatypeFactory.newXMLGregorianCalendar(val).toGregorianCalendar();
     }
 
-    public String printDateTime(Calendar val) {
-        return _printDateTime(val);
-    }
-
     public static String _printDateTime(Calendar val) {
         return CalendarFormatter.doFormat("%Y-%M-%DT%h:%m:%s%z", val);
     }
 
-    public byte[] parseBase64Binary(String lexicalXSDBase64Binary) {
-        return _parseBase64Binary(lexicalXSDBase64Binary);
-    }
-
-    public byte[] parseHexBinary(String s) {
-        final int len = s.length();
-
-        // "111" is not a valid hex encoding.
-        if (len % 2 != 0) {
-            throw new IllegalArgumentException("hexBinary needs to be even-length: " + s);
-        }
-
-        byte[] out = new byte[len / 2];
-
-        for (int i = 0; i < len; i += 2) {
-            int h = hexToBin(s.charAt(i));
-            int l = hexToBin(s.charAt(i + 1));
-            if (h == -1 || l == -1) {
-                throw new IllegalArgumentException("contains illegal character for hexBinary: " + s);
-            }
-
-            out[i / 2] = (byte) (h * 16 + l);
-        }
-
-        return out;
-    }
-
-    private static int hexToBin(char ch) {
-        if ('0' <= ch && ch <= '9') {
-            return ch - '0';
-        }
-        if ('A' <= ch && ch <= 'F') {
-            return ch - 'A' + 10;
-        }
-        if ('a' <= ch && ch <= 'f') {
-            return ch - 'a' + 10;
-        }
-        return -1;
-    }
-    private static final char[] hexCode = "0123456789ABCDEF".toCharArray();
-
-    public String printHexBinary(byte[] data) {
-        StringBuilder r = new StringBuilder(data.length * 2);
-        for (byte b : data) {
-            r.append(hexCode[(b >> 4) & 0xF]);
-            r.append(hexCode[(b & 0xF)]);
-        }
-        return r.toString();
-    }
-
-    public long parseUnsignedInt(String lexicalXSDUnsignedInt) {
-        return _parseLong(lexicalXSDUnsignedInt);
-    }
-
-    public String printUnsignedInt(long val) {
-        return _printLong(val);
-    }
-
-    public int parseUnsignedShort(String lexicalXSDUnsignedShort) {
-        return _parseInt(lexicalXSDUnsignedShort);
-    }
-
-    public Calendar parseTime(String lexicalXSDTime) {
-        return datatypeFactory.newXMLGregorianCalendar(lexicalXSDTime).toGregorianCalendar();
-    }
-
-    public String printTime(Calendar val) {
-        return CalendarFormatter.doFormat("%h:%m:%s%z", val);
-    }
-
-    public Calendar parseDate(String lexicalXSDDate) {
-        return datatypeFactory.newXMLGregorianCalendar(lexicalXSDDate).toGregorianCalendar();
-    }
-
-    public String printDate(Calendar val) {
-        return _printDate(val);
-    }
-
     public static String _printDate(Calendar val) {
         return CalendarFormatter.doFormat((new StringBuilder("%Y-%M-%D").append("%z")).toString(),val);
     }
 
-    public String parseAnySimpleType(String lexicalXSDAnySimpleType) {
-        return lexicalXSDAnySimpleType;
-//        return (String)SimpleURType.theInstance._createValue( lexicalXSDAnySimpleType, null );
-    }
-
-    public String printString(String val) {
-//        return StringType.theInstance.convertToLexicalValue( val, null );
-        return val;
-    }
-
-    public String printInt(int val) {
-        return _printInt(val);
-    }
-
     public static String _printInt(int val) {
         return String.valueOf(val);
     }
 
-    public String printLong(long val) {
-        return _printLong(val);
-    }
-
     public static String _printLong(long val) {
         return String.valueOf(val);
     }
 
-    public String printDecimal(BigDecimal val) {
-        return _printDecimal(val);
-    }
-
     public static String _printDecimal(BigDecimal val) {
         return val.toPlainString();
     }
 
-    public String printDouble(double v) {
-        return _printDouble(v);
-    }
-
     public static String _printDouble(double v) {
         if (Double.isNaN(v)) {
             return "NaN";
@@ -564,10 +388,6 @@
         return String.valueOf(v);
     }
 
-    public String printQName(QName val, NamespaceContext nsc) {
-        return _printQName(val, nsc);
-    }
-
     public static String _printQName(QName val, NamespaceContext nsc) {
         // Double-check
         String qname;
@@ -583,27 +403,6 @@
         return qname;
     }
 
-    public String printBase64Binary(byte[] val) {
-        return _printBase64Binary(val);
-    }
-
-    public String printUnsignedShort(int val) {
-        return String.valueOf(val);
-    }
-
-    public String printAnySimpleType(String val) {
-        return val;
-    }
-
-    /**
-     * Just return the string passed as a parameter but
-     * installs an instance of this class as the DatatypeConverter
-     * implementation. Used from static fixed value initializers.
-     */
-    public static String installHook(String s) {
-        DatatypeConverter.setDatatypeConverter(theInstance);
-        return s;
-    }
 // base64 decoder
     private static final byte[] decodeMap = initDecodeMap();
     private static final byte PADDING = 127;
@@ -812,6 +611,41 @@
         return ptr;
     }
 
+    public static void _printBase64Binary(byte[] input, int offset, int len, XMLStreamWriter output) throws XMLStreamException {
+        int remaining = len;
+        int i;
+        char[] buf = new char[4];
+
+        for (i = offset; remaining >= 3; remaining -= 3, i += 3) {
+            buf[0] = encode(input[i] >> 2);
+            buf[1] = encode(
+                    ((input[i] & 0x3) << 4)
+                    | ((input[i + 1] >> 4) & 0xF));
+            buf[2] = encode(
+                    ((input[i + 1] & 0xF) << 2)
+                    | ((input[i + 2] >> 6) & 0x3));
+            buf[3] = encode(input[i + 2] & 0x3F);
+            output.writeCharacters(buf, 0, 4);
+        }
+        // encode when exactly 1 element (left) to encode
+        if (remaining == 1) {
+            buf[0] = encode(input[i] >> 2);
+            buf[1] = encode(((input[i]) & 0x3) << 4);
+            buf[2] = '=';
+            buf[3] = '=';
+            output.writeCharacters(buf, 0, 4);
+        }
+        // encode when exactly 2 elements (left) to encode
+        if (remaining == 2) {
+            buf[0] = encode(input[i] >> 2);
+            buf[1] = encode(((input[i] & 0x3) << 4)
+                    | ((input[i + 1] >> 4) & 0xF));
+            buf[2] = encode((input[i + 1] & 0xF) << 2);
+            buf[3] = '=';
+            output.writeCharacters(buf, 0, 4);
+        }
+    }
+
     /**
      * Encodes a byte array into another byte array by first doing base64 encoding
      * then encoding the result in ASCII.
--- a/sources/jaxws_src/src/com/sun/xml/internal/bind/api/JAXBRIContext.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/bind/api/JAXBRIContext.java	Mon Jun 11 03:24:50 2012 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -98,6 +98,49 @@
     }
 
     /**
+     * Creates a new {@link JAXBRIContext}.
+     *
+     * <p>
+     * {@link JAXBContext#newInstance(Class[]) JAXBContext.newInstance()} methods may
+     * return other JAXB providers that are not compatible with the JAX-RPC RI.
+     * This method guarantees that the JAX-WS RI will finds the JAXB RI.
+     *
+     * @param classes
+     *      Classes to be bound. See {@link JAXBContext#newInstance(Class[])} for the meaning.
+     * @param typeRefs
+     *      See {@link #TYPE_REFERENCES} for the meaning of this parameter.
+     *      Can be null.
+     * @param subclassReplacements
+     *      See {@link #SUBCLASS_REPLACEMENTS} for the meaning of this parameter.
+     *      Can be null.
+     * @param defaultNamespaceRemap
+     *      See {@link #DEFAULT_NAMESPACE_REMAP} for the meaning of this parameter.
+     *      Can be null (and should be null for ordinary use of JAXB.)
+     * @param c14nSupport
+     *      See {@link #CANONICALIZATION_SUPPORT} for the meaning of this parameter.
+     * @param ar
+     *      See {@link #ANNOTATION_READER} for the meaning of this parameter.
+     *      Can be null.
+     * @param xmlAccessorFactorySupport
+     *      See {@link #XMLACCESSORFACTORY_SUPPORT} for the meaning of this parameter.
+     * @param allNillable
+     *      See {@link #TREAT_EVERYTHING_NILLABLE} for the meaning of this parameter.
+     * @param retainPropertyInfo
+     *      See {@link #RETAIN_REFERENCE_TO_INFO} for the meaning of this parameter.
+     * @param supressAccessorWarnings
+     *      See {@link #SUPRESS_ACCESSOR_WARNINGS} for the meaning of this parameter.
+     */
+    public static JAXBRIContext newInstance(@NotNull Class[] classes,
+       @Nullable Collection<TypeReference> typeRefs,
+       @Nullable Map<Class,Class> subclassReplacements,
+       @Nullable String defaultNamespaceRemap, boolean c14nSupport,
+       @Nullable RuntimeAnnotationReader ar,
+       boolean xmlAccessorFactorySupport, boolean allNillable, boolean retainPropertyInfo, boolean supressAccessorWarnings) throws JAXBException {
+        return ContextFactory.createContext(classes, typeRefs, subclassReplacements,
+                defaultNamespaceRemap, c14nSupport, ar, xmlAccessorFactorySupport, allNillable, retainPropertyInfo, supressAccessorWarnings);
+    }
+
+    /**
      * @deprecated
      *      Compatibility with older versions.
      */
--- a/sources/jaxws_src/src/com/sun/xml/internal/bind/v2/ClassFactory.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/bind/v2/ClassFactory.java	Mon Jun 11 03:24:50 2012 +0100
@@ -59,11 +59,22 @@
      * To avoid synchronization among threads, we use {@link ThreadLocal}.
      */
     private static final ThreadLocal<Map<Class, WeakReference<Constructor>>> tls = new ThreadLocal<Map<Class,WeakReference<Constructor>>>() {
+        @Override
         public Map<Class,WeakReference<Constructor>> initialValue() {
             return new WeakHashMap<Class,WeakReference<Constructor>>();
         }
     };
 
+    public static void cleanCache() {
+        if (tls != null) {
+            try {
+                tls.remove();
+            } catch (Exception e) {
+                logger.log(Level.WARNING, "Unable to clean Thread Local cache of classes used in Unmarshaller: {0}", e.getLocalizedMessage());
+            }
+        }
+    }
+
     /**
      * Creates a new instance of the class but throw exceptions without catching it.
      */
@@ -184,8 +195,6 @@
      */
     public static <T> Class<? extends T> inferImplClass(Class<T> fieldType, Class[] knownImplClasses) {
         if(!fieldType.isInterface())
-            // instanciable class?
-            // TODO: check if it has a default constructor
             return fieldType;
 
         for( Class<?> impl : knownImplClasses ) {
--- a/sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/annotation/Messages.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/annotation/Messages.java	Mon Jun 11 03:24:50 2012 +0100
@@ -34,6 +34,7 @@
 enum Messages {
     // AnnotationParser
     DUPLICATE_ANNOTATIONS,
+    CLASS_NOT_FOUND
     ;
 
     private static final ResourceBundle rb = ResourceBundle.getBundle(Messages.class.getName());
--- a/sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/annotation/Messages.properties	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/annotation/Messages.properties	Mon Jun 11 03:24:50 2012 +0100
@@ -25,3 +25,7 @@
 
 DUPLICATE_ANNOTATIONS = \
     Annotation "{0}" is present on both "{1}" and "{2}"
+
+CLASS_NOT_FOUND = \
+    \nError occured while invoking reflection on target classes. Make sure all referenced classes are on classpath: {0} \
+    \nException: {1}
--- a/sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/annotation/RuntimeInlineAnnotationReader.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/annotation/RuntimeInlineAnnotationReader.java	Mon Jun 11 03:24:50 2012 +0100
@@ -125,7 +125,7 @@
             throw new IllegalAccessError(e.getMessage());
         } catch (InvocationTargetException e) {
             // impossible
-            throw new InternalError(e.getMessage());
+            throw new InternalError(Messages.CLASS_NOT_FOUND.format(a.annotationType(), e.getMessage()));
         } catch (NoSuchMethodException e) {
             throw new NoSuchMethodError(e.getMessage());
         }
--- a/sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/annotation/XmlAttributeQuick.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/annotation/XmlAttributeQuick.java	Mon Jun 11 03:24:50 2012 +0100
@@ -52,6 +52,10 @@
         return XmlAttribute.class;
     }
 
+    public String name() {
+        return core.name();
+    }
+
     public String namespace() {
         return core.namespace();
     }
@@ -60,8 +64,4 @@
         return core.required();
     }
 
-    public String name() {
-        return core.name();
-    }
-
 }
--- a/sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/annotation/XmlElementDeclQuick.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/annotation/XmlElementDeclQuick.java	Mon Jun 11 03:24:50 2012 +0100
@@ -52,10 +52,22 @@
         return XmlElementDecl.class;
     }
 
+    public String name() {
+        return core.name();
+    }
+
+    public Class scope() {
+        return core.scope();
+    }
+
     public String namespace() {
         return core.namespace();
     }
 
+    public String defaultValue() {
+        return core.defaultValue();
+    }
+
     public String substitutionHeadNamespace() {
         return core.substitutionHeadNamespace();
     }
@@ -64,16 +76,4 @@
         return core.substitutionHeadName();
     }
 
-    public String name() {
-        return core.name();
-    }
-
-    public String defaultValue() {
-        return core.defaultValue();
-    }
-
-    public Class scope() {
-        return core.scope();
-    }
-
 }
--- a/sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/annotation/XmlElementQuick.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/annotation/XmlElementQuick.java	Mon Jun 11 03:24:50 2012 +0100
@@ -52,10 +52,22 @@
         return XmlElement.class;
     }
 
+    public String name() {
+        return core.name();
+    }
+
+    public Class type() {
+        return core.type();
+    }
+
     public String namespace() {
         return core.namespace();
     }
 
+    public String defaultValue() {
+        return core.defaultValue();
+    }
+
     public boolean required() {
         return core.required();
     }
@@ -64,16 +76,4 @@
         return core.nillable();
     }
 
-    public String name() {
-        return core.name();
-    }
-
-    public Class type() {
-        return core.type();
-    }
-
-    public String defaultValue() {
-        return core.defaultValue();
-    }
-
 }
--- a/sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/annotation/XmlElementRefQuick.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/annotation/XmlElementRefQuick.java	Mon Jun 11 03:24:50 2012 +0100
@@ -52,6 +52,14 @@
         return XmlElementRef.class;
     }
 
+    public String name() {
+        return core.name();
+    }
+
+    public Class type() {
+        return core.type();
+    }
+
     public String namespace() {
         return core.namespace();
     }
@@ -60,12 +68,4 @@
         return core.required();
     }
 
-    public String name() {
-        return core.name();
-    }
-
-    public Class type() {
-        return core.type();
-    }
-
 }
--- a/sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/annotation/XmlRootElementQuick.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/annotation/XmlRootElementQuick.java	Mon Jun 11 03:24:50 2012 +0100
@@ -52,12 +52,12 @@
         return XmlRootElement.class;
     }
 
+    public String name() {
+        return core.name();
+    }
+
     public String namespace() {
         return core.namespace();
     }
 
-    public String name() {
-        return core.name();
-    }
-
 }
--- a/sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/annotation/XmlSchemaQuick.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/annotation/XmlSchemaQuick.java	Mon Jun 11 03:24:50 2012 +0100
@@ -54,10 +54,18 @@
         return XmlSchema.class;
     }
 
+    public String location() {
+        return core.location();
+    }
+
     public String namespace() {
         return core.namespace();
     }
 
+    public XmlNs[] xmlns() {
+        return core.xmlns();
+    }
+
     public XmlNsForm elementFormDefault() {
         return core.elementFormDefault();
     }
@@ -66,12 +74,4 @@
         return core.attributeFormDefault();
     }
 
-    public String location() {
-        return core.location();
-    }
-
-    public XmlNs[] xmlns() {
-        return core.xmlns();
-    }
-
 }
--- a/sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/annotation/XmlSchemaTypeQuick.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/annotation/XmlSchemaTypeQuick.java	Mon Jun 11 03:24:50 2012 +0100
@@ -52,10 +52,6 @@
         return XmlSchemaType.class;
     }
 
-    public String namespace() {
-        return core.namespace();
-    }
-
     public String name() {
         return core.name();
     }
@@ -64,4 +60,8 @@
         return core.type();
     }
 
+    public String namespace() {
+        return core.namespace();
+    }
+
 }
--- a/sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/annotation/XmlTypeQuick.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/annotation/XmlTypeQuick.java	Mon Jun 11 03:24:50 2012 +0100
@@ -52,6 +52,10 @@
         return XmlType.class;
     }
 
+    public String name() {
+        return core.name();
+    }
+
     public String namespace() {
         return core.namespace();
     }
@@ -68,8 +72,4 @@
         return core.factoryMethod();
     }
 
-    public String name() {
-        return core.name();
-    }
-
 }
--- a/sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/impl/ClassInfoImpl.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/bind/v2/model/impl/ClassInfoImpl.java	Mon Jun 11 03:24:50 2012 +0100
@@ -192,17 +192,16 @@
         // the class must have the default constructor
         if (!hasFactoryConstructor(t)){
             if(!nav().hasDefaultConstructor(clazz)){
-                Messages msg;
-                if(nav().isInnerClass(clazz))
-                    msg = Messages.CANT_HANDLE_INNER_CLASS;
-                else
-                    msg = Messages.NO_DEFAULT_CONSTRUCTOR;
-
-                builder.reportError(new IllegalAnnotationException(
-                    msg.format(nav().getClassName(clazz)), this ));
+                if(nav().isInnerClass(clazz)) {
+                    builder.reportError(new IllegalAnnotationException(
+                        Messages.CANT_HANDLE_INNER_CLASS.format(nav().getClassName(clazz)), this ));
+                } else if (elementName != null) {
+                    builder.reportError(new IllegalAnnotationException(
+                        Messages.NO_DEFAULT_CONSTRUCTOR.format(nav().getClassName(clazz)), this ));
+                }
             }
         }
-        }
+    }
 
     public ClassInfoImpl<T,C,F,M> getBaseClass() {
         if (!baseClassComputed) {
@@ -800,6 +799,10 @@
                     group = PropertyGroup.MAP;
                 else
                     group = PropertyGroup.ELEMENT;
+            } else if (group.equals(PropertyGroup.ELEMENT)) { // see issue 791 - make sure @XmlElement annotated map property is mapped to map
+                if (nav().isSubClassOf( seed.getRawType(), nav().ref(Map.class)) && !seed.hasAnnotation(XmlJavaTypeAdapter.class)) {
+                    group = PropertyGroup.MAP;
+                }
             }
 
             // group determined by now
@@ -953,11 +956,11 @@
                 // checking if the method is overriding others isn't free,
                 // so we don't compute it if it's not necessary.
                 isOverriding = (getter!=null && nav().isOverriding(getter,c))
-                            || (setter!=null && nav().isOverriding(setter,c));
+                            && (setter!=null && nav().isOverriding(setter,c));
             }
 
             if((at==XmlAccessType.PROPERTY && !isOverriding)
-            || (at==XmlAccessType.PUBLIC_MEMBER && isConsideredPublic(getter) && isConsideredPublic(setter) && !isOverriding)
+                || (at==XmlAccessType.PUBLIC_MEMBER && isConsideredPublic(getter) && isConsideredPublic(setter) && !isOverriding)
             || hasAnnotation) {
                 // make sure that the type is consistent
                 if(getter!=null && setter!=null
@@ -1012,7 +1015,6 @@
         if(shouldRecurseSuperClass(sc))
             collectGetterSetters(sc,getters,setters);
 
-
         Collection<? extends M> methods = nav().getDeclaredMethods(c);
         Map<String,List<M>> allSetters = new LinkedHashMap<String,List<M>>();
         for( M method : methods ) {
@@ -1029,24 +1031,22 @@
                 continue;
             }
 
-            // don't look at XmlTransient on properties. We'll deal with that later.
-
             // is this a get method?
             String propName = getPropertyNameFromGetMethod(name);
             if(propName!=null && arity==0) {
-                getters.put(propName,method);
+                    getters.put(propName,method);
                 used = true;
             }
 
             // is this a set method?
             propName = getPropertyNameFromSetMethod(name);
             if(propName!=null && arity==1) {
-                List<M> propSetters = allSetters.get(propName);
-                if(null == propSetters){
-                    propSetters = new ArrayList<M>();
-                    allSetters.put(propName, propSetters);
-                }
-                propSetters.add(method);
+                    List<M> propSetters = allSetters.get(propName);
+                    if(null == propSetters){
+                        propSetters = new ArrayList<M>();
+                        allSetters.put(propName, propSetters);
+                    }
+                    propSetters.add(method);
                 used = true; // used check performed later
             }
 
@@ -1311,6 +1311,7 @@
         return (Method) factoryMethod;
     }
 
+    @Override
     public String toString() {
         return "ClassInfo("+clazz+')';
     }
--- a/sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/AnyTypeBeanInfo.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/AnyTypeBeanInfo.java	Mon Jun 11 03:24:50 2012 +0100
@@ -140,13 +140,18 @@
         NamespaceContext2 context = target.getNamespaceContext();
         for( int i=0; i<len; i++ ) {
             Attr a = (Attr)al.item(i);
-            if( "xmlns".equals(a.getPrefix()) ) {
+            if ("xmlns".equals(a.getPrefix())) {
                 context.force(a.getValue(), a.getLocalName());
                 continue;
             }
-            if( "xmlns".equals(a.getName()) ) {
-                context.force(a.getValue(), "");
-                continue;
+            if ("xmlns".equals(a.getName())) {
+                if (element instanceof org.w3c.dom.Element) {
+                    context.declareNamespace(a.getValue(), null, false);
+                    continue;
+                } else {
+                    context.force(a.getValue(), "");
+                    continue;
+                }
             }
             String nsUri = a.getNamespaceURI();
             if(nsUri!=null && nsUri.length()>0)
--- a/sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/ClassBeanInfoImpl.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/ClassBeanInfoImpl.java	Mon Jun 11 03:24:50 2012 +0100
@@ -187,7 +187,9 @@
     private void checkOverrideProperties(Property p) {
         ClassBeanInfoImpl bi = this;
         while ((bi = bi.superClazz) != null) {
-            for (Property superProperty : bi.properties) {
+            Property[] props = bi.properties;
+            if (props == null) break;
+            for (Property superProperty : props) {
                 if (superProperty == null) break;
                 String spName = superProperty.getFieldName();
                 if ((spName != null) && (spName.equals(p.getFieldName()))) {
--- a/sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/Coordinator.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/Coordinator.java	Mon Jun 11 03:24:50 2012 +0100
@@ -126,6 +126,9 @@
      * Sohuld be called at the end of the episode to avoid memory leak.
      */
     protected final void resetThreadAffinity() {
+        if (activeTable != null) {
+            activeTable.remove();
+        }
         if(debugTableNPE)
             guyWhoSetTheTableToNull = new Exception(); // remember that we set it to null
         table = null;
@@ -154,12 +157,12 @@
 
     // this much is necessary to avoid calling get and set twice when we push.
     private static final ThreadLocal<Object[]> activeTable = new ThreadLocal<Object[]>() {
+        @Override
         public Object[] initialValue() {
             return new Object[1];
         }
     };
 
-
 //
 //
 // ErrorHandler implementation
--- a/sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/JAXBContextImpl.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/JAXBContextImpl.java	Mon Jun 11 03:24:50 2012 +0100
@@ -136,7 +136,7 @@
      * whereas {@link JAXBContextImpl} is.
      * Lazily created.
      */
-    private static SAXTransformerFactory tf;
+    private volatile static SAXTransformerFactory tf;
 
     /**
      * Shared instance of {@link DocumentBuilder}.
@@ -703,11 +703,14 @@
      */
     static Transformer createTransformer() {
         try {
-            synchronized(JAXBContextImpl.class) {
-                if(tf==null)
-                    tf = (SAXTransformerFactory)TransformerFactory.newInstance();
-                return tf.newTransformer();
+            if (tf==null) {
+                synchronized(JAXBContextImpl.class) {
+                    if (tf==null) {
+                        tf = (SAXTransformerFactory)TransformerFactory.newInstance();
+                    }
+                }
             }
+            return tf.newTransformer();
         } catch (TransformerConfigurationException e) {
             throw new Error(e); // impossible
         }
@@ -718,11 +721,14 @@
      */
     public static TransformerHandler createTransformerHandler() {
         try {
-            synchronized(JAXBContextImpl.class) {
-                if(tf==null)
-                    tf = (SAXTransformerFactory)TransformerFactory.newInstance();
-                return tf.newTransformerHandler();
+            if (tf==null) {
+                synchronized(JAXBContextImpl.class) {
+                    if (tf==null) {
+                        tf = (SAXTransformerFactory)TransformerFactory.newInstance();
+                    }
+                }
             }
+            return tf.newTransformerHandler();
         } catch (TransformerConfigurationException e) {
             throw new Error(e); // impossible
         }
--- a/sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/XMLSerializer.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/XMLSerializer.java	Mon Jun 11 03:24:50 2012 +0100
@@ -842,6 +842,8 @@
     }
 
     public void close() {
+        out = null;
+        clearCurrentProperty();
         popCoordinator();
         resetThreadAffinity();
     }
@@ -1063,6 +1065,15 @@
     }
 
     /**
+     * Takes care of cleaning the currentProperty. Must be called from the same thread that created the XMLSerializer.
+     */
+    public void clearCurrentProperty() {
+        if (currentProperty != null) {
+            currentProperty.remove();
+        }
+    }
+
+    /**
      * When called from within the realm of the marshaller, this method
      * returns the current {@link XMLSerializer} in charge.
      */
--- a/sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/property/ArrayERProperty.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/property/ArrayERProperty.java	Mon Jun 11 03:24:50 2012 +0100
@@ -156,7 +156,7 @@
     }
 
     /**
-     * Serializses the items of the list.
+     * Serializes the items of the list.
      * This method is invoked after the necessary wrapper tag is produced (if necessary.)
      *
      * @param list
@@ -165,7 +165,7 @@
     protected abstract void serializeListBody(BeanT o, XMLSerializer w, ListT list) throws IOException, XMLStreamException, SAXException, AccessorException;
 
     /**
-     * Creates the unmarshaller to unmarshal the body.
+     * Creates the unmarshaler to unmarshal the body.
      */
     protected abstract void createBodyUnmarshaller(UnmarshallerChain chain, QNameMap<ChildLoader> loaders);
 
--- a/sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/property/SingleMapNodeProperty.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/property/SingleMapNodeProperty.java	Mon Jun 11 03:24:50 2012 +0100
@@ -166,6 +166,7 @@
             super.leaveElement(state, ea);
             try {
                 acc.set(target.get(), map.get());
+                target.remove();
             } catch (AccessorException ex) {
                 handleGenericException(ex,true);
             }
@@ -238,9 +239,7 @@
     private static final Receiver keyReceiver = new ReceiverImpl(0);
     private static final Receiver valueReceiver = new ReceiverImpl(1);
 
-
-
-
+    @Override
     public void serializeBody(BeanT o, XMLSerializer w, Object outerPeer) throws SAXException, AccessorException, IOException, XMLStreamException {
         ValueT v = acc.get(o);
         if(v!=null) {
--- a/sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/Accessor.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/Accessor.java	Mon Jun 11 03:24:50 2012 +0100
@@ -390,7 +390,7 @@
     }
 
     /**
-     * A version of {@link GetterSetterReflection} thaat doesn't have any setter.
+     * A version of {@link GetterSetterReflection} that doesn't have any setter.
      * <p/>
      * <p/>
      * This provides a user-friendly error message.
--- a/sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/opt/OptimizedTransducedAccessorFactory.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/reflect/opt/OptimizedTransducedAccessorFactory.java	Mon Jun 11 03:24:50 2012 +0100
@@ -67,7 +67,7 @@
     }
 
     /**
-     * Gets the optimizd {@link TransducedAccessor} if possible.
+     * Gets the optimized {@link TransducedAccessor} if possible.
      *
      * @return null
      *      if for some reason it fails to create an optimized version.
--- a/sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/unmarshaller/Base64Data.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/unmarshaller/Base64Data.java	Mon Jun 11 03:24:50 2012 +0100
@@ -32,6 +32,9 @@
 
 import javax.activation.DataHandler;
 import javax.activation.DataSource;
+import javax.xml.stream.XMLStreamException;
+
+import javax.xml.stream.XMLStreamWriter;
 
 import com.sun.xml.internal.bind.DatatypeConverterImpl;
 import com.sun.xml.internal.bind.v2.runtime.XMLSerializer;
@@ -56,14 +59,12 @@
  * @see XmlVisitor#text(CharSequence)
  * @see XMLSerializer#text(Pcdata,String)
  *
- * @author Kohsuke Kawaguchi
+ * @author Kohsuke Kawaguchi, Martin Grebac
  */
 public final class Base64Data extends Pcdata {
 
     // either dataHandler or (data,dataLen,mimeType?) must be present
-
     private DataHandler dataHandler;
-
     private byte[] data;
     /**
      * Length of the valid data in {@link #data}.
@@ -75,7 +76,8 @@
      * Unused when {@link #dataHandler} is set.
      * Use {@link DataHandler#getContentType()} in that case.
      */
-    private @Nullable String mimeType;
+    private @Nullable
+    String mimeType;
 
     /**
      * Fills in the data object by a portion of the byte[].
@@ -96,15 +98,15 @@
      * @param data
      *      this buffer may be owned directly by the unmarshaleld JAXB object.
      */
-    public void set(byte[] data,@Nullable String mimeType) {
-        set(data,data.length,mimeType);
+    public void set(byte[] data, @Nullable String mimeType) {
+        set(data, data.length, mimeType);
     }
 
     /**
      * Fills in the data object by a {@link DataHandler}.
      */
     public void set(DataHandler data) {
-        assert data!=null;
+        assert data != null;
         this.dataHandler = data;
         this.data = null;
     }
@@ -113,14 +115,15 @@
      * Gets the raw data.
      */
     public DataHandler getDataHandler() {
-        if(dataHandler==null) {
+        if (dataHandler == null) {
             dataHandler = new DataHandler(new DataSource() {
+
                 public String getContentType() {
                     return getMimeType();
                 }
 
                 public InputStream getInputStream() {
-                    return new ByteArrayInputStream(data,0,dataLen);
+                    return new ByteArrayInputStream(data, 0, dataLen);
                 }
 
                 public String getName() {
@@ -141,9 +144,9 @@
      */
     public byte[] getExact() {
         get();
-        if(dataLen!=data.length) {
+        if (dataLen != data.length) {
             byte[] buf = new byte[dataLen];
-            System.arraycopy(data,0,buf,0,dataLen);
+            System.arraycopy(data, 0, buf, 0, dataLen);
             data = buf;
         }
         return data;
@@ -153,10 +156,11 @@
      * Gets the data as an {@link InputStream}.
      */
     public InputStream getInputStream() throws IOException {
-        if(dataHandler!=null)
+        if (dataHandler != null) {
             return dataHandler.getInputStream();
-        else
-            return new ByteArrayInputStream(data,0,dataLen);
+        } else {
+            return new ByteArrayInputStream(data, 0, dataLen);
+        }
     }
 
     /**
@@ -164,14 +168,14 @@
      * {@link #get()} operation is likely going to be expensive.
      */
     public boolean hasData() {
-        return data!=null;
+        return data != null;
     }
 
     /**
      * Gets the raw data. The size of the byte array maybe larger than the actual length.
      */
     public byte[] get() {
-        if(data==null) {
+        if (data == null) {
             try {
                 ByteArrayOutputStreamEx baos = new ByteArrayOutputStreamEx(1024);
                 InputStream is = dataHandler.getDataSource().getInputStream();
@@ -192,8 +196,9 @@
     }
 
     public String getMimeType() {
-        if(mimeType==null)
+        if (mimeType == null) {
             return "application/octet-stream";
+        }
         return mimeType;
     }
 
@@ -205,7 +210,7 @@
         // for each 3 bytes you use 4 chars
         // if the remainder is 1 or 2 there will be 4 more
         get();  // fill in the buffer if necessary
-        return ((dataLen+2)/3)*4;
+        return ((dataLen + 2) / 3) * 4;
     }
 
     /**
@@ -217,40 +222,44 @@
         // (otherwise how would the caller know that the index is valid?)
         // so we assume that the byte[] is already populated
 
-        int offset = index%4;
-        int base = (index/4)*3;
+        int offset = index % 4;
+        int base = (index / 4) * 3;
 
-        byte b1,b2;
+        byte b1, b2;
 
-        switch(offset) {
-        case 0:
-            return DatatypeConverterImpl.encode(data[base]>>2);
-        case 1:
-            if(base+1<dataLen)
-                b1 = data[base+1];
-            else
-                b1 = 0;
-            return DatatypeConverterImpl.encode(
-                        ((data[base]&0x3)<<4) |
-                        ((b1>>4)&0xF));
-        case 2:
-            if(base+1<dataLen) {
-                b1 = data[base+1];
-                if(base+2<dataLen)
-                    b2 = data[base+2];
-                else
-                    b2 = 0;
+        switch (offset) {
+            case 0:
+                return DatatypeConverterImpl.encode(data[base] >> 2);
+            case 1:
+                if (base + 1 < dataLen) {
+                    b1 = data[base + 1];
+                } else {
+                    b1 = 0;
+                }
+                return DatatypeConverterImpl.encode(
+                        ((data[base] & 0x3) << 4)
+                        | ((b1 >> 4) & 0xF));
+            case 2:
+                if (base + 1 < dataLen) {
+                    b1 = data[base + 1];
+                    if (base + 2 < dataLen) {
+                        b2 = data[base + 2];
+                    } else {
+                        b2 = 0;
+                    }
 
-                return DatatypeConverterImpl.encode(
-                            ((b1&0xF)<<2)|
-                            ((b2>>6)&0x3));
-            } else
-                return '=';
-        case 3:
-            if(base+2<dataLen)
-                return DatatypeConverterImpl.encode(data[base+2]&0x3F);
-            else
-                return '=';
+                    return DatatypeConverterImpl.encode(
+                            ((b1 & 0xF) << 2)
+                            | ((b2 >> 6) & 0x3));
+                } else {
+                    return '=';
+                }
+            case 3:
+                if (base + 2 < dataLen) {
+                    return DatatypeConverterImpl.encode(data[base + 2] & 0x3F);
+                } else {
+                    return '=';
+                }
         }
 
         throw new IllegalStateException();
@@ -264,8 +273,9 @@
     public CharSequence subSequence(int start, int end) {
         StringBuilder buf = new StringBuilder();
         get();  // fill in the buffer if we haven't done so
-        for( int i=start; i<end; i++ )
+        for (int i = start; i < end; i++) {
             buf.append(charAt(i));
+        }
         return buf;
     }
 
@@ -286,6 +296,12 @@
     public void writeTo(UTF8XmlOutput output) throws IOException {
         // TODO: this is inefficient if the data source is note byte[] but DataHandler
         get();
-        output.text(data,dataLen);
+        output.text(data, dataLen);
     }
+
+    public void writeTo(XMLStreamWriter output) throws IOException, XMLStreamException {
+        get();
+        DatatypeConverterImpl._printBase64Binary(data, 0, dataLen, output);
+    }
+
 }
--- a/sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/unmarshaller/UnmarshallerImpl.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/unmarshaller/UnmarshallerImpl.java	Mon Jun 11 03:24:50 2012 +0100
@@ -56,10 +56,12 @@
 import com.sun.xml.internal.bind.unmarshaller.DOMScanner;
 import com.sun.xml.internal.bind.unmarshaller.InfosetScanner;
 import com.sun.xml.internal.bind.unmarshaller.Messages;
+import com.sun.xml.internal.bind.v2.ClassFactory;
 import com.sun.xml.internal.bind.v2.runtime.AssociationMap;
 import com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl;
 import com.sun.xml.internal.bind.v2.runtime.JaxBeanInfo;
 
+import java.io.Closeable;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
@@ -78,7 +80,7 @@
  * @author
  *  <a href="mailto:kohsuke.kawaguchi@sun.com">Kohsuke KAWAGUCHI</a>
  */
-public final class UnmarshallerImpl extends AbstractUnmarshallerImpl implements ValidationEventHandler
+public final class UnmarshallerImpl extends AbstractUnmarshallerImpl implements ValidationEventHandler, Closeable
 {
     /** Owning {@link JAXBContext} */
     protected final JAXBContextImpl context;
@@ -88,7 +90,6 @@
      */
     private Schema schema;
 
-
     public final UnmarshallingContext coordinator;
 
     /** Unmarshaller.Listener */
@@ -545,4 +546,23 @@
     public UnmarshallingContext getContext() {
         return coordinator;
     }
+
+    @Override
+    @SuppressWarnings("FinalizeDeclaration")
+    protected void finalize() throws Throwable {
+        try {
+            ClassFactory.cleanCache();
+        } finally {
+            super.finalize();
+        }
+    }
+
+    /**
+     *  Must be called from same thread which created the UnmarshallerImpl instance.
+     * @throws IOException
+     */
+    public void close() throws IOException {
+        ClassFactory.cleanCache();
+    }
+
 }
--- a/sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/XmlSchemaGenerator.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/XmlSchemaGenerator.java	Mon Jun 11 03:24:50 2012 +0100
@@ -256,6 +256,12 @@
 
             if(generateSwaRefAdapter(p))
                 n.useSwaRef = true;
+
+            MimeType mimeType = p.getExpectedMimeType();
+            if( mimeType != null ) {
+                n.useMimeNs = true;
+            }
+
         }
 
         // recurse on baseTypes to make sure that we can refer to them in the schema
@@ -529,6 +535,12 @@
          */
         private boolean useSwaRef;
 
+        /**
+         * Import for mime namespace needs to be generated.
+         * See #856
+         */
+        private boolean useMimeNs;
+
         public Namespace(String uri) {
             this.uri = uri;
             assert !XmlSchemaGenerator.this.namespaces.containsKey(uri);
@@ -604,6 +616,9 @@
                 if(useSwaRef)
                     schema._namespace(WellKnownNamespace.SWA_URI,"swaRef");
 
+                if(useMimeNs)
+                    schema._namespace(WellKnownNamespace.XML_MIME_URI,"xmime");
+
                 attributeFormDefault = Form.get(types.getAttributeFormDefault(uri));
                 attributeFormDefault.declare("attributeFormDefault",schema);
 
@@ -651,6 +666,9 @@
                 if(useSwaRef) {
                     schema._import().namespace(WellKnownNamespace.SWA_URI).schemaLocation("http://ws-i.org/profiles/basic/1.1/swaref.xsd");
                 }
+                if(useMimeNs) {
+                    schema._import().namespace(WellKnownNamespace.XML_MIME_URI).schemaLocation("http://www.w3.org/2005/05/xmlmime");
+                }
 
                 // then write each component
                 for (Map.Entry<String,ElementDeclaration> e : elementDecls.entrySet()) {
@@ -1124,6 +1142,11 @@
             ClassInfo ci = null;
             QName targetTagName = null;
 
+            if(t.isNillable() || t.getDefaultValue()!=null) {
+                // can't put those attributes on <element ref>
+                return false;
+            }
+
             if (t.getTarget() instanceof Element) {
                 te = (Element) t.getTarget();
                 targetTagName = te.getElementName();
@@ -1144,11 +1167,6 @@
                 }
             }
 
-            if(t.isNillable() || t.getDefaultValue()!=null) {
-                // can't put those attributes on <element ref>
-                return false;
-            }
-
             // we have the precise element defined already
             if (te != null) { // it is instanceof Element
                 return targetTagName!=null && targetTagName.equals(tn);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/episode/Package.java	Mon Jun 11 03:24:50 2012 +0100
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package com.sun.xml.internal.bind.v2.schemagen.episode;
+
+import com.sun.xml.internal.txw2.TypedXmlWriter;
+import com.sun.xml.internal.txw2.annotation.XmlAttribute;
+
+public interface Package extends TypedXmlWriter{
+
+    @XmlAttribute
+    void name(String packageName);
+}
--- a/sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/episode/SchemaBindings.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/episode/SchemaBindings.java	Mon Jun 11 03:24:50 2012 +0100
@@ -27,11 +27,15 @@
 
 import com.sun.xml.internal.txw2.TypedXmlWriter;
 import com.sun.xml.internal.txw2.annotation.XmlAttribute;
+import com.sun.xml.internal.txw2.annotation.XmlElement;
 
 /**
  * @author Kohsuke Kawaguchi
  */
 public interface SchemaBindings extends TypedXmlWriter {
-    @XmlAttribute
-    void map(boolean value);
+        @XmlAttribute
+        void map(boolean value);
+
+        @XmlElement("package")
+        Package _package();
 }
--- a/sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Element.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Element.java	Mon Jun 11 03:24:50 2012 +0100
@@ -38,10 +38,10 @@
     public Element type(QName value);
 
     @XmlAttribute
-    public Element block(String[] value);
+    public Element block(String value);
 
     @XmlAttribute
-    public Element block(String value);
+    public Element block(String[] value);
 
     @XmlAttribute
     public Element nillable(boolean value);
--- a/sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Occurs.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Occurs.java	Mon Jun 11 03:24:50 2012 +0100
@@ -37,9 +37,9 @@
     public Occurs minOccurs(int value);
 
     @XmlAttribute
-    public Occurs maxOccurs(int value);
+    public Occurs maxOccurs(String value);
 
     @XmlAttribute
-    public Occurs maxOccurs(String value);
+    public Occurs maxOccurs(int value);
 
 }
--- a/sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Schema.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Schema.java	Mon Jun 11 03:24:50 2012 +0100
@@ -57,10 +57,10 @@
     public Schema attributeFormDefault(String value);
 
     @XmlAttribute
-    public Schema blockDefault(String[] value);
+    public Schema blockDefault(String value);
 
     @XmlAttribute
-    public Schema blockDefault(String value);
+    public Schema blockDefault(String[] value);
 
     @XmlAttribute
     public Schema finalDefault(String value);
--- a/sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/client/p2p/HttpSOAPConnection.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/client/p2p/HttpSOAPConnection.java	Mon Jun 11 03:24:50 2012 +0100
@@ -49,7 +49,7 @@
  */
 class HttpSOAPConnection extends SOAPConnection {
 
-    public static final String vmVendor = System.getProperty("java.vendor.url");
+    public static final String vmVendor = SAAJUtil.getSystemProperty("java.vendor.url");
     private static final String sunVmVendor = "http://java.sun.com/";
     private static final String ibmVmVendor = "http://www.ibm.com/";
     private static final boolean isSunVM = sunVmVendor.equals(vmVendor) ? true: false;
@@ -389,10 +389,7 @@
 
         if (endPoint instanceof URL)
             try {
-                PriviledgedGet pg = new PriviledgedGet(this, (URL) endPoint);
-                SOAPMessage response =
-                    (SOAPMessage) AccessController.doPrivileged(pg);
-
+                SOAPMessage response = doGet((URL)endPoint);
                 return response;
             } catch (Exception ex) {
                 throw new SOAPExceptionImpl(ex);
@@ -400,22 +397,7 @@
             throw new SOAPExceptionImpl("Bad endPoint type " + endPoint);
     }
 
-    static class PriviledgedGet implements PrivilegedExceptionAction {
-
-        HttpSOAPConnection c;
-        URL endPoint;
-
-        PriviledgedGet(HttpSOAPConnection c, URL endPoint) {
-            this.c = c;
-            this.endPoint = endPoint;
-        }
-
-        public Object run() throws Exception {
-            return c.get(endPoint);
-        }
-    }
-
-    SOAPMessage get(URL endPoint) throws SOAPException {
+    SOAPMessage doGet(URL endPoint) throws SOAPException {
         boolean isFailure = false;
 
         URL url = null;
@@ -587,7 +569,7 @@
 
     private void initHttps() {
         //if(!setHttps) {
-        String pkgs = System.getProperty("java.protocol.handler.pkgs");
+        String pkgs = SAAJUtil.getSystemProperty("java.protocol.handler.pkgs");
         log.log(Level.FINE,
                 "SAAJ0053.p2p.providers",
                 new String[] { pkgs });
--- a/sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/BMMimeMultipart.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/BMMimeMultipart.java	Mon Jun 11 03:24:50 2012 +0100
@@ -628,6 +628,9 @@
 
         while ((b != -1) && ((b == ' ') || (b == '\t'))) {
             b = is.read();
+            if (b == '\n') {
+                return true;
+            }
             if (b == '\r') {
                 b = is.read();
                 //skip any multiple '\r': "\r\n" --> "\r\r\n" on Win2k
--- a/sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/MimeMultipart.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/MimeMultipart.java	Mon Jun 11 03:24:50 2012 +0100
@@ -39,6 +39,7 @@
 import com.sun.xml.internal.messaging.saaj.packaging.mime.util.*;
 import com.sun.xml.internal.messaging.saaj.util.FinalArrayList;
 import com.sun.xml.internal.messaging.saaj.util.ByteOutputStream;
+import com.sun.xml.internal.messaging.saaj.util.SAAJUtil;
 
 /**
  * The MimeMultipart class is an implementation
@@ -110,7 +111,7 @@
     protected static boolean ignoreMissingEndBoundary = true;
 
     static {
-        ignoreMissingEndBoundary = Boolean.getBoolean("saaj.mime.multipart.ignoremissingendboundary");
+        ignoreMissingEndBoundary = SAAJUtil.getSystemBoolean("saaj.mime.multipart.ignoremissingendboundary");
     }
     /**
      * Default constructor. An empty MimeMultipart object
@@ -229,7 +230,11 @@
         for (int i = 0; i < count; i++) {
            MimeBodyPart part = getBodyPart(i);
            String s = part.getContentID();
-           if (s != null && s.equals(CID))
+           // Old versions of AXIS2 put angle brackets around the content
+           // id but not the start param
+           String sNoAngle = (s!= null) ? s.replaceFirst("^<", "").replaceFirst(">$", "")
+                   :null;
+           if (s != null && (s.equals(CID) || CID.equals(sNoAngle)))
                 return part;
         }
         return null;
--- a/sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/MimeUtility.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/MimeUtility.java	Mon Jun 11 03:24:50 2012 +0100
@@ -39,6 +39,7 @@
 
 import com.sun.xml.internal.messaging.saaj.packaging.mime.MessagingException;
 import com.sun.xml.internal.messaging.saaj.packaging.mime.util.*;
+import com.sun.xml.internal.messaging.saaj.util.SAAJUtil;
 
 /**
  * This is a utility class that provides various MIME related
@@ -134,16 +135,16 @@
 
     static {
         try {
-            String s = System.getProperty("mail.mime.decodetext.strict");
+            String s = SAAJUtil.getSystemProperty("mail.mime.decodetext.strict");
             // default to true
             decodeStrict = s == null || !s.equalsIgnoreCase("false");
-            s = System.getProperty("mail.mime.encodeeol.strict");
+            s = SAAJUtil.getSystemProperty("mail.mime.encodeeol.strict");
             // default to false
             encodeEolStrict = s != null && s.equalsIgnoreCase("true");
-            s = System.getProperty("mail.mime.foldencodedwords");
+            s = SAAJUtil.getSystemProperty("mail.mime.foldencodedwords");
             // default to false
             foldEncodedWords = s != null && s.equalsIgnoreCase("true");
-            s = System.getProperty("mail.mime.foldtext");
+            s = SAAJUtil.getSystemProperty("mail.mime.foldtext");
             // default to true
             foldText = s == null || !s.equalsIgnoreCase("false");
         } catch (SecurityException sex) {
@@ -1096,9 +1097,9 @@
              * Java charset as well.
              */
             String mimecs = null;
-            try {
-                mimecs = System.getProperty("mail.mime.charset");
-            } catch (SecurityException ex) { }  // ignore it
+
+            mimecs = SAAJUtil.getSystemProperty("mail.mime.charset");
+
             if (mimecs != null && mimecs.length() > 0) {
                 defaultJavaCharset = javaCharset(mimecs);
                 return defaultJavaCharset;
@@ -1130,9 +1131,7 @@
      */
     static String getDefaultMIMECharset() {
         if (defaultMIMECharset == null) {
-            try {
-                defaultMIMECharset = System.getProperty("mail.mime.charset");
-            } catch (SecurityException ex) { }  // ignore it
+                defaultMIMECharset = SAAJUtil.getSystemProperty("mail.mime.charset");
         }
         if (defaultMIMECharset == null)
             defaultMIMECharset = mimeCharset(getDefaultJavaCharset());
--- a/sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/MessageImpl.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/MessageImpl.java	Mon Jun 11 03:24:50 2012 +0100
@@ -116,19 +116,16 @@
     private static boolean useMimePull = false;
 
     static {
-        try {
-            String s = System.getProperty("saaj.mime.optimization");
+            String s = SAAJUtil.getSystemProperty("saaj.mime.optimization");
             if ((s != null) && s.equals("false")) {
                 switchOffBM = true;
             }
-            s = System.getProperty("saaj.lazy.mime.optimization");
+            s = SAAJUtil.getSystemProperty("saaj.lazy.mime.optimization");
             if ((s != null) && s.equals("false")) {
                 switchOffLazyAttachment = true;
             }
-            useMimePull = Boolean.getBoolean("saaj.use.mimepull");
-        } catch (SecurityException ex) {
-            // ignore it
-        }
+            useMimePull = SAAJUtil.getSystemBoolean("saaj.use.mimepull");
+
     }
 
     //property to indicate optimized serialization for lazy attachments
@@ -427,6 +424,7 @@
                 MimeBodyPart soapMessagePart = null;
                 InputStream soapPartInputStream = null;
                 String contentID = null;
+                String contentIDNoAngle = null;
                 if (switchOffBM || switchOffLazyAttachment) {
                     if(startParam == null) {
                         soapMessagePart = multiPart.getBodyPart(0);
@@ -437,7 +435,11 @@
                         soapMessagePart = multiPart.getBodyPart(startParam);
                         for (int i = 0; i < multiPart.getCount(); i++) {
                             contentID = multiPart.getBodyPart(i).getContentID();
-                            if(!contentID.equals(startParam))
+                            // Old versions of AXIS2 put angle brackets around the content
+                            // id but not the start param
+                            contentIDNoAngle = (contentID != null) ?
+                                contentID.replaceFirst("^<", "").replaceFirst(">$", "") : null;
+                            if(!startParam.equals(contentID) && !startParam.equals(contentIDNoAngle))
                                 initializeAttachment(multiPart, i);
                         }
                     }
@@ -467,10 +469,14 @@
                         } else {
                             MimeBodyPart bp = null;
                             try {
-                                while (!startParam.equals(contentID)) {
+                               while (!startParam.equals(contentID) && !startParam.equals(contentIDNoAngle)) {
                                     bp = bmMultipart.getNextPart(
                                             stream, bndbytes, sin);
                                     contentID = bp.getContentID();
+                                    // Old versions of AXIS2 put angle brackets around the content
+                                    // id but not the start param
+                                    contentIDNoAngle = (contentID != null) ?
+                                        contentID.replaceFirst("^<", "").replaceFirst(">$", "") : null;
                                 }
                                 soapMessagePart = bp;
                                 bmMultipart.removeBodyPart(bp);
--- a/sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/SOAPPartImpl.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/soap/SOAPPartImpl.java	Mon Jun 11 03:24:50 2012 +0100
@@ -45,11 +45,9 @@
 import com.sun.xml.internal.messaging.saaj.soap.impl.EnvelopeImpl;
 import com.sun.xml.internal.messaging.saaj.soap.name.NameImpl;
 import com.sun.xml.internal.messaging.saaj.util.*;
-import java.security.AccessControlException;
 
 import javax.xml.transform.dom.DOMSource;
 import javax.xml.transform.sax.SAXSource;
-import org.w3c.dom.Node;
 
 /**
  * SOAPPartImpl is the first attachment. This contains the XML/SOAP document.
@@ -80,14 +78,9 @@
      */
     protected MessageImpl message;
 
-    static boolean lazyContentLength;
+    static final boolean lazyContentLength;
     static {
-        try {
-            lazyContentLength = Boolean.getBoolean("saaj.lazy.contentlength");
-        } catch (AccessControlException ex) {
-           //ignore.
-           lazyContentLength = false;
-        }
+            lazyContentLength = SAAJUtil.getSystemBoolean("saaj.lazy.contentlength");
     }
 
     protected SOAPPartImpl() {
--- a/sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/util/JAXMStreamSource.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/util/JAXMStreamSource.java	Mon Jun 11 03:24:50 2012 +0100
@@ -39,7 +39,7 @@
     Reader reader;
     private static final boolean lazyContentLength;
     static {
-        lazyContentLength = Boolean.getBoolean("saaj.lazy.contentlength");
+        lazyContentLength = SAAJUtil.getSystemBoolean("saaj.lazy.contentlength");
     }
     public JAXMStreamSource(InputStream is) throws IOException {
         if (lazyContentLength) {
--- a/sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/util/LogDomainConstants.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/util/LogDomainConstants.java	Mon Jun 11 03:24:50 2012 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -35,10 +35,8 @@
 
 public interface LogDomainConstants {
 
-    // TBD -- this should be configurable from a properties
-    // file or something .. Leaving it as it is for now.
     public static String MODULE_TOPLEVEL_DOMAIN =
-                    "javax.xml.messaging.saaj";
+                    "com.sun.xml.internal.messaging.saaj";
 
     // First Level Domain
     public static String CLIENT_DOMAIN =
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sources/jaxws_src/src/com/sun/xml/internal/messaging/saaj/util/SAAJUtil.java	Mon Jun 11 03:24:50 2012 +0100
@@ -0,0 +1,51 @@
+/*
+ * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package com.sun.xml.internal.messaging.saaj.util;
+
+import java.security.AccessControlException;
+
+/**
+ *
+ * @author vbkumarjayanti
+ */
+public final class SAAJUtil {
+
+    public static boolean getSystemBoolean(String arg) {
+        try {
+            return Boolean.getBoolean(arg);
+        } catch (AccessControlException ex) {
+            return false;
+        }
+    }
+
+    public static String getSystemProperty(String arg) {
+        try {
+            return System.getProperty(arg);
+        } catch (SecurityException ex) {
+            return null;
+        }
+    }
+}
--- a/sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/SchemaDocumentImpl.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/SchemaDocumentImpl.java	Mon Jun 11 03:24:50 2012 +0100
@@ -108,6 +108,7 @@
         return Collections.<SchemaDocument>unmodifiableSet(referers);
     }
 
+    @Override
     public boolean equals(Object o) {
         SchemaDocumentImpl rhs = (SchemaDocumentImpl) o;
 
@@ -117,9 +118,14 @@
             return false;
         return this.schema==rhs.schema;
     }
+
+    @Override
     public int hashCode() {
-        if(schemaDocumentURI==null)
+        if (schemaDocumentURI==null)
             return super.hashCode();
+        if (schema == null) {
+            return schemaDocumentURI.hashCode();
+        }
         return schemaDocumentURI.hashCode()^this.schema.hashCode();
     }
 }
--- a/sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/Schema.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/Schema.java	Mon Jun 11 03:24:50 2012 +0100
@@ -174,8 +174,7 @@
           $runtime.reportError(
             Messages.format("UnexpectedTargetnamespace.Include", tns, expectedNamespace, tns ) );
         }
-        if(tns==null)
-          $runtime.chameleonMode = true;
+        $runtime.chameleonMode = true;
       }
 
       // multiple inclusion test.
@@ -196,29 +195,6 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 45:
-            {
-                if(($ai = $runtime.getAttributeIndex("","elementFormDefault"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    $_ngcc_current_state = 41;
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-                }
-            }
-            break;
-        case 11:
-            {
-                if((($ai = $runtime.getAttributeIndex("","name"))>=0 || ($ai = $runtime.getAttributeIndex("","form"))>=0)) {
-                    NGCCHandler h = new attributeDeclBody(this, super._source, $runtime, 413, locator,false,defaultValue,fixedValue);
-                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    unexpectedEnterElement($__qname);
-                }
-            }
-            break;
         case 12:
             {
                 if(($ai = $runtime.getAttributeIndex("","fixed"))>=0) {
@@ -231,54 +207,36 @@
                 }
             }
             break;
-        case 16:
+        case 36:
             {
-                if(($ai = $runtime.getAttributeIndex("","default"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("redefine")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("notation")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("import")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("include"))))))))))))) {
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 374, null);
+                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
-                    $_ngcc_current_state = 12;
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                    unexpectedEnterElement($__qname);
                 }
             }
             break;
-        case 41:
-            {
-                if(($ai = $runtime.getAttributeIndex("","blockDefault"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    $_ngcc_current_state = 37;
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-                }
-            }
-            break;
-        case 0:
-            {
-                revertToParentFromEnterElement(this, super._cookie, $__uri, $__local, $__qname, $attrs);
-            }
-            break;
         case 1:
             {
                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
-                    NGCCHandler h = new annotation(this, super._source, $runtime, 496, anno,AnnotationContext.SCHEMA);
+                    NGCCHandler h = new annotation(this, super._source, $runtime, 351, anno,AnnotationContext.SCHEMA);
                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
                     if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("include"))) {
-                        NGCCHandler h = new includeDecl(this, super._source, $runtime, 497);
+                        NGCCHandler h = new includeDecl(this, super._source, $runtime, 352);
                         spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                     }
                     else {
                         if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("import"))) {
-                            NGCCHandler h = new importDecl(this, super._source, $runtime, 498);
+                            NGCCHandler h = new importDecl(this, super._source, $runtime, 353);
                             spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                         }
                         else {
                             if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("redefine"))) {
-                                NGCCHandler h = new redefine(this, super._source, $runtime, 499);
+                                NGCCHandler h = new redefine(this, super._source, $runtime, 354);
                                 spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                             }
                             else {
@@ -289,12 +247,12 @@
                                 }
                                 else {
                                     if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType"))) {
-                                        NGCCHandler h = new simpleType(this, super._source, $runtime, 501);
+                                        NGCCHandler h = new simpleType(this, super._source, $runtime, 356);
                                         spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                                     }
                                     else {
                                         if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) {
-                                            NGCCHandler h = new complexType(this, super._source, $runtime, 502);
+                                            NGCCHandler h = new complexType(this, super._source, $runtime, 357);
                                             spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                                         }
                                         else {
@@ -305,17 +263,17 @@
                                             }
                                             else {
                                                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group"))) {
-                                                    NGCCHandler h = new group(this, super._source, $runtime, 504);
+                                                    NGCCHandler h = new group(this, super._source, $runtime, 359);
                                                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                                                 }
                                                 else {
                                                     if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("notation"))) {
-                                                        NGCCHandler h = new notation(this, super._source, $runtime, 505);
+                                                        NGCCHandler h = new notation(this, super._source, $runtime, 360);
                                                         spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                                                     }
                                                     else {
                                                         if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup"))) {
-                                                            NGCCHandler h = new attributeGroupDecl(this, super._source, $runtime, 506);
+                                                            NGCCHandler h = new attributeGroupDecl(this, super._source, $runtime, 361);
                                                             spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                                                         }
                                                         else {
@@ -333,27 +291,9 @@
                 }
             }
             break;
-        case 57:
+        case 0:
             {
-                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("schema"))) {
-                    $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
-                    action15();
-                    $_ngcc_current_state = 53;
-                }
-                else {
-                    unexpectedEnterElement($__qname);
-                }
-            }
-            break;
-        case 27:
-            {
-                if((($ai = $runtime.getAttributeIndex("","name"))>=0 || (($ai = $runtime.getAttributeIndex("","default"))>=0 || (($ai = $runtime.getAttributeIndex("","final"))>=0 || (($ai = $runtime.getAttributeIndex("","block"))>=0 || (($ai = $runtime.getAttributeIndex("","abstract"))>=0 || (($ai = $runtime.getAttributeIndex("","fixed"))>=0 || ($ai = $runtime.getAttributeIndex("","form"))>=0))))))) {
-                    NGCCHandler h = new elementDeclBody(this, super._source, $runtime, 431, locator,true);
-                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    unexpectedEnterElement($__qname);
-                }
+                revertToParentFromEnterElement(this, super._cookie, $__uri, $__local, $__qname, $attrs);
             }
             break;
         case 53:
@@ -368,14 +308,15 @@
                 }
             }
             break;
-        case 36:
+        case 41:
             {
-                if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("notation")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("import")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("include")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("redefine"))))))))))))) {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 519, null);
-                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                if(($ai = $runtime.getAttributeIndex("","blockDefault"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
-                    unexpectedEnterElement($__qname);
+                    $_ngcc_current_state = 37;
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
                 }
             }
             break;
@@ -394,22 +335,22 @@
         case 2:
             {
                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
-                    NGCCHandler h = new annotation(this, super._source, $runtime, 507, anno,AnnotationContext.SCHEMA);
+                    NGCCHandler h = new annotation(this, super._source, $runtime, 362, anno,AnnotationContext.SCHEMA);
                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
                     if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("include"))) {
-                        NGCCHandler h = new includeDecl(this, super._source, $runtime, 508);
+                        NGCCHandler h = new includeDecl(this, super._source, $runtime, 363);
                         spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                     }
                     else {
                         if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("import"))) {
-                            NGCCHandler h = new importDecl(this, super._source, $runtime, 509);
+                            NGCCHandler h = new importDecl(this, super._source, $runtime, 364);
                             spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                         }
                         else {
                             if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("redefine"))) {
-                                NGCCHandler h = new redefine(this, super._source, $runtime, 510);
+                                NGCCHandler h = new redefine(this, super._source, $runtime, 365);
                                 spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                             }
                             else {
@@ -420,12 +361,12 @@
                                 }
                                 else {
                                     if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType"))) {
-                                        NGCCHandler h = new simpleType(this, super._source, $runtime, 512);
+                                        NGCCHandler h = new simpleType(this, super._source, $runtime, 367);
                                         spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                                     }
                                     else {
                                         if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) {
-                                            NGCCHandler h = new complexType(this, super._source, $runtime, 513);
+                                            NGCCHandler h = new complexType(this, super._source, $runtime, 368);
                                             spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                                         }
                                         else {
@@ -436,17 +377,17 @@
                                             }
                                             else {
                                                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group"))) {
-                                                    NGCCHandler h = new group(this, super._source, $runtime, 515);
+                                                    NGCCHandler h = new group(this, super._source, $runtime, 370);
                                                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                                                 }
                                                 else {
                                                     if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("notation"))) {
-                                                        NGCCHandler h = new notation(this, super._source, $runtime, 516);
+                                                        NGCCHandler h = new notation(this, super._source, $runtime, 371);
                                                         spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                                                     }
                                                     else {
                                                         if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup"))) {
-                                                            NGCCHandler h = new attributeGroupDecl(this, super._source, $runtime, 517);
+                                                            NGCCHandler h = new attributeGroupDecl(this, super._source, $runtime, 372);
                                                             spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                                                         }
                                                         else {
@@ -465,6 +406,52 @@
                 }
             }
             break;
+        case 45:
+            {
+                if(($ai = $runtime.getAttributeIndex("","elementFormDefault"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    $_ngcc_current_state = 41;
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                }
+            }
+            break;
+        case 57:
+            {
+                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("schema"))) {
+                    $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
+                    action15();
+                    $_ngcc_current_state = 53;
+                }
+                else {
+                    unexpectedEnterElement($__qname);
+                }
+            }
+            break;
+        case 27:
+            {
+                if((($ai = $runtime.getAttributeIndex("","name"))>=0 || (($ai = $runtime.getAttributeIndex("","final"))>=0 || (($ai = $runtime.getAttributeIndex("","form"))>=0 || (($ai = $runtime.getAttributeIndex("","block"))>=0 || (($ai = $runtime.getAttributeIndex("","fixed"))>=0 || (($ai = $runtime.getAttributeIndex("","default"))>=0 || ($ai = $runtime.getAttributeIndex("","abstract"))>=0))))))) {
+                    NGCCHandler h = new elementDeclBody(this, super._source, $runtime, 286, locator,true);
+                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    unexpectedEnterElement($__qname);
+                }
+            }
+            break;
+        case 11:
+            {
+                if((($ai = $runtime.getAttributeIndex("","form"))>=0 || ($ai = $runtime.getAttributeIndex("","name"))>=0)) {
+                    NGCCHandler h = new attributeDeclBody(this, super._source, $runtime, 268, locator,false,defaultValue,fixedValue);
+                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    unexpectedEnterElement($__qname);
+                }
+            }
+            break;
         case 49:
             {
                 if(($ai = $runtime.getAttributeIndex("","attributeFormDefault"))>=0) {
@@ -477,6 +464,18 @@
                 }
             }
             break;
+        case 16:
+            {
+                if(($ai = $runtime.getAttributeIndex("","default"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    $_ngcc_current_state = 12;
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                }
+            }
+            break;
         default:
             {
                 unexpectedEnterElement($__qname);
@@ -491,29 +490,6 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 45:
-            {
-                if(($ai = $runtime.getAttributeIndex("","elementFormDefault"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-                }
-                else {
-                    $_ngcc_current_state = 41;
-                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-                }
-            }
-            break;
-        case 11:
-            {
-                if(((($ai = $runtime.getAttributeIndex("","name"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute"))) || (($ai = $runtime.getAttributeIndex("","form"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute"))))) {
-                    NGCCHandler h = new attributeDeclBody(this, super._source, $runtime, 413, locator,false,defaultValue,fixedValue);
-                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
-                }
-                else {
-                    unexpectedLeaveElement($__qname);
-                }
-            }
-            break;
         case 12:
             {
                 if(($ai = $runtime.getAttributeIndex("","fixed"))>=0) {
@@ -526,21 +502,48 @@
                 }
             }
             break;
-        case 16:
+        case 36:
+            {
+                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("schema"))) {
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 374, null);
+                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
+                }
+                else {
+                    unexpectedLeaveElement($__qname);
+                }
+            }
+            break;
+        case 1:
             {
-                if(($ai = $runtime.getAttributeIndex("","default"))>=0) {
+                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("schema"))) {
+                    $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
+                    $_ngcc_current_state = 0;
+                }
+                else {
+                    unexpectedLeaveElement($__qname);
+                }
+            }
+            break;
+        case 0:
+            {
+                revertToParentFromLeaveElement(this, super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 53:
+            {
+                if(($ai = $runtime.getAttributeIndex("","targetNamespace"))>=0) {
                     $runtime.consumeAttribute($ai);
                     $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
                 }
                 else {
-                    $_ngcc_current_state = 12;
+                    $_ngcc_current_state = 49;
                     $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
                 }
             }
             break;
-        case 26:
+        case 10:
             {
-                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) {
+                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute"))) {
                     $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
                     $_ngcc_current_state = 1;
                 }
@@ -561,67 +564,18 @@
                 }
             }
             break;
-        case 0:
-            {
-                revertToParentFromLeaveElement(this, super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 10:
-            {
-                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute"))) {
-                    $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
-                    $_ngcc_current_state = 1;
-                }
-                else {
-                    unexpectedLeaveElement($__qname);
-                }
-            }
-            break;
-        case 1:
+        case 45:
             {
-                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("schema"))) {
-                    $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
-                    $_ngcc_current_state = 0;
-                }
-                else {
-                    unexpectedLeaveElement($__qname);
-                }
-            }
-            break;
-        case 27:
-            {
-                if(((($ai = $runtime.getAttributeIndex("","name"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || ((($ai = $runtime.getAttributeIndex("","default"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || ((($ai = $runtime.getAttributeIndex("","final"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || ((($ai = $runtime.getAttributeIndex("","block"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || ((($ai = $runtime.getAttributeIndex("","abstract"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || ((($ai = $runtime.getAttributeIndex("","fixed"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || (($ai = $runtime.getAttributeIndex("","form"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element")))))))))) {
-                    NGCCHandler h = new elementDeclBody(this, super._source, $runtime, 431, locator,true);
-                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
-                }
-                else {
-                    unexpectedLeaveElement($__qname);
-                }
-            }
-            break;
-        case 53:
-            {
-                if(($ai = $runtime.getAttributeIndex("","targetNamespace"))>=0) {
+                if(($ai = $runtime.getAttributeIndex("","elementFormDefault"))>=0) {
                     $runtime.consumeAttribute($ai);
                     $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
                 }
                 else {
-                    $_ngcc_current_state = 49;
+                    $_ngcc_current_state = 41;
                     $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
                 }
             }
             break;
-        case 36:
-            {
-                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("schema"))) {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 519, null);
-                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
-                }
-                else {
-                    unexpectedLeaveElement($__qname);
-                }
-            }
-            break;
         case 37:
             {
                 if(($ai = $runtime.getAttributeIndex("","finalDefault"))>=0) {
@@ -640,6 +594,39 @@
                 $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
             }
             break;
+        case 27:
+            {
+                if(((($ai = $runtime.getAttributeIndex("","name"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || ((($ai = $runtime.getAttributeIndex("","final"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || ((($ai = $runtime.getAttributeIndex("","form"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || ((($ai = $runtime.getAttributeIndex("","block"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || ((($ai = $runtime.getAttributeIndex("","fixed"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || ((($ai = $runtime.getAttributeIndex("","default"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || (($ai = $runtime.getAttributeIndex("","abstract"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element")))))))))) {
+                    NGCCHandler h = new elementDeclBody(this, super._source, $runtime, 286, locator,true);
+                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
+                }
+                else {
+                    unexpectedLeaveElement($__qname);
+                }
+            }
+            break;
+        case 11:
+            {
+                if(((($ai = $runtime.getAttributeIndex("","form"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute"))) || (($ai = $runtime.getAttributeIndex("","name"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute"))))) {
+                    NGCCHandler h = new attributeDeclBody(this, super._source, $runtime, 268, locator,false,defaultValue,fixedValue);
+                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
+                }
+                else {
+                    unexpectedLeaveElement($__qname);
+                }
+            }
+            break;
+        case 26:
+            {
+                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) {
+                    $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
+                    $_ngcc_current_state = 1;
+                }
+                else {
+                    unexpectedLeaveElement($__qname);
+                }
+            }
+            break;
         case 49:
             {
                 if(($ai = $runtime.getAttributeIndex("","attributeFormDefault"))>=0) {
@@ -652,6 +639,18 @@
                 }
             }
             break;
+        case 16:
+            {
+                if(($ai = $runtime.getAttributeIndex("","default"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+                }
+                else {
+                    $_ngcc_current_state = 12;
+                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+                }
+            }
+            break;
         default:
             {
                 unexpectedLeaveElement($__qname);
@@ -666,44 +665,6 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 0:
-            {
-                revertToParentFromEnterAttribute(this, super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 45:
-            {
-                if(($__uri.equals("") && $__local.equals("elementFormDefault"))) {
-                    $_ngcc_current_state = 47;
-                }
-                else {
-                    $_ngcc_current_state = 41;
-                    $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
-                }
-            }
-            break;
-        case 11:
-            {
-                if((($__uri.equals("") && $__local.equals("name")) || ($__uri.equals("") && $__local.equals("form")))) {
-                    NGCCHandler h = new attributeDeclBody(this, super._source, $runtime, 413, locator,false,defaultValue,fixedValue);
-                    spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
-                }
-                else {
-                    unexpectedEnterAttribute($__qname);
-                }
-            }
-            break;
-        case 27:
-            {
-                if((($__uri.equals("") && $__local.equals("name")) || (($__uri.equals("") && $__local.equals("default")) || (($__uri.equals("") && $__local.equals("final")) || (($__uri.equals("") && $__local.equals("block")) || (($__uri.equals("") && $__local.equals("abstract")) || (($__uri.equals("") && $__local.equals("fixed")) || ($__uri.equals("") && $__local.equals("form"))))))))) {
-                    NGCCHandler h = new elementDeclBody(this, super._source, $runtime, 431, locator,true);
-                    spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
-                }
-                else {
-                    unexpectedEnterAttribute($__qname);
-                }
-            }
-            break;
         case 12:
             {
                 if(($__uri.equals("") && $__local.equals("fixed"))) {
@@ -715,6 +676,22 @@
                 }
             }
             break;
+        case 0:
+            {
+                revertToParentFromEnterAttribute(this, super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 27:
+            {
+                if((($__uri.equals("") && $__local.equals("name")) || (($__uri.equals("") && $__local.equals("final")) || (($__uri.equals("") && $__local.equals("form")) || (($__uri.equals("") && $__local.equals("block")) || (($__uri.equals("") && $__local.equals("fixed")) || (($__uri.equals("") && $__local.equals("default")) || ($__uri.equals("") && $__local.equals("abstract"))))))))) {
+                    NGCCHandler h = new elementDeclBody(this, super._source, $runtime, 286, locator,true);
+                    spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
+                }
+                else {
+                    unexpectedEnterAttribute($__qname);
+                }
+            }
+            break;
         case 53:
             {
                 if(($__uri.equals("") && $__local.equals("targetNamespace"))) {
@@ -726,32 +703,15 @@
                 }
             }
             break;
-        case 16:
+        case 11:
             {
-                if(($__uri.equals("") && $__local.equals("default"))) {
-                    $_ngcc_current_state = 18;
+                if((($__uri.equals("") && $__local.equals("form")) || ($__uri.equals("") && $__local.equals("name")))) {
+                    NGCCHandler h = new attributeDeclBody(this, super._source, $runtime, 268, locator,false,defaultValue,fixedValue);
+                    spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
                 }
                 else {
-                    $_ngcc_current_state = 12;
-                    $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
-                }
-            }
-            break;
-        case 37:
-            {
-                if(($__uri.equals("") && $__local.equals("finalDefault"))) {
-                    $_ngcc_current_state = 39;
+                    unexpectedEnterAttribute($__qname);
                 }
-                else {
-                    $_ngcc_current_state = 36;
-                    $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
-                }
-            }
-            break;
-        case 2:
-            {
-                $_ngcc_current_state = 1;
-                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
         case 41:
@@ -776,6 +736,45 @@
                 }
             }
             break;
+        case 45:
+            {
+                if(($__uri.equals("") && $__local.equals("elementFormDefault"))) {
+                    $_ngcc_current_state = 47;
+                }
+                else {
+                    $_ngcc_current_state = 41;
+                    $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
+                }
+            }
+            break;
+        case 2:
+            {
+                $_ngcc_current_state = 1;
+                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 37:
+            {
+                if(($__uri.equals("") && $__local.equals("finalDefault"))) {
+                    $_ngcc_current_state = 39;
+                }
+                else {
+                    $_ngcc_current_state = 36;
+                    $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
+                }
+            }
+            break;
+        case 16:
+            {
+                if(($__uri.equals("") && $__local.equals("default"))) {
+                    $_ngcc_current_state = 18;
+                }
+                else {
+                    $_ngcc_current_state = 12;
+                    $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
+                }
+            }
+            break;
         default:
             {
                 unexpectedEnterAttribute($__qname);
@@ -790,6 +789,67 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
+        case 12:
+            {
+                $_ngcc_current_state = 11;
+                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 0:
+            {
+                revertToParentFromLeaveAttribute(this, super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 53:
+            {
+                $_ngcc_current_state = 49;
+                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 41:
+            {
+                $_ngcc_current_state = 37;
+                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 45:
+            {
+                $_ngcc_current_state = 41;
+                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 2:
+            {
+                $_ngcc_current_state = 1;
+                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 37:
+            {
+                $_ngcc_current_state = 36;
+                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 50:
+            {
+                if(($__uri.equals("") && $__local.equals("attributeFormDefault"))) {
+                    $_ngcc_current_state = 45;
+                }
+                else {
+                    unexpectedLeaveAttribute($__qname);
+                }
+            }
+            break;
+        case 46:
+            {
+                if(($__uri.equals("") && $__local.equals("elementFormDefault"))) {
+                    $_ngcc_current_state = 41;
+                }
+                else {
+                    unexpectedLeaveAttribute($__qname);
+                }
+            }
+            break;
         case 54:
             {
                 if(($__uri.equals("") && $__local.equals("targetNamespace"))) {
@@ -800,12 +860,6 @@
                 }
             }
             break;
-        case 45:
-            {
-                $_ngcc_current_state = 41;
-                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
         case 13:
             {
                 if(($__uri.equals("") && $__local.equals("fixed"))) {
@@ -816,6 +870,16 @@
                 }
             }
             break;
+        case 17:
+            {
+                if(($__uri.equals("") && $__local.equals("default"))) {
+                    $_ngcc_current_state = 12;
+                }
+                else {
+                    unexpectedLeaveAttribute($__qname);
+                }
+            }
+            break;
         case 42:
             {
                 if(($__uri.equals("") && $__local.equals("blockDefault"))) {
@@ -826,18 +890,6 @@
                 }
             }
             break;
-        case 12:
-            {
-                $_ngcc_current_state = 11;
-                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 16:
-            {
-                $_ngcc_current_state = 12;
-                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
         case 38:
             {
                 if(($__uri.equals("") && $__local.equals("finalDefault"))) {
@@ -848,68 +900,15 @@
                 }
             }
             break;
-        case 50:
+        case 49:
             {
-                if(($__uri.equals("") && $__local.equals("attributeFormDefault"))) {
-                    $_ngcc_current_state = 45;
-                }
-                else {
-                    unexpectedLeaveAttribute($__qname);
-                }
-            }
-            break;
-        case 41:
-            {
-                $_ngcc_current_state = 37;
+                $_ngcc_current_state = 45;
                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
-        case 46:
-            {
-                if(($__uri.equals("") && $__local.equals("elementFormDefault"))) {
-                    $_ngcc_current_state = 41;
-                }
-                else {
-                    unexpectedLeaveAttribute($__qname);
-                }
-            }
-            break;
-        case 17:
-            {
-                if(($__uri.equals("") && $__local.equals("default"))) {
-                    $_ngcc_current_state = 12;
-                }
-                else {
-                    unexpectedLeaveAttribute($__qname);
-                }
-            }
-            break;
-        case 0:
+        case 16:
             {
-                revertToParentFromLeaveAttribute(this, super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 53:
-            {
-                $_ngcc_current_state = 49;
-                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 37:
-            {
-                $_ngcc_current_state = 36;
-                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 2:
-            {
-                $_ngcc_current_state = 1;
-                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 49:
-            {
-                $_ngcc_current_state = 45;
+                $_ngcc_current_state = 12;
                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
@@ -924,23 +923,51 @@
     public void text(String $value) throws SAXException {
         int $ai;
         switch($_ngcc_current_state) {
-        case 47:
+        case 12:
             {
-                if($value.equals("unqualified")) {
-                    NGCCHandler h = new qualification(this, super._source, $runtime, 531);
-                    spawnChildFromText(h, $value);
+                if(($ai = $runtime.getAttributeIndex("","fixed"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendText(super._cookie, $value);
                 }
                 else {
-                    if($value.equals("qualified")) {
-                        NGCCHandler h = new qualification(this, super._source, $runtime, 531);
-                        spawnChildFromText(h, $value);
-                    }
+                    $_ngcc_current_state = 11;
+                    $runtime.sendText(super._cookie, $value);
                 }
             }
             break;
-        case 55:
+        case 0:
+            {
+                revertToParentFromText(this, super._cookie, $value);
+            }
+            break;
+        case 53:
             {
-                $_ngcc_current_state = 54;
+                if(($ai = $runtime.getAttributeIndex("","targetNamespace"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendText(super._cookie, $value);
+                }
+                else {
+                    $_ngcc_current_state = 49;
+                    $runtime.sendText(super._cookie, $value);
+                }
+            }
+            break;
+        case 43:
+            {
+                NGCCHandler h = new ersSet(this, super._source, $runtime, 381);
+                spawnChildFromText(h, $value);
+            }
+            break;
+        case 41:
+            {
+                if(($ai = $runtime.getAttributeIndex("","blockDefault"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendText(super._cookie, $value);
+                }
+                else {
+                    $_ngcc_current_state = 37;
+                    $runtime.sendText(super._cookie, $value);
+                }
             }
             break;
         case 45:
@@ -955,15 +982,108 @@
                 }
             }
             break;
-        case 11:
+        case 2:
+            {
+                $_ngcc_current_state = 1;
+                $runtime.sendText(super._cookie, $value);
+            }
+            break;
+        case 37:
             {
-                if(($ai = $runtime.getAttributeIndex("","form"))>=0) {
-                    NGCCHandler h = new attributeDeclBody(this, super._source, $runtime, 413, locator,false,defaultValue,fixedValue);
+                if(($ai = $runtime.getAttributeIndex("","finalDefault"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendText(super._cookie, $value);
+                }
+                else {
+                    $_ngcc_current_state = 36;
+                    $runtime.sendText(super._cookie, $value);
+                }
+            }
+            break;
+        case 55:
+            {
+                $_ngcc_current_state = 54;
+            }
+            break;
+        case 14:
+            {
+                fixedValue = $value;
+                $_ngcc_current_state = 13;
+            }
+            break;
+        case 47:
+            {
+                if($value.equals("unqualified")) {
+                    NGCCHandler h = new qualification(this, super._source, $runtime, 386);
                     spawnChildFromText(h, $value);
                 }
                 else {
-                    if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
-                        NGCCHandler h = new attributeDeclBody(this, super._source, $runtime, 413, locator,false,defaultValue,fixedValue);
+                    if($value.equals("qualified")) {
+                        NGCCHandler h = new qualification(this, super._source, $runtime, 386);
+                        spawnChildFromText(h, $value);
+                    }
+                }
+            }
+            break;
+        case 39:
+            {
+                NGCCHandler h = new erSet(this, super._source, $runtime, 376);
+                spawnChildFromText(h, $value);
+            }
+            break;
+        case 27:
+            {
+                if(($ai = $runtime.getAttributeIndex("","abstract"))>=0) {
+                    NGCCHandler h = new elementDeclBody(this, super._source, $runtime, 286, locator,true);
+                    spawnChildFromText(h, $value);
+                }
+                else {
+                    if(($ai = $runtime.getAttributeIndex("","default"))>=0) {
+                        NGCCHandler h = new elementDeclBody(this, super._source, $runtime, 286, locator,true);
+                        spawnChildFromText(h, $value);
+                    }
+                    else {
+                        if(($ai = $runtime.getAttributeIndex("","fixed"))>=0) {
+                            NGCCHandler h = new elementDeclBody(this, super._source, $runtime, 286, locator,true);
+                            spawnChildFromText(h, $value);
+                        }
+                        else {
+                            if(($ai = $runtime.getAttributeIndex("","block"))>=0) {
+                                NGCCHandler h = new elementDeclBody(this, super._source, $runtime, 286, locator,true);
+                                spawnChildFromText(h, $value);
+                            }
+                            else {
+                                if(($ai = $runtime.getAttributeIndex("","form"))>=0) {
+                                    NGCCHandler h = new elementDeclBody(this, super._source, $runtime, 286, locator,true);
+                                    spawnChildFromText(h, $value);
+                                }
+                                else {
+                                    if(($ai = $runtime.getAttributeIndex("","final"))>=0) {
+                                        NGCCHandler h = new elementDeclBody(this, super._source, $runtime, 286, locator,true);
+                                        spawnChildFromText(h, $value);
+                                    }
+                                    else {
+                                        if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
+                                            NGCCHandler h = new elementDeclBody(this, super._source, $runtime, 286, locator,true);
+                                            spawnChildFromText(h, $value);
+                                        }
+                                    }
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+            break;
+        case 11:
+            {
+                if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
+                    NGCCHandler h = new attributeDeclBody(this, super._source, $runtime, 268, locator,false,defaultValue,fixedValue);
+                    spawnChildFromText(h, $value);
+                }
+                else {
+                    if(($ai = $runtime.getAttributeIndex("","form"))>=0) {
+                        NGCCHandler h = new attributeDeclBody(this, super._source, $runtime, 268, locator,false,defaultValue,fixedValue);
                         spawnChildFromText(h, $value);
                     }
                 }
@@ -975,14 +1095,28 @@
                 $_ngcc_current_state = 17;
             }
             break;
-        case 12:
+        case 51:
             {
-                if(($ai = $runtime.getAttributeIndex("","fixed"))>=0) {
+                if($value.equals("unqualified")) {
+                    NGCCHandler h = new qualification(this, super._source, $runtime, 391);
+                    spawnChildFromText(h, $value);
+                }
+                else {
+                    if($value.equals("qualified")) {
+                        NGCCHandler h = new qualification(this, super._source, $runtime, 391);
+                        spawnChildFromText(h, $value);
+                    }
+                }
+            }
+            break;
+        case 49:
+            {
+                if(($ai = $runtime.getAttributeIndex("","attributeFormDefault"))>=0) {
                     $runtime.consumeAttribute($ai);
                     $runtime.sendText(super._cookie, $value);
                 }
                 else {
-                    $_ngcc_current_state = 11;
+                    $_ngcc_current_state = 45;
                     $runtime.sendText(super._cookie, $value);
                 }
             }
@@ -999,307 +1133,172 @@
                 }
             }
             break;
-        case 41:
-            {
-                if(($ai = $runtime.getAttributeIndex("","blockDefault"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendText(super._cookie, $value);
-                }
-                else {
-                    $_ngcc_current_state = 37;
-                    $runtime.sendText(super._cookie, $value);
-                }
-            }
-            break;
-        case 0:
-            {
-                revertToParentFromText(this, super._cookie, $value);
-            }
-            break;
-        case 27:
-            {
-                if(($ai = $runtime.getAttributeIndex("","form"))>=0) {
-                    NGCCHandler h = new elementDeclBody(this, super._source, $runtime, 431, locator,true);
-                    spawnChildFromText(h, $value);
-                }
-                else {
-                    if(($ai = $runtime.getAttributeIndex("","fixed"))>=0) {
-                        NGCCHandler h = new elementDeclBody(this, super._source, $runtime, 431, locator,true);
-                        spawnChildFromText(h, $value);
-                    }
-                    else {
-                        if(($ai = $runtime.getAttributeIndex("","abstract"))>=0) {
-                            NGCCHandler h = new elementDeclBody(this, super._source, $runtime, 431, locator,true);
-                            spawnChildFromText(h, $value);
-                        }
-                        else {
-                            if(($ai = $runtime.getAttributeIndex("","block"))>=0) {
-                                NGCCHandler h = new elementDeclBody(this, super._source, $runtime, 431, locator,true);
-                                spawnChildFromText(h, $value);
-                            }
-                            else {
-                                if(($ai = $runtime.getAttributeIndex("","final"))>=0) {
-                                    NGCCHandler h = new elementDeclBody(this, super._source, $runtime, 431, locator,true);
-                                    spawnChildFromText(h, $value);
-                                }
-                                else {
-                                    if(($ai = $runtime.getAttributeIndex("","default"))>=0) {
-                                        NGCCHandler h = new elementDeclBody(this, super._source, $runtime, 431, locator,true);
-                                        spawnChildFromText(h, $value);
-                                    }
-                                    else {
-                                        if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
-                                            NGCCHandler h = new elementDeclBody(this, super._source, $runtime, 431, locator,true);
-                                            spawnChildFromText(h, $value);
-                                        }
-                                    }
-                                }
-                            }
-                        }
-                    }
-                }
-            }
-            break;
-        case 43:
-            {
-                NGCCHandler h = new ersSet(this, super._source, $runtime, 526);
-                spawnChildFromText(h, $value);
-            }
-            break;
-        case 53:
-            {
-                if(($ai = $runtime.getAttributeIndex("","targetNamespace"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendText(super._cookie, $value);
-                }
-                else {
-                    $_ngcc_current_state = 49;
-                    $runtime.sendText(super._cookie, $value);
-                }
-            }
-            break;
-        case 51:
-            {
-                if($value.equals("unqualified")) {
-                    NGCCHandler h = new qualification(this, super._source, $runtime, 536);
-                    spawnChildFromText(h, $value);
-                }
-                else {
-                    if($value.equals("qualified")) {
-                        NGCCHandler h = new qualification(this, super._source, $runtime, 536);
-                        spawnChildFromText(h, $value);
-                    }
-                }
-            }
-            break;
-        case 39:
-            {
-                NGCCHandler h = new erSet(this, super._source, $runtime, 521);
-                spawnChildFromText(h, $value);
-            }
-            break;
-        case 37:
-            {
-                if(($ai = $runtime.getAttributeIndex("","finalDefault"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendText(super._cookie, $value);
-                }
-                else {
-                    $_ngcc_current_state = 36;
-                    $runtime.sendText(super._cookie, $value);
-                }
-            }
-            break;
-        case 2:
-            {
-                $_ngcc_current_state = 1;
-                $runtime.sendText(super._cookie, $value);
-            }
-            break;
-        case 49:
-            {
-                if(($ai = $runtime.getAttributeIndex("","attributeFormDefault"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendText(super._cookie, $value);
-                }
-                else {
-                    $_ngcc_current_state = 45;
-                    $runtime.sendText(super._cookie, $value);
-                }
-            }
-            break;
-        case 14:
-            {
-                fixedValue = $value;
-                $_ngcc_current_state = 13;
-            }
-            break;
         }
     }
 
     public void onChildCompleted(Object $__result__, int $__cookie__, boolean $__needAttCheck__)throws SAXException {
         switch($__cookie__) {
-        case 496:
+        case 381:
+            {
+                blockDefault = ((Integer)$__result__);
+                action12();
+                $_ngcc_current_state = 42;
+            }
+            break;
+        case 268:
+            {
+                ad = ((AttributeDeclImpl)$__result__);
+                action3();
+                $_ngcc_current_state = 10;
+            }
+            break;
+        case 391:
+            {
+                afd = ((Boolean)$__result__).booleanValue();
+                action14();
+                $_ngcc_current_state = 50;
+            }
+            break;
+        case 386:
+            {
+                efd = ((Boolean)$__result__).booleanValue();
+                action13();
+                $_ngcc_current_state = 46;
+            }
+            break;
+        case 351:
             {
                 anno = ((AnnotationImpl)$__result__);
                 action9();
                 $_ngcc_current_state = 1;
             }
             break;
-        case 497:
+        case 352:
             {
                 $_ngcc_current_state = 1;
             }
             break;
-        case 498:
+        case 353:
             {
                 $_ngcc_current_state = 1;
             }
             break;
-        case 499:
+        case 354:
             {
                 $_ngcc_current_state = 1;
             }
             break;
-        case 501:
+        case 356:
             {
                 st = ((SimpleTypeImpl)$__result__);
                 action6();
                 $_ngcc_current_state = 1;
             }
             break;
-        case 502:
+        case 357:
             {
                 ct = ((ComplexTypeImpl)$__result__);
                 action5();
                 $_ngcc_current_state = 1;
             }
             break;
-        case 504:
+        case 359:
             {
                 group = ((ModelGroupDeclImpl)$__result__);
                 action2();
                 $_ngcc_current_state = 1;
             }
             break;
-        case 505:
+        case 360:
             {
                 notation = ((XSNotation)$__result__);
                 action1();
                 $_ngcc_current_state = 1;
             }
             break;
-        case 506:
+        case 361:
             {
                 ag = ((AttGroupDeclImpl)$__result__);
                 action0();
                 $_ngcc_current_state = 1;
             }
             break;
-        case 536:
-            {
-                afd = ((Boolean)$__result__).booleanValue();
-                action14();
-                $_ngcc_current_state = 50;
-            }
-            break;
-        case 413:
-            {
-                ad = ((AttributeDeclImpl)$__result__);
-                action3();
-                $_ngcc_current_state = 10;
-            }
-            break;
-        case 521:
-            {
-                finalDefault = ((Integer)$__result__);
-                action11();
-                $_ngcc_current_state = 38;
-            }
-            break;
-        case 531:
-            {
-                efd = ((Boolean)$__result__).booleanValue();
-                action13();
-                $_ngcc_current_state = 46;
-            }
-            break;
-        case 431:
+        case 286:
             {
                 e = ((ElementDecl)$__result__);
                 action7();
                 $_ngcc_current_state = 26;
             }
             break;
-        case 519:
+        case 374:
             {
                 fa = ((ForeignAttributesImpl)$__result__);
                 action10();
                 $_ngcc_current_state = 2;
             }
             break;
-        case 507:
+        case 362:
             {
                 anno = ((AnnotationImpl)$__result__);
                 action9();
                 $_ngcc_current_state = 1;
             }
             break;
-        case 508:
+        case 363:
             {
                 $_ngcc_current_state = 1;
             }
             break;
-        case 509:
+        case 364:
             {
                 $_ngcc_current_state = 1;
             }
             break;
-        case 510:
+        case 365:
             {
                 $_ngcc_current_state = 1;
             }
             break;
-        case 512:
+        case 367:
             {
                 st = ((SimpleTypeImpl)$__result__);
                 action6();
                 $_ngcc_current_state = 1;
             }
             break;
-        case 513:
+        case 368:
             {
                 ct = ((ComplexTypeImpl)$__result__);
                 action5();
                 $_ngcc_current_state = 1;
             }
             break;
-        case 515:
+        case 370:
             {
                 group = ((ModelGroupDeclImpl)$__result__);
                 action2();
                 $_ngcc_current_state = 1;
             }
             break;
-        case 516:
+        case 371:
             {
                 notation = ((XSNotation)$__result__);
                 action1();
                 $_ngcc_current_state = 1;
             }
             break;
-        case 517:
+        case 372:
             {
                 ag = ((AttGroupDeclImpl)$__result__);
                 action0();
                 $_ngcc_current_state = 1;
             }
             break;
-        case 526:
+        case 376:
             {
-                blockDefault = ((Integer)$__result__);
-                action12();
-                $_ngcc_current_state = 42;
+                finalDefault = ((Integer)$__result__);
+                action11();
+                $_ngcc_current_state = 38;
             }
             break;
         }
--- a/sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/SimpleType_List.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/SimpleType_List.java	Mon Jun 11 03:24:50 2012 +0100
@@ -99,6 +99,18 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
+        case 7:
+            {
+                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
+                    NGCCHandler h = new annotation(this, super._source, $runtime, 693, annotation,AnnotationContext.SIMPLETYPE_DECL);
+                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    $_ngcc_current_state = 2;
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                }
+            }
+            break;
         case 0:
             {
                 revertToParentFromEnterElement(result, super._cookie, $__uri, $__local, $__qname, $attrs);
@@ -112,7 +124,7 @@
                 }
                 else {
                     if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType"))) {
-                        NGCCHandler h = new simpleType(this, super._source, $runtime, 36);
+                        NGCCHandler h = new simpleType(this, super._source, $runtime, 687);
                         spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                     }
                     else {
@@ -123,8 +135,8 @@
             break;
         case 9:
             {
-                if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType")) || ((($ai = $runtime.getAttributeIndex("","itemType"))>=0 && (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType")))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))))) {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 44, fa);
+                if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType")) || (($ai = $runtime.getAttributeIndex("","itemType"))>=0 && (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))))))) {
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 695, fa);
                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
@@ -144,18 +156,6 @@
                 }
             }
             break;
-        case 7:
-            {
-                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
-                    NGCCHandler h = new annotation(this, super._source, $runtime, 42, annotation,AnnotationContext.SIMPLETYPE_DECL);
-                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    $_ngcc_current_state = 2;
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-                }
-            }
-            break;
         default:
             {
                 unexpectedEnterElement($__qname);
@@ -170,11 +170,6 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 0:
-            {
-                revertToParentFromLeaveElement(result, super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
         case 1:
             {
                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("list"))) {
@@ -187,6 +182,17 @@
                 }
             }
             break;
+        case 7:
+            {
+                $_ngcc_current_state = 2;
+                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 0:
+            {
+                revertToParentFromLeaveElement(result, super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
         case 2:
             {
                 if(($ai = $runtime.getAttributeIndex("","itemType"))>=0) {
@@ -201,7 +207,7 @@
         case 9:
             {
                 if((($ai = $runtime.getAttributeIndex("","itemType"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("list")))) {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 44, fa);
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 695, fa);
                     spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
                 }
                 else {
@@ -209,12 +215,6 @@
                 }
             }
             break;
-        case 7:
-            {
-                $_ngcc_current_state = 2;
-                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
         default:
             {
                 unexpectedLeaveElement($__qname);
@@ -229,6 +229,12 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
+        case 7:
+            {
+                $_ngcc_current_state = 2;
+                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
         case 0:
             {
                 revertToParentFromEnterAttribute(result, super._cookie, $__uri, $__local, $__qname);
@@ -247,7 +253,7 @@
         case 9:
             {
                 if(($__uri.equals("") && $__local.equals("itemType"))) {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 44, fa);
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 695, fa);
                     spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
                 }
                 else {
@@ -255,12 +261,6 @@
                 }
             }
             break;
-        case 7:
-            {
-                $_ngcc_current_state = 2;
-                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
         default:
             {
                 unexpectedEnterAttribute($__qname);
@@ -275,11 +275,6 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 0:
-            {
-                revertToParentFromLeaveAttribute(result, super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
         case 4:
             {
                 if(($__uri.equals("") && $__local.equals("itemType"))) {
@@ -296,6 +291,11 @@
                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
+        case 0:
+            {
+                revertToParentFromLeaveAttribute(result, super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
         default:
             {
                 unexpectedLeaveAttribute($__qname);
@@ -307,17 +307,17 @@
     public void text(String $value) throws SAXException {
         int $ai;
         switch($_ngcc_current_state) {
+        case 7:
+            {
+                $_ngcc_current_state = 2;
+                $runtime.sendText(super._cookie, $value);
+            }
+            break;
         case 0:
             {
                 revertToParentFromText(result, super._cookie, $value);
             }
             break;
-        case 5:
-            {
-                NGCCHandler h = new qname(this, super._source, $runtime, 38);
-                spawnChildFromText(h, $value);
-            }
-            break;
         case 2:
             {
                 if(($ai = $runtime.getAttributeIndex("","itemType"))>=0) {
@@ -329,15 +329,15 @@
         case 9:
             {
                 if(($ai = $runtime.getAttributeIndex("","itemType"))>=0) {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 44, fa);
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 695, fa);
                     spawnChildFromText(h, $value);
                 }
             }
             break;
-        case 7:
+        case 5:
             {
-                $_ngcc_current_state = 2;
-                $runtime.sendText(super._cookie, $value);
+                NGCCHandler h = new qname(this, super._source, $runtime, 689);
+                spawnChildFromText(h, $value);
             }
             break;
         }
@@ -345,29 +345,29 @@
 
     public void onChildCompleted(Object $__result__, int $__cookie__, boolean $__needAttCheck__)throws SAXException {
         switch($__cookie__) {
-        case 38:
+        case 693:
             {
-                itemTypeName = ((UName)$__result__);
-                action1();
-                $_ngcc_current_state = 4;
+                annotation = ((AnnotationImpl)$__result__);
+                $_ngcc_current_state = 2;
             }
             break;
-        case 36:
+        case 687:
             {
                 itemType = ((SimpleTypeImpl)$__result__);
                 $_ngcc_current_state = 1;
             }
             break;
-        case 44:
+        case 695:
             {
                 fa = ((ForeignAttributesImpl)$__result__);
                 $_ngcc_current_state = 7;
             }
             break;
-        case 42:
+        case 689:
             {
-                annotation = ((AnnotationImpl)$__result__);
-                $_ngcc_current_state = 2;
+                itemTypeName = ((UName)$__result__);
+                action1();
+                $_ngcc_current_state = 4;
             }
             break;
         }
--- a/sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/SimpleType_Restriction.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/SimpleType_Restriction.java	Mon Jun 11 03:24:50 2012 +0100
@@ -105,36 +105,6 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 1:
-            {
-                if((((((((((((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("minExclusive")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("maxExclusive"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("minInclusive"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("maxInclusive"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("totalDigits"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("fractionDigits"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("length"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("maxLength"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("minLength"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("enumeration"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("whiteSpace"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("pattern")))) {
-                    NGCCHandler h = new facet(this, super._source, $runtime, 266);
-                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    unexpectedEnterElement($__qname);
-                }
-            }
-            break;
-        case 2:
-            {
-                if((((((((((((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("minExclusive")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("maxExclusive"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("minInclusive"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("maxInclusive"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("totalDigits"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("fractionDigits"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("length"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("maxLength"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("minLength"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("enumeration"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("whiteSpace"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("pattern")))) {
-                    NGCCHandler h = new facet(this, super._source, $runtime, 267);
-                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    $_ngcc_current_state = 1;
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-                }
-            }
-            break;
-        case 4:
-            {
-                action1();
-                $_ngcc_current_state = 2;
-                $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-            }
-            break;
         case 0:
             {
                 revertToParentFromEnterElement(result, super._cookie, $__uri, $__local, $__qname, $attrs);
@@ -142,8 +112,8 @@
             break;
         case 12:
             {
-                if(((($ai = $runtime.getAttributeIndex("","base"))>=0 && ((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType"))) || (((((((((((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("minExclusive")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("maxExclusive"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("minInclusive"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("maxInclusive"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("totalDigits"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("fractionDigits"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("length"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("maxLength"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("minLength"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("enumeration"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("whiteSpace"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("pattern"))))) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))))) {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 279, fa);
+                if(((($ai = $runtime.getAttributeIndex("","base"))>=0 && (((((((((((((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("minExclusive")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("maxExclusive"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("minInclusive"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("maxInclusive"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("totalDigits"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("fractionDigits"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("length"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("maxLength"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("minLength"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("enumeration"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("whiteSpace"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("pattern"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")))) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType"))))) {
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 445, fa);
                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
@@ -151,23 +121,6 @@
                 }
             }
             break;
-        case 5:
-            {
-                if(($ai = $runtime.getAttributeIndex("","base"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType"))) {
-                        NGCCHandler h = new simpleType(this, super._source, $runtime, 271);
-                        spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
-                    }
-                    else {
-                        unexpectedEnterElement($__qname);
-                    }
-                }
-            }
-            break;
         case 13:
             {
                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("restriction"))) {
@@ -180,10 +133,57 @@
                 }
             }
             break;
+        case 5:
+            {
+                if(($ai = $runtime.getAttributeIndex("","base"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType"))) {
+                        NGCCHandler h = new simpleType(this, super._source, $runtime, 437);
+                        spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                    }
+                    else {
+                        unexpectedEnterElement($__qname);
+                    }
+                }
+            }
+            break;
+        case 2:
+            {
+                if((((((((((((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("minExclusive")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("maxExclusive"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("minInclusive"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("maxInclusive"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("totalDigits"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("fractionDigits"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("length"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("maxLength"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("minLength"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("enumeration"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("whiteSpace"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("pattern")))) {
+                    NGCCHandler h = new facet(this, super._source, $runtime, 433);
+                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    $_ngcc_current_state = 1;
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                }
+            }
+            break;
+        case 1:
+            {
+                if((((((((((((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("minExclusive")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("maxExclusive"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("minInclusive"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("maxInclusive"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("totalDigits"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("fractionDigits"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("length"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("maxLength"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("minLength"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("enumeration"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("whiteSpace"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("pattern")))) {
+                    NGCCHandler h = new facet(this, super._source, $runtime, 432);
+                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    unexpectedEnterElement($__qname);
+                }
+            }
+            break;
+        case 4:
+            {
+                action1();
+                $_ngcc_current_state = 2;
+                $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+            }
+            break;
         case 10:
             {
                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
-                    NGCCHandler h = new annotation(this, super._source, $runtime, 277, annotation,AnnotationContext.SIMPLETYPE_DECL);
+                    NGCCHandler h = new annotation(this, super._source, $runtime, 443, annotation,AnnotationContext.SIMPLETYPE_DECL);
                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
@@ -206,30 +206,6 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 1:
-            {
-                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("restriction"))) {
-                    $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
-                    $_ngcc_current_state = 0;
-                }
-                else {
-                    unexpectedLeaveElement($__qname);
-                }
-            }
-            break;
-        case 2:
-            {
-                $_ngcc_current_state = 1;
-                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 4:
-            {
-                action1();
-                $_ngcc_current_state = 2;
-                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
         case 0:
             {
                 revertToParentFromLeaveElement(result, super._cookie, $__uri, $__local, $__qname);
@@ -238,7 +214,7 @@
         case 12:
             {
                 if((($ai = $runtime.getAttributeIndex("","base"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("restriction")))) {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 279, fa);
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 445, fa);
                     spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
                 }
                 else {
@@ -257,6 +233,30 @@
                 }
             }
             break;
+        case 2:
+            {
+                $_ngcc_current_state = 1;
+                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 1:
+            {
+                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("restriction"))) {
+                    $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
+                    $_ngcc_current_state = 0;
+                }
+                else {
+                    unexpectedLeaveElement($__qname);
+                }
+            }
+            break;
+        case 4:
+            {
+                action1();
+                $_ngcc_current_state = 2;
+                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
         case 10:
             {
                 $_ngcc_current_state = 5;
@@ -277,19 +277,6 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 2:
-            {
-                $_ngcc_current_state = 1;
-                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 4:
-            {
-                action1();
-                $_ngcc_current_state = 2;
-                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
         case 0:
             {
                 revertToParentFromEnterAttribute(result, super._cookie, $__uri, $__local, $__qname);
@@ -298,7 +285,7 @@
         case 12:
             {
                 if(($__uri.equals("") && $__local.equals("base"))) {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 279, fa);
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 445, fa);
                     spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
                 }
                 else {
@@ -316,6 +303,19 @@
                 }
             }
             break;
+        case 2:
+            {
+                $_ngcc_current_state = 1;
+                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 4:
+            {
+                action1();
+                $_ngcc_current_state = 2;
+                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
         case 10:
             {
                 $_ngcc_current_state = 5;
@@ -336,6 +336,21 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
+        case 7:
+            {
+                if(($__uri.equals("") && $__local.equals("base"))) {
+                    $_ngcc_current_state = 4;
+                }
+                else {
+                    unexpectedLeaveAttribute($__qname);
+                }
+            }
+            break;
+        case 0:
+            {
+                revertToParentFromLeaveAttribute(result, super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
         case 2:
             {
                 $_ngcc_current_state = 1;
@@ -349,21 +364,6 @@
                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
-        case 0:
-            {
-                revertToParentFromLeaveAttribute(result, super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 7:
-            {
-                if(($__uri.equals("") && $__local.equals("base"))) {
-                    $_ngcc_current_state = 4;
-                }
-                else {
-                    unexpectedLeaveAttribute($__qname);
-                }
-            }
-            break;
         case 10:
             {
                 $_ngcc_current_state = 5;
@@ -381,25 +381,6 @@
     public void text(String $value) throws SAXException {
         int $ai;
         switch($_ngcc_current_state) {
-        case 2:
-            {
-                $_ngcc_current_state = 1;
-                $runtime.sendText(super._cookie, $value);
-            }
-            break;
-        case 8:
-            {
-                NGCCHandler h = new qname(this, super._source, $runtime, 273);
-                spawnChildFromText(h, $value);
-            }
-            break;
-        case 4:
-            {
-                action1();
-                $_ngcc_current_state = 2;
-                $runtime.sendText(super._cookie, $value);
-            }
-            break;
         case 0:
             {
                 revertToParentFromText(result, super._cookie, $value);
@@ -408,11 +389,17 @@
         case 12:
             {
                 if(($ai = $runtime.getAttributeIndex("","base"))>=0) {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 279, fa);
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 445, fa);
                     spawnChildFromText(h, $value);
                 }
             }
             break;
+        case 8:
+            {
+                NGCCHandler h = new qname(this, super._source, $runtime, 439);
+                spawnChildFromText(h, $value);
+            }
+            break;
         case 5:
             {
                 if(($ai = $runtime.getAttributeIndex("","base"))>=0) {
@@ -421,6 +408,19 @@
                 }
             }
             break;
+        case 2:
+            {
+                $_ngcc_current_state = 1;
+                $runtime.sendText(super._cookie, $value);
+            }
+            break;
+        case 4:
+            {
+                action1();
+                $_ngcc_current_state = 2;
+                $runtime.sendText(super._cookie, $value);
+            }
+            break;
         case 10:
             {
                 $_ngcc_current_state = 5;
@@ -432,43 +432,43 @@
 
     public void onChildCompleted(Object $__result__, int $__cookie__, boolean $__needAttCheck__)throws SAXException {
         switch($__cookie__) {
-        case 266:
-            {
-                facet = ((XSFacet)$__result__);
-                action0();
-                $_ngcc_current_state = 1;
-            }
-            break;
-        case 273:
+        case 439:
             {
                 baseTypeName = ((UName)$__result__);
                 action2();
                 $_ngcc_current_state = 7;
             }
             break;
-        case 279:
+        case 445:
             {
                 fa = ((ForeignAttributesImpl)$__result__);
                 $_ngcc_current_state = 10;
             }
             break;
-        case 277:
+        case 437:
+            {
+                baseType = ((SimpleTypeImpl)$__result__);
+                $_ngcc_current_state = 4;
+            }
+            break;
+        case 443:
             {
                 annotation = ((AnnotationImpl)$__result__);
                 $_ngcc_current_state = 5;
             }
             break;
-        case 267:
+        case 433:
             {
                 facet = ((XSFacet)$__result__);
                 action0();
                 $_ngcc_current_state = 1;
             }
             break;
-        case 271:
+        case 432:
             {
-                baseType = ((SimpleTypeImpl)$__result__);
-                $_ngcc_current_state = 4;
+                facet = ((XSFacet)$__result__);
+                action0();
+                $_ngcc_current_state = 1;
             }
             break;
         }
--- a/sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/SimpleType_Union.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/SimpleType_Union.java	Mon Jun 11 03:24:50 2012 +0100
@@ -111,10 +111,10 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 1:
+        case 6:
             {
-                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType"))) {
-                    NGCCHandler h = new simpleType(this, super._source, $runtime, 173);
+                if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType")))) {
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 665, fa);
                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
@@ -122,16 +122,9 @@
                 }
             }
             break;
-        case 2:
+        case 0:
             {
-                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType"))) {
-                    NGCCHandler h = new simpleType(this, super._source, $runtime, 174);
-                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    $_ngcc_current_state = 1;
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-                }
+                revertToParentFromEnterElement(result, super._cookie, $__uri, $__local, $__qname, $attrs);
             }
             break;
         case 12:
@@ -146,6 +139,17 @@
                 }
             }
             break;
+        case 1:
+            {
+                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType"))) {
+                    NGCCHandler h = new simpleType(this, super._source, $runtime, 659);
+                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    unexpectedEnterElement($__qname);
+                }
+            }
+            break;
         case 7:
             {
                 if(($ai = $runtime.getAttributeIndex("","memberTypes"))>=0) {
@@ -158,26 +162,10 @@
                 }
             }
             break;
-        case 0:
-            {
-                revertToParentFromEnterElement(result, super._cookie, $__uri, $__local, $__qname, $attrs);
-            }
-            break;
-        case 6:
-            {
-                if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")))) {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 179, fa);
-                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    unexpectedEnterElement($__qname);
-                }
-            }
-            break;
         case 4:
             {
                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
-                    NGCCHandler h = new annotation(this, super._source, $runtime, 177, annotation,AnnotationContext.SIMPLETYPE_DECL);
+                    NGCCHandler h = new annotation(this, super._source, $runtime, 663, annotation,AnnotationContext.SIMPLETYPE_DECL);
                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
@@ -186,6 +174,18 @@
                 }
             }
             break;
+        case 2:
+            {
+                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType"))) {
+                    NGCCHandler h = new simpleType(this, super._source, $runtime, 660);
+                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    $_ngcc_current_state = 1;
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                }
+            }
+            break;
         default:
             {
                 unexpectedEnterElement($__qname);
@@ -200,6 +200,22 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
+        case 6:
+            {
+                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("union"))) {
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 665, fa);
+                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
+                }
+                else {
+                    unexpectedLeaveElement($__qname);
+                }
+            }
+            break;
+        case 0:
+            {
+                revertToParentFromLeaveElement(result, super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
         case 1:
             {
                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("union"))) {
@@ -212,12 +228,6 @@
                 }
             }
             break;
-        case 2:
-            {
-                $_ngcc_current_state = 1;
-                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
         case 7:
             {
                 if(($ai = $runtime.getAttributeIndex("","memberTypes"))>=0) {
@@ -230,28 +240,18 @@
                 }
             }
             break;
-        case 0:
-            {
-                revertToParentFromLeaveElement(result, super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 6:
-            {
-                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("union"))) {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 179, fa);
-                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
-                }
-                else {
-                    unexpectedLeaveElement($__qname);
-                }
-            }
-            break;
         case 4:
             {
                 $_ngcc_current_state = 2;
                 $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
             }
             break;
+        case 2:
+            {
+                $_ngcc_current_state = 1;
+                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
         default:
             {
                 unexpectedLeaveElement($__qname);
@@ -266,10 +266,9 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 2:
+        case 0:
             {
-                $_ngcc_current_state = 1;
-                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
+                revertToParentFromEnterAttribute(result, super._cookie, $__uri, $__local, $__qname);
             }
             break;
         case 7:
@@ -283,17 +282,18 @@
                 }
             }
             break;
-        case 0:
-            {
-                revertToParentFromEnterAttribute(result, super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
         case 4:
             {
                 $_ngcc_current_state = 2;
                 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
+        case 2:
+            {
+                $_ngcc_current_state = 1;
+                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
         default:
             {
                 unexpectedEnterAttribute($__qname);
@@ -308,10 +308,9 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 2:
+        case 0:
             {
-                $_ngcc_current_state = 1;
-                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
+                revertToParentFromLeaveAttribute(result, super._cookie, $__uri, $__local, $__qname);
             }
             break;
         case 8:
@@ -330,17 +329,18 @@
                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
-        case 0:
-            {
-                revertToParentFromLeaveAttribute(result, super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
         case 4:
             {
                 $_ngcc_current_state = 2;
                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
+        case 2:
+            {
+                $_ngcc_current_state = 1;
+                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
         default:
             {
                 unexpectedLeaveAttribute($__qname);
@@ -352,21 +352,14 @@
     public void text(String $value) throws SAXException {
         int $ai;
         switch($_ngcc_current_state) {
-        case 2:
+        case 0:
             {
-                $_ngcc_current_state = 1;
-                $runtime.sendText(super._cookie, $value);
-            }
-            break;
-        case 9:
-            {
-                NGCCHandler h = new qname(this, super._source, $runtime, 181);
-                spawnChildFromText(h, $value);
+                revertToParentFromText(result, super._cookie, $value);
             }
             break;
         case 8:
             {
-                NGCCHandler h = new qname(this, super._source, $runtime, 182);
+                NGCCHandler h = new qname(this, super._source, $runtime, 668);
                 spawnChildFromText(h, $value);
             }
             break;
@@ -377,6 +370,12 @@
                 action3();
             }
             break;
+        case 9:
+            {
+                NGCCHandler h = new qname(this, super._source, $runtime, 667);
+                spawnChildFromText(h, $value);
+            }
+            break;
         case 7:
             {
                 if(($ai = $runtime.getAttributeIndex("","memberTypes"))>=0) {
@@ -389,56 +388,57 @@
                 }
             }
             break;
-        case 0:
-            {
-                revertToParentFromText(result, super._cookie, $value);
-            }
-            break;
         case 4:
             {
                 $_ngcc_current_state = 2;
                 $runtime.sendText(super._cookie, $value);
             }
             break;
+        case 2:
+            {
+                $_ngcc_current_state = 1;
+                $runtime.sendText(super._cookie, $value);
+            }
+            break;
         }
     }
 
     public void onChildCompleted(Object $__result__, int $__cookie__, boolean $__needAttCheck__)throws SAXException {
         switch($__cookie__) {
-        case 173:
+        case 665:
+            {
+                fa = ((ForeignAttributesImpl)$__result__);
+                $_ngcc_current_state = 4;
+            }
+            break;
+        case 660:
             {
                 anonymousMemberType = ((SimpleTypeImpl)$__result__);
                 action1();
                 $_ngcc_current_state = 1;
             }
             break;
-        case 181:
+        case 663:
+            {
+                annotation = ((AnnotationImpl)$__result__);
+                $_ngcc_current_state = 2;
+            }
+            break;
+        case 668:
             {
                 memberTypeName = ((UName)$__result__);
                 action2();
                 $_ngcc_current_state = 8;
             }
             break;
-        case 177:
-            {
-                annotation = ((AnnotationImpl)$__result__);
-                $_ngcc_current_state = 2;
-            }
-            break;
-        case 179:
-            {
-                fa = ((ForeignAttributesImpl)$__result__);
-                $_ngcc_current_state = 4;
-            }
-            break;
-        case 174:
+        case 659:
             {
                 anonymousMemberType = ((SimpleTypeImpl)$__result__);
                 action1();
                 $_ngcc_current_state = 1;
             }
             break;
-        case 182:
+        case 667:
             {
                 memberTypeName = ((UName)$__result__);
                 action2();
--- a/sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/annotation.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/annotation.java	Mon Jun 11 03:24:50 2012 +0100
@@ -87,6 +87,11 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
+        case 0:
+            {
+                revertToParentFromEnterElement(makeResult(), super._cookie, $__uri, $__local, $__qname, $attrs);
+            }
+            break;
         case 2:
             {
                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
@@ -99,11 +104,6 @@
                 }
             }
             break;
-        case 0:
-            {
-                revertToParentFromEnterElement(makeResult(), super._cookie, $__uri, $__local, $__qname, $attrs);
-            }
-            break;
         default:
             {
                 unexpectedEnterElement($__qname);
@@ -118,6 +118,11 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
+        case 0:
+            {
+                revertToParentFromLeaveElement(makeResult(), super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
         case 1:
             {
                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
@@ -129,11 +134,6 @@
                 }
             }
             break;
-        case 0:
-            {
-                revertToParentFromLeaveElement(makeResult(), super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
         default:
             {
                 unexpectedLeaveElement($__qname);
--- a/sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/attributeDeclBody.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/attributeDeclBody.java	Mon Jun 11 03:24:50 2012 +0100
@@ -92,15 +92,10 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 0:
-            {
-                revertToParentFromEnterElement(makeResult(), super._cookie, $__uri, $__local, $__qname, $attrs);
-            }
-            break;
         case 7:
             {
                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
-                    NGCCHandler h = new annotation(this, super._source, $runtime, 11, null,AnnotationContext.ATTRIBUTE_DECL);
+                    NGCCHandler h = new annotation(this, super._source, $runtime, 210, null,AnnotationContext.ATTRIBUTE_DECL);
                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
@@ -109,6 +104,11 @@
                 }
             }
             break;
+        case 0:
+            {
+                revertToParentFromEnterElement(makeResult(), super._cookie, $__uri, $__local, $__qname, $attrs);
+            }
+            break;
         case 13:
             {
                 if(($ai = $runtime.getAttributeIndex("","form"))>=0) {
@@ -121,6 +121,18 @@
                 }
             }
             break;
+        case 9:
+            {
+                if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || ((($ai = $runtime.getAttributeIndex("","type"))>=0 && (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType"))))) {
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 212, fa);
+                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 212, fa);
+                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                }
+            }
+            break;
         case 12:
             {
                 if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
@@ -132,18 +144,6 @@
                 }
             }
             break;
-        case 9:
-            {
-                if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || (($ai = $runtime.getAttributeIndex("","type"))>=0 && (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType"))))))) {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 13, fa);
-                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 13, fa);
-                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
-                }
-            }
-            break;
         case 1:
             {
                 if(($ai = $runtime.getAttributeIndex("","type"))>=0) {
@@ -152,7 +152,7 @@
                 }
                 else {
                     if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType"))) {
-                        NGCCHandler h = new simpleType(this, super._source, $runtime, 2);
+                        NGCCHandler h = new simpleType(this, super._source, $runtime, 201);
                         spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                     }
                     else {
@@ -176,17 +176,17 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 0:
-            {
-                revertToParentFromLeaveElement(makeResult(), super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
         case 7:
             {
                 $_ngcc_current_state = 1;
                 $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
             }
             break;
+        case 0:
+            {
+                revertToParentFromLeaveElement(makeResult(), super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
         case 13:
             {
                 if(($ai = $runtime.getAttributeIndex("","form"))>=0) {
@@ -199,6 +199,18 @@
                 }
             }
             break;
+        case 9:
+            {
+                if(($ai = $runtime.getAttributeIndex("","type"))>=0) {
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 212, fa);
+                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
+                }
+                else {
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 212, fa);
+                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
+                }
+            }
+            break;
         case 12:
             {
                 if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
@@ -210,18 +222,6 @@
                 }
             }
             break;
-        case 9:
-            {
-                if(($ai = $runtime.getAttributeIndex("","type"))>=0) {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 13, fa);
-                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
-                }
-                else {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 13, fa);
-                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
-                }
-            }
-            break;
         case 1:
             {
                 if(($ai = $runtime.getAttributeIndex("","type"))>=0) {
@@ -248,17 +248,17 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 0:
-            {
-                revertToParentFromEnterAttribute(makeResult(), super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
         case 7:
             {
                 $_ngcc_current_state = 1;
                 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
+        case 0:
+            {
+                revertToParentFromEnterAttribute(makeResult(), super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
         case 13:
             {
                 if(($__uri.equals("") && $__local.equals("form"))) {
@@ -270,6 +270,18 @@
                 }
             }
             break;
+        case 9:
+            {
+                if(($__uri.equals("") && $__local.equals("type"))) {
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 212, fa);
+                    spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
+                }
+                else {
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 212, fa);
+                    spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
+                }
+            }
+            break;
         case 12:
             {
                 if(($__uri.equals("") && $__local.equals("name"))) {
@@ -280,18 +292,6 @@
                 }
             }
             break;
-        case 9:
-            {
-                if(($__uri.equals("") && $__local.equals("type"))) {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 13, fa);
-                    spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
-                }
-                else {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 13, fa);
-                    spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
-                }
-            }
-            break;
         case 1:
             {
                 if(($__uri.equals("") && $__local.equals("type"))) {
@@ -317,9 +317,14 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 0:
+        case 10:
             {
-                revertToParentFromLeaveAttribute(makeResult(), super._cookie, $__uri, $__local, $__qname);
+                if(($__uri.equals("") && $__local.equals("name"))) {
+                    $_ngcc_current_state = 9;
+                }
+                else {
+                    unexpectedLeaveAttribute($__qname);
+                }
             }
             break;
         case 7:
@@ -328,12 +333,33 @@
                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
+        case 0:
+            {
+                revertToParentFromLeaveAttribute(makeResult(), super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
         case 13:
             {
                 $_ngcc_current_state = 12;
                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
+        case 9:
+            {
+                NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 212, fa);
+                spawnChildFromLeaveAttribute(h, $__uri, $__local, $__qname);
+            }
+            break;
+        case 14:
+            {
+                if(($__uri.equals("") && $__local.equals("form"))) {
+                    $_ngcc_current_state = 12;
+                }
+                else {
+                    unexpectedLeaveAttribute($__qname);
+                }
+            }
+            break;
         case 4:
             {
                 if(($__uri.equals("") && $__local.equals("type"))) {
@@ -344,38 +370,12 @@
                 }
             }
             break;
-        case 14:
-            {
-                if(($__uri.equals("") && $__local.equals("form"))) {
-                    $_ngcc_current_state = 12;
-                }
-                else {
-                    unexpectedLeaveAttribute($__qname);
-                }
-            }
-            break;
-        case 9:
-            {
-                NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 13, fa);
-                spawnChildFromLeaveAttribute(h, $__uri, $__local, $__qname);
-            }
-            break;
         case 1:
             {
                 $_ngcc_current_state = 0;
                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
-        case 10:
-            {
-                if(($__uri.equals("") && $__local.equals("name"))) {
-                    $_ngcc_current_state = 9;
-                }
-                else {
-                    unexpectedLeaveAttribute($__qname);
-                }
-            }
-            break;
         default:
             {
                 unexpectedLeaveAttribute($__qname);
@@ -387,11 +387,6 @@
     public void text(String $value) throws SAXException {
         int $ai;
         switch($_ngcc_current_state) {
-        case 0:
-            {
-                revertToParentFromText(makeResult(), super._cookie, $value);
-            }
-            break;
         case 7:
             {
                 $_ngcc_current_state = 1;
@@ -400,10 +395,15 @@
             break;
         case 5:
             {
-                NGCCHandler h = new qname(this, super._source, $runtime, 4);
+                NGCCHandler h = new qname(this, super._source, $runtime, 203);
                 spawnChildFromText(h, $value);
             }
             break;
+        case 0:
+            {
+                revertToParentFromText(makeResult(), super._cookie, $value);
+            }
+            break;
         case 13:
             {
                 if(($ai = $runtime.getAttributeIndex("","form"))>=0) {
@@ -416,6 +416,24 @@
                 }
             }
             break;
+        case 9:
+            {
+                if(($ai = $runtime.getAttributeIndex("","type"))>=0) {
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 212, fa);
+                    spawnChildFromText(h, $value);
+                }
+                else {
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 212, fa);
+                    spawnChildFromText(h, $value);
+                }
+            }
+            break;
+        case 11:
+            {
+                name = $value;
+                $_ngcc_current_state = 10;
+            }
+            break;
         case 12:
             {
                 if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
@@ -424,18 +442,6 @@
                 }
             }
             break;
-        case 9:
-            {
-                if(($ai = $runtime.getAttributeIndex("","type"))>=0) {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 13, fa);
-                    spawnChildFromText(h, $value);
-                }
-                else {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 13, fa);
-                    spawnChildFromText(h, $value);
-                }
-            }
-            break;
         case 1:
             {
                 if(($ai = $runtime.getAttributeIndex("","type"))>=0) {
@@ -451,65 +457,59 @@
         case 15:
             {
                 if($value.equals("unqualified")) {
-                    NGCCHandler h = new qualification(this, super._source, $runtime, 18);
+                    NGCCHandler h = new qualification(this, super._source, $runtime, 217);
                     spawnChildFromText(h, $value);
                 }
                 else {
                     if($value.equals("qualified")) {
-                        NGCCHandler h = new qualification(this, super._source, $runtime, 18);
+                        NGCCHandler h = new qualification(this, super._source, $runtime, 217);
                         spawnChildFromText(h, $value);
                     }
                 }
             }
             break;
-        case 11:
-            {
-                name = $value;
-                $_ngcc_current_state = 10;
-            }
-            break;
         }
     }
 
     public void onChildCompleted(Object $__result__, int $__cookie__, boolean $__needAttCheck__)throws SAXException {
         switch($__cookie__) {
-        case 11:
+        case 210:
             {
                 annotation = ((AnnotationImpl)$__result__);
                 $_ngcc_current_state = 1;
             }
             break;
-        case 4:
+        case 217:
+            {
+                form = ((Boolean)$__result__).booleanValue();
+                action1();
+                $_ngcc_current_state = 14;
+            }
+            break;
+        case 203:
             {
                 typeName = ((UName)$__result__);
                 action0();
                 $_ngcc_current_state = 4;
             }
             break;
-        case 2:
+        case 212:
+            {
+                fa = ((ForeignAttributesImpl)$__result__);
+                $_ngcc_current_state = 7;
+            }
+            break;
+        case 201:
             {
                 type = ((SimpleTypeImpl)$__result__);
                 $_ngcc_current_state = 0;
             }
             break;
-        case 18:
-            {
-                form = ((Boolean)$__result__).booleanValue();
-                action1();
-                $_ngcc_current_state = 14;
-            }
-            break;
-        case 13:
-            {
-                fa = ((ForeignAttributesImpl)$__result__);
-                $_ngcc_current_state = 7;
-            }
-            break;
         }
     }
 
     public boolean accepted() {
-        return((($_ngcc_current_state == 0) || (($_ngcc_current_state == 1) || ($_ngcc_current_state == 7))));
+        return((($_ngcc_current_state == 1) || (($_ngcc_current_state == 0) || ($_ngcc_current_state == 7))));
     }
 
 
--- a/sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/attributeGroupDecl.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/attributeGroupDecl.java	Mon Jun 11 03:24:50 2012 +0100
@@ -83,11 +83,6 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 0:
-            {
-                revertToParentFromEnterElement(result, super._cookie, $__uri, $__local, $__qname, $attrs);
-            }
-            break;
         case 3:
             {
                 action0();
@@ -95,10 +90,21 @@
                 $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
             }
             break;
+        case 13:
+            {
+                if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    unexpectedEnterElement($__qname);
+                }
+            }
+            break;
         case 4:
             {
                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
-                    NGCCHandler h = new annotation(this, super._source, $runtime, 563, null,AnnotationContext.ATTRIBUTE_GROUP);
+                    NGCCHandler h = new annotation(this, super._source, $runtime, 525, null,AnnotationContext.ATTRIBUTE_GROUP);
                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
@@ -107,11 +113,12 @@
                 }
             }
             break;
-        case 6:
+        case 14:
             {
-                if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("anyAttribute")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute")))))) {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 565, fa);
-                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup"))) {
+                    $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
+                    action1();
+                    $_ngcc_current_state = 13;
                 }
                 else {
                     unexpectedEnterElement($__qname);
@@ -130,23 +137,11 @@
                 }
             }
             break;
-        case 13:
+        case 6:
             {
-                if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    unexpectedEnterElement($__qname);
-                }
-            }
-            break;
-        case 14:
-            {
-                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup"))) {
-                    $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
-                    action1();
-                    $_ngcc_current_state = 13;
+                if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("anyAttribute")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup")))))) {
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 527, fa);
+                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
                     unexpectedEnterElement($__qname);
@@ -155,8 +150,8 @@
             break;
         case 2:
             {
-                if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("anyAttribute")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute"))))) {
-                    NGCCHandler h = new attributeUses(this, super._source, $runtime, 560, result);
+                if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("anyAttribute")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup"))))) {
+                    NGCCHandler h = new attributeUses(this, super._source, $runtime, 522, result);
                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
@@ -164,6 +159,11 @@
                 }
             }
             break;
+        case 0:
+            {
+                revertToParentFromEnterElement(result, super._cookie, $__uri, $__local, $__qname, $attrs);
+            }
+            break;
         default:
             {
                 unexpectedEnterElement($__qname);
@@ -178,6 +178,24 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
+        case 3:
+            {
+                action0();
+                $_ngcc_current_state = 2;
+                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 13:
+            {
+                if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+                }
+                else {
+                    unexpectedLeaveElement($__qname);
+                }
+            }
+            break;
         case 1:
             {
                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup"))) {
@@ -189,35 +207,12 @@
                 }
             }
             break;
-        case 0:
-            {
-                revertToParentFromLeaveElement(result, super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 3:
-            {
-                action0();
-                $_ngcc_current_state = 2;
-                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
         case 4:
             {
                 $_ngcc_current_state = 3;
                 $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
             }
             break;
-        case 6:
-            {
-                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup"))) {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 565, fa);
-                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
-                }
-                else {
-                    unexpectedLeaveElement($__qname);
-                }
-            }
-            break;
         case 7:
             {
                 if(($ai = $runtime.getAttributeIndex("","id"))>=0) {
@@ -230,11 +225,11 @@
                 }
             }
             break;
-        case 13:
+        case 6:
             {
-                if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup"))) {
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 527, fa);
+                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
                 }
                 else {
                     unexpectedLeaveElement($__qname);
@@ -244,7 +239,7 @@
         case 2:
             {
                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup"))) {
-                    NGCCHandler h = new attributeUses(this, super._source, $runtime, 560, result);
+                    NGCCHandler h = new attributeUses(this, super._source, $runtime, 522, result);
                     spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
                 }
                 else {
@@ -252,6 +247,11 @@
                 }
             }
             break;
+        case 0:
+            {
+                revertToParentFromLeaveElement(result, super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
         default:
             {
                 unexpectedLeaveElement($__qname);
@@ -266,11 +266,6 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 0:
-            {
-                revertToParentFromEnterAttribute(result, super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
         case 3:
             {
                 action0();
@@ -278,6 +273,16 @@
                 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
+        case 13:
+            {
+                if(($__uri.equals("") && $__local.equals("name"))) {
+                    $_ngcc_current_state = 12;
+                }
+                else {
+                    unexpectedEnterAttribute($__qname);
+                }
+            }
+            break;
         case 4:
             {
                 $_ngcc_current_state = 3;
@@ -295,14 +300,9 @@
                 }
             }
             break;
-        case 13:
+        case 0:
             {
-                if(($__uri.equals("") && $__local.equals("name"))) {
-                    $_ngcc_current_state = 12;
-                }
-                else {
-                    unexpectedEnterAttribute($__qname);
-                }
+                revertToParentFromEnterAttribute(result, super._cookie, $__uri, $__local, $__qname);
             }
             break;
         default:
@@ -319,9 +319,14 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 0:
+        case 8:
             {
-                revertToParentFromLeaveAttribute(result, super._cookie, $__uri, $__local, $__qname);
+                if(($__uri.equals("") && $__local.equals("id"))) {
+                    $_ngcc_current_state = 6;
+                }
+                else {
+                    unexpectedLeaveAttribute($__qname);
+                }
             }
             break;
         case 3:
@@ -353,14 +358,9 @@
                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
-        case 8:
+        case 0:
             {
-                if(($__uri.equals("") && $__local.equals("id"))) {
-                    $_ngcc_current_state = 6;
-                }
-                else {
-                    unexpectedLeaveAttribute($__qname);
-                }
+                revertToParentFromLeaveAttribute(result, super._cookie, $__uri, $__local, $__qname);
             }
             break;
         default:
@@ -374,14 +374,19 @@
     public void text(String $value) throws SAXException {
         int $ai;
         switch($_ngcc_current_state) {
-        case 9:
+        case 3:
             {
-                $_ngcc_current_state = 8;
+                action0();
+                $_ngcc_current_state = 2;
+                $runtime.sendText(super._cookie, $value);
             }
             break;
-        case 0:
+        case 13:
             {
-                revertToParentFromText(result, super._cookie, $value);
+                if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendText(super._cookie, $value);
+                }
             }
             break;
         case 12:
@@ -390,19 +395,17 @@
                 $_ngcc_current_state = 11;
             }
             break;
-        case 3:
-            {
-                action0();
-                $_ngcc_current_state = 2;
-                $runtime.sendText(super._cookie, $value);
-            }
-            break;
         case 4:
             {
                 $_ngcc_current_state = 3;
                 $runtime.sendText(super._cookie, $value);
             }
             break;
+        case 9:
+            {
+                $_ngcc_current_state = 8;
+            }
+            break;
         case 7:
             {
                 if(($ai = $runtime.getAttributeIndex("","id"))>=0) {
@@ -415,12 +418,9 @@
                 }
             }
             break;
-        case 13:
+        case 0:
             {
-                if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendText(super._cookie, $value);
-                }
+                revertToParentFromText(result, super._cookie, $value);
             }
             break;
         }
@@ -428,19 +428,19 @@
 
     public void onChildCompleted(Object $__result__, int $__cookie__, boolean $__needAttCheck__)throws SAXException {
         switch($__cookie__) {
-        case 563:
+        case 525:
             {
                 annotation = ((AnnotationImpl)$__result__);
                 $_ngcc_current_state = 3;
             }
             break;
-        case 565:
+        case 527:
             {
                 fa = ((ForeignAttributesImpl)$__result__);
                 $_ngcc_current_state = 4;
             }
             break;
-        case 560:
+        case 522:
             {
                 $_ngcc_current_state = 1;
             }
--- a/sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/attributeUses.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/attributeUses.java	Mon Jun 11 03:24:50 2012 +0100
@@ -143,15 +143,26 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 9:
+        case 29:
             {
-                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
-                    NGCCHandler h = new annotation(this, super._source, $runtime, 352, null,AnnotationContext.ATTRIBUTE_USE);
+                if(($ai = $runtime.getAttributeIndex("","default"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    $_ngcc_current_state = 25;
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                }
+            }
+            break;
+        case 3:
+            {
+                if((($ai = $runtime.getAttributeIndex("","processContents"))>=0 || (($ai = $runtime.getAttributeIndex("","namespace"))>=0 || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))))) {
+                    NGCCHandler h = new wildcardBody(this, super._source, $runtime, 448, wloc);
                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
-                    $_ngcc_current_state = 8;
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                    unexpectedEnterElement($__qname);
                 }
             }
             break;
@@ -166,11 +177,28 @@
                 }
             }
             break;
-        case 8:
+        case 9:
             {
-                action2();
-                $_ngcc_current_state = 7;
-                $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
+                    NGCCHandler h = new annotation(this, super._source, $runtime, 455, null,AnnotationContext.ATTRIBUTE_USE);
+                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    $_ngcc_current_state = 8;
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                }
+            }
+            break;
+        case 25:
+            {
+                if(($ai = $runtime.getAttributeIndex("","fixed"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    $_ngcc_current_state = 17;
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                }
             }
             break;
         case 5:
@@ -205,10 +233,17 @@
                 }
             }
             break;
+        case 16:
+            {
+                action4();
+                $_ngcc_current_state = 15;
+                $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+            }
+            break;
         case 19:
             {
                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
-                    NGCCHandler h = new annotation(this, super._source, $runtime, 363, null,AnnotationContext.ATTRIBUTE_USE);
+                    NGCCHandler h = new annotation(this, super._source, $runtime, 466, null,AnnotationContext.ATTRIBUTE_USE);
                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
@@ -217,29 +252,10 @@
                 }
             }
             break;
-        case 16:
-            {
-                action4();
-                $_ngcc_current_state = 15;
-                $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-            }
-            break;
-        case 25:
-            {
-                if(($ai = $runtime.getAttributeIndex("","fixed"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    $_ngcc_current_state = 17;
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-                }
-            }
-            break;
         case 17:
             {
-                if((($ai = $runtime.getAttributeIndex("","name"))>=0 || ($ai = $runtime.getAttributeIndex("","form"))>=0)) {
-                    NGCCHandler h = new attributeDeclBody(this, super._source, $runtime, 370, locator,true,defaultValue,fixedValue);
+                if((($ai = $runtime.getAttributeIndex("","form"))>=0 || ($ai = $runtime.getAttributeIndex("","name"))>=0)) {
+                    NGCCHandler h = new attributeDeclBody(this, super._source, $runtime, 473, locator,true,defaultValue,fixedValue);
                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
@@ -253,20 +269,11 @@
                 }
             }
             break;
-        case 0:
-            {
-                revertToParentFromEnterElement(this, super._cookie, $__uri, $__local, $__qname, $attrs);
-            }
-            break;
-        case 3:
+        case 8:
             {
-                if((($ai = $runtime.getAttributeIndex("","processContents"))>=0 || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || ($ai = $runtime.getAttributeIndex("","namespace"))>=0))) {
-                    NGCCHandler h = new wildcardBody(this, super._source, $runtime, 345, wloc);
-                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    unexpectedEnterElement($__qname);
-                }
+                action2();
+                $_ngcc_current_state = 7;
+                $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
             }
             break;
         case 1:
@@ -296,16 +303,9 @@
                 }
             }
             break;
-        case 29:
+        case 0:
             {
-                if(($ai = $runtime.getAttributeIndex("","default"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    $_ngcc_current_state = 25;
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-                }
+                revertToParentFromEnterElement(this, super._cookie, $__uri, $__local, $__qname, $attrs);
             }
             break;
         default:
@@ -322,10 +322,27 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 9:
+        case 29:
             {
-                $_ngcc_current_state = 8;
-                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+                if(($ai = $runtime.getAttributeIndex("","default"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+                }
+                else {
+                    $_ngcc_current_state = 25;
+                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+                }
+            }
+            break;
+        case 3:
+            {
+                if(((($ai = $runtime.getAttributeIndex("","processContents"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("anyAttribute"))) || ((($ai = $runtime.getAttributeIndex("","namespace"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("anyAttribute"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("anyAttribute"))))) {
+                    NGCCHandler h = new wildcardBody(this, super._source, $runtime, 448, wloc);
+                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
+                }
+                else {
+                    unexpectedLeaveElement($__qname);
+                }
             }
             break;
         case 13:
@@ -339,41 +356,9 @@
                 }
             }
             break;
-        case 8:
-            {
-                action2();
-                $_ngcc_current_state = 7;
-                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 5:
-            {
-                $_ngcc_current_state = 1;
-                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 33:
+        case 9:
             {
-                if(($ai = $runtime.getAttributeIndex("","use"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-                }
-                else {
-                    $_ngcc_current_state = 29;
-                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-                }
-            }
-            break;
-        case 19:
-            {
-                $_ngcc_current_state = 18;
-                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 16:
-            {
-                action4();
-                $_ngcc_current_state = 15;
+                $_ngcc_current_state = 8;
                 $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
             }
             break;
@@ -389,47 +374,32 @@
                 }
             }
             break;
-        case 17:
+        case 5:
             {
-                if(((($ai = $runtime.getAttributeIndex("","name"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute"))) || (($ai = $runtime.getAttributeIndex("","form"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute"))))) {
-                    NGCCHandler h = new attributeDeclBody(this, super._source, $runtime, 370, locator,true,defaultValue,fixedValue);
-                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
-                }
-                else {
-                    if(($ai = $runtime.getAttributeIndex("","ref"))>=0) {
-                        $runtime.consumeAttribute($ai);
-                        $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-                    }
-                    else {
-                        unexpectedLeaveElement($__qname);
-                    }
-                }
+                $_ngcc_current_state = 1;
+                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
             }
             break;
-        case 0:
+        case 7:
             {
-                revertToParentFromLeaveElement(this, super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 2:
-            {
-                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("anyAttribute"))) {
+                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup"))) {
                     $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
-                    $_ngcc_current_state = 0;
+                    $_ngcc_current_state = 1;
                 }
                 else {
                     unexpectedLeaveElement($__qname);
                 }
             }
             break;
-        case 3:
+        case 33:
             {
-                if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("anyAttribute")) || ((($ai = $runtime.getAttributeIndex("","processContents"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("anyAttribute"))) || (($ai = $runtime.getAttributeIndex("","namespace"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("anyAttribute")))))) {
-                    NGCCHandler h = new wildcardBody(this, super._source, $runtime, 345, wloc);
-                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
+                if(($ai = $runtime.getAttributeIndex("","use"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
                 }
                 else {
-                    unexpectedLeaveElement($__qname);
+                    $_ngcc_current_state = 29;
+                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
                 }
             }
             break;
@@ -444,39 +414,69 @@
                 }
             }
             break;
+        case 16:
+            {
+                action4();
+                $_ngcc_current_state = 15;
+                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 19:
+            {
+                $_ngcc_current_state = 18;
+                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 17:
+            {
+                if(((($ai = $runtime.getAttributeIndex("","form"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute"))) || (($ai = $runtime.getAttributeIndex("","name"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute"))))) {
+                    NGCCHandler h = new attributeDeclBody(this, super._source, $runtime, 473, locator,true,defaultValue,fixedValue);
+                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
+                }
+                else {
+                    if(($ai = $runtime.getAttributeIndex("","ref"))>=0) {
+                        $runtime.consumeAttribute($ai);
+                        $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+                    }
+                    else {
+                        unexpectedLeaveElement($__qname);
+                    }
+                }
+            }
+            break;
+        case 8:
+            {
+                action2();
+                $_ngcc_current_state = 7;
+                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
         case 1:
             {
                 $_ngcc_current_state = 0;
                 $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
             }
             break;
-        case 7:
+        case 2:
             {
-                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup"))) {
+                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("anyAttribute"))) {
                     $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
-                    $_ngcc_current_state = 1;
+                    $_ngcc_current_state = 0;
                 }
                 else {
                     unexpectedLeaveElement($__qname);
                 }
             }
             break;
-        case 29:
+        case 0:
             {
-                if(($ai = $runtime.getAttributeIndex("","default"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-                }
-                else {
-                    $_ngcc_current_state = 25;
-                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-                }
+                revertToParentFromLeaveElement(this, super._cookie, $__uri, $__local, $__qname);
             }
             break;
         case 18:
             {
                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute"))) {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 361, null);
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 464, null);
                     spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
                 }
                 else {
@@ -498,10 +498,26 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 9:
+        case 29:
             {
-                $_ngcc_current_state = 8;
-                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
+                if(($__uri.equals("") && $__local.equals("default"))) {
+                    $_ngcc_current_state = 31;
+                }
+                else {
+                    $_ngcc_current_state = 25;
+                    $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
+                }
+            }
+            break;
+        case 3:
+            {
+                if((($__uri.equals("") && $__local.equals("processContents")) || ($__uri.equals("") && $__local.equals("namespace")))) {
+                    NGCCHandler h = new wildcardBody(this, super._source, $runtime, 448, wloc);
+                    spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
+                }
+                else {
+                    unexpectedEnterAttribute($__qname);
+                }
             }
             break;
         case 13:
@@ -514,11 +530,21 @@
                 }
             }
             break;
-        case 8:
+        case 9:
+            {
+                $_ngcc_current_state = 8;
+                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 25:
             {
-                action2();
-                $_ngcc_current_state = 7;
-                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
+                if(($__uri.equals("") && $__local.equals("fixed"))) {
+                    $_ngcc_current_state = 27;
+                }
+                else {
+                    $_ngcc_current_state = 17;
+                    $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
+                }
             }
             break;
         case 5:
@@ -538,12 +564,6 @@
                 }
             }
             break;
-        case 19:
-            {
-                $_ngcc_current_state = 18;
-                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
         case 16:
             {
                 action4();
@@ -551,21 +571,16 @@
                 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
-        case 25:
+        case 19:
             {
-                if(($__uri.equals("") && $__local.equals("fixed"))) {
-                    $_ngcc_current_state = 27;
-                }
-                else {
-                    $_ngcc_current_state = 17;
-                    $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
-                }
+                $_ngcc_current_state = 18;
+                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
         case 17:
             {
-                if((($__uri.equals("") && $__local.equals("name")) || ($__uri.equals("") && $__local.equals("form")))) {
-                    NGCCHandler h = new attributeDeclBody(this, super._source, $runtime, 370, locator,true,defaultValue,fixedValue);
+                if((($__uri.equals("") && $__local.equals("form")) || ($__uri.equals("") && $__local.equals("name")))) {
+                    NGCCHandler h = new attributeDeclBody(this, super._source, $runtime, 473, locator,true,defaultValue,fixedValue);
                     spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
                 }
                 else {
@@ -578,20 +593,11 @@
                 }
             }
             break;
-        case 0:
-            {
-                revertToParentFromEnterAttribute(this, super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 3:
+        case 8:
             {
-                if((($__uri.equals("") && $__local.equals("processContents")) || ($__uri.equals("") && $__local.equals("namespace")))) {
-                    NGCCHandler h = new wildcardBody(this, super._source, $runtime, 345, wloc);
-                    spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
-                }
-                else {
-                    unexpectedEnterAttribute($__qname);
-                }
+                action2();
+                $_ngcc_current_state = 7;
+                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
         case 1:
@@ -600,15 +606,9 @@
                 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
-        case 29:
+        case 0:
             {
-                if(($__uri.equals("") && $__local.equals("default"))) {
-                    $_ngcc_current_state = 31;
-                }
-                else {
-                    $_ngcc_current_state = 25;
-                    $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
-                }
+                revertToParentFromEnterAttribute(this, super._cookie, $__uri, $__local, $__qname);
             }
             break;
         default:
@@ -625,91 +625,6 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 9:
-            {
-                $_ngcc_current_state = 8;
-                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 8:
-            {
-                action2();
-                $_ngcc_current_state = 7;
-                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 5:
-            {
-                $_ngcc_current_state = 1;
-                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 33:
-            {
-                $_ngcc_current_state = 29;
-                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 19:
-            {
-                $_ngcc_current_state = 18;
-                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 16:
-            {
-                action4();
-                $_ngcc_current_state = 15;
-                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 25:
-            {
-                $_ngcc_current_state = 17;
-                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 11:
-            {
-                if(($__uri.equals("") && $__local.equals("ref"))) {
-                    $_ngcc_current_state = 9;
-                }
-                else {
-                    unexpectedLeaveAttribute($__qname);
-                }
-            }
-            break;
-        case 30:
-            {
-                if(($__uri.equals("") && $__local.equals("default"))) {
-                    $_ngcc_current_state = 25;
-                }
-                else {
-                    unexpectedLeaveAttribute($__qname);
-                }
-            }
-            break;
-        case 0:
-            {
-                revertToParentFromLeaveAttribute(this, super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 26:
-            {
-                if(($__uri.equals("") && $__local.equals("fixed"))) {
-                    $_ngcc_current_state = 17;
-                }
-                else {
-                    unexpectedLeaveAttribute($__qname);
-                }
-            }
-            break;
-        case 1:
-            {
-                $_ngcc_current_state = 0;
-                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
         case 29:
             {
                 $_ngcc_current_state = 25;
@@ -726,6 +641,63 @@
                 }
             }
             break;
+        case 9:
+            {
+                $_ngcc_current_state = 8;
+                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 25:
+            {
+                $_ngcc_current_state = 17;
+                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 5:
+            {
+                $_ngcc_current_state = 1;
+                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 11:
+            {
+                if(($__uri.equals("") && $__local.equals("ref"))) {
+                    $_ngcc_current_state = 9;
+                }
+                else {
+                    unexpectedLeaveAttribute($__qname);
+                }
+            }
+            break;
+        case 33:
+            {
+                $_ngcc_current_state = 29;
+                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 16:
+            {
+                action4();
+                $_ngcc_current_state = 15;
+                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 26:
+            {
+                if(($__uri.equals("") && $__local.equals("fixed"))) {
+                    $_ngcc_current_state = 17;
+                }
+                else {
+                    unexpectedLeaveAttribute($__qname);
+                }
+            }
+            break;
+        case 19:
+            {
+                $_ngcc_current_state = 18;
+                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
         case 21:
             {
                 if(($__uri.equals("") && $__local.equals("ref"))) {
@@ -736,6 +708,34 @@
                 }
             }
             break;
+        case 8:
+            {
+                action2();
+                $_ngcc_current_state = 7;
+                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 1:
+            {
+                $_ngcc_current_state = 0;
+                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 0:
+            {
+                revertToParentFromLeaveAttribute(this, super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 30:
+            {
+                if(($__uri.equals("") && $__local.equals("default"))) {
+                    $_ngcc_current_state = 25;
+                }
+                else {
+                    unexpectedLeaveAttribute($__qname);
+                }
+            }
+            break;
         default:
             {
                 unexpectedLeaveAttribute($__qname);
@@ -747,16 +747,42 @@
     public void text(String $value) throws SAXException {
         int $ai;
         switch($_ngcc_current_state) {
-        case 9:
+        case 29:
             {
-                $_ngcc_current_state = 8;
-                $runtime.sendText(super._cookie, $value);
+                if(($ai = $runtime.getAttributeIndex("","default"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendText(super._cookie, $value);
+                }
+                else {
+                    $_ngcc_current_state = 25;
+                    $runtime.sendText(super._cookie, $value);
+                }
             }
             break;
-        case 31:
+        case 3:
             {
-                defaultValue = $value;
-                $_ngcc_current_state = 30;
+                if(($ai = $runtime.getAttributeIndex("","namespace"))>=0) {
+                    NGCCHandler h = new wildcardBody(this, super._source, $runtime, 448, wloc);
+                    spawnChildFromText(h, $value);
+                }
+                else {
+                    if(($ai = $runtime.getAttributeIndex("","processContents"))>=0) {
+                        NGCCHandler h = new wildcardBody(this, super._source, $runtime, 448, wloc);
+                        spawnChildFromText(h, $value);
+                    }
+                }
+            }
+            break;
+        case 27:
+            {
+                fixedValue = $value;
+                $_ngcc_current_state = 26;
+            }
+            break;
+        case 12:
+            {
+                NGCCHandler h = new qname(this, super._source, $runtime, 458);
+                spawnChildFromText(h, $value);
             }
             break;
         case 13:
@@ -767,13 +793,30 @@
                 }
             }
             break;
-        case 8:
+        case 31:
+            {
+                defaultValue = $value;
+                $_ngcc_current_state = 30;
+            }
+            break;
+        case 9:
             {
-                action2();
-                $_ngcc_current_state = 7;
+                $_ngcc_current_state = 8;
                 $runtime.sendText(super._cookie, $value);
             }
             break;
+        case 25:
+            {
+                if(($ai = $runtime.getAttributeIndex("","fixed"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendText(super._cookie, $value);
+                }
+                else {
+                    $_ngcc_current_state = 17;
+                    $runtime.sendText(super._cookie, $value);
+                }
+            }
+            break;
         case 5:
             {
                 $_ngcc_current_state = 1;
@@ -792,12 +835,6 @@
                 }
             }
             break;
-        case 19:
-            {
-                $_ngcc_current_state = 18;
-                $runtime.sendText(super._cookie, $value);
-            }
-            break;
         case 16:
             {
                 action4();
@@ -805,27 +842,21 @@
                 $runtime.sendText(super._cookie, $value);
             }
             break;
-        case 25:
+        case 19:
             {
-                if(($ai = $runtime.getAttributeIndex("","fixed"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendText(super._cookie, $value);
-                }
-                else {
-                    $_ngcc_current_state = 17;
-                    $runtime.sendText(super._cookie, $value);
-                }
+                $_ngcc_current_state = 18;
+                $runtime.sendText(super._cookie, $value);
             }
             break;
         case 17:
             {
-                if(($ai = $runtime.getAttributeIndex("","form"))>=0) {
-                    NGCCHandler h = new attributeDeclBody(this, super._source, $runtime, 370, locator,true,defaultValue,fixedValue);
+                if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
+                    NGCCHandler h = new attributeDeclBody(this, super._source, $runtime, 473, locator,true,defaultValue,fixedValue);
                     spawnChildFromText(h, $value);
                 }
                 else {
-                    if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
-                        NGCCHandler h = new attributeDeclBody(this, super._source, $runtime, 370, locator,true,defaultValue,fixedValue);
+                    if(($ai = $runtime.getAttributeIndex("","form"))>=0) {
+                        NGCCHandler h = new attributeDeclBody(this, super._source, $runtime, 473, locator,true,defaultValue,fixedValue);
                         spawnChildFromText(h, $value);
                     }
                     else {
@@ -837,35 +868,11 @@
                 }
             }
             break;
-        case 0:
-            {
-                revertToParentFromText(this, super._cookie, $value);
-            }
-            break;
-        case 27:
-            {
-                fixedValue = $value;
-                $_ngcc_current_state = 26;
-            }
-            break;
-        case 3:
+        case 8:
             {
-                if(($ai = $runtime.getAttributeIndex("","namespace"))>=0) {
-                    NGCCHandler h = new wildcardBody(this, super._source, $runtime, 345, wloc);
-                    spawnChildFromText(h, $value);
-                }
-                else {
-                    if(($ai = $runtime.getAttributeIndex("","processContents"))>=0) {
-                        NGCCHandler h = new wildcardBody(this, super._source, $runtime, 345, wloc);
-                        spawnChildFromText(h, $value);
-                    }
-                }
-            }
-            break;
-        case 35:
-            {
-                use = $value;
-                $_ngcc_current_state = 34;
+                action2();
+                $_ngcc_current_state = 7;
+                $runtime.sendText(super._cookie, $value);
             }
             break;
         case 1:
@@ -874,28 +881,21 @@
                 $runtime.sendText(super._cookie, $value);
             }
             break;
-        case 29:
-            {
-                if(($ai = $runtime.getAttributeIndex("","default"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendText(super._cookie, $value);
-                }
-                else {
-                    $_ngcc_current_state = 25;
-                    $runtime.sendText(super._cookie, $value);
-                }
-            }
-            break;
         case 22:
             {
-                NGCCHandler h = new qname(this, super._source, $runtime, 366);
+                NGCCHandler h = new qname(this, super._source, $runtime, 469);
                 spawnChildFromText(h, $value);
             }
             break;
-        case 12:
+        case 35:
             {
-                NGCCHandler h = new qname(this, super._source, $runtime, 355);
-                spawnChildFromText(h, $value);
+                use = $value;
+                $_ngcc_current_state = 34;
+            }
+            break;
+        case 0:
+            {
+                revertToParentFromText(this, super._cookie, $value);
             }
             break;
         }
@@ -903,55 +903,55 @@
 
     public void onChildCompleted(Object $__result__, int $__cookie__, boolean $__needAttCheck__)throws SAXException {
         switch($__cookie__) {
-        case 352:
+        case 448:
             {
-                $_ngcc_current_state = 8;
+                wildcard = ((WildcardImpl)$__result__);
+                action0();
+                $_ngcc_current_state = 2;
             }
             break;
-        case 363:
+        case 466:
             {
                 annotation = ((AnnotationImpl)$__result__);
                 $_ngcc_current_state = 18;
             }
             break;
-        case 361:
+        case 473:
+            {
+                anonymousDecl = ((AttributeDeclImpl)$__result__);
+                action6();
+                $_ngcc_current_state = 16;
+            }
+            break;
+        case 464:
             {
                 fa = ((ForeignAttributesImpl)$__result__);
                 $_ngcc_current_state = 16;
             }
             break;
-        case 366:
+        case 458:
+            {
+                groupName = ((UName)$__result__);
+                $_ngcc_current_state = 11;
+            }
+            break;
+        case 455:
+            {
+                $_ngcc_current_state = 8;
+            }
+            break;
+        case 469:
             {
                 attDeclName = ((UName)$__result__);
                 action5();
                 $_ngcc_current_state = 21;
             }
             break;
-        case 355:
-            {
-                groupName = ((UName)$__result__);
-                $_ngcc_current_state = 11;
-            }
-            break;
-        case 370:
-            {
-                anonymousDecl = ((AttributeDeclImpl)$__result__);
-                action6();
-                $_ngcc_current_state = 16;
-            }
-            break;
-        case 345:
-            {
-                wildcard = ((WildcardImpl)$__result__);
-                action0();
-                $_ngcc_current_state = 2;
-            }
-            break;
         }
     }
 
     public boolean accepted() {
-        return((($_ngcc_current_state == 0) || (($_ngcc_current_state == 5) || ($_ngcc_current_state == 1))));
+        return((($_ngcc_current_state == 0) || (($_ngcc_current_state == 1) || ($_ngcc_current_state == 5))));
     }
 
 
--- a/sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/complexType.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/complexType.java	Mon Jun 11 03:24:50 2012 +0100
@@ -189,29 +189,10 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 35:
-            {
-                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("restriction"))) {
-                    $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
-                    action15();
-                    $_ngcc_current_state = 59;
-                }
-                else {
-                    if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("extension"))) {
-                        $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
-                        action10();
-                        $_ngcc_current_state = 44;
-                    }
-                    else {
-                        unexpectedEnterElement($__qname);
-                    }
-                }
-            }
-            break;
         case 65:
             {
                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
-                    NGCCHandler h = new annotation(this, super._source, $runtime, 655, null,AnnotationContext.COMPLEXTYPE_DECL);
+                    NGCCHandler h = new annotation(this, super._source, $runtime, 81, null,AnnotationContext.COMPLEXTYPE_DECL);
                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
@@ -220,13 +201,6 @@
                 }
             }
             break;
-        case 51:
-            {
-                action13();
-                $_ngcc_current_state = 49;
-                $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-            }
-            break;
         case 29:
             {
                 if(($ai = $runtime.getAttributeIndex("","mixed"))>=0) {
@@ -239,93 +213,24 @@
                 }
             }
             break;
-        case 68:
+        case 76:
             {
-                if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
+                if(($ai = $runtime.getAttributeIndex("","final"))>=0) {
                     $runtime.consumeAttribute($ai);
                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
-                    $_ngcc_current_state = 67;
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-                }
-            }
-            break;
-        case 47:
-            {
-                if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("anyAttribute")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute"))))) {
-                    NGCCHandler h = new attributeUses(this, super._source, $runtime, 627, result);
-                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    unexpectedEnterElement($__qname);
-                }
-            }
-            break;
-        case 10:
-            {
-                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
-                    NGCCHandler h = new annotation(this, super._source, $runtime, 583, annotation,AnnotationContext.COMPLEXTYPE_DECL);
-                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    $_ngcc_current_state = 9;
+                    $_ngcc_current_state = 72;
                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
                 }
             }
             break;
-        case 19:
-            {
-                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
-                    NGCCHandler h = new annotation(this, super._source, $runtime, 594, annotation,AnnotationContext.COMPLEXTYPE_DECL);
-                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    $_ngcc_current_state = 18;
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-                }
-            }
-            break;
-        case 49:
-            {
-                if((((((((((((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("minExclusive")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("maxExclusive"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("minInclusive"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("maxInclusive"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("totalDigits"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("fractionDigits"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("length"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("maxLength"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("minLength"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("enumeration"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("whiteSpace"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("pattern")))) {
-                    NGCCHandler h = new facet(this, super._source, $runtime, 631);
-                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    $_ngcc_current_state = 48;
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-                }
-            }
-            break;
-        case 67:
+        case 88:
             {
-                if((((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("all")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("choice"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("sequence"))) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("any")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexContent")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("anyAttribute")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleContent")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute")))))))))))) {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 657, fa);
-                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    unexpectedEnterElement($__qname);
-                }
-            }
-            break;
-        case 61:
-            {
-                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
-                    NGCCHandler h = new annotation(this, super._source, $runtime, 647, annotation,AnnotationContext.COMPLEXTYPE_DECL);
-                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    $_ngcc_current_state = 35;
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-                }
-            }
-            break;
-        case 63:
-            {
-                if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("extension")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("restriction")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))))) {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 649, fa);
-                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) {
+                    $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
+                    action16();
+                    $_ngcc_current_state = 84;
                 }
                 else {
                     unexpectedEnterElement($__qname);
@@ -344,9 +249,9 @@
                         $_ngcc_current_state = 29;
                     }
                     else {
-                        if((((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("all")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("choice"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("sequence"))) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("any")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("anyAttribute")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute"))))))))) {
+                        if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("anyAttribute")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("any")) || (((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("all")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("choice"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("sequence"))) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup"))))))))) {
                             action1();
-                            NGCCHandler h = new complexType_complexContent_body(this, super._source, $runtime, 578, result);
+                            NGCCHandler h = new complexType_complexContent_body(this, super._source, $runtime, 4, result);
                             spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                         }
                         else {
@@ -356,57 +261,10 @@
                 }
             }
             break;
-        case 48:
-            {
-                if((((((((((((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("minExclusive")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("maxExclusive"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("minInclusive"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("maxInclusive"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("totalDigits"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("fractionDigits"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("length"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("maxLength"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("minLength"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("enumeration"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("whiteSpace"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("pattern")))) {
-                    NGCCHandler h = new facet(this, super._source, $runtime, 630);
-                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    action11();
-                    $_ngcc_current_state = 47;
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-                }
-            }
-            break;
-        case 41:
-            {
-                if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("anyAttribute")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute")))))) {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 620, fa);
-                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    unexpectedEnterElement($__qname);
-                }
-            }
-            break;
-        case 44:
+        case 47:
             {
-                if(($ai = $runtime.getAttributeIndex("","base"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    unexpectedEnterElement($__qname);
-                }
-            }
-            break;
-        case 26:
-            {
-                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
-                    NGCCHandler h = new annotation(this, super._source, $runtime, 603, annotation,AnnotationContext.COMPLEXTYPE_DECL);
-                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    $_ngcc_current_state = 7;
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-                }
-            }
-            break;
-        case 37:
-            {
-                if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("anyAttribute")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute"))))) {
-                    NGCCHandler h = new attributeUses(this, super._source, $runtime, 615, result);
+                if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("anyAttribute")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup"))))) {
+                    NGCCHandler h = new attributeUses(this, super._source, $runtime, 53, result);
                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
@@ -414,22 +272,29 @@
                 }
             }
             break;
-        case 76:
+        case 38:
             {
-                if(($ai = $runtime.getAttributeIndex("","final"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                action8();
+                $_ngcc_current_state = 37;
+                $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+            }
+            break;
+        case 49:
+            {
+                if((((((((((((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("minExclusive")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("maxExclusive"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("minInclusive"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("maxInclusive"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("totalDigits"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("fractionDigits"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("length"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("maxLength"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("minLength"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("enumeration"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("whiteSpace"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("pattern")))) {
+                    NGCCHandler h = new facet(this, super._source, $runtime, 57);
+                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
-                    $_ngcc_current_state = 72;
+                    $_ngcc_current_state = 48;
                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
                 }
             }
             break;
-        case 12:
+        case 18:
             {
-                if((((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("all")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("choice"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("sequence"))) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("any")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("anyAttribute")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute")))))))))) {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 585, fa);
+                if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("anyAttribute")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("any")) || (((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("all")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("choice"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("sequence"))) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup"))))))))) {
+                    NGCCHandler h = new complexType_complexContent_body(this, super._source, $runtime, 18, result);
                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
@@ -437,49 +302,41 @@
                 }
             }
             break;
-        case 0:
+        case 51:
             {
-                revertToParentFromEnterElement(result, super._cookie, $__uri, $__local, $__qname, $attrs);
+                action13();
+                $_ngcc_current_state = 49;
+                $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
             }
             break;
-        case 59:
+        case 54:
             {
-                if(($ai = $runtime.getAttributeIndex("","base"))>=0) {
+                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
+                    NGCCHandler h = new annotation(this, super._source, $runtime, 64, annotation,AnnotationContext.COMPLEXTYPE_DECL);
+                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    $_ngcc_current_state = 52;
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                }
+            }
+            break;
+        case 68:
+            {
+                if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
                     $runtime.consumeAttribute($ai);
                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
-                    unexpectedEnterElement($__qname);
-                }
-            }
-            break;
-        case 39:
-            {
-                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
-                    NGCCHandler h = new annotation(this, super._source, $runtime, 618, annotation,AnnotationContext.COMPLEXTYPE_DECL);
-                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    $_ngcc_current_state = 38;
+                    $_ngcc_current_state = 67;
                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
                 }
             }
             break;
-        case 18:
+        case 56:
             {
-                if((((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("all")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("choice"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("sequence"))) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("any")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("anyAttribute")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute"))))))))) {
-                    NGCCHandler h = new complexType_complexContent_body(this, super._source, $runtime, 592, result);
-                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    unexpectedEnterElement($__qname);
-                }
-            }
-            break;
-        case 21:
-            {
-                if((((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("all")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("choice"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("sequence"))) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("any")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("anyAttribute")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute")))))))))) {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 596, fa);
+                if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("anyAttribute")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup")) || (((((((((((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("minExclusive")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("maxExclusive"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("minInclusive"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("maxInclusive"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("totalDigits"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("fractionDigits"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("length"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("maxLength"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("minLength"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("enumeration"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("whiteSpace"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("pattern"))))))))) {
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 66, fa);
                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
@@ -499,10 +356,212 @@
                 }
             }
             break;
+        case 52:
+            {
+                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType"))) {
+                    NGCCHandler h = new simpleType(this, super._source, $runtime, 61);
+                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    $_ngcc_current_state = 51;
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                }
+            }
+            break;
+        case 12:
+            {
+                if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("anyAttribute")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("any")) || (((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("all")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("choice"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("sequence"))) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup")))))))))) {
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 11, fa);
+                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    unexpectedEnterElement($__qname);
+                }
+            }
+            break;
+        case 41:
+            {
+                if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("anyAttribute")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup")))))) {
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 46, fa);
+                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    unexpectedEnterElement($__qname);
+                }
+            }
+            break;
+        case 10:
+            {
+                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
+                    NGCCHandler h = new annotation(this, super._source, $runtime, 9, annotation,AnnotationContext.COMPLEXTYPE_DECL);
+                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    $_ngcc_current_state = 9;
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                }
+            }
+            break;
+        case 0:
+            {
+                revertToParentFromEnterElement(result, super._cookie, $__uri, $__local, $__qname, $attrs);
+            }
+            break;
+        case 80:
+            {
+                if(($ai = $runtime.getAttributeIndex("","block"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    $_ngcc_current_state = 76;
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                }
+            }
+            break;
         case 28:
             {
-                if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("extension")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("restriction"))))) {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 605, fa);
+                if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("restriction")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("extension"))))) {
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 31, fa);
+                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    unexpectedEnterElement($__qname);
+                }
+            }
+            break;
+        case 72:
+            {
+                if(($ai = $runtime.getAttributeIndex("","mixed"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    $_ngcc_current_state = 68;
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                }
+            }
+            break;
+        case 63:
+            {
+                if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("restriction")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("extension"))))) {
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 75, fa);
+                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    unexpectedEnterElement($__qname);
+                }
+            }
+            break;
+        case 59:
+            {
+                if(($ai = $runtime.getAttributeIndex("","base"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    unexpectedEnterElement($__qname);
+                }
+            }
+            break;
+        case 19:
+            {
+                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
+                    NGCCHandler h = new annotation(this, super._source, $runtime, 20, annotation,AnnotationContext.COMPLEXTYPE_DECL);
+                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    $_ngcc_current_state = 18;
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                }
+            }
+            break;
+        case 39:
+            {
+                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
+                    NGCCHandler h = new annotation(this, super._source, $runtime, 44, annotation,AnnotationContext.COMPLEXTYPE_DECL);
+                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    $_ngcc_current_state = 38;
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                }
+            }
+            break;
+        case 44:
+            {
+                if(($ai = $runtime.getAttributeIndex("","base"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    unexpectedEnterElement($__qname);
+                }
+            }
+            break;
+        case 21:
+            {
+                if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("anyAttribute")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("any")) || (((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("all")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("choice"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("sequence"))) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup")))))))))) {
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 22, fa);
+                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    unexpectedEnterElement($__qname);
+                }
+            }
+            break;
+        case 48:
+            {
+                if((((((((((((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("minExclusive")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("maxExclusive"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("minInclusive"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("maxInclusive"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("totalDigits"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("fractionDigits"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("length"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("maxLength"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("minLength"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("enumeration"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("whiteSpace"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("pattern")))) {
+                    NGCCHandler h = new facet(this, super._source, $runtime, 56);
+                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    action11();
+                    $_ngcc_current_state = 47;
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                }
+            }
+            break;
+        case 61:
+            {
+                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
+                    NGCCHandler h = new annotation(this, super._source, $runtime, 73, annotation,AnnotationContext.COMPLEXTYPE_DECL);
+                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    $_ngcc_current_state = 35;
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                }
+            }
+            break;
+        case 26:
+            {
+                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
+                    NGCCHandler h = new annotation(this, super._source, $runtime, 29, annotation,AnnotationContext.COMPLEXTYPE_DECL);
+                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    $_ngcc_current_state = 7;
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                }
+            }
+            break;
+        case 37:
+            {
+                if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("anyAttribute")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup"))))) {
+                    NGCCHandler h = new attributeUses(this, super._source, $runtime, 41, result);
+                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    unexpectedEnterElement($__qname);
+                }
+            }
+            break;
+        case 67:
+            {
+                if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("anyAttribute")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("any")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleContent")) || (((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("all")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("choice"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("sequence"))) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexContent")))))))))))) {
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 83, fa);
                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
@@ -529,46 +588,10 @@
                 }
             }
             break;
-        case 80:
-            {
-                if(($ai = $runtime.getAttributeIndex("","block"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    $_ngcc_current_state = 76;
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-                }
-            }
-            break;
-        case 72:
+        case 9:
             {
-                if(($ai = $runtime.getAttributeIndex("","mixed"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    $_ngcc_current_state = 68;
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-                }
-            }
-            break;
-        case 88:
-            {
-                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) {
-                    $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
-                    action16();
-                    $_ngcc_current_state = 84;
-                }
-                else {
-                    unexpectedEnterElement($__qname);
-                }
-            }
-            break;
-        case 56:
-            {
-                if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType")) || ((((((((((((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("minExclusive")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("maxExclusive"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("minInclusive"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("maxInclusive"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("totalDigits"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("fractionDigits"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("length"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("maxLength"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("minLength"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("enumeration"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("whiteSpace"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("pattern"))) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("anyAttribute")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute")))))))) {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 640, fa);
+                if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("anyAttribute")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("any")) || (((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("all")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("choice"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("sequence"))) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup"))))))))) {
+                    NGCCHandler h = new complexType_complexContent_body(this, super._source, $runtime, 7, result);
                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
@@ -576,49 +599,26 @@
                 }
             }
             break;
-        case 54:
+        case 35:
             {
-                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
-                    NGCCHandler h = new annotation(this, super._source, $runtime, 638, annotation,AnnotationContext.COMPLEXTYPE_DECL);
-                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("restriction"))) {
+                    $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
+                    action15();
+                    $_ngcc_current_state = 59;
                 }
                 else {
-                    $_ngcc_current_state = 52;
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                    if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("extension"))) {
+                        $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
+                        action10();
+                        $_ngcc_current_state = 44;
+                    }
+                    else {
+                        unexpectedEnterElement($__qname);
+                    }
                 }
             }
             break;
-        case 52:
-            {
-                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType"))) {
-                    NGCCHandler h = new simpleType(this, super._source, $runtime, 635);
-                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    $_ngcc_current_state = 51;
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-                }
-            }
-            break;
-        case 9:
-            {
-                if((((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("all")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("choice"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("sequence"))) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("any")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("anyAttribute")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute"))))))))) {
-                    NGCCHandler h = new complexType_complexContent_body(this, super._source, $runtime, 581, result);
-                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    unexpectedEnterElement($__qname);
-                }
-            }
-            break;
-        case 38:
-            {
-                action8();
-                $_ngcc_current_state = 37;
-                $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-            }
-            break;
-        case 15:
+        case 24:
             {
                 if(($ai = $runtime.getAttributeIndex("","base"))>=0) {
                     $runtime.consumeAttribute($ai);
@@ -629,7 +629,7 @@
                 }
             }
             break;
-        case 24:
+        case 15:
             {
                 if(($ai = $runtime.getAttributeIndex("","base"))>=0) {
                     $runtime.consumeAttribute($ai);
@@ -660,13 +660,6 @@
                 $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
             }
             break;
-        case 51:
-            {
-                action13();
-                $_ngcc_current_state = 49;
-                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
         case 29:
             {
                 if(($ai = $runtime.getAttributeIndex("","mixed"))>=0) {
@@ -679,147 +672,9 @@
                 }
             }
             break;
-        case 68:
-            {
-                if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-                }
-                else {
-                    $_ngcc_current_state = 67;
-                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-                }
-            }
-            break;
-        case 47:
-            {
-                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("restriction"))) {
-                    NGCCHandler h = new attributeUses(this, super._source, $runtime, 627, result);
-                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
-                }
-                else {
-                    unexpectedLeaveElement($__qname);
-                }
-            }
-            break;
-        case 10:
-            {
-                $_ngcc_current_state = 9;
-                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 19:
-            {
-                $_ngcc_current_state = 18;
-                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 49:
-            {
-                $_ngcc_current_state = 48;
-                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 67:
-            {
-                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 657, fa);
-                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
-                }
-                else {
-                    unexpectedLeaveElement($__qname);
-                }
-            }
-            break;
-        case 61:
-            {
-                $_ngcc_current_state = 35;
-                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 8:
-            {
-                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("extension"))) {
-                    $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
-                    $_ngcc_current_state = 6;
-                }
-                else {
-                    unexpectedLeaveElement($__qname);
-                }
-            }
-            break;
-        case 1:
+        case 34:
             {
-                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) {
-                    $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
-                    $_ngcc_current_state = 0;
-                }
-                else {
-                    unexpectedLeaveElement($__qname);
-                }
-            }
-            break;
-        case 2:
-            {
-                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) {
-                    action1();
-                    NGCCHandler h = new complexType_complexContent_body(this, super._source, $runtime, 578, result);
-                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
-                }
-                else {
-                    unexpectedLeaveElement($__qname);
-                }
-            }
-            break;
-        case 48:
-            {
-                action11();
-                $_ngcc_current_state = 47;
-                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 41:
-            {
-                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("extension"))) {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 620, fa);
-                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
-                }
-                else {
-                    unexpectedLeaveElement($__qname);
-                }
-            }
-            break;
-        case 44:
-            {
-                if(($ai = $runtime.getAttributeIndex("","base"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-                }
-                else {
-                    unexpectedLeaveElement($__qname);
-                }
-            }
-            break;
-        case 26:
-            {
-                $_ngcc_current_state = 7;
-                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 37:
-            {
-                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("extension"))) {
-                    NGCCHandler h = new attributeUses(this, super._source, $runtime, 615, result);
-                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
-                }
-                else {
-                    unexpectedLeaveElement($__qname);
-                }
-            }
-            break;
-        case 6:
-            {
-                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexContent"))) {
+                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleContent"))) {
                     $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
                     $_ngcc_current_state = 1;
                 }
@@ -828,17 +683,6 @@
                 }
             }
             break;
-        case 36:
-            {
-                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("extension"))) {
-                    $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
-                    $_ngcc_current_state = 34;
-                }
-                else {
-                    unexpectedLeaveElement($__qname);
-                }
-            }
-            break;
         case 76:
             {
                 if(($ai = $runtime.getAttributeIndex("","final"))>=0) {
@@ -851,54 +695,11 @@
                 }
             }
             break;
-        case 12:
-            {
-                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("extension"))) {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 585, fa);
-                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
-                }
-                else {
-                    unexpectedLeaveElement($__qname);
-                }
-            }
-            break;
-        case 0:
-            {
-                revertToParentFromLeaveElement(result, super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 34:
+        case 2:
             {
-                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleContent"))) {
-                    $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
-                    $_ngcc_current_state = 1;
-                }
-                else {
-                    unexpectedLeaveElement($__qname);
-                }
-            }
-            break;
-        case 59:
-            {
-                if(($ai = $runtime.getAttributeIndex("","base"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-                }
-                else {
-                    unexpectedLeaveElement($__qname);
-                }
-            }
-            break;
-        case 39:
-            {
-                $_ngcc_current_state = 38;
-                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 18:
-            {
-                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("restriction"))) {
-                    NGCCHandler h = new complexType_complexContent_body(this, super._source, $runtime, 592, result);
+                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) {
+                    action1();
+                    NGCCHandler h = new complexType_complexContent_body(this, super._source, $runtime, 4, result);
                     spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
                 }
                 else {
@@ -917,10 +718,70 @@
                 }
             }
             break;
-        case 21:
+        case 47:
+            {
+                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("restriction"))) {
+                    NGCCHandler h = new attributeUses(this, super._source, $runtime, 53, result);
+                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
+                }
+                else {
+                    unexpectedLeaveElement($__qname);
+                }
+            }
+            break;
+        case 38:
+            {
+                action8();
+                $_ngcc_current_state = 37;
+                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 49:
+            {
+                $_ngcc_current_state = 48;
+                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 18:
             {
                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("restriction"))) {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 596, fa);
+                    NGCCHandler h = new complexType_complexContent_body(this, super._source, $runtime, 18, result);
+                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
+                }
+                else {
+                    unexpectedLeaveElement($__qname);
+                }
+            }
+            break;
+        case 51:
+            {
+                action13();
+                $_ngcc_current_state = 49;
+                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 54:
+            {
+                $_ngcc_current_state = 52;
+                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 68:
+            {
+                if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+                }
+                else {
+                    $_ngcc_current_state = 67;
+                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+                }
+            }
+            break;
+        case 56:
+            {
+                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("restriction"))) {
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 66, fa);
                     spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
                 }
                 else {
@@ -940,17 +801,56 @@
                 }
             }
             break;
-        case 17:
+        case 52:
             {
-                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("restriction"))) {
-                    $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
-                    $_ngcc_current_state = 6;
+                $_ngcc_current_state = 51;
+                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 12:
+            {
+                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("extension"))) {
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 11, fa);
+                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
                 }
                 else {
                     unexpectedLeaveElement($__qname);
                 }
             }
             break;
+        case 41:
+            {
+                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("extension"))) {
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 46, fa);
+                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
+                }
+                else {
+                    unexpectedLeaveElement($__qname);
+                }
+            }
+            break;
+        case 36:
+            {
+                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("extension"))) {
+                    $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
+                    $_ngcc_current_state = 34;
+                }
+                else {
+                    unexpectedLeaveElement($__qname);
+                }
+            }
+            break;
+        case 10:
+            {
+                $_ngcc_current_state = 9;
+                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 0:
+            {
+                revertToParentFromLeaveElement(result, super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
         case 80:
             {
                 if(($ai = $runtime.getAttributeIndex("","block"))>=0) {
@@ -975,48 +875,52 @@
                 }
             }
             break;
-        case 56:
+        case 59:
             {
-                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("restriction"))) {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 640, fa);
-                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
+                if(($ai = $runtime.getAttributeIndex("","base"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+                }
+                else {
+                    unexpectedLeaveElement($__qname);
+                }
+            }
+            break;
+        case 6:
+            {
+                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexContent"))) {
+                    $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
+                    $_ngcc_current_state = 1;
                 }
                 else {
                     unexpectedLeaveElement($__qname);
                 }
             }
             break;
-        case 54:
-            {
-                $_ngcc_current_state = 52;
-                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 52:
+        case 1:
             {
-                $_ngcc_current_state = 51;
-                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 9:
-            {
-                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("extension"))) {
-                    NGCCHandler h = new complexType_complexContent_body(this, super._source, $runtime, 581, result);
-                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
+                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) {
+                    $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
+                    $_ngcc_current_state = 0;
                 }
                 else {
                     unexpectedLeaveElement($__qname);
                 }
             }
             break;
-        case 38:
+        case 19:
             {
-                action8();
-                $_ngcc_current_state = 37;
+                $_ngcc_current_state = 18;
                 $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
             }
             break;
-        case 15:
+        case 39:
+            {
+                $_ngcc_current_state = 38;
+                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 44:
             {
                 if(($ai = $runtime.getAttributeIndex("","base"))>=0) {
                     $runtime.consumeAttribute($ai);
@@ -1027,6 +931,91 @@
                 }
             }
             break;
+        case 21:
+            {
+                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("restriction"))) {
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 22, fa);
+                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
+                }
+                else {
+                    unexpectedLeaveElement($__qname);
+                }
+            }
+            break;
+        case 48:
+            {
+                action11();
+                $_ngcc_current_state = 47;
+                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 61:
+            {
+                $_ngcc_current_state = 35;
+                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 26:
+            {
+                $_ngcc_current_state = 7;
+                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 37:
+            {
+                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("extension"))) {
+                    NGCCHandler h = new attributeUses(this, super._source, $runtime, 41, result);
+                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
+                }
+                else {
+                    unexpectedLeaveElement($__qname);
+                }
+            }
+            break;
+        case 67:
+            {
+                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) {
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 83, fa);
+                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
+                }
+                else {
+                    unexpectedLeaveElement($__qname);
+                }
+            }
+            break;
+        case 17:
+            {
+                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("restriction"))) {
+                    $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
+                    $_ngcc_current_state = 6;
+                }
+                else {
+                    unexpectedLeaveElement($__qname);
+                }
+            }
+            break;
+        case 8:
+            {
+                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("extension"))) {
+                    $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
+                    $_ngcc_current_state = 6;
+                }
+                else {
+                    unexpectedLeaveElement($__qname);
+                }
+            }
+            break;
+        case 9:
+            {
+                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("extension"))) {
+                    NGCCHandler h = new complexType_complexContent_body(this, super._source, $runtime, 7, result);
+                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
+                }
+                else {
+                    unexpectedLeaveElement($__qname);
+                }
+            }
+            break;
         case 24:
             {
                 if(($ai = $runtime.getAttributeIndex("","base"))>=0) {
@@ -1038,6 +1027,17 @@
                 }
             }
             break;
+        case 15:
+            {
+                if(($ai = $runtime.getAttributeIndex("","base"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+                }
+                else {
+                    unexpectedLeaveElement($__qname);
+                }
+            }
+            break;
         default:
             {
                 unexpectedLeaveElement($__qname);
@@ -1058,20 +1058,13 @@
                 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
-        case 51:
+        case 72:
             {
-                action13();
-                $_ngcc_current_state = 49;
-                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 76:
-            {
-                if(($__uri.equals("") && $__local.equals("final"))) {
-                    $_ngcc_current_state = 78;
+                if(($__uri.equals("") && $__local.equals("mixed"))) {
+                    $_ngcc_current_state = 74;
                 }
                 else {
-                    $_ngcc_current_state = 72;
+                    $_ngcc_current_state = 68;
                     $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
                 }
             }
@@ -1087,40 +1080,17 @@
                 }
             }
             break;
-        case 68:
+        case 76:
             {
-                if(($__uri.equals("") && $__local.equals("name"))) {
-                    $_ngcc_current_state = 70;
+                if(($__uri.equals("") && $__local.equals("final"))) {
+                    $_ngcc_current_state = 78;
                 }
                 else {
-                    $_ngcc_current_state = 67;
+                    $_ngcc_current_state = 72;
                     $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
                 }
             }
             break;
-        case 10:
-            {
-                $_ngcc_current_state = 9;
-                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 0:
-            {
-                revertToParentFromEnterAttribute(result, super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 49:
-            {
-                $_ngcc_current_state = 48;
-                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 19:
-            {
-                $_ngcc_current_state = 18;
-                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
         case 59:
             {
                 if(($__uri.equals("") && $__local.equals("base"))) {
@@ -1131,18 +1101,84 @@
                 }
             }
             break;
+        case 19:
+            {
+                $_ngcc_current_state = 18;
+                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 49:
+            {
+                $_ngcc_current_state = 48;
+                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 38:
+            {
+                action8();
+                $_ngcc_current_state = 37;
+                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
         case 39:
             {
                 $_ngcc_current_state = 38;
                 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
+        case 44:
+            {
+                if(($__uri.equals("") && $__local.equals("base"))) {
+                    $_ngcc_current_state = 43;
+                }
+                else {
+                    unexpectedEnterAttribute($__qname);
+                }
+            }
+            break;
+        case 48:
+            {
+                action11();
+                $_ngcc_current_state = 47;
+                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
         case 61:
             {
                 $_ngcc_current_state = 35;
                 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
+        case 51:
+            {
+                action13();
+                $_ngcc_current_state = 49;
+                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 26:
+            {
+                $_ngcc_current_state = 7;
+                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 54:
+            {
+                $_ngcc_current_state = 52;
+                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 68:
+            {
+                if(($__uri.equals("") && $__local.equals("name"))) {
+                    $_ngcc_current_state = 70;
+                }
+                else {
+                    $_ngcc_current_state = 67;
+                    $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
+                }
+            }
+            break;
         case 84:
             {
                 if(($__uri.equals("") && $__local.equals("abstract"))) {
@@ -1154,13 +1190,23 @@
                 }
             }
             break;
-        case 48:
+        case 52:
+            {
+                $_ngcc_current_state = 51;
+                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 10:
             {
-                action11();
-                $_ngcc_current_state = 47;
+                $_ngcc_current_state = 9;
                 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
+        case 0:
+            {
+                revertToParentFromEnterAttribute(result, super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
         case 80:
             {
                 if(($__uri.equals("") && $__local.equals("block"))) {
@@ -1172,52 +1218,16 @@
                 }
             }
             break;
-        case 72:
-            {
-                if(($__uri.equals("") && $__local.equals("mixed"))) {
-                    $_ngcc_current_state = 74;
-                }
-                else {
-                    $_ngcc_current_state = 68;
-                    $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
-                }
-            }
-            break;
-        case 54:
-            {
-                $_ngcc_current_state = 52;
-                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 52:
-            {
-                $_ngcc_current_state = 51;
-                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 44:
+        case 24:
             {
                 if(($__uri.equals("") && $__local.equals("base"))) {
-                    $_ngcc_current_state = 43;
+                    $_ngcc_current_state = 23;
                 }
                 else {
                     unexpectedEnterAttribute($__qname);
                 }
             }
             break;
-        case 26:
-            {
-                $_ngcc_current_state = 7;
-                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 38:
-            {
-                action8();
-                $_ngcc_current_state = 37;
-                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
         case 15:
             {
                 if(($__uri.equals("") && $__local.equals("base"))) {
@@ -1228,16 +1238,6 @@
                 }
             }
             break;
-        case 24:
-            {
-                if(($__uri.equals("") && $__local.equals("base"))) {
-                    $_ngcc_current_state = 23;
-                }
-                else {
-                    unexpectedEnterAttribute($__qname);
-                }
-            }
-            break;
         default:
             {
                 unexpectedEnterAttribute($__qname);
@@ -1252,82 +1252,6 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 65:
-            {
-                $_ngcc_current_state = 2;
-                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 51:
-            {
-                action13();
-                $_ngcc_current_state = 49;
-                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 68:
-            {
-                $_ngcc_current_state = 67;
-                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 29:
-            {
-                $_ngcc_current_state = 28;
-                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 42:
-            {
-                if(($__uri.equals("") && $__local.equals("base"))) {
-                    $_ngcc_current_state = 41;
-                }
-                else {
-                    unexpectedLeaveAttribute($__qname);
-                }
-            }
-            break;
-        case 10:
-            {
-                $_ngcc_current_state = 9;
-                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 19:
-            {
-                $_ngcc_current_state = 18;
-                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 49:
-            {
-                $_ngcc_current_state = 48;
-                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 61:
-            {
-                $_ngcc_current_state = 35;
-                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 48:
-            {
-                action11();
-                $_ngcc_current_state = 47;
-                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 73:
-            {
-                if(($__uri.equals("") && $__local.equals("mixed"))) {
-                    $_ngcc_current_state = 68;
-                }
-                else {
-                    unexpectedLeaveAttribute($__qname);
-                }
-            }
-            break;
         case 22:
             {
                 if(($__uri.equals("") && $__local.equals("base"))) {
@@ -1338,22 +1262,47 @@
                 }
             }
             break;
-        case 77:
+        case 65:
+            {
+                $_ngcc_current_state = 2;
+                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 29:
+            {
+                $_ngcc_current_state = 28;
+                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 76:
             {
-                if(($__uri.equals("") && $__local.equals("final"))) {
-                    $_ngcc_current_state = 72;
+                $_ngcc_current_state = 72;
+                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 38:
+            {
+                action8();
+                $_ngcc_current_state = 37;
+                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 49:
+            {
+                $_ngcc_current_state = 48;
+                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 85:
+            {
+                if(($__uri.equals("") && $__local.equals("abstract"))) {
+                    $_ngcc_current_state = 80;
                 }
                 else {
                     unexpectedLeaveAttribute($__qname);
                 }
             }
             break;
-        case 26:
-            {
-                $_ngcc_current_state = 7;
-                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
         case 13:
             {
                 if(($__uri.equals("") && $__local.equals("base"))) {
@@ -1364,78 +1313,10 @@
                 }
             }
             break;
-        case 85:
-            {
-                if(($__uri.equals("") && $__local.equals("abstract"))) {
-                    $_ngcc_current_state = 80;
-                }
-                else {
-                    unexpectedLeaveAttribute($__qname);
-                }
-            }
-            break;
-        case 76:
-            {
-                $_ngcc_current_state = 72;
-                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 81:
-            {
-                if(($__uri.equals("") && $__local.equals("block"))) {
-                    $_ngcc_current_state = 76;
-                }
-                else {
-                    unexpectedLeaveAttribute($__qname);
-                }
-            }
-            break;
-        case 0:
-            {
-                revertToParentFromLeaveAttribute(result, super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 69:
+        case 51:
             {
-                if(($__uri.equals("") && $__local.equals("name"))) {
-                    $_ngcc_current_state = 67;
-                }
-                else {
-                    unexpectedLeaveAttribute($__qname);
-                }
-            }
-            break;
-        case 39:
-            {
-                $_ngcc_current_state = 38;
-                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 57:
-            {
-                if(($__uri.equals("") && $__local.equals("base"))) {
-                    $_ngcc_current_state = 56;
-                }
-                else {
-                    unexpectedLeaveAttribute($__qname);
-                }
-            }
-            break;
-        case 84:
-            {
-                $_ngcc_current_state = 80;
-                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 80:
-            {
-                $_ngcc_current_state = 76;
-                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 72:
-            {
-                $_ngcc_current_state = 68;
+                action13();
+                $_ngcc_current_state = 49;
                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
@@ -1445,6 +1326,18 @@
                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
+        case 68:
+            {
+                $_ngcc_current_state = 67;
+                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 84:
+            {
+                $_ngcc_current_state = 80;
+                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
         case 30:
             {
                 if(($__uri.equals("") && $__local.equals("mixed"))) {
@@ -1461,13 +1354,120 @@
                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
-        case 38:
+        case 10:
+            {
+                $_ngcc_current_state = 9;
+                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 0:
+            {
+                revertToParentFromLeaveAttribute(result, super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 80:
+            {
+                $_ngcc_current_state = 76;
+                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 57:
+            {
+                if(($__uri.equals("") && $__local.equals("base"))) {
+                    $_ngcc_current_state = 56;
+                }
+                else {
+                    unexpectedLeaveAttribute($__qname);
+                }
+            }
+            break;
+        case 81:
+            {
+                if(($__uri.equals("") && $__local.equals("block"))) {
+                    $_ngcc_current_state = 76;
+                }
+                else {
+                    unexpectedLeaveAttribute($__qname);
+                }
+            }
+            break;
+        case 72:
+            {
+                $_ngcc_current_state = 68;
+                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 19:
+            {
+                $_ngcc_current_state = 18;
+                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 39:
             {
-                action8();
-                $_ngcc_current_state = 37;
+                $_ngcc_current_state = 38;
+                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 42:
+            {
+                if(($__uri.equals("") && $__local.equals("base"))) {
+                    $_ngcc_current_state = 41;
+                }
+                else {
+                    unexpectedLeaveAttribute($__qname);
+                }
+            }
+            break;
+        case 77:
+            {
+                if(($__uri.equals("") && $__local.equals("final"))) {
+                    $_ngcc_current_state = 72;
+                }
+                else {
+                    unexpectedLeaveAttribute($__qname);
+                }
+            }
+            break;
+        case 48:
+            {
+                action11();
+                $_ngcc_current_state = 47;
                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
+        case 61:
+            {
+                $_ngcc_current_state = 35;
+                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 26:
+            {
+                $_ngcc_current_state = 7;
+                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 69:
+            {
+                if(($__uri.equals("") && $__local.equals("name"))) {
+                    $_ngcc_current_state = 67;
+                }
+                else {
+                    unexpectedLeaveAttribute($__qname);
+                }
+            }
+            break;
+        case 73:
+            {
+                if(($__uri.equals("") && $__local.equals("mixed"))) {
+                    $_ngcc_current_state = 68;
+                }
+                else {
+                    unexpectedLeaveAttribute($__qname);
+                }
+            }
+            break;
         default:
             {
                 unexpectedLeaveAttribute($__qname);
@@ -1479,18 +1479,61 @@
     public void text(String $value) throws SAXException {
         int $ai;
         switch($_ngcc_current_state) {
-        case 70:
-            {
-                name = $value;
-                $_ngcc_current_state = 69;
-            }
-            break;
         case 65:
             {
                 $_ngcc_current_state = 2;
                 $runtime.sendText(super._cookie, $value);
             }
             break;
+        case 29:
+            {
+                if(($ai = $runtime.getAttributeIndex("","mixed"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendText(super._cookie, $value);
+                }
+                else {
+                    $_ngcc_current_state = 28;
+                    $runtime.sendText(super._cookie, $value);
+                }
+            }
+            break;
+        case 76:
+            {
+                if(($ai = $runtime.getAttributeIndex("","final"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendText(super._cookie, $value);
+                }
+                else {
+                    $_ngcc_current_state = 72;
+                    $runtime.sendText(super._cookie, $value);
+                }
+            }
+            break;
+        case 23:
+            {
+                NGCCHandler h = new qname(this, super._source, $runtime, 24);
+                spawnChildFromText(h, $value);
+            }
+            break;
+        case 38:
+            {
+                action8();
+                $_ngcc_current_state = 37;
+                $runtime.sendText(super._cookie, $value);
+            }
+            break;
+        case 49:
+            {
+                $_ngcc_current_state = 48;
+                $runtime.sendText(super._cookie, $value);
+            }
+            break;
+        case 43:
+            {
+                NGCCHandler h = new qname(this, super._source, $runtime, 48);
+                spawnChildFromText(h, $value);
+            }
+            break;
         case 51:
             {
                 action13();
@@ -1498,6 +1541,12 @@
                 $runtime.sendText(super._cookie, $value);
             }
             break;
+        case 54:
+            {
+                $_ngcc_current_state = 52;
+                $runtime.sendText(super._cookie, $value);
+            }
+            break;
         case 68:
             {
                 if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
@@ -1510,136 +1559,6 @@
                 }
             }
             break;
-        case 29:
-            {
-                if(($ai = $runtime.getAttributeIndex("","mixed"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendText(super._cookie, $value);
-                }
-                else {
-                    $_ngcc_current_state = 28;
-                    $runtime.sendText(super._cookie, $value);
-                }
-            }
-            break;
-        case 82:
-            {
-                NGCCHandler h = new erSet(this, super._source, $runtime, 674);
-                spawnChildFromText(h, $value);
-            }
-            break;
-        case 10:
-            {
-                $_ngcc_current_state = 9;
-                $runtime.sendText(super._cookie, $value);
-            }
-            break;
-        case 19:
-            {
-                $_ngcc_current_state = 18;
-                $runtime.sendText(super._cookie, $value);
-            }
-            break;
-        case 49:
-            {
-                $_ngcc_current_state = 48;
-                $runtime.sendText(super._cookie, $value);
-            }
-            break;
-        case 31:
-            {
-                mixedValue = $value;
-                $_ngcc_current_state = 30;
-            }
-            break;
-        case 61:
-            {
-                $_ngcc_current_state = 35;
-                $runtime.sendText(super._cookie, $value);
-            }
-            break;
-        case 48:
-            {
-                action11();
-                $_ngcc_current_state = 47;
-                $runtime.sendText(super._cookie, $value);
-            }
-            break;
-        case 44:
-            {
-                if(($ai = $runtime.getAttributeIndex("","base"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendText(super._cookie, $value);
-                }
-            }
-            break;
-        case 26:
-            {
-                $_ngcc_current_state = 7;
-                $runtime.sendText(super._cookie, $value);
-            }
-            break;
-        case 23:
-            {
-                NGCCHandler h = new qname(this, super._source, $runtime, 598);
-                spawnChildFromText(h, $value);
-            }
-            break;
-        case 76:
-            {
-                if(($ai = $runtime.getAttributeIndex("","final"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendText(super._cookie, $value);
-                }
-                else {
-                    $_ngcc_current_state = 72;
-                    $runtime.sendText(super._cookie, $value);
-                }
-            }
-            break;
-        case 43:
-            {
-                NGCCHandler h = new qname(this, super._source, $runtime, 622);
-                spawnChildFromText(h, $value);
-            }
-            break;
-        case 58:
-            {
-                NGCCHandler h = new qname(this, super._source, $runtime, 642);
-                spawnChildFromText(h, $value);
-            }
-            break;
-        case 78:
-            {
-                NGCCHandler h = new erSet(this, super._source, $runtime, 669);
-                spawnChildFromText(h, $value);
-            }
-            break;
-        case 0:
-            {
-                revertToParentFromText(result, super._cookie, $value);
-            }
-            break;
-        case 59:
-            {
-                if(($ai = $runtime.getAttributeIndex("","base"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendText(super._cookie, $value);
-                }
-            }
-            break;
-        case 39:
-            {
-                $_ngcc_current_state = 38;
-                $runtime.sendText(super._cookie, $value);
-            }
-            break;
-        case 86:
-            {
-                abstractValue = $value;
-                $_ngcc_current_state = 85;
-            }
-            break;
         case 84:
             {
                 if(($ai = $runtime.getAttributeIndex("","abstract"))>=0) {
@@ -1652,6 +1571,23 @@
                 }
             }
             break;
+        case 52:
+            {
+                $_ngcc_current_state = 51;
+                $runtime.sendText(super._cookie, $value);
+            }
+            break;
+        case 10:
+            {
+                $_ngcc_current_state = 9;
+                $runtime.sendText(super._cookie, $value);
+            }
+            break;
+        case 0:
+            {
+                revertToParentFromText(result, super._cookie, $value);
+            }
+            break;
         case 80:
             {
                 if(($ai = $runtime.getAttributeIndex("","block"))>=0) {
@@ -1664,6 +1600,18 @@
                 }
             }
             break;
+        case 58:
+            {
+                NGCCHandler h = new qname(this, super._source, $runtime, 68);
+                spawnChildFromText(h, $value);
+            }
+            break;
+        case 31:
+            {
+                mixedValue = $value;
+                $_ngcc_current_state = 30;
+            }
+            break;
         case 72:
             {
                 if(($ai = $runtime.getAttributeIndex("","mixed"))>=0) {
@@ -1676,37 +1624,83 @@
                 }
             }
             break;
-        case 74:
+        case 70:
             {
-                mixedValue = $value;
-                $_ngcc_current_state = 73;
+                name = $value;
+                $_ngcc_current_state = 69;
+            }
+            break;
+        case 86:
+            {
+                abstractValue = $value;
+                $_ngcc_current_state = 85;
             }
             break;
-        case 54:
+        case 59:
             {
-                $_ngcc_current_state = 52;
+                if(($ai = $runtime.getAttributeIndex("","base"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendText(super._cookie, $value);
+                }
+            }
+            break;
+        case 19:
+            {
+                $_ngcc_current_state = 18;
                 $runtime.sendText(super._cookie, $value);
             }
             break;
-        case 52:
+        case 39:
             {
-                $_ngcc_current_state = 51;
+                $_ngcc_current_state = 38;
                 $runtime.sendText(super._cookie, $value);
             }
             break;
+        case 44:
+            {
+                if(($ai = $runtime.getAttributeIndex("","base"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendText(super._cookie, $value);
+                }
+            }
+            break;
         case 14:
             {
-                NGCCHandler h = new qname(this, super._source, $runtime, 587);
+                NGCCHandler h = new qname(this, super._source, $runtime, 13);
                 spawnChildFromText(h, $value);
             }
             break;
-        case 38:
+        case 48:
+            {
+                action11();
+                $_ngcc_current_state = 47;
+                $runtime.sendText(super._cookie, $value);
+            }
+            break;
+        case 61:
+            {
+                $_ngcc_current_state = 35;
+                $runtime.sendText(super._cookie, $value);
+            }
+            break;
+        case 26:
             {
-                action8();
-                $_ngcc_current_state = 37;
+                $_ngcc_current_state = 7;
                 $runtime.sendText(super._cookie, $value);
             }
             break;
+        case 82:
+            {
+                NGCCHandler h = new erSet(this, super._source, $runtime, 100);
+                spawnChildFromText(h, $value);
+            }
+            break;
+        case 78:
+            {
+                NGCCHandler h = new erSet(this, super._source, $runtime, 95);
+                spawnChildFromText(h, $value);
+            }
+            break;
         case 24:
             {
                 if(($ai = $runtime.getAttributeIndex("","base"))>=0) {
@@ -1715,6 +1709,12 @@
                 }
             }
             break;
+        case 74:
+            {
+                mixedValue = $value;
+                $_ngcc_current_state = 73;
+            }
+            break;
         case 15:
             {
                 if(($ai = $runtime.getAttributeIndex("","base"))>=0) {
@@ -1728,179 +1728,179 @@
 
     public void onChildCompleted(Object $__result__, int $__cookie__, boolean $__needAttCheck__)throws SAXException {
         switch($__cookie__) {
-        case 655:
-            {
-                annotation = ((AnnotationImpl)$__result__);
-                $_ngcc_current_state = 2;
-            }
-            break;
-        case 627:
+        case 53:
             {
                 $_ngcc_current_state = 46;
             }
             break;
-        case 674:
+        case 18:
             {
-                blockValue = ((Integer)$__result__);
-                $_ngcc_current_state = 81;
+                explicitContent = ((ContentTypeImpl)$__result__);
+                action5();
+                $_ngcc_current_state = 17;
             }
             break;
-        case 583:
+        case 61:
+            {
+                baseContentType = ((SimpleTypeImpl)$__result__);
+                $_ngcc_current_state = 51;
+            }
+            break;
+        case 11:
+            {
+                fa = ((ForeignAttributesImpl)$__result__);
+                $_ngcc_current_state = 10;
+            }
+            break;
+        case 9:
             {
                 annotation = ((AnnotationImpl)$__result__);
                 $_ngcc_current_state = 9;
             }
             break;
-        case 631:
+        case 44:
+            {
+                annotation = ((AnnotationImpl)$__result__);
+                $_ngcc_current_state = 38;
+            }
+            break;
+        case 13:
+            {
+                baseTypeName = ((UName)$__result__);
+                action3();
+                $_ngcc_current_state = 13;
+            }
+            break;
+        case 56:
             {
                 facet = ((XSFacet)$__result__);
                 action12();
                 $_ngcc_current_state = 48;
             }
             break;
-        case 594:
+        case 29:
             {
                 annotation = ((AnnotationImpl)$__result__);
-                $_ngcc_current_state = 18;
+                $_ngcc_current_state = 7;
             }
             break;
-        case 657:
+        case 95:
+            {
+                finalValue = ((Integer)$__result__);
+                $_ngcc_current_state = 77;
+            }
+            break;
+        case 83:
             {
                 fa = ((ForeignAttributesImpl)$__result__);
                 $_ngcc_current_state = 65;
             }
             break;
-        case 647:
-            {
-                annotation = ((AnnotationImpl)$__result__);
-                $_ngcc_current_state = 35;
-            }
-            break;
-        case 578:
+        case 7:
             {
                 explicitContent = ((ContentTypeImpl)$__result__);
-                action0();
-                $_ngcc_current_state = 1;
+                action2();
+                $_ngcc_current_state = 8;
             }
             break;
-        case 630:
+        case 81:
             {
-                facet = ((XSFacet)$__result__);
-                action12();
-                $_ngcc_current_state = 48;
-            }
-            break;
-        case 620:
-            {
-                fa = ((ForeignAttributesImpl)$__result__);
-                $_ngcc_current_state = 39;
+                annotation = ((AnnotationImpl)$__result__);
+                $_ngcc_current_state = 2;
             }
             break;
-        case 603:
-            {
-                annotation = ((AnnotationImpl)$__result__);
-                $_ngcc_current_state = 7;
-            }
-            break;
-        case 615:
-            {
-                $_ngcc_current_state = 36;
-            }
-            break;
-        case 598:
+        case 24:
             {
                 baseTypeName = ((UName)$__result__);
                 action6();
                 $_ngcc_current_state = 22;
             }
             break;
-        case 618:
+        case 4:
             {
-                annotation = ((AnnotationImpl)$__result__);
-                $_ngcc_current_state = 38;
+                explicitContent = ((ContentTypeImpl)$__result__);
+                action0();
+                $_ngcc_current_state = 1;
             }
             break;
-        case 605:
+        case 57:
             {
-                fa = ((ForeignAttributesImpl)$__result__);
-                $_ngcc_current_state = 26;
+                facet = ((XSFacet)$__result__);
+                action12();
+                $_ngcc_current_state = 48;
             }
             break;
-        case 638:
+        case 48:
+            {
+                baseTypeName = ((UName)$__result__);
+                action9();
+                $_ngcc_current_state = 42;
+            }
+            break;
+        case 64:
             {
                 annotation = ((AnnotationImpl)$__result__);
                 $_ngcc_current_state = 52;
             }
             break;
-        case 587:
-            {
-                baseTypeName = ((UName)$__result__);
-                action3();
-                $_ngcc_current_state = 13;
-            }
-            break;
-        case 649:
+        case 66:
             {
                 fa = ((ForeignAttributesImpl)$__result__);
-                $_ngcc_current_state = 61;
+                $_ngcc_current_state = 54;
             }
             break;
-        case 585:
+        case 46:
             {
                 fa = ((ForeignAttributesImpl)$__result__);
-                $_ngcc_current_state = 10;
+                $_ngcc_current_state = 39;
             }
             break;
-        case 642:
+        case 68:
             {
                 baseTypeName = ((UName)$__result__);
                 action14();
                 $_ngcc_current_state = 57;
             }
             break;
-        case 622:
+        case 31:
             {
-                baseTypeName = ((UName)$__result__);
-                action9();
-                $_ngcc_current_state = 42;
+                fa = ((ForeignAttributesImpl)$__result__);
+                $_ngcc_current_state = 26;
             }
             break;
-        case 669:
+        case 75:
             {
-                finalValue = ((Integer)$__result__);
-                $_ngcc_current_state = 77;
+                fa = ((ForeignAttributesImpl)$__result__);
+                $_ngcc_current_state = 61;
             }
             break;
-        case 592:
+        case 20:
             {
-                explicitContent = ((ContentTypeImpl)$__result__);
-                action5();
-                $_ngcc_current_state = 17;
+                annotation = ((AnnotationImpl)$__result__);
+                $_ngcc_current_state = 18;
             }
             break;
-        case 596:
+        case 22:
             {
                 fa = ((ForeignAttributesImpl)$__result__);
                 $_ngcc_current_state = 19;
             }
             break;
-        case 640:
+        case 73:
             {
-                fa = ((ForeignAttributesImpl)$__result__);
-                $_ngcc_current_state = 54;
+                annotation = ((AnnotationImpl)$__result__);
+                $_ngcc_current_state = 35;
             }
             break;
-        case 635:
+        case 100:
             {
-                baseContentType = ((SimpleTypeImpl)$__result__);
-                $_ngcc_current_state = 51;
+                blockValue = ((Integer)$__result__);
+                $_ngcc_current_state = 81;
             }
             break;
-        case 581:
+        case 41:
             {
-                explicitContent = ((ContentTypeImpl)$__result__);
-                action2();
-                $_ngcc_current_state = 8;
+                $_ngcc_current_state = 36;
             }
             break;
         }
--- a/sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/complexType_complexContent_body.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/complexType_complexContent_body.java	Mon Jun 11 03:24:50 2012 +0100
@@ -76,10 +76,27 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
+        case 0:
+            {
+                revertToParentFromEnterElement(particle, super._cookie, $__uri, $__local, $__qname, $attrs);
+            }
+            break;
+        case 1:
+            {
+                if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("anyAttribute")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup"))))) {
+                    NGCCHandler h = new attributeUses(this, super._source, $runtime, 674, owner);
+                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    NGCCHandler h = new attributeUses(this, super._source, $runtime, 674, owner);
+                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                }
+            }
+            break;
         case 2:
             {
-                if((((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("all")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("choice"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("sequence"))) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("any")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group")))))) {
-                    NGCCHandler h = new particle(this, super._source, $runtime, 32);
+                if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("any")) || (((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("all")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("choice"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("sequence"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element")))))) {
+                    NGCCHandler h = new particle(this, super._source, $runtime, 676);
                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
@@ -88,23 +105,6 @@
                 }
             }
             break;
-        case 1:
-            {
-                if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("anyAttribute")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute"))))) {
-                    NGCCHandler h = new attributeUses(this, super._source, $runtime, 30, owner);
-                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    NGCCHandler h = new attributeUses(this, super._source, $runtime, 30, owner);
-                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
-                }
-            }
-            break;
-        case 0:
-            {
-                revertToParentFromEnterElement(particle, super._cookie, $__uri, $__local, $__qname, $attrs);
-            }
-            break;
         default:
             {
                 unexpectedEnterElement($__qname);
@@ -119,21 +119,21 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 2:
+        case 0:
             {
-                $_ngcc_current_state = 1;
-                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+                revertToParentFromLeaveElement(particle, super._cookie, $__uri, $__local, $__qname);
             }
             break;
         case 1:
             {
-                NGCCHandler h = new attributeUses(this, super._source, $runtime, 30, owner);
+                NGCCHandler h = new attributeUses(this, super._source, $runtime, 674, owner);
                 spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
             }
             break;
-        case 0:
+        case 2:
             {
-                revertToParentFromLeaveElement(particle, super._cookie, $__uri, $__local, $__qname);
+                $_ngcc_current_state = 1;
+                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
             }
             break;
         default:
@@ -150,21 +150,21 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 2:
+        case 0:
             {
-                $_ngcc_current_state = 1;
-                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
+                revertToParentFromEnterAttribute(particle, super._cookie, $__uri, $__local, $__qname);
             }
             break;
         case 1:
             {
-                NGCCHandler h = new attributeUses(this, super._source, $runtime, 30, owner);
+                NGCCHandler h = new attributeUses(this, super._source, $runtime, 674, owner);
                 spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
             }
             break;
-        case 0:
+        case 2:
             {
-                revertToParentFromEnterAttribute(particle, super._cookie, $__uri, $__local, $__qname);
+                $_ngcc_current_state = 1;
+                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
         default:
@@ -181,21 +181,21 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 2:
+        case 0:
             {
-                $_ngcc_current_state = 1;
-                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
+                revertToParentFromLeaveAttribute(particle, super._cookie, $__uri, $__local, $__qname);
             }
             break;
         case 1:
             {
-                NGCCHandler h = new attributeUses(this, super._source, $runtime, 30, owner);
+                NGCCHandler h = new attributeUses(this, super._source, $runtime, 674, owner);
                 spawnChildFromLeaveAttribute(h, $__uri, $__local, $__qname);
             }
             break;
-        case 0:
+        case 2:
             {
-                revertToParentFromLeaveAttribute(particle, super._cookie, $__uri, $__local, $__qname);
+                $_ngcc_current_state = 1;
+                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
         default:
@@ -209,21 +209,21 @@
     public void text(String $value) throws SAXException {
         int $ai;
         switch($_ngcc_current_state) {
-        case 2:
+        case 0:
             {
-                $_ngcc_current_state = 1;
-                $runtime.sendText(super._cookie, $value);
+                revertToParentFromText(particle, super._cookie, $value);
             }
             break;
         case 1:
             {
-                NGCCHandler h = new attributeUses(this, super._source, $runtime, 30, owner);
+                NGCCHandler h = new attributeUses(this, super._source, $runtime, 674, owner);
                 spawnChildFromText(h, $value);
             }
             break;
-        case 0:
+        case 2:
             {
-                revertToParentFromText(particle, super._cookie, $value);
+                $_ngcc_current_state = 1;
+                $runtime.sendText(super._cookie, $value);
             }
             break;
         }
@@ -231,18 +231,18 @@
 
     public void onChildCompleted(Object $__result__, int $__cookie__, boolean $__needAttCheck__)throws SAXException {
         switch($__cookie__) {
-        case 32:
+        case 674:
+            {
+                action0();
+                $_ngcc_current_state = 0;
+            }
+            break;
+        case 676:
             {
                 particle = ((ParticleImpl)$__result__);
                 $_ngcc_current_state = 1;
             }
             break;
-        case 30:
-            {
-                action0();
-                $_ngcc_current_state = 0;
-            }
-            break;
         }
     }
 
--- a/sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/elementDeclBody.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/elementDeclBody.java	Mon Jun 11 03:24:50 2012 +0100
@@ -107,18 +107,6 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 1:
-            {
-                if(((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("key")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("keyref"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("unique")))) {
-                    NGCCHandler h = new identityConstraint(this, super._source, $runtime, 48);
-                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    $_ngcc_current_state = 0;
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-                }
-            }
-            break;
         case 40:
             {
                 if(($ai = $runtime.getAttributeIndex("","block"))>=0) {
@@ -131,62 +119,15 @@
                 }
             }
             break;
-        case 32:
-            {
-                if(($ai = $runtime.getAttributeIndex("","default"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    $_ngcc_current_state = 28;
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-                }
-            }
-            break;
-        case 24:
-            {
-                if(($ai = $runtime.getAttributeIndex("","form"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    $_ngcc_current_state = 23;
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-                }
-            }
-            break;
-        case 0:
+        case 1:
             {
                 if(((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("key")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("keyref"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("unique")))) {
-                    NGCCHandler h = new identityConstraint(this, super._source, $runtime, 47);
+                    NGCCHandler h = new identityConstraint(this, super._source, $runtime, 112);
                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
-                    revertToParentFromEnterElement(makeResult(), super._cookie, $__uri, $__local, $__qname, $attrs);
-                }
-            }
-            break;
-        case 3:
-            {
-                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType"))) {
-                    NGCCHandler h = new simpleType(this, super._source, $runtime, 60);
-                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) {
-                        NGCCHandler h = new complexType(this, super._source, $runtime, 61);
-                        spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
-                    }
-                    else {
-                        if(($ai = $runtime.getAttributeIndex("","type"))>=0) {
-                            $runtime.consumeAttribute($ai);
-                            $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-                        }
-                        else {
-                            $_ngcc_current_state = 1;
-                            $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-                        }
-                    }
+                    $_ngcc_current_state = 0;
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
                 }
             }
             break;
@@ -214,14 +155,15 @@
                 }
             }
             break;
-        case 48:
+        case 32:
             {
-                if(((($ai = $runtime.getAttributeIndex("","name"))>=0 && (((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || ((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("key")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("keyref"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("unique")))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType")))) || ((($ai = $runtime.getAttributeIndex("","default"))>=0 && (((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || ((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("key")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("keyref"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("unique")))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType")))) || ((($ai = $runtime.getAttributeIndex("","final"))>=0 && (((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || ((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("key")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("keyref"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("unique")))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType")))) || ((($ai = $runtime.getAttributeIndex("","block"))>=0 && (((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || ((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("key")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("keyref"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("unique")))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType")))) || ((($ai = $runtime.getAttributeIndex("","abstract"))>=0 && (((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || ((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("key")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("keyref"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("unique")))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType")))) || ((($ai = $runtime.getAttributeIndex("","fixed"))>=0 && (((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || ((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("key")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("keyref"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("unique")))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType")))) || (($ai = $runtime.getAttributeIndex("","form"))>=0 && (((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || ((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("key")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("keyref"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("unique")))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType"))))))))))) {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 110, fa);
-                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                if(($ai = $runtime.getAttributeIndex("","default"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
-                    unexpectedEnterElement($__qname);
+                    $_ngcc_current_state = 28;
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
                 }
             }
             break;
@@ -236,6 +178,65 @@
                 }
             }
             break;
+        case 3:
+            {
+                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType"))) {
+                    NGCCHandler h = new simpleType(this, super._source, $runtime, 124);
+                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) {
+                        NGCCHandler h = new complexType(this, super._source, $runtime, 125);
+                        spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                    }
+                    else {
+                        if(($ai = $runtime.getAttributeIndex("","type"))>=0) {
+                            $runtime.consumeAttribute($ai);
+                            $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                        }
+                        else {
+                            $_ngcc_current_state = 1;
+                            $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                        }
+                    }
+                }
+            }
+            break;
+        case 0:
+            {
+                if(((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("key")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("keyref"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("unique")))) {
+                    NGCCHandler h = new identityConstraint(this, super._source, $runtime, 111);
+                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    revertToParentFromEnterElement(makeResult(), super._cookie, $__uri, $__local, $__qname, $attrs);
+                }
+            }
+            break;
+        case 13:
+            {
+                if(($ai = $runtime.getAttributeIndex("","substitutionGroup"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    $_ngcc_current_state = 11;
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                }
+            }
+            break;
+        case 24:
+            {
+                if(($ai = $runtime.getAttributeIndex("","form"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    $_ngcc_current_state = 23;
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                }
+            }
+            break;
         case 17:
             {
                 if(($ai = $runtime.getAttributeIndex("","nillable"))>=0) {
@@ -248,15 +249,14 @@
                 }
             }
             break;
-        case 13:
+        case 48:
             {
-                if(($ai = $runtime.getAttributeIndex("","substitutionGroup"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                if(((($ai = $runtime.getAttributeIndex("","final"))>=0 && (((((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("key")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("keyref"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("unique"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")))) || ((($ai = $runtime.getAttributeIndex("","name"))>=0 && (((((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("key")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("keyref"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("unique"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")))) || ((($ai = $runtime.getAttributeIndex("","form"))>=0 && (((((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("key")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("keyref"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("unique"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")))) || ((($ai = $runtime.getAttributeIndex("","block"))>=0 && (((((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("key")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("keyref"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("unique"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")))) || ((($ai = $runtime.getAttributeIndex("","fixed"))>=0 && (((((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("key")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("keyref"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("unique"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")))) || ((($ai = $runtime.getAttributeIndex("","abstract"))>=0 && (((((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("key")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("keyref"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("unique"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")))) || (($ai = $runtime.getAttributeIndex("","default"))>=0 && (((((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("key")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("keyref"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("unique"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))))))))))) {
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 174, fa);
+                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
-                    $_ngcc_current_state = 11;
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                    unexpectedEnterElement($__qname);
                 }
             }
             break;
@@ -275,7 +275,7 @@
         case 11:
             {
                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
-                    NGCCHandler h = new annotation(this, super._source, $runtime, 65, null,AnnotationContext.ELEMENT_DECL);
+                    NGCCHandler h = new annotation(this, super._source, $runtime, 129, null,AnnotationContext.ELEMENT_DECL);
                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
@@ -298,12 +298,6 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 1:
-            {
-                $_ngcc_current_state = 0;
-                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
         case 40:
             {
                 if(($ai = $runtime.getAttributeIndex("","block"))>=0) {
@@ -316,45 +310,10 @@
                 }
             }
             break;
-        case 32:
-            {
-                if(($ai = $runtime.getAttributeIndex("","default"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-                }
-                else {
-                    $_ngcc_current_state = 28;
-                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-                }
-            }
-            break;
-        case 24:
+        case 1:
             {
-                if(($ai = $runtime.getAttributeIndex("","form"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-                }
-                else {
-                    $_ngcc_current_state = 23;
-                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-                }
-            }
-            break;
-        case 0:
-            {
-                revertToParentFromLeaveElement(makeResult(), super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 3:
-            {
-                if(($ai = $runtime.getAttributeIndex("","type"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-                }
-                else {
-                    $_ngcc_current_state = 1;
-                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-                }
+                $_ngcc_current_state = 0;
+                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
             }
             break;
         case 36:
@@ -381,14 +340,15 @@
                 }
             }
             break;
-        case 48:
+        case 32:
             {
-                if((($ai = $runtime.getAttributeIndex("","name"))>=0 || (($ai = $runtime.getAttributeIndex("","default"))>=0 || (($ai = $runtime.getAttributeIndex("","final"))>=0 || (($ai = $runtime.getAttributeIndex("","block"))>=0 || (($ai = $runtime.getAttributeIndex("","abstract"))>=0 || (($ai = $runtime.getAttributeIndex("","fixed"))>=0 || ($ai = $runtime.getAttributeIndex("","form"))>=0))))))) {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 110, fa);
-                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
+                if(($ai = $runtime.getAttributeIndex("","default"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
                 }
                 else {
-                    unexpectedLeaveElement($__qname);
+                    $_ngcc_current_state = 28;
+                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
                 }
             }
             break;
@@ -403,6 +363,47 @@
                 }
             }
             break;
+        case 3:
+            {
+                if(($ai = $runtime.getAttributeIndex("","type"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+                }
+                else {
+                    $_ngcc_current_state = 1;
+                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+                }
+            }
+            break;
+        case 0:
+            {
+                revertToParentFromLeaveElement(makeResult(), super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 13:
+            {
+                if(($ai = $runtime.getAttributeIndex("","substitutionGroup"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+                }
+                else {
+                    $_ngcc_current_state = 11;
+                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+                }
+            }
+            break;
+        case 24:
+            {
+                if(($ai = $runtime.getAttributeIndex("","form"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+                }
+                else {
+                    $_ngcc_current_state = 23;
+                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+                }
+            }
+            break;
         case 17:
             {
                 if(($ai = $runtime.getAttributeIndex("","nillable"))>=0) {
@@ -415,15 +416,14 @@
                 }
             }
             break;
-        case 13:
+        case 48:
             {
-                if(($ai = $runtime.getAttributeIndex("","substitutionGroup"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+                if((($ai = $runtime.getAttributeIndex("","final"))>=0 || (($ai = $runtime.getAttributeIndex("","name"))>=0 || (($ai = $runtime.getAttributeIndex("","form"))>=0 || (($ai = $runtime.getAttributeIndex("","block"))>=0 || (($ai = $runtime.getAttributeIndex("","fixed"))>=0 || (($ai = $runtime.getAttributeIndex("","abstract"))>=0 || ($ai = $runtime.getAttributeIndex("","default"))>=0))))))) {
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 174, fa);
+                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
                 }
                 else {
-                    $_ngcc_current_state = 11;
-                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+                    unexpectedLeaveElement($__qname);
                 }
             }
             break;
@@ -459,12 +459,6 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 1:
-            {
-                $_ngcc_current_state = 0;
-                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
         case 40:
             {
                 if(($__uri.equals("") && $__local.equals("block"))) {
@@ -476,42 +470,10 @@
                 }
             }
             break;
-        case 32:
-            {
-                if(($__uri.equals("") && $__local.equals("default"))) {
-                    $_ngcc_current_state = 34;
-                }
-                else {
-                    $_ngcc_current_state = 28;
-                    $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
-                }
-            }
-            break;
-        case 24:
+        case 1:
             {
-                if(($__uri.equals("") && $__local.equals("form"))) {
-                    $_ngcc_current_state = 26;
-                }
-                else {
-                    $_ngcc_current_state = 23;
-                    $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
-                }
-            }
-            break;
-        case 0:
-            {
-                revertToParentFromEnterAttribute(makeResult(), super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 3:
-            {
-                if(($__uri.equals("") && $__local.equals("type"))) {
-                    $_ngcc_current_state = 6;
-                }
-                else {
-                    $_ngcc_current_state = 1;
-                    $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
-                }
+                $_ngcc_current_state = 0;
+                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
         case 36:
@@ -536,14 +498,14 @@
                 }
             }
             break;
-        case 48:
+        case 32:
             {
-                if((($__uri.equals("") && $__local.equals("name")) || (($__uri.equals("") && $__local.equals("default")) || (($__uri.equals("") && $__local.equals("final")) || (($__uri.equals("") && $__local.equals("block")) || (($__uri.equals("") && $__local.equals("abstract")) || (($__uri.equals("") && $__local.equals("fixed")) || ($__uri.equals("") && $__local.equals("form"))))))))) {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 110, fa);
-                    spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
+                if(($__uri.equals("") && $__local.equals("default"))) {
+                    $_ngcc_current_state = 34;
                 }
                 else {
-                    unexpectedEnterAttribute($__qname);
+                    $_ngcc_current_state = 28;
+                    $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
                 }
             }
             break;
@@ -557,6 +519,44 @@
                 }
             }
             break;
+        case 3:
+            {
+                if(($__uri.equals("") && $__local.equals("type"))) {
+                    $_ngcc_current_state = 6;
+                }
+                else {
+                    $_ngcc_current_state = 1;
+                    $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
+                }
+            }
+            break;
+        case 0:
+            {
+                revertToParentFromEnterAttribute(makeResult(), super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 13:
+            {
+                if(($__uri.equals("") && $__local.equals("substitutionGroup"))) {
+                    $_ngcc_current_state = 15;
+                }
+                else {
+                    $_ngcc_current_state = 11;
+                    $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
+                }
+            }
+            break;
+        case 24:
+            {
+                if(($__uri.equals("") && $__local.equals("form"))) {
+                    $_ngcc_current_state = 26;
+                }
+                else {
+                    $_ngcc_current_state = 23;
+                    $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
+                }
+            }
+            break;
         case 17:
             {
                 if(($__uri.equals("") && $__local.equals("nillable"))) {
@@ -568,14 +568,14 @@
                 }
             }
             break;
-        case 13:
+        case 48:
             {
-                if(($__uri.equals("") && $__local.equals("substitutionGroup"))) {
-                    $_ngcc_current_state = 15;
+                if((($__uri.equals("") && $__local.equals("final")) || (($__uri.equals("") && $__local.equals("name")) || (($__uri.equals("") && $__local.equals("form")) || (($__uri.equals("") && $__local.equals("block")) || (($__uri.equals("") && $__local.equals("fixed")) || (($__uri.equals("") && $__local.equals("abstract")) || ($__uri.equals("") && $__local.equals("default"))))))))) {
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 174, fa);
+                    spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
                 }
                 else {
-                    $_ngcc_current_state = 11;
-                    $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
+                    unexpectedEnterAttribute($__qname);
                 }
             }
             break;
@@ -610,6 +610,32 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
+        case 40:
+            {
+                $_ngcc_current_state = 36;
+                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 14:
+            {
+                if(($__uri.equals("") && $__local.equals("substitutionGroup"))) {
+                    $_ngcc_current_state = 11;
+                }
+                else {
+                    unexpectedLeaveAttribute($__qname);
+                }
+            }
+            break;
+        case 37:
+            {
+                if(($__uri.equals("") && $__local.equals("final"))) {
+                    $_ngcc_current_state = 32;
+                }
+                else {
+                    unexpectedLeaveAttribute($__qname);
+                }
+            }
+            break;
         case 1:
             {
                 $_ngcc_current_state = 0;
@@ -626,25 +652,41 @@
                 }
             }
             break;
-        case 37:
+        case 21:
             {
-                if(($__uri.equals("") && $__local.equals("final"))) {
-                    $_ngcc_current_state = 32;
+                if(($__uri.equals("") && $__local.equals("name"))) {
+                    $_ngcc_current_state = 17;
                 }
                 else {
                     unexpectedLeaveAttribute($__qname);
                 }
             }
             break;
-        case 40:
+        case 36:
             {
-                $_ngcc_current_state = 36;
+                $_ngcc_current_state = 32;
+                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 44:
+            {
+                $_ngcc_current_state = 40;
                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
-        case 24:
+        case 41:
             {
-                $_ngcc_current_state = 23;
+                if(($__uri.equals("") && $__local.equals("block"))) {
+                    $_ngcc_current_state = 36;
+                }
+                else {
+                    unexpectedLeaveAttribute($__qname);
+                }
+            }
+            break;
+        case 3:
+            {
+                $_ngcc_current_state = 1;
                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
@@ -654,10 +696,20 @@
                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
-        case 21:
+        case 29:
             {
-                if(($__uri.equals("") && $__local.equals("name"))) {
-                    $_ngcc_current_state = 17;
+                if(($__uri.equals("") && $__local.equals("fixed"))) {
+                    $_ngcc_current_state = 24;
+                }
+                else {
+                    unexpectedLeaveAttribute($__qname);
+                }
+            }
+            break;
+        case 18:
+            {
+                if(($__uri.equals("") && $__local.equals("nillable"))) {
+                    $_ngcc_current_state = 13;
                 }
                 else {
                     unexpectedLeaveAttribute($__qname);
@@ -680,40 +732,46 @@
                 }
             }
             break;
-        case 3:
+        case 13:
             {
-                $_ngcc_current_state = 1;
+                $_ngcc_current_state = 11;
                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
-        case 36:
-            {
-                $_ngcc_current_state = 32;
-                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 44:
+        case 25:
             {
-                $_ngcc_current_state = 40;
-                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 29:
-            {
-                if(($__uri.equals("") && $__local.equals("fixed"))) {
-                    $_ngcc_current_state = 24;
+                if(($__uri.equals("") && $__local.equals("form"))) {
+                    $_ngcc_current_state = 23;
                 }
                 else {
                     unexpectedLeaveAttribute($__qname);
                 }
             }
             break;
+        case 24:
+            {
+                $_ngcc_current_state = 23;
+                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 28:
+            {
+                $_ngcc_current_state = 24;
+                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
         case 17:
             {
                 $_ngcc_current_state = 13;
                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
+        case 11:
+            {
+                $_ngcc_current_state = 3;
+                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
         case 45:
             {
                 if(($__uri.equals("") && $__local.equals("abstract"))) {
@@ -724,64 +782,6 @@
                 }
             }
             break;
-        case 25:
-            {
-                if(($__uri.equals("") && $__local.equals("form"))) {
-                    $_ngcc_current_state = 23;
-                }
-                else {
-                    unexpectedLeaveAttribute($__qname);
-                }
-            }
-            break;
-        case 13:
-            {
-                $_ngcc_current_state = 11;
-                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 28:
-            {
-                $_ngcc_current_state = 24;
-                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 14:
-            {
-                if(($__uri.equals("") && $__local.equals("substitutionGroup"))) {
-                    $_ngcc_current_state = 11;
-                }
-                else {
-                    unexpectedLeaveAttribute($__qname);
-                }
-            }
-            break;
-        case 41:
-            {
-                if(($__uri.equals("") && $__local.equals("block"))) {
-                    $_ngcc_current_state = 36;
-                }
-                else {
-                    unexpectedLeaveAttribute($__qname);
-                }
-            }
-            break;
-        case 18:
-            {
-                if(($__uri.equals("") && $__local.equals("nillable"))) {
-                    $_ngcc_current_state = 13;
-                }
-                else {
-                    unexpectedLeaveAttribute($__qname);
-                }
-            }
-            break;
-        case 11:
-            {
-                $_ngcc_current_state = 3;
-                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
         default:
             {
                 unexpectedLeaveAttribute($__qname);
@@ -793,38 +793,6 @@
     public void text(String $value) throws SAXException {
         int $ai;
         switch($_ngcc_current_state) {
-        case 1:
-            {
-                $_ngcc_current_state = 0;
-                $runtime.sendText(super._cookie, $value);
-            }
-            break;
-        case 42:
-            {
-                NGCCHandler h = new ersSet(this, super._source, $runtime, 101);
-                spawnChildFromText(h, $value);
-            }
-            break;
-        case 26:
-            {
-                if($value.equals("unqualified")) {
-                    NGCCHandler h = new qualification(this, super._source, $runtime, 81);
-                    spawnChildFromText(h, $value);
-                }
-                else {
-                    if($value.equals("qualified")) {
-                        NGCCHandler h = new qualification(this, super._source, $runtime, 81);
-                        spawnChildFromText(h, $value);
-                    }
-                }
-            }
-            break;
-        case 6:
-            {
-                NGCCHandler h = new qname(this, super._source, $runtime, 51);
-                spawnChildFromText(h, $value);
-            }
-            break;
         case 40:
             {
                 if(($ai = $runtime.getAttributeIndex("","block"))>=0) {
@@ -837,45 +805,22 @@
                 }
             }
             break;
-        case 24:
+        case 22:
             {
-                if(($ai = $runtime.getAttributeIndex("","form"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendText(super._cookie, $value);
-                }
-                else {
-                    $_ngcc_current_state = 23;
-                    $runtime.sendText(super._cookie, $value);
-                }
+                name = $value;
+                $_ngcc_current_state = 21;
             }
             break;
-        case 32:
+        case 1:
             {
-                if(($ai = $runtime.getAttributeIndex("","default"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendText(super._cookie, $value);
-                }
-                else {
-                    $_ngcc_current_state = 28;
-                    $runtime.sendText(super._cookie, $value);
-                }
+                $_ngcc_current_state = 0;
+                $runtime.sendText(super._cookie, $value);
             }
             break;
-        case 0:
-            {
-                revertToParentFromText(makeResult(), super._cookie, $value);
-            }
-            break;
-        case 3:
+        case 30:
             {
-                if(($ai = $runtime.getAttributeIndex("","type"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendText(super._cookie, $value);
-                }
-                else {
-                    $_ngcc_current_state = 1;
-                    $runtime.sendText(super._cookie, $value);
-                }
+                fixedValue = $value;
+                $_ngcc_current_state = 29;
             }
             break;
         case 46:
@@ -884,18 +829,6 @@
                 $_ngcc_current_state = 45;
             }
             break;
-        case 38:
-            {
-                NGCCHandler h = new erSet(this, super._source, $runtime, 96);
-                spawnChildFromText(h, $value);
-            }
-            break;
-        case 22:
-            {
-                name = $value;
-                $_ngcc_current_state = 21;
-            }
-            break;
         case 36:
             {
                 if(($ai = $runtime.getAttributeIndex("","final"))>=0) {
@@ -920,56 +853,18 @@
                 }
             }
             break;
-        case 48:
+        case 3:
             {
-                if(($ai = $runtime.getAttributeIndex("","form"))>=0) {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 110, fa);
-                    spawnChildFromText(h, $value);
+                if(($ai = $runtime.getAttributeIndex("","type"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendText(super._cookie, $value);
                 }
                 else {
-                    if(($ai = $runtime.getAttributeIndex("","fixed"))>=0) {
-                        NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 110, fa);
-                        spawnChildFromText(h, $value);
-                    }
-                    else {
-                        if(($ai = $runtime.getAttributeIndex("","abstract"))>=0) {
-                            NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 110, fa);
-                            spawnChildFromText(h, $value);
-                        }
-                        else {
-                            if(($ai = $runtime.getAttributeIndex("","block"))>=0) {
-                                NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 110, fa);
-                                spawnChildFromText(h, $value);
-                            }
-                            else {
-                                if(($ai = $runtime.getAttributeIndex("","final"))>=0) {
-                                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 110, fa);
-                                    spawnChildFromText(h, $value);
-                                }
-                                else {
-                                    if(($ai = $runtime.getAttributeIndex("","default"))>=0) {
-                                        NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 110, fa);
-                                        spawnChildFromText(h, $value);
-                                    }
-                                    else {
-                                        if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
-                                            NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 110, fa);
-                                            spawnChildFromText(h, $value);
-                                        }
-                                    }
-                                }
-                            }
-                        }
-                    }
+                    $_ngcc_current_state = 1;
+                    $runtime.sendText(super._cookie, $value);
                 }
             }
             break;
-        case 15:
-            {
-                NGCCHandler h = new qname(this, super._source, $runtime, 68);
-                spawnChildFromText(h, $value);
-            }
-            break;
         case 23:
             {
                 if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
@@ -978,24 +873,41 @@
                 }
             }
             break;
-        case 30:
+        case 32:
             {
-                fixedValue = $value;
-                $_ngcc_current_state = 29;
-            }
-            break;
-        case 17:
-            {
-                if(($ai = $runtime.getAttributeIndex("","nillable"))>=0) {
+                if(($ai = $runtime.getAttributeIndex("","default"))>=0) {
                     $runtime.consumeAttribute($ai);
                     $runtime.sendText(super._cookie, $value);
                 }
                 else {
-                    $_ngcc_current_state = 13;
+                    $_ngcc_current_state = 28;
                     $runtime.sendText(super._cookie, $value);
                 }
             }
             break;
+        case 42:
+            {
+                NGCCHandler h = new ersSet(this, super._source, $runtime, 165);
+                spawnChildFromText(h, $value);
+            }
+            break;
+        case 6:
+            {
+                NGCCHandler h = new qname(this, super._source, $runtime, 115);
+                spawnChildFromText(h, $value);
+            }
+            break;
+        case 19:
+            {
+                nillable = $value;
+                $_ngcc_current_state = 18;
+            }
+            break;
+        case 0:
+            {
+                revertToParentFromText(makeResult(), super._cookie, $value);
+            }
+            break;
         case 13:
             {
                 if(($ai = $runtime.getAttributeIndex("","substitutionGroup"))>=0) {
@@ -1008,6 +920,32 @@
                 }
             }
             break;
+        case 26:
+            {
+                if($value.equals("unqualified")) {
+                    NGCCHandler h = new qualification(this, super._source, $runtime, 145);
+                    spawnChildFromText(h, $value);
+                }
+                else {
+                    if($value.equals("qualified")) {
+                        NGCCHandler h = new qualification(this, super._source, $runtime, 145);
+                        spawnChildFromText(h, $value);
+                    }
+                }
+            }
+            break;
+        case 24:
+            {
+                if(($ai = $runtime.getAttributeIndex("","form"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendText(super._cookie, $value);
+                }
+                else {
+                    $_ngcc_current_state = 23;
+                    $runtime.sendText(super._cookie, $value);
+                }
+            }
+            break;
         case 28:
             {
                 if(($ai = $runtime.getAttributeIndex("","fixed"))>=0) {
@@ -1020,16 +958,66 @@
                 }
             }
             break;
-        case 34:
+        case 17:
             {
-                defaultValue = $value;
-                $_ngcc_current_state = 33;
+                if(($ai = $runtime.getAttributeIndex("","nillable"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendText(super._cookie, $value);
+                }
+                else {
+                    $_ngcc_current_state = 13;
+                    $runtime.sendText(super._cookie, $value);
+                }
             }
             break;
-        case 19:
+        case 48:
             {
-                nillable = $value;
-                $_ngcc_current_state = 18;
+                if(($ai = $runtime.getAttributeIndex("","default"))>=0) {
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 174, fa);
+                    spawnChildFromText(h, $value);
+                }
+                else {
+                    if(($ai = $runtime.getAttributeIndex("","abstract"))>=0) {
+                        NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 174, fa);
+                        spawnChildFromText(h, $value);
+                    }
+                    else {
+                        if(($ai = $runtime.getAttributeIndex("","fixed"))>=0) {
+                            NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 174, fa);
+                            spawnChildFromText(h, $value);
+                        }
+                        else {
+                            if(($ai = $runtime.getAttributeIndex("","block"))>=0) {
+                                NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 174, fa);
+                                spawnChildFromText(h, $value);
+                            }
+                            else {
+                                if(($ai = $runtime.getAttributeIndex("","form"))>=0) {
+                                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 174, fa);
+                                    spawnChildFromText(h, $value);
+                                }
+                                else {
+                                    if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
+                                        NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 174, fa);
+                                        spawnChildFromText(h, $value);
+                                    }
+                                    else {
+                                        if(($ai = $runtime.getAttributeIndex("","final"))>=0) {
+                                            NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 174, fa);
+                                            spawnChildFromText(h, $value);
+                                        }
+                                    }
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+            break;
+        case 15:
+            {
+                NGCCHandler h = new qname(this, super._source, $runtime, 132);
+                spawnChildFromText(h, $value);
             }
             break;
         case 11:
@@ -1038,86 +1026,98 @@
                 $runtime.sendText(super._cookie, $value);
             }
             break;
+        case 38:
+            {
+                NGCCHandler h = new erSet(this, super._source, $runtime, 160);
+                spawnChildFromText(h, $value);
+            }
+            break;
+        case 34:
+            {
+                defaultValue = $value;
+                $_ngcc_current_state = 33;
+            }
+            break;
         }
     }
 
     public void onChildCompleted(Object $__result__, int $__cookie__, boolean $__needAttCheck__)throws SAXException {
         switch($__cookie__) {
-        case 47:
+        case 145:
+            {
+                form = ((Boolean)$__result__).booleanValue();
+                action3();
+                $_ngcc_current_state = 25;
+            }
+            break;
+        case 174:
+            {
+                fa = ((ForeignAttributesImpl)$__result__);
+                $_ngcc_current_state = 44;
+            }
+            break;
+        case 129:
+            {
+                annotation = ((AnnotationImpl)$__result__);
+                $_ngcc_current_state = 3;
+            }
+            break;
+        case 115:
+            {
+                typeName = ((UName)$__result__);
+                $_ngcc_current_state = 5;
+            }
+            break;
+        case 165:
+            {
+                blockValue = ((Integer)$__result__);
+                $_ngcc_current_state = 41;
+            }
+            break;
+        case 111:
             {
                 idc = ((IdentityConstraintImpl)$__result__);
                 action0();
                 $_ngcc_current_state = 0;
             }
             break;
-        case 96:
-            {
-                finalValue = ((Integer)$__result__);
-                $_ngcc_current_state = 37;
-            }
-            break;
-        case 81:
-            {
-                form = ((Boolean)$__result__).booleanValue();
-                action3();
-                $_ngcc_current_state = 25;
-            }
-            break;
-        case 51:
-            {
-                typeName = ((UName)$__result__);
-                $_ngcc_current_state = 5;
-            }
-            break;
-        case 68:
+        case 132:
             {
                 substRef = ((UName)$__result__);
                 action2();
                 $_ngcc_current_state = 14;
             }
             break;
-        case 65:
+        case 124:
             {
-                annotation = ((AnnotationImpl)$__result__);
-                $_ngcc_current_state = 3;
+                type = ((SimpleTypeImpl)$__result__);
+                $_ngcc_current_state = 1;
             }
             break;
-        case 48:
+        case 125:
+            {
+                type = ((ComplexTypeImpl)$__result__);
+                $_ngcc_current_state = 1;
+            }
+            break;
+        case 160:
+            {
+                finalValue = ((Integer)$__result__);
+                $_ngcc_current_state = 37;
+            }
+            break;
+        case 112:
             {
                 idc = ((IdentityConstraintImpl)$__result__);
                 action0();
                 $_ngcc_current_state = 0;
             }
             break;
-        case 101:
-            {
-                blockValue = ((Integer)$__result__);
-                $_ngcc_current_state = 41;
-            }
-            break;
-        case 60:
-            {
-                type = ((SimpleTypeImpl)$__result__);
-                $_ngcc_current_state = 1;
-            }
-            break;
-        case 61:
-            {
-                type = ((ComplexTypeImpl)$__result__);
-                $_ngcc_current_state = 1;
-            }
-            break;
-        case 110:
-            {
-                fa = ((ForeignAttributesImpl)$__result__);
-                $_ngcc_current_state = 44;
-            }
-            break;
         }
     }
 
     public boolean accepted() {
-        return((($_ngcc_current_state == 3) || (($_ngcc_current_state == 1) || (($_ngcc_current_state == 11) || (($_ngcc_current_state == 17) || (($_ngcc_current_state == 0) || ($_ngcc_current_state == 13)))))));
+        return((($_ngcc_current_state == 1) || (($_ngcc_current_state == 3) || (($_ngcc_current_state == 0) || (($_ngcc_current_state == 11) || (($_ngcc_current_state == 17) || ($_ngcc_current_state == 13)))))));
     }
 
 
--- a/sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/facet.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/facet.java	Mon Jun 11 03:24:50 2012 +0100
@@ -85,14 +85,14 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 5:
+        case 2:
             {
-                if(($ai = $runtime.getAttributeIndex("","fixed"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
+                    NGCCHandler h = new annotation(this, super._source, $runtime, 418, null,AnnotationContext.SIMPLETYPE_DECL);
+                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
-                    $_ngcc_current_state = 4;
+                    $_ngcc_current_state = 1;
                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
                 }
             }
@@ -128,7 +128,7 @@
         case 4:
             {
                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 192, fa);
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 420, fa);
                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
@@ -136,14 +136,14 @@
                 }
             }
             break;
-        case 2:
+        case 5:
             {
-                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
-                    NGCCHandler h = new annotation(this, super._source, $runtime, 190, null,AnnotationContext.SIMPLETYPE_DECL);
-                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                if(($ai = $runtime.getAttributeIndex("","fixed"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
-                    $_ngcc_current_state = 1;
+                    $_ngcc_current_state = 4;
                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
                 }
             }
@@ -162,16 +162,10 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 5:
+        case 2:
             {
-                if(($ai = $runtime.getAttributeIndex("","fixed"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-                }
-                else {
-                    $_ngcc_current_state = 4;
-                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-                }
+                $_ngcc_current_state = 1;
+                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
             }
             break;
         case 1:
@@ -205,7 +199,7 @@
         case 4:
             {
                 if((((((((((((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("minExclusive")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("maxExclusive"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("minInclusive"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("maxInclusive"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("totalDigits"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("fractionDigits"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("length"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("maxLength"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("minLength"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("enumeration"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("whiteSpace"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("pattern")))) {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 192, fa);
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 420, fa);
                     spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
                 }
                 else {
@@ -213,10 +207,16 @@
                 }
             }
             break;
-        case 2:
+        case 5:
             {
-                $_ngcc_current_state = 1;
-                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+                if(($ai = $runtime.getAttributeIndex("","fixed"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+                }
+                else {
+                    $_ngcc_current_state = 4;
+                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+                }
             }
             break;
         default:
@@ -233,15 +233,10 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 5:
+        case 2:
             {
-                if(($__uri.equals("") && $__local.equals("fixed"))) {
-                    $_ngcc_current_state = 7;
-                }
-                else {
-                    $_ngcc_current_state = 4;
-                    $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
-                }
+                $_ngcc_current_state = 1;
+                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
         case 0:
@@ -259,10 +254,15 @@
                 }
             }
             break;
-        case 2:
+        case 5:
             {
-                $_ngcc_current_state = 1;
-                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
+                if(($__uri.equals("") && $__local.equals("fixed"))) {
+                    $_ngcc_current_state = 7;
+                }
+                else {
+                    $_ngcc_current_state = 4;
+                    $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
+                }
             }
             break;
         default:
@@ -279,27 +279,6 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 5:
-            {
-                $_ngcc_current_state = 4;
-                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 9:
-            {
-                if(($__uri.equals("") && $__local.equals("value"))) {
-                    $_ngcc_current_state = 5;
-                }
-                else {
-                    unexpectedLeaveAttribute($__qname);
-                }
-            }
-            break;
-        case 0:
-            {
-                revertToParentFromLeaveAttribute(result, super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
         case 2:
             {
                 $_ngcc_current_state = 1;
@@ -316,6 +295,27 @@
                 }
             }
             break;
+        case 0:
+            {
+                revertToParentFromLeaveAttribute(result, super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 9:
+            {
+                if(($__uri.equals("") && $__local.equals("value"))) {
+                    $_ngcc_current_state = 5;
+                }
+                else {
+                    unexpectedLeaveAttribute($__qname);
+                }
+            }
+            break;
+        case 5:
+            {
+                $_ngcc_current_state = 4;
+                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
         default:
             {
                 unexpectedLeaveAttribute($__qname);
@@ -327,6 +327,31 @@
     public void text(String $value) throws SAXException {
         int $ai;
         switch($_ngcc_current_state) {
+        case 2:
+            {
+                $_ngcc_current_state = 1;
+                $runtime.sendText(super._cookie, $value);
+            }
+            break;
+        case 0:
+            {
+                revertToParentFromText(result, super._cookie, $value);
+            }
+            break;
+        case 7:
+            {
+                fixed = $value;
+                $_ngcc_current_state = 6;
+            }
+            break;
+        case 11:
+            {
+                if(($ai = $runtime.getAttributeIndex("","value"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendText(super._cookie, $value);
+                }
+            }
+            break;
         case 10:
             {
                 value = $value;
@@ -345,48 +370,23 @@
                 }
             }
             break;
-        case 0:
-            {
-                revertToParentFromText(result, super._cookie, $value);
-            }
-            break;
-        case 11:
-            {
-                if(($ai = $runtime.getAttributeIndex("","value"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendText(super._cookie, $value);
-                }
-            }
-            break;
-        case 7:
-            {
-                fixed = $value;
-                $_ngcc_current_state = 6;
-            }
-            break;
-        case 2:
-            {
-                $_ngcc_current_state = 1;
-                $runtime.sendText(super._cookie, $value);
-            }
-            break;
         }
     }
 
     public void onChildCompleted(Object $__result__, int $__cookie__, boolean $__needAttCheck__)throws SAXException {
         switch($__cookie__) {
-        case 192:
+        case 418:
+            {
+                annotation = ((AnnotationImpl)$__result__);
+                $_ngcc_current_state = 1;
+            }
+            break;
+        case 420:
             {
                 fa = ((ForeignAttributesImpl)$__result__);
                 $_ngcc_current_state = 2;
             }
             break;
-        case 190:
-            {
-                annotation = ((AnnotationImpl)$__result__);
-                $_ngcc_current_state = 1;
-            }
-            break;
         }
     }
 
--- a/sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/group.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/group.java	Mon Jun 11 03:24:50 2012 +0100
@@ -95,17 +95,6 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 3:
-            {
-                if((((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("all")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("choice"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("sequence"))) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("any")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))))))) {
-                    NGCCHandler h = new modelGroupBody(this, super._source, $runtime, 113, mloc,compositorName);
-                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    unexpectedEnterElement($__qname);
-                }
-            }
-            break;
         case 15:
             {
                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group"))) {
@@ -118,16 +107,49 @@
                 }
             }
             break;
-        case 6:
+        case 3:
             {
-                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
-                    NGCCHandler h = new annotation(this, super._source, $runtime, 117, null,AnnotationContext.MODELGROUP_DECL);
+                if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("any")) || (((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("all")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("choice"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("sequence"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))))))) {
+                    NGCCHandler h = new modelGroupBody(this, super._source, $runtime, 593, mloc,compositorName);
                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
-                    $_ngcc_current_state = 5;
+                    unexpectedEnterElement($__qname);
+                }
+            }
+            break;
+        case 4:
+            {
+                if(((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("all")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("choice"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("sequence")))) {
+                    $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
+                    $_ngcc_current_state = 3;
+                }
+                else {
+                    unexpectedEnterElement($__qname);
+                }
+            }
+            break;
+        case 11:
+            {
+                if(($ai = $runtime.getAttributeIndex("","ID"))>=0) {
+                    $runtime.consumeAttribute($ai);
                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
                 }
+                else {
+                    $_ngcc_current_state = 10;
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                }
+            }
+            break;
+        case 5:
+            {
+                if(((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("all")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("choice"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("sequence")))) {
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 595, null);
+                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    unexpectedEnterElement($__qname);
+                }
             }
             break;
         case 10:
@@ -141,14 +163,15 @@
                 }
             }
             break;
-        case 5:
+        case 6:
             {
-                if(((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("all")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("choice"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("sequence")))) {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 115, null);
+                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
+                    NGCCHandler h = new annotation(this, super._source, $runtime, 597, null,AnnotationContext.MODELGROUP_DECL);
                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
-                    unexpectedEnterElement($__qname);
+                    $_ngcc_current_state = 5;
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
                 }
             }
             break;
@@ -157,29 +180,6 @@
                 revertToParentFromEnterElement(result, super._cookie, $__uri, $__local, $__qname, $attrs);
             }
             break;
-        case 11:
-            {
-                if(($ai = $runtime.getAttributeIndex("","ID"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    $_ngcc_current_state = 10;
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-                }
-            }
-            break;
-        case 4:
-            {
-                if(((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("all")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("choice"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("sequence")))) {
-                    $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
-                    $_ngcc_current_state = 3;
-                }
-                else {
-                    unexpectedEnterElement($__qname);
-                }
-            }
-            break;
         default:
             {
                 unexpectedEnterElement($__qname);
@@ -197,7 +197,7 @@
         case 3:
             {
                 if(((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("all")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("choice"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("sequence")))) {
-                    NGCCHandler h = new modelGroupBody(this, super._source, $runtime, 113, mloc,compositorName);
+                    NGCCHandler h = new modelGroupBody(this, super._source, $runtime, 593, mloc,compositorName);
                     spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
                 }
                 else {
@@ -205,6 +205,29 @@
                 }
             }
             break;
+        case 2:
+            {
+                if(((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("all")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("choice"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("sequence")))) {
+                    $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
+                    $_ngcc_current_state = 1;
+                }
+                else {
+                    unexpectedLeaveElement($__qname);
+                }
+            }
+            break;
+        case 11:
+            {
+                if(($ai = $runtime.getAttributeIndex("","ID"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+                }
+                else {
+                    $_ngcc_current_state = 10;
+                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+                }
+            }
+            break;
         case 1:
             {
                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group"))) {
@@ -217,23 +240,6 @@
                 }
             }
             break;
-        case 6:
-            {
-                $_ngcc_current_state = 5;
-                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 2:
-            {
-                if(((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("all")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("choice"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("sequence")))) {
-                    $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
-                    $_ngcc_current_state = 1;
-                }
-                else {
-                    unexpectedLeaveElement($__qname);
-                }
-            }
-            break;
         case 10:
             {
                 if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
@@ -245,23 +251,17 @@
                 }
             }
             break;
+        case 6:
+            {
+                $_ngcc_current_state = 5;
+                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
         case 0:
             {
                 revertToParentFromLeaveElement(result, super._cookie, $__uri, $__local, $__qname);
             }
             break;
-        case 11:
-            {
-                if(($ai = $runtime.getAttributeIndex("","ID"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-                }
-                else {
-                    $_ngcc_current_state = 10;
-                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-                }
-            }
-            break;
         default:
             {
                 unexpectedLeaveElement($__qname);
@@ -276,10 +276,15 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 6:
+        case 11:
             {
-                $_ngcc_current_state = 5;
-                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
+                if(($__uri.equals("") && $__local.equals("ID"))) {
+                    $_ngcc_current_state = 13;
+                }
+                else {
+                    $_ngcc_current_state = 10;
+                    $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
+                }
             }
             break;
         case 10:
@@ -292,22 +297,17 @@
                 }
             }
             break;
+        case 6:
+            {
+                $_ngcc_current_state = 5;
+                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
         case 0:
             {
                 revertToParentFromEnterAttribute(result, super._cookie, $__uri, $__local, $__qname);
             }
             break;
-        case 11:
-            {
-                if(($__uri.equals("") && $__local.equals("ID"))) {
-                    $_ngcc_current_state = 13;
-                }
-                else {
-                    $_ngcc_current_state = 10;
-                    $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
-                }
-            }
-            break;
         default:
             {
                 unexpectedEnterAttribute($__qname);
@@ -322,9 +322,19 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 6:
+        case 12:
             {
-                $_ngcc_current_state = 5;
+                if(($__uri.equals("") && $__local.equals("ID"))) {
+                    $_ngcc_current_state = 10;
+                }
+                else {
+                    unexpectedLeaveAttribute($__qname);
+                }
+            }
+            break;
+        case 11:
+            {
+                $_ngcc_current_state = 10;
                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
@@ -338,27 +348,17 @@
                 }
             }
             break;
+        case 6:
+            {
+                $_ngcc_current_state = 5;
+                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
         case 0:
             {
                 revertToParentFromLeaveAttribute(result, super._cookie, $__uri, $__local, $__qname);
             }
             break;
-        case 11:
-            {
-                $_ngcc_current_state = 10;
-                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 12:
-            {
-                if(($__uri.equals("") && $__local.equals("ID"))) {
-                    $_ngcc_current_state = 10;
-                }
-                else {
-                    unexpectedLeaveAttribute($__qname);
-                }
-            }
-            break;
         default:
             {
                 unexpectedLeaveAttribute($__qname);
@@ -370,23 +370,9 @@
     public void text(String $value) throws SAXException {
         int $ai;
         switch($_ngcc_current_state) {
-        case 6:
-            {
-                $_ngcc_current_state = 5;
-                $runtime.sendText(super._cookie, $value);
-            }
-            break;
-        case 10:
+        case 13:
             {
-                if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendText(super._cookie, $value);
-                }
-            }
-            break;
-        case 0:
-            {
-                revertToParentFromText(result, super._cookie, $value);
+                $_ngcc_current_state = 12;
             }
             break;
         case 9:
@@ -407,9 +393,23 @@
                 }
             }
             break;
-        case 13:
+        case 10:
             {
-                $_ngcc_current_state = 12;
+                if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendText(super._cookie, $value);
+                }
+            }
+            break;
+        case 6:
+            {
+                $_ngcc_current_state = 5;
+                $runtime.sendText(super._cookie, $value);
+            }
+            break;
+        case 0:
+            {
+                revertToParentFromText(result, super._cookie, $value);
             }
             break;
         }
@@ -417,20 +417,20 @@
 
     public void onChildCompleted(Object $__result__, int $__cookie__, boolean $__needAttCheck__)throws SAXException {
         switch($__cookie__) {
-        case 113:
+        case 593:
             {
                 term = ((ModelGroupImpl)$__result__);
                 $_ngcc_current_state = 2;
             }
             break;
-        case 115:
+        case 595:
             {
                 fa = ((ForeignAttributesImpl)$__result__);
                 action1();
                 $_ngcc_current_state = 4;
             }
             break;
-        case 117:
+        case 597:
             {
                 annotation = ((AnnotationImpl)$__result__);
                 $_ngcc_current_state = 5;
--- a/sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/identityConstraint.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/identityConstraint.java	Mon Jun 11 03:24:50 2012 +0100
@@ -96,30 +96,7 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 16:
-            {
-                if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    unexpectedEnterElement($__qname);
-                }
-            }
-            break;
-        case 8:
-            {
-                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
-                    NGCCHandler h = new annotation(this, super._source, $runtime, 252, null,AnnotationContext.IDENTITY_CONSTRAINT);
-                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    $_ngcc_current_state = 7;
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-                }
-            }
-            break;
-        case 4:
+        case 1:
             {
                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("field"))) {
                     $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
@@ -133,7 +110,7 @@
         case 17:
             {
                 if((($ai = $runtime.getAttributeIndex("","name"))>=0 && (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("selector"))))) {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 262, null);
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 254, null);
                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
@@ -141,38 +118,10 @@
                 }
             }
             break;
-        case 1:
-            {
-                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("field"))) {
-                    $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
-                    $_ngcc_current_state = 3;
-                }
-                else {
-                    unexpectedEnterElement($__qname);
-                }
-            }
-            break;
-        case 0:
-            {
-                revertToParentFromEnterElement(makeResult(), super._cookie, $__uri, $__local, $__qname, $attrs);
-            }
-            break;
-        case 18:
-            {
-                if(((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("key")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("keyref"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("unique")))) {
-                    $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
-                    action2();
-                    $_ngcc_current_state = 17;
-                }
-                else {
-                    unexpectedEnterElement($__qname);
-                }
-            }
-            break;
         case 6:
             {
                 if(($ai = $runtime.getAttributeIndex("","xpath"))>=0) {
-                    NGCCHandler h = new xpath(this, super._source, $runtime, 249);
+                    NGCCHandler h = new xpath(this, super._source, $runtime, 241);
                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
@@ -180,6 +129,39 @@
                 }
             }
             break;
+        case 16:
+            {
+                if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    unexpectedEnterElement($__qname);
+                }
+            }
+            break;
+        case 3:
+            {
+                if(($ai = $runtime.getAttributeIndex("","xpath"))>=0) {
+                    NGCCHandler h = new xpath(this, super._source, $runtime, 237);
+                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    unexpectedEnterElement($__qname);
+                }
+            }
+            break;
+        case 7:
+            {
+                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("selector"))) {
+                    $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
+                    $_ngcc_current_state = 6;
+                }
+                else {
+                    unexpectedEnterElement($__qname);
+                }
+            }
+            break;
         case 10:
             {
                 if(($ai = $runtime.getAttributeIndex("","refer"))>=0) {
@@ -192,22 +174,40 @@
                 }
             }
             break;
-        case 7:
+        case 0:
+            {
+                revertToParentFromEnterElement(makeResult(), super._cookie, $__uri, $__local, $__qname, $attrs);
+            }
+            break;
+        case 8:
             {
-                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("selector"))) {
+                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
+                    NGCCHandler h = new annotation(this, super._source, $runtime, 244, null,AnnotationContext.IDENTITY_CONSTRAINT);
+                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    $_ngcc_current_state = 7;
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                }
+            }
+            break;
+        case 18:
+            {
+                if(((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("key")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("keyref"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("unique")))) {
                     $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
-                    $_ngcc_current_state = 6;
+                    action2();
+                    $_ngcc_current_state = 17;
                 }
                 else {
                     unexpectedEnterElement($__qname);
                 }
             }
             break;
-        case 3:
+        case 4:
             {
-                if(($ai = $runtime.getAttributeIndex("","xpath"))>=0) {
-                    NGCCHandler h = new xpath(this, super._source, $runtime, 245);
-                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("field"))) {
+                    $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
+                    $_ngcc_current_state = 3;
                 }
                 else {
                     unexpectedEnterElement($__qname);
@@ -228,6 +228,39 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
+        case 1:
+            {
+                if(((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("key")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("keyref"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("unique")))) {
+                    $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
+                    $_ngcc_current_state = 0;
+                }
+                else {
+                    unexpectedLeaveElement($__qname);
+                }
+            }
+            break;
+        case 17:
+            {
+                if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 254, null);
+                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
+                }
+                else {
+                    unexpectedLeaveElement($__qname);
+                }
+            }
+            break;
+        case 6:
+            {
+                if((($ai = $runtime.getAttributeIndex("","xpath"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("selector")))) {
+                    NGCCHandler h = new xpath(this, super._source, $runtime, 241);
+                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
+                }
+                else {
+                    unexpectedLeaveElement($__qname);
+                }
+            }
+            break;
         case 16:
             {
                 if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
@@ -239,65 +272,10 @@
                 }
             }
             break;
-        case 8:
-            {
-                $_ngcc_current_state = 7;
-                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 2:
-            {
-                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("field"))) {
-                    $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
-                    $_ngcc_current_state = 1;
-                }
-                else {
-                    unexpectedLeaveElement($__qname);
-                }
-            }
-            break;
-        case 17:
-            {
-                if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 262, null);
-                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
-                }
-                else {
-                    unexpectedLeaveElement($__qname);
-                }
-            }
-            break;
-        case 5:
+        case 3:
             {
-                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("selector"))) {
-                    $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
-                    $_ngcc_current_state = 4;
-                }
-                else {
-                    unexpectedLeaveElement($__qname);
-                }
-            }
-            break;
-        case 1:
-            {
-                if(((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("key")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("keyref"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("unique")))) {
-                    $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
-                    $_ngcc_current_state = 0;
-                }
-                else {
-                    unexpectedLeaveElement($__qname);
-                }
-            }
-            break;
-        case 0:
-            {
-                revertToParentFromLeaveElement(makeResult(), super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 6:
-            {
-                if((($ai = $runtime.getAttributeIndex("","xpath"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("selector")))) {
-                    NGCCHandler h = new xpath(this, super._source, $runtime, 249);
+                if((($ai = $runtime.getAttributeIndex("","xpath"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("field")))) {
+                    NGCCHandler h = new xpath(this, super._source, $runtime, 237);
                     spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
                 }
                 else {
@@ -317,17 +295,39 @@
                 }
             }
             break;
-        case 3:
+        case 5:
             {
-                if((($ai = $runtime.getAttributeIndex("","xpath"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("field")))) {
-                    NGCCHandler h = new xpath(this, super._source, $runtime, 245);
-                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
+                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("selector"))) {
+                    $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
+                    $_ngcc_current_state = 4;
                 }
                 else {
                     unexpectedLeaveElement($__qname);
                 }
             }
             break;
+        case 0:
+            {
+                revertToParentFromLeaveElement(makeResult(), super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 2:
+            {
+                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("field"))) {
+                    $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
+                    $_ngcc_current_state = 1;
+                }
+                else {
+                    unexpectedLeaveElement($__qname);
+                }
+            }
+            break;
+        case 8:
+            {
+                $_ngcc_current_state = 7;
+                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
         default:
             {
                 unexpectedLeaveElement($__qname);
@@ -342,6 +342,28 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
+        case 17:
+            {
+                if(($__uri.equals("") && $__local.equals("name"))) {
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 254, null);
+                    spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
+                }
+                else {
+                    unexpectedEnterAttribute($__qname);
+                }
+            }
+            break;
+        case 6:
+            {
+                if(($__uri.equals("") && $__local.equals("xpath"))) {
+                    NGCCHandler h = new xpath(this, super._source, $runtime, 241);
+                    spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
+                }
+                else {
+                    unexpectedEnterAttribute($__qname);
+                }
+            }
+            break;
         case 16:
             {
                 if(($__uri.equals("") && $__local.equals("name"))) {
@@ -352,32 +374,10 @@
                 }
             }
             break;
-        case 8:
-            {
-                $_ngcc_current_state = 7;
-                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 17:
-            {
-                if(($__uri.equals("") && $__local.equals("name"))) {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 262, null);
-                    spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
-                }
-                else {
-                    unexpectedEnterAttribute($__qname);
-                }
-            }
-            break;
-        case 0:
-            {
-                revertToParentFromEnterAttribute(makeResult(), super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 6:
+        case 3:
             {
                 if(($__uri.equals("") && $__local.equals("xpath"))) {
-                    NGCCHandler h = new xpath(this, super._source, $runtime, 249);
+                    NGCCHandler h = new xpath(this, super._source, $runtime, 237);
                     spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
                 }
                 else {
@@ -396,15 +396,15 @@
                 }
             }
             break;
-        case 3:
+        case 0:
             {
-                if(($__uri.equals("") && $__local.equals("xpath"))) {
-                    NGCCHandler h = new xpath(this, super._source, $runtime, 245);
-                    spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
-                }
-                else {
-                    unexpectedEnterAttribute($__qname);
-                }
+                revertToParentFromEnterAttribute(makeResult(), super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 8:
+            {
+                $_ngcc_current_state = 7;
+                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
         default:
@@ -421,15 +421,14 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 8:
+        case 14:
             {
-                $_ngcc_current_state = 7;
-                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 0:
-            {
-                revertToParentFromLeaveAttribute(makeResult(), super._cookie, $__uri, $__local, $__qname);
+                if(($__uri.equals("") && $__local.equals("name"))) {
+                    $_ngcc_current_state = 10;
+                }
+                else {
+                    unexpectedLeaveAttribute($__qname);
+                }
             }
             break;
         case 11:
@@ -448,14 +447,15 @@
                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
-        case 14:
+        case 0:
             {
-                if(($__uri.equals("") && $__local.equals("name"))) {
-                    $_ngcc_current_state = 10;
-                }
-                else {
-                    unexpectedLeaveAttribute($__qname);
-                }
+                revertToParentFromLeaveAttribute(makeResult(), super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 8:
+            {
+                $_ngcc_current_state = 7;
+                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
         default:
@@ -469,6 +469,22 @@
     public void text(String $value) throws SAXException {
         int $ai;
         switch($_ngcc_current_state) {
+        case 17:
+            {
+                if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 254, null);
+                    spawnChildFromText(h, $value);
+                }
+            }
+            break;
+        case 6:
+            {
+                if(($ai = $runtime.getAttributeIndex("","xpath"))>=0) {
+                    NGCCHandler h = new xpath(this, super._source, $runtime, 241);
+                    spawnChildFromText(h, $value);
+                }
+            }
+            break;
         case 16:
             {
                 if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
@@ -477,45 +493,20 @@
                 }
             }
             break;
-        case 8:
-            {
-                $_ngcc_current_state = 7;
-                $runtime.sendText(super._cookie, $value);
-            }
-            break;
-        case 12:
+        case 3:
             {
-                NGCCHandler h = new qname(this, super._source, $runtime, 255);
-                spawnChildFromText(h, $value);
-            }
-            break;
-        case 17:
-            {
-                if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 262, null);
+                if(($ai = $runtime.getAttributeIndex("","xpath"))>=0) {
+                    NGCCHandler h = new xpath(this, super._source, $runtime, 237);
                     spawnChildFromText(h, $value);
                 }
             }
             break;
-        case 0:
-            {
-                revertToParentFromText(makeResult(), super._cookie, $value);
-            }
-            break;
         case 15:
             {
                 name = $value;
                 $_ngcc_current_state = 14;
             }
             break;
-        case 6:
-            {
-                if(($ai = $runtime.getAttributeIndex("","xpath"))>=0) {
-                    NGCCHandler h = new xpath(this, super._source, $runtime, 249);
-                    spawnChildFromText(h, $value);
-                }
-            }
-            break;
         case 10:
             {
                 if(($ai = $runtime.getAttributeIndex("","refer"))>=0) {
@@ -528,12 +519,21 @@
                 }
             }
             break;
-        case 3:
+        case 0:
+            {
+                revertToParentFromText(makeResult(), super._cookie, $value);
+            }
+            break;
+        case 12:
             {
-                if(($ai = $runtime.getAttributeIndex("","xpath"))>=0) {
-                    NGCCHandler h = new xpath(this, super._source, $runtime, 245);
-                    spawnChildFromText(h, $value);
-                }
+                NGCCHandler h = new qname(this, super._source, $runtime, 247);
+                spawnChildFromText(h, $value);
+            }
+            break;
+        case 8:
+            {
+                $_ngcc_current_state = 7;
+                $runtime.sendText(super._cookie, $value);
             }
             break;
         }
@@ -541,38 +541,38 @@
 
     public void onChildCompleted(Object $__result__, int $__cookie__, boolean $__needAttCheck__)throws SAXException {
         switch($__cookie__) {
-        case 252:
+        case 241:
+            {
+                selector = ((XPathImpl)$__result__);
+                $_ngcc_current_state = 5;
+            }
+            break;
+        case 237:
+            {
+                field = ((XPathImpl)$__result__);
+                action0();
+                $_ngcc_current_state = 2;
+            }
+            break;
+        case 244:
             {
                 ann = ((AnnotationImpl)$__result__);
                 $_ngcc_current_state = 7;
             }
             break;
-        case 255:
+        case 247:
             {
                 ref = ((UName)$__result__);
                 action1();
                 $_ngcc_current_state = 11;
             }
             break;
-        case 262:
+        case 254:
             {
                 fa = ((ForeignAttributesImpl)$__result__);
                 $_ngcc_current_state = 16;
             }
             break;
-        case 249:
-            {
-                selector = ((XPathImpl)$__result__);
-                $_ngcc_current_state = 5;
-            }
-            break;
-        case 245:
-            {
-                field = ((XPathImpl)$__result__);
-                action0();
-                $_ngcc_current_state = 2;
-            }
-            break;
         }
     }
 
--- a/sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/importDecl.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/importDecl.java	Mon Jun 11 03:24:50 2012 +0100
@@ -78,6 +78,11 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
+        case 0:
+            {
+                revertToParentFromEnterElement(this, super._cookie, $__uri, $__local, $__qname, $attrs);
+            }
+            break;
         case 8:
             {
                 if(($ai = $runtime.getAttributeIndex("","namespace"))>=0) {
@@ -90,18 +95,6 @@
                 }
             }
             break;
-        case 2:
-            {
-                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
-                    NGCCHandler h = new annotation(this, super._source, $runtime, 686, null,AnnotationContext.SCHEMA);
-                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    $_ngcc_current_state = 1;
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-                }
-            }
-            break;
         case 12:
             {
                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("import"))) {
@@ -113,9 +106,16 @@
                 }
             }
             break;
-        case 0:
+        case 2:
             {
-                revertToParentFromEnterElement(this, super._cookie, $__uri, $__local, $__qname, $attrs);
+                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
+                    NGCCHandler h = new annotation(this, super._source, $runtime, 498, null,AnnotationContext.SCHEMA);
+                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    $_ngcc_current_state = 1;
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                }
             }
             break;
         case 4:
@@ -144,6 +144,11 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
+        case 0:
+            {
+                revertToParentFromLeaveElement(this, super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
         case 8:
             {
                 if(($ai = $runtime.getAttributeIndex("","namespace"))>=0) {
@@ -156,12 +161,6 @@
                 }
             }
             break;
-        case 2:
-            {
-                $_ngcc_current_state = 1;
-                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
         case 1:
             {
                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("import"))) {
@@ -174,9 +173,10 @@
                 }
             }
             break;
-        case 0:
+        case 2:
             {
-                revertToParentFromLeaveElement(this, super._cookie, $__uri, $__local, $__qname);
+                $_ngcc_current_state = 1;
+                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
             }
             break;
         case 4:
@@ -205,6 +205,11 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
+        case 0:
+            {
+                revertToParentFromEnterAttribute(this, super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
         case 8:
             {
                 if(($__uri.equals("") && $__local.equals("namespace"))) {
@@ -222,11 +227,6 @@
                 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
-        case 0:
-            {
-                revertToParentFromEnterAttribute(this, super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
         case 4:
             {
                 if(($__uri.equals("") && $__local.equals("schemaLocation"))) {
@@ -252,37 +252,37 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
+        case 9:
+            {
+                if(($__uri.equals("") && $__local.equals("namespace"))) {
+                    $_ngcc_current_state = 4;
+                }
+                else {
+                    unexpectedLeaveAttribute($__qname);
+                }
+            }
+            break;
+        case 0:
+            {
+                revertToParentFromLeaveAttribute(this, super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
         case 8:
             {
                 $_ngcc_current_state = 4;
                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
-        case 5:
-            {
-                if(($__uri.equals("") && $__local.equals("schemaLocation"))) {
-                    $_ngcc_current_state = 2;
-                }
-                else {
-                    unexpectedLeaveAttribute($__qname);
-                }
-            }
-            break;
         case 2:
             {
                 $_ngcc_current_state = 1;
                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
-        case 0:
+        case 5:
             {
-                revertToParentFromLeaveAttribute(this, super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 9:
-            {
-                if(($__uri.equals("") && $__local.equals("namespace"))) {
-                    $_ngcc_current_state = 4;
+                if(($__uri.equals("") && $__local.equals("schemaLocation"))) {
+                    $_ngcc_current_state = 2;
                 }
                 else {
                     unexpectedLeaveAttribute($__qname);
@@ -306,6 +306,11 @@
     public void text(String $value) throws SAXException {
         int $ai;
         switch($_ngcc_current_state) {
+        case 0:
+            {
+                revertToParentFromText(this, super._cookie, $value);
+            }
+            break;
         case 8:
             {
                 if(($ai = $runtime.getAttributeIndex("","namespace"))>=0) {
@@ -318,17 +323,18 @@
                 }
             }
             break;
+        case 6:
+            {
+                schemaLocation = $value;
+                $_ngcc_current_state = 5;
+            }
+            break;
         case 2:
             {
                 $_ngcc_current_state = 1;
                 $runtime.sendText(super._cookie, $value);
             }
             break;
-        case 0:
-            {
-                revertToParentFromText(this, super._cookie, $value);
-            }
-            break;
         case 4:
             {
                 if(($ai = $runtime.getAttributeIndex("","schemaLocation"))>=0) {
@@ -347,18 +353,12 @@
                 $_ngcc_current_state = 9;
             }
             break;
-        case 6:
-            {
-                schemaLocation = $value;
-                $_ngcc_current_state = 5;
-            }
-            break;
         }
     }
 
     public void onChildCompleted(Object $__result__, int $__cookie__, boolean $__needAttCheck__)throws SAXException {
         switch($__cookie__) {
-        case 686:
+        case 498:
             {
                 $_ngcc_current_state = 1;
             }
--- a/sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/includeDecl.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/includeDecl.java	Mon Jun 11 03:24:50 2012 +0100
@@ -74,15 +74,21 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 0:
+        case 6:
             {
-                revertToParentFromEnterElement(this, super._cookie, $__uri, $__local, $__qname, $attrs);
+                if(($ai = $runtime.getAttributeIndex("","schemaLocation"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    unexpectedEnterElement($__qname);
+                }
             }
             break;
         case 2:
             {
                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
-                    NGCCHandler h = new annotation(this, super._source, $runtime, 395, null,AnnotationContext.SCHEMA);
+                    NGCCHandler h = new annotation(this, super._source, $runtime, 610, null,AnnotationContext.SCHEMA);
                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
@@ -102,15 +108,9 @@
                 }
             }
             break;
-        case 6:
+        case 0:
             {
-                if(($ai = $runtime.getAttributeIndex("","schemaLocation"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    unexpectedEnterElement($__qname);
-                }
+                revertToParentFromEnterElement(this, super._cookie, $__uri, $__local, $__qname, $attrs);
             }
             break;
         default:
@@ -127,15 +127,15 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 0:
+        case 6:
             {
-                revertToParentFromLeaveElement(this, super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 2:
-            {
-                $_ngcc_current_state = 1;
-                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+                if(($ai = $runtime.getAttributeIndex("","schemaLocation"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+                }
+                else {
+                    unexpectedLeaveElement($__qname);
+                }
             }
             break;
         case 1:
@@ -150,15 +150,15 @@
                 }
             }
             break;
-        case 6:
+        case 2:
             {
-                if(($ai = $runtime.getAttributeIndex("","schemaLocation"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-                }
-                else {
-                    unexpectedLeaveElement($__qname);
-                }
+                $_ngcc_current_state = 1;
+                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 0:
+            {
+                revertToParentFromLeaveElement(this, super._cookie, $__uri, $__local, $__qname);
             }
             break;
         default:
@@ -175,9 +175,14 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 0:
+        case 6:
             {
-                revertToParentFromEnterAttribute(this, super._cookie, $__uri, $__local, $__qname);
+                if(($__uri.equals("") && $__local.equals("schemaLocation"))) {
+                    $_ngcc_current_state = 5;
+                }
+                else {
+                    unexpectedEnterAttribute($__qname);
+                }
             }
             break;
         case 2:
@@ -186,14 +191,9 @@
                 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
-        case 6:
+        case 0:
             {
-                if(($__uri.equals("") && $__local.equals("schemaLocation"))) {
-                    $_ngcc_current_state = 5;
-                }
-                else {
-                    unexpectedEnterAttribute($__qname);
-                }
+                revertToParentFromEnterAttribute(this, super._cookie, $__uri, $__local, $__qname);
             }
             break;
         default:
@@ -210,11 +210,6 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 0:
-            {
-                revertToParentFromLeaveAttribute(this, super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
         case 4:
             {
                 if(($__uri.equals("") && $__local.equals("schemaLocation"))) {
@@ -231,6 +226,11 @@
                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
+        case 0:
+            {
+                revertToParentFromLeaveAttribute(this, super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
         default:
             {
                 unexpectedLeaveAttribute($__qname);
@@ -242,17 +242,6 @@
     public void text(String $value) throws SAXException {
         int $ai;
         switch($_ngcc_current_state) {
-        case 0:
-            {
-                revertToParentFromText(this, super._cookie, $value);
-            }
-            break;
-        case 2:
-            {
-                $_ngcc_current_state = 1;
-                $runtime.sendText(super._cookie, $value);
-            }
-            break;
         case 5:
             {
                 schemaLocation = $value;
@@ -267,12 +256,23 @@
                 }
             }
             break;
+        case 2:
+            {
+                $_ngcc_current_state = 1;
+                $runtime.sendText(super._cookie, $value);
+            }
+            break;
+        case 0:
+            {
+                revertToParentFromText(this, super._cookie, $value);
+            }
+            break;
         }
     }
 
     public void onChildCompleted(Object $__result__, int $__cookie__, boolean $__needAttCheck__)throws SAXException {
         switch($__cookie__) {
-        case 395:
+        case 610:
             {
                 $_ngcc_current_state = 1;
             }
--- a/sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/modelGroupBody.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/modelGroupBody.java	Mon Jun 11 03:24:50 2012 +0100
@@ -97,10 +97,34 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
+        case 2:
+            {
+                if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("any")) || (((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("all")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("choice"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("sequence"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element")))))) {
+                    NGCCHandler h = new particle(this, super._source, $runtime, 515);
+                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    $_ngcc_current_state = 1;
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                }
+            }
+            break;
+        case 6:
+            {
+                if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("any")) || (((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("all")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("choice"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("sequence"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))))))) {
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 520, null);
+                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 520, null);
+                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                }
+            }
+            break;
         case 1:
             {
-                if((((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("all")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("choice"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("sequence"))) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("any")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group")))))) {
-                    NGCCHandler h = new particle(this, super._source, $runtime, 337);
+                if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("any")) || (((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("all")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("choice"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("sequence"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element")))))) {
+                    NGCCHandler h = new particle(this, super._source, $runtime, 514);
                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
@@ -110,22 +134,15 @@
                 }
             }
             break;
-        case 6:
+        case 0:
             {
-                if((((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("all")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("choice"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("sequence"))) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("any")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))))))) {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 343, null);
-                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 343, null);
-                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
-                }
+                revertToParentFromEnterElement(result, super._cookie, $__uri, $__local, $__qname, $attrs);
             }
             break;
         case 4:
             {
                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
-                    NGCCHandler h = new annotation(this, super._source, $runtime, 341, null,AnnotationContext.MODELGROUP);
+                    NGCCHandler h = new annotation(this, super._source, $runtime, 518, null,AnnotationContext.MODELGROUP);
                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
@@ -134,23 +151,6 @@
                 }
             }
             break;
-        case 0:
-            {
-                revertToParentFromEnterElement(result, super._cookie, $__uri, $__local, $__qname, $attrs);
-            }
-            break;
-        case 2:
-            {
-                if((((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("all")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("choice"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("sequence"))) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("any")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group")))))) {
-                    NGCCHandler h = new particle(this, super._source, $runtime, 338);
-                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    $_ngcc_current_state = 1;
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-                }
-            }
-            break;
         default:
             {
                 unexpectedEnterElement($__qname);
@@ -165,22 +165,22 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 1:
+        case 2:
             {
-                action0();
-                $_ngcc_current_state = 0;
+                $_ngcc_current_state = 1;
                 $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
             }
             break;
         case 6:
             {
-                NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 343, null);
+                NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 520, null);
                 spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
             }
             break;
-        case 4:
+        case 1:
             {
-                $_ngcc_current_state = 2;
+                action0();
+                $_ngcc_current_state = 0;
                 $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
             }
             break;
@@ -189,9 +189,9 @@
                 revertToParentFromLeaveElement(result, super._cookie, $__uri, $__local, $__qname);
             }
             break;
-        case 2:
+        case 4:
             {
-                $_ngcc_current_state = 1;
+                $_ngcc_current_state = 2;
                 $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
             }
             break;
@@ -209,22 +209,22 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 1:
+        case 2:
             {
-                action0();
-                $_ngcc_current_state = 0;
+                $_ngcc_current_state = 1;
                 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
         case 6:
             {
-                NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 343, null);
+                NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 520, null);
                 spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
             }
             break;
-        case 4:
+        case 1:
             {
-                $_ngcc_current_state = 2;
+                action0();
+                $_ngcc_current_state = 0;
                 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
@@ -233,9 +233,9 @@
                 revertToParentFromEnterAttribute(result, super._cookie, $__uri, $__local, $__qname);
             }
             break;
-        case 2:
+        case 4:
             {
-                $_ngcc_current_state = 1;
+                $_ngcc_current_state = 2;
                 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
@@ -253,22 +253,22 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 1:
+        case 2:
             {
-                action0();
-                $_ngcc_current_state = 0;
+                $_ngcc_current_state = 1;
                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
         case 6:
             {
-                NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 343, null);
+                NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 520, null);
                 spawnChildFromLeaveAttribute(h, $__uri, $__local, $__qname);
             }
             break;
-        case 4:
+        case 1:
             {
-                $_ngcc_current_state = 2;
+                action0();
+                $_ngcc_current_state = 0;
                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
@@ -277,9 +277,9 @@
                 revertToParentFromLeaveAttribute(result, super._cookie, $__uri, $__local, $__qname);
             }
             break;
-        case 2:
+        case 4:
             {
-                $_ngcc_current_state = 1;
+                $_ngcc_current_state = 2;
                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
@@ -294,22 +294,22 @@
     public void text(String $value) throws SAXException {
         int $ai;
         switch($_ngcc_current_state) {
-        case 1:
+        case 2:
             {
-                action0();
-                $_ngcc_current_state = 0;
+                $_ngcc_current_state = 1;
                 $runtime.sendText(super._cookie, $value);
             }
             break;
         case 6:
             {
-                NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 343, null);
+                NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 520, null);
                 spawnChildFromText(h, $value);
             }
             break;
-        case 4:
+        case 1:
             {
-                $_ngcc_current_state = 2;
+                action0();
+                $_ngcc_current_state = 0;
                 $runtime.sendText(super._cookie, $value);
             }
             break;
@@ -318,9 +318,9 @@
                 revertToParentFromText(result, super._cookie, $value);
             }
             break;
-        case 2:
+        case 4:
             {
-                $_ngcc_current_state = 1;
+                $_ngcc_current_state = 2;
                 $runtime.sendText(super._cookie, $value);
             }
             break;
@@ -329,37 +329,37 @@
 
     public void onChildCompleted(Object $__result__, int $__cookie__, boolean $__needAttCheck__)throws SAXException {
         switch($__cookie__) {
-        case 337:
+        case 520:
+            {
+                fa = ((ForeignAttributesImpl)$__result__);
+                $_ngcc_current_state = 4;
+            }
+            break;
+        case 515:
             {
                 childParticle = ((ParticleImpl)$__result__);
                 action1();
                 $_ngcc_current_state = 1;
             }
             break;
-        case 343:
-            {
-                fa = ((ForeignAttributesImpl)$__result__);
-                $_ngcc_current_state = 4;
-            }
-            break;
-        case 341:
-            {
-                annotation = ((AnnotationImpl)$__result__);
-                $_ngcc_current_state = 2;
-            }
-            break;
-        case 338:
+        case 514:
             {
                 childParticle = ((ParticleImpl)$__result__);
                 action1();
                 $_ngcc_current_state = 1;
             }
             break;
+        case 518:
+            {
+                annotation = ((AnnotationImpl)$__result__);
+                $_ngcc_current_state = 2;
+            }
+            break;
         }
     }
 
     public boolean accepted() {
-        return((($_ngcc_current_state == 0) || (($_ngcc_current_state == 2) || (($_ngcc_current_state == 4) || ($_ngcc_current_state == 1)))));
+        return((($_ngcc_current_state == 0) || (($_ngcc_current_state == 4) || (($_ngcc_current_state == 1) || ($_ngcc_current_state == 2)))));
     }
 
 
--- a/sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/notation.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/notation.java	Mon Jun 11 03:24:50 2012 +0100
@@ -78,11 +78,16 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 14:
+        case 0:
             {
-                if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                revertToParentFromEnterElement(makeResult(), super._cookie, $__uri, $__local, $__qname, $attrs);
+            }
+            break;
+        case 15:
+            {
+                if((($ai = $runtime.getAttributeIndex("","name"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")))) {
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 554, null);
+                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
                     unexpectedEnterElement($__qname);
@@ -92,7 +97,7 @@
         case 2:
             {
                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
-                    NGCCHandler h = new annotation(this, super._source, $runtime, 283, null,AnnotationContext.NOTATION);
+                    NGCCHandler h = new annotation(this, super._source, $runtime, 539, null,AnnotationContext.NOTATION);
                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
@@ -101,34 +106,6 @@
                 }
             }
             break;
-        case 15:
-            {
-                if((($ai = $runtime.getAttributeIndex("","name"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")))) {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 298, null);
-                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    unexpectedEnterElement($__qname);
-                }
-            }
-            break;
-        case 0:
-            {
-                revertToParentFromEnterElement(makeResult(), super._cookie, $__uri, $__local, $__qname, $attrs);
-            }
-            break;
-        case 16:
-            {
-                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("notation"))) {
-                    $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
-                    action0();
-                    $_ngcc_current_state = 15;
-                }
-                else {
-                    unexpectedEnterElement($__qname);
-                }
-            }
-            break;
         case 4:
             {
                 if(($ai = $runtime.getAttributeIndex("","system"))>=0) {
@@ -141,6 +118,17 @@
                 }
             }
             break;
+        case 14:
+            {
+                if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    unexpectedEnterElement($__qname);
+                }
+            }
+            break;
         case 8:
             {
                 if(($ai = $runtime.getAttributeIndex("","public"))>=0) {
@@ -153,6 +141,18 @@
                 }
             }
             break;
+        case 16:
+            {
+                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("notation"))) {
+                    $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
+                    action0();
+                    $_ngcc_current_state = 15;
+                }
+                else {
+                    unexpectedEnterElement($__qname);
+                }
+            }
+            break;
         default:
             {
                 unexpectedEnterElement($__qname);
@@ -167,32 +167,9 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 14:
-            {
-                if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-                }
-                else {
-                    unexpectedLeaveElement($__qname);
-                }
-            }
-            break;
-        case 2:
+        case 0:
             {
-                $_ngcc_current_state = 1;
-                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 15:
-            {
-                if((($ai = $runtime.getAttributeIndex("","name"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("notation")))) {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 298, null);
-                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
-                }
-                else {
-                    unexpectedLeaveElement($__qname);
-                }
+                revertToParentFromLeaveElement(makeResult(), super._cookie, $__uri, $__local, $__qname);
             }
             break;
         case 1:
@@ -206,9 +183,21 @@
                 }
             }
             break;
-        case 0:
+        case 15:
             {
-                revertToParentFromLeaveElement(makeResult(), super._cookie, $__uri, $__local, $__qname);
+                if((($ai = $runtime.getAttributeIndex("","name"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("notation")))) {
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 554, null);
+                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
+                }
+                else {
+                    unexpectedLeaveElement($__qname);
+                }
+            }
+            break;
+        case 2:
+            {
+                $_ngcc_current_state = 1;
+                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
             }
             break;
         case 4:
@@ -223,6 +212,17 @@
                 }
             }
             break;
+        case 14:
+            {
+                if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+                }
+                else {
+                    unexpectedLeaveElement($__qname);
+                }
+            }
+            break;
         case 8:
             {
                 if(($ai = $runtime.getAttributeIndex("","public"))>=0) {
@@ -249,10 +249,16 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 14:
+        case 0:
+            {
+                revertToParentFromEnterAttribute(makeResult(), super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 15:
             {
                 if(($__uri.equals("") && $__local.equals("name"))) {
-                    $_ngcc_current_state = 13;
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 554, null);
+                    spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
                 }
                 else {
                     unexpectedEnterAttribute($__qname);
@@ -265,22 +271,6 @@
                 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
-        case 15:
-            {
-                if(($__uri.equals("") && $__local.equals("name"))) {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 298, null);
-                    spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
-                }
-                else {
-                    unexpectedEnterAttribute($__qname);
-                }
-            }
-            break;
-        case 0:
-            {
-                revertToParentFromEnterAttribute(makeResult(), super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
         case 4:
             {
                 if(($__uri.equals("") && $__local.equals("system"))) {
@@ -292,6 +282,16 @@
                 }
             }
             break;
+        case 14:
+            {
+                if(($__uri.equals("") && $__local.equals("name"))) {
+                    $_ngcc_current_state = 13;
+                }
+                else {
+                    unexpectedEnterAttribute($__qname);
+                }
+            }
+            break;
         case 8:
             {
                 if(($__uri.equals("") && $__local.equals("public"))) {
@@ -317,6 +317,23 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
+        case 0:
+            {
+                revertToParentFromLeaveAttribute(makeResult(), super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 2:
+            {
+                $_ngcc_current_state = 1;
+                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 4:
+            {
+                $_ngcc_current_state = 2;
+                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
         case 5:
             {
                 if(($__uri.equals("") && $__local.equals("system"))) {
@@ -327,9 +344,9 @@
                 }
             }
             break;
-        case 2:
+        case 8:
             {
-                $_ngcc_current_state = 1;
+                $_ngcc_current_state = 4;
                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
@@ -343,17 +360,6 @@
                 }
             }
             break;
-        case 0:
-            {
-                revertToParentFromLeaveAttribute(makeResult(), super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 4:
-            {
-                $_ngcc_current_state = 2;
-                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
         case 12:
             {
                 if(($__uri.equals("") && $__local.equals("name"))) {
@@ -364,12 +370,6 @@
                 }
             }
             break;
-        case 8:
-            {
-                $_ngcc_current_state = 4;
-                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
         default:
             {
                 unexpectedLeaveAttribute($__qname);
@@ -381,17 +381,22 @@
     public void text(String $value) throws SAXException {
         int $ai;
         switch($_ngcc_current_state) {
+        case 0:
+            {
+                revertToParentFromText(makeResult(), super._cookie, $value);
+            }
+            break;
         case 10:
             {
                 pub = $value;
                 $_ngcc_current_state = 9;
             }
             break;
-        case 14:
+        case 15:
             {
                 if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendText(super._cookie, $value);
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 554, null);
+                    spawnChildFromText(h, $value);
                 }
             }
             break;
@@ -401,25 +406,12 @@
                 $runtime.sendText(super._cookie, $value);
             }
             break;
-        case 15:
-            {
-                if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 298, null);
-                    spawnChildFromText(h, $value);
-                }
-            }
-            break;
         case 13:
             {
                 name = $value;
                 $_ngcc_current_state = 12;
             }
             break;
-        case 0:
-            {
-                revertToParentFromText(makeResult(), super._cookie, $value);
-            }
-            break;
         case 4:
             {
                 if(($ai = $runtime.getAttributeIndex("","system"))>=0) {
@@ -432,6 +424,20 @@
                 }
             }
             break;
+        case 6:
+            {
+                sys = $value;
+                $_ngcc_current_state = 5;
+            }
+            break;
+        case 14:
+            {
+                if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendText(super._cookie, $value);
+                }
+            }
+            break;
         case 8:
             {
                 if(($ai = $runtime.getAttributeIndex("","public"))>=0) {
@@ -444,24 +450,18 @@
                 }
             }
             break;
-        case 6:
-            {
-                sys = $value;
-                $_ngcc_current_state = 5;
-            }
-            break;
         }
     }
 
     public void onChildCompleted(Object $__result__, int $__cookie__, boolean $__needAttCheck__)throws SAXException {
         switch($__cookie__) {
-        case 298:
+        case 554:
             {
                 fa = ((ForeignAttributesImpl)$__result__);
                 $_ngcc_current_state = 14;
             }
             break;
-        case 283:
+        case 539:
             {
                 ann = ((AnnotationImpl)$__result__);
                 $_ngcc_current_state = 1;
--- a/sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/occurs.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/occurs.java	Mon Jun 11 03:24:50 2012 +0100
@@ -83,6 +83,18 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
+        case 5:
+            {
+                if(($ai = $runtime.getAttributeIndex("","maxOccurs"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    $_ngcc_current_state = 1;
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                }
+            }
+            break;
         case 1:
             {
                 if(($ai = $runtime.getAttributeIndex("","minOccurs"))>=0) {
@@ -95,18 +107,6 @@
                 }
             }
             break;
-        case 5:
-            {
-                if(($ai = $runtime.getAttributeIndex("","maxOccurs"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    $_ngcc_current_state = 1;
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-                }
-            }
-            break;
         case 0:
             {
                 revertToParentFromEnterElement(this, super._cookie, $__uri, $__local, $__qname, $attrs);
@@ -126,6 +126,18 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
+        case 5:
+            {
+                if(($ai = $runtime.getAttributeIndex("","maxOccurs"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+                }
+                else {
+                    $_ngcc_current_state = 1;
+                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+                }
+            }
+            break;
         case 1:
             {
                 if(($ai = $runtime.getAttributeIndex("","minOccurs"))>=0) {
@@ -138,18 +150,6 @@
                 }
             }
             break;
-        case 5:
-            {
-                if(($ai = $runtime.getAttributeIndex("","maxOccurs"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-                }
-                else {
-                    $_ngcc_current_state = 1;
-                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-                }
-            }
-            break;
         case 0:
             {
                 revertToParentFromLeaveElement(this, super._cookie, $__uri, $__local, $__qname);
@@ -169,6 +169,17 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
+        case 5:
+            {
+                if(($__uri.equals("") && $__local.equals("maxOccurs"))) {
+                    $_ngcc_current_state = 7;
+                }
+                else {
+                    $_ngcc_current_state = 1;
+                    $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
+                }
+            }
+            break;
         case 1:
             {
                 if(($__uri.equals("") && $__local.equals("minOccurs"))) {
@@ -180,17 +191,6 @@
                 }
             }
             break;
-        case 5:
-            {
-                if(($__uri.equals("") && $__local.equals("maxOccurs"))) {
-                    $_ngcc_current_state = 7;
-                }
-                else {
-                    $_ngcc_current_state = 1;
-                    $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
-                }
-            }
-            break;
         case 0:
             {
                 revertToParentFromEnterAttribute(this, super._cookie, $__uri, $__local, $__qname);
@@ -210,25 +210,15 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 1:
+        case 5:
             {
-                $_ngcc_current_state = 0;
+                $_ngcc_current_state = 1;
                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
-        case 2:
+        case 1:
             {
-                if(($__uri.equals("") && $__local.equals("minOccurs"))) {
-                    $_ngcc_current_state = 0;
-                }
-                else {
-                    unexpectedLeaveAttribute($__qname);
-                }
-            }
-            break;
-        case 5:
-            {
-                $_ngcc_current_state = 1;
+                $_ngcc_current_state = 0;
                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
@@ -242,6 +232,16 @@
                 }
             }
             break;
+        case 2:
+            {
+                if(($__uri.equals("") && $__local.equals("minOccurs"))) {
+                    $_ngcc_current_state = 0;
+                }
+                else {
+                    unexpectedLeaveAttribute($__qname);
+                }
+            }
+            break;
         case 0:
             {
                 revertToParentFromLeaveAttribute(this, super._cookie, $__uri, $__local, $__qname);
@@ -258,6 +258,18 @@
     public void text(String $value) throws SAXException {
         int $ai;
         switch($_ngcc_current_state) {
+        case 5:
+            {
+                if(($ai = $runtime.getAttributeIndex("","maxOccurs"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendText(super._cookie, $value);
+                }
+                else {
+                    $_ngcc_current_state = 1;
+                    $runtime.sendText(super._cookie, $value);
+                }
+            }
+            break;
         case 1:
             {
                 if(($ai = $runtime.getAttributeIndex("","minOccurs"))>=0) {
@@ -270,23 +282,9 @@
                 }
             }
             break;
-        case 3:
-            {
-                v = $value;
-                $_ngcc_current_state = 2;
-                action0();
-            }
-            break;
-        case 5:
+        case 0:
             {
-                if(($ai = $runtime.getAttributeIndex("","maxOccurs"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendText(super._cookie, $value);
-                }
-                else {
-                    $_ngcc_current_state = 1;
-                    $runtime.sendText(super._cookie, $value);
-                }
+                revertToParentFromText(this, super._cookie, $value);
             }
             break;
         case 7:
@@ -302,9 +300,11 @@
                 }
             }
             break;
-        case 0:
+        case 3:
             {
-                revertToParentFromText(this, super._cookie, $value);
+                v = $value;
+                $_ngcc_current_state = 2;
+                action0();
             }
             break;
         }
@@ -316,7 +316,7 @@
     }
 
     public boolean accepted() {
-        return((($_ngcc_current_state == 0) || (($_ngcc_current_state == 5) || ($_ngcc_current_state == 1))));
+        return((($_ngcc_current_state == 0) || (($_ngcc_current_state == 1) || ($_ngcc_current_state == 5))));
     }
 
 
--- a/sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/particle.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/particle.java	Mon Jun 11 03:24:50 2012 +0100
@@ -131,22 +131,43 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 0:
+        case 4:
             {
-                revertToParentFromEnterElement(result, super._cookie, $__uri, $__local, $__qname, $attrs);
+                if(((($ai = $runtime.getAttributeIndex("","minOccurs"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) || ((($ai = $runtime.getAttributeIndex("","processContents"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) || ((($ai = $runtime.getAttributeIndex("","maxOccurs"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) || ((($ai = $runtime.getAttributeIndex("","namespace"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))))))) {
+                    NGCCHandler h = new occurs(this, super._source, $runtime, 618);
+                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    unexpectedEnterElement($__qname);
+                }
             }
             break;
-        case 20:
+        case 3:
             {
-                action5();
-                $_ngcc_current_state = 19;
-                $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                if((($ai = $runtime.getAttributeIndex("","processContents"))>=0 || (($ai = $runtime.getAttributeIndex("","namespace"))>=0 || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))))) {
+                    NGCCHandler h = new wildcardBody(this, super._source, $runtime, 617, wloc);
+                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    unexpectedEnterElement($__qname);
+                }
+            }
+            break;
+        case 30:
+            {
+                if(((($ai = $runtime.getAttributeIndex("","minOccurs"))>=0 && ((((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element")) || ((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("all")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("choice"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("sequence")))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("any"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group")))) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group")) || ((($ai = $runtime.getAttributeIndex("","maxOccurs"))>=0 && ((((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element")) || ((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("all")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("choice"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("sequence")))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("any"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group")))) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("any")) || (((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("all")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("choice"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("sequence"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))))))))) {
+                    NGCCHandler h = new occurs(this, super._source, $runtime, 648);
+                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    unexpectedEnterElement($__qname);
+                }
             }
             break;
         case 26:
             {
-                if(((($ai = $runtime.getAttributeIndex("","maxOccurs"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) || ((($ai = $runtime.getAttributeIndex("","ref"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) || (($ai = $runtime.getAttributeIndex("","minOccurs"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")))))) {
-                    NGCCHandler h = new occurs(this, super._source, $runtime, 157);
+                if(((($ai = $runtime.getAttributeIndex("","minOccurs"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) || ((($ai = $runtime.getAttributeIndex("","maxOccurs"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) || (($ai = $runtime.getAttributeIndex("","ref"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")))))) {
+                    NGCCHandler h = new occurs(this, super._source, $runtime, 643);
                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
@@ -154,6 +175,18 @@
                 }
             }
             break;
+        case 11:
+            {
+                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
+                    NGCCHandler h = new annotation(this, super._source, $runtime, 626, null,AnnotationContext.PARTICLE);
+                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    $_ngcc_current_state = 10;
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                }
+            }
+            break;
         case 10:
             {
                 action3();
@@ -194,10 +227,10 @@
                 }
             }
             break;
-        case 16:
+        case 29:
             {
-                if(((($ai = $runtime.getAttributeIndex("","ref"))>=0 && (((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || ((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("key")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("keyref"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("unique")))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType")))) || ((($ai = $runtime.getAttributeIndex("","maxOccurs"))>=0 && (((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || ((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("key")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("keyref"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("unique")))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType")))) || ((($ai = $runtime.getAttributeIndex("","name"))>=0 && (((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || ((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("key")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("keyref"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("unique")))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType")))) || ((($ai = $runtime.getAttributeIndex("","default"))>=0 && (((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || ((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("key")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("keyref"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("unique")))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType")))) || ((($ai = $runtime.getAttributeIndex("","final"))>=0 && (((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || ((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("key")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("keyref"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("unique")))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType")))) || ((($ai = $runtime.getAttributeIndex("","block"))>=0 && (((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || ((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("key")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("keyref"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("unique")))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType")))) || ((($ai = $runtime.getAttributeIndex("","abstract"))>=0 && (((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || ((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("key")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("keyref"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("unique")))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType")))) || ((($ai = $runtime.getAttributeIndex("","fixed"))>=0 && (((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || ((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("key")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("keyref"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("unique")))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType")))) || ((($ai = $runtime.getAttributeIndex("","minOccurs"))>=0 && (((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || ((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("key")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("keyref"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("unique")))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType")))) || (($ai = $runtime.getAttributeIndex("","form"))>=0 && (((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || ((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("key")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("keyref"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("unique")))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType")))))))))))))) {
-                    NGCCHandler h = new occurs(this, super._source, $runtime, 146);
+                if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("any")) || (((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("all")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("choice"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("sequence"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))))))) {
+                    NGCCHandler h = new modelGroupBody(this, super._source, $runtime, 647, loc,compositorName);
                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
@@ -205,11 +238,11 @@
                 }
             }
             break;
-        case 29:
+        case 25:
             {
-                if((((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("all")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("choice"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("sequence"))) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("any")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))))))) {
-                    NGCCHandler h = new modelGroupBody(this, super._source, $runtime, 161, loc,compositorName);
-                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                if(($ai = $runtime.getAttributeIndex("","ref"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
                     unexpectedEnterElement($__qname);
@@ -219,7 +252,7 @@
         case 21:
             {
                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
-                    NGCCHandler h = new annotation(this, super._source, $runtime, 152, null,AnnotationContext.PARTICLE);
+                    NGCCHandler h = new annotation(this, super._source, $runtime, 638, null,AnnotationContext.PARTICLE);
                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
@@ -228,33 +261,10 @@
                 }
             }
             break;
-        case 3:
-            {
-                if((($ai = $runtime.getAttributeIndex("","processContents"))>=0 || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || ($ai = $runtime.getAttributeIndex("","namespace"))>=0))) {
-                    NGCCHandler h = new wildcardBody(this, super._source, $runtime, 131, wloc);
-                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    unexpectedEnterElement($__qname);
-                }
-            }
-            break;
-        case 11:
+        case 16:
             {
-                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
-                    NGCCHandler h = new annotation(this, super._source, $runtime, 140, null,AnnotationContext.PARTICLE);
-                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    $_ngcc_current_state = 10;
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-                }
-            }
-            break;
-        case 4:
-            {
-                if(((($ai = $runtime.getAttributeIndex("","maxOccurs"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) || ((($ai = $runtime.getAttributeIndex("","processContents"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || ((($ai = $runtime.getAttributeIndex("","minOccurs"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) || (($ai = $runtime.getAttributeIndex("","namespace"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")))))))) {
-                    NGCCHandler h = new occurs(this, super._source, $runtime, 132);
+                if(((($ai = $runtime.getAttributeIndex("","name"))>=0 && (((((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("key")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("keyref"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("unique"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")))) || ((($ai = $runtime.getAttributeIndex("","final"))>=0 && (((((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("key")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("keyref"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("unique"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")))) || ((($ai = $runtime.getAttributeIndex("","minOccurs"))>=0 && (((((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("key")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("keyref"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("unique"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")))) || ((($ai = $runtime.getAttributeIndex("","maxOccurs"))>=0 && (((((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("key")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("keyref"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("unique"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")))) || ((($ai = $runtime.getAttributeIndex("","form"))>=0 && (((((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("key")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("keyref"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("unique"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")))) || ((($ai = $runtime.getAttributeIndex("","block"))>=0 && (((((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("key")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("keyref"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("unique"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")))) || ((($ai = $runtime.getAttributeIndex("","fixed"))>=0 && (((((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("key")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("keyref"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("unique"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")))) || ((($ai = $runtime.getAttributeIndex("","default"))>=0 && (((((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("key")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("keyref"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("unique"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")))) || ((($ai = $runtime.getAttributeIndex("","abstract"))>=0 && (((((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("key")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("keyref"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("unique"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")))) || (($ai = $runtime.getAttributeIndex("","ref"))>=0 && (((((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("key")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("keyref"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("unique"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")))))))))))))) {
+                    NGCCHandler h = new occurs(this, super._source, $runtime, 632);
                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
@@ -269,8 +279,8 @@
                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
-                    if((($ai = $runtime.getAttributeIndex("","name"))>=0 || (($ai = $runtime.getAttributeIndex("","default"))>=0 || (($ai = $runtime.getAttributeIndex("","final"))>=0 || (($ai = $runtime.getAttributeIndex("","block"))>=0 || (($ai = $runtime.getAttributeIndex("","abstract"))>=0 || (($ai = $runtime.getAttributeIndex("","fixed"))>=0 || ($ai = $runtime.getAttributeIndex("","form"))>=0))))))) {
-                        NGCCHandler h = new elementDeclBody(this, super._source, $runtime, 137, loc,false);
+                    if((($ai = $runtime.getAttributeIndex("","name"))>=0 || (($ai = $runtime.getAttributeIndex("","final"))>=0 || (($ai = $runtime.getAttributeIndex("","form"))>=0 || (($ai = $runtime.getAttributeIndex("","block"))>=0 || (($ai = $runtime.getAttributeIndex("","fixed"))>=0 || (($ai = $runtime.getAttributeIndex("","default"))>=0 || ($ai = $runtime.getAttributeIndex("","abstract"))>=0))))))) {
+                        NGCCHandler h = new elementDeclBody(this, super._source, $runtime, 623, loc,false);
                         spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                     }
                     else {
@@ -279,26 +289,16 @@
                 }
             }
             break;
-        case 25:
+        case 20:
             {
-                if(($ai = $runtime.getAttributeIndex("","ref"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    unexpectedEnterElement($__qname);
-                }
+                action5();
+                $_ngcc_current_state = 19;
+                $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
             }
             break;
-        case 30:
+        case 0:
             {
-                if(((($ai = $runtime.getAttributeIndex("","maxOccurs"))>=0 && ((((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("any"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || ((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("all")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("choice"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("sequence"))))) || (((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("all")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("choice"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("sequence"))) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("any")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || (($ai = $runtime.getAttributeIndex("","minOccurs"))>=0 && ((((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("any"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || ((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("all")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("choice"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("sequence")))))))))))) {
-                    NGCCHandler h = new occurs(this, super._source, $runtime, 162);
-                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    unexpectedEnterElement($__qname);
-                }
+                revertToParentFromEnterElement(result, super._cookie, $__uri, $__local, $__qname, $attrs);
             }
             break;
         default:
@@ -315,21 +315,31 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 0:
+        case 4:
             {
-                revertToParentFromLeaveElement(result, super._cookie, $__uri, $__local, $__qname);
+                if(((($ai = $runtime.getAttributeIndex("","minOccurs"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("any"))) || ((($ai = $runtime.getAttributeIndex("","processContents"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("any"))) || ((($ai = $runtime.getAttributeIndex("","maxOccurs"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("any"))) || ((($ai = $runtime.getAttributeIndex("","namespace"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("any"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("any"))))))) {
+                    NGCCHandler h = new occurs(this, super._source, $runtime, 618);
+                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
+                }
+                else {
+                    unexpectedLeaveElement($__qname);
+                }
             }
             break;
-        case 20:
+        case 3:
             {
-                action5();
-                $_ngcc_current_state = 19;
-                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+                if(((($ai = $runtime.getAttributeIndex("","processContents"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("any"))) || ((($ai = $runtime.getAttributeIndex("","namespace"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("any"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("any"))))) {
+                    NGCCHandler h = new wildcardBody(this, super._source, $runtime, 617, wloc);
+                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
+                }
+                else {
+                    unexpectedLeaveElement($__qname);
+                }
             }
             break;
-        case 2:
+        case 19:
             {
-                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("any"))) {
+                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group"))) {
                     $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
                     $_ngcc_current_state = 0;
                 }
@@ -338,10 +348,10 @@
                 }
             }
             break;
-        case 26:
+        case 30:
             {
-                if(((($ai = $runtime.getAttributeIndex("","maxOccurs"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group"))) || ((($ai = $runtime.getAttributeIndex("","ref"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group"))) || (($ai = $runtime.getAttributeIndex("","minOccurs"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group")))))) {
-                    NGCCHandler h = new occurs(this, super._source, $runtime, 157);
+                if(((($ai = $runtime.getAttributeIndex("","minOccurs"))>=0 && ((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("all")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("choice"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("sequence")))) || (((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("all")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("choice"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("sequence"))) || (($ai = $runtime.getAttributeIndex("","maxOccurs"))>=0 && ((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("all")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("choice"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("sequence"))))))) {
+                    NGCCHandler h = new occurs(this, super._source, $runtime, 648);
                     spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
                 }
                 else {
@@ -349,6 +359,23 @@
                 }
             }
             break;
+        case 26:
+            {
+                if(((($ai = $runtime.getAttributeIndex("","minOccurs"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group"))) || ((($ai = $runtime.getAttributeIndex("","maxOccurs"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group"))) || (($ai = $runtime.getAttributeIndex("","ref"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group")))))) {
+                    NGCCHandler h = new occurs(this, super._source, $runtime, 643);
+                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
+                }
+                else {
+                    unexpectedLeaveElement($__qname);
+                }
+            }
+            break;
+        case 11:
+            {
+                $_ngcc_current_state = 10;
+                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
         case 10:
             {
                 action3();
@@ -356,39 +383,11 @@
                 $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
             }
             break;
-        case 16:
-            {
-                if(((($ai = $runtime.getAttributeIndex("","ref"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || ((($ai = $runtime.getAttributeIndex("","maxOccurs"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || ((($ai = $runtime.getAttributeIndex("","name"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || ((($ai = $runtime.getAttributeIndex("","default"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || ((($ai = $runtime.getAttributeIndex("","final"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || ((($ai = $runtime.getAttributeIndex("","block"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || ((($ai = $runtime.getAttributeIndex("","abstract"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || ((($ai = $runtime.getAttributeIndex("","fixed"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || ((($ai = $runtime.getAttributeIndex("","minOccurs"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || (($ai = $runtime.getAttributeIndex("","form"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))))))))))))) {
-                    NGCCHandler h = new occurs(this, super._source, $runtime, 146);
-                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
-                }
-                else {
-                    unexpectedLeaveElement($__qname);
-                }
-            }
-            break;
-        case 29:
+        case 2:
             {
-                if(((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("all")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("choice"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("sequence")))) {
-                    NGCCHandler h = new modelGroupBody(this, super._source, $runtime, 161, loc,compositorName);
-                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
-                }
-                else {
-                    unexpectedLeaveElement($__qname);
-                }
-            }
-            break;
-        case 21:
-            {
-                $_ngcc_current_state = 20;
-                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 3:
-            {
-                if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("any")) || ((($ai = $runtime.getAttributeIndex("","processContents"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("any"))) || (($ai = $runtime.getAttributeIndex("","namespace"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("any")))))) {
-                    NGCCHandler h = new wildcardBody(this, super._source, $runtime, 131, wloc);
-                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
+                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("any"))) {
+                    $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
+                    $_ngcc_current_state = 0;
                 }
                 else {
                     unexpectedLeaveElement($__qname);
@@ -406,16 +405,38 @@
                 }
             }
             break;
-        case 11:
+        case 29:
+            {
+                if(((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("all")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("choice"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("sequence")))) {
+                    NGCCHandler h = new modelGroupBody(this, super._source, $runtime, 647, loc,compositorName);
+                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
+                }
+                else {
+                    unexpectedLeaveElement($__qname);
+                }
+            }
+            break;
+        case 25:
             {
-                $_ngcc_current_state = 10;
+                if(($ai = $runtime.getAttributeIndex("","ref"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+                }
+                else {
+                    unexpectedLeaveElement($__qname);
+                }
+            }
+            break;
+        case 21:
+            {
+                $_ngcc_current_state = 20;
                 $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
             }
             break;
-        case 4:
+        case 16:
             {
-                if(((($ai = $runtime.getAttributeIndex("","maxOccurs"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("any"))) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("any")) || ((($ai = $runtime.getAttributeIndex("","processContents"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("any"))) || ((($ai = $runtime.getAttributeIndex("","minOccurs"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("any"))) || (($ai = $runtime.getAttributeIndex("","namespace"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("any")))))))) {
-                    NGCCHandler h = new occurs(this, super._source, $runtime, 132);
+                if(((($ai = $runtime.getAttributeIndex("","name"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || ((($ai = $runtime.getAttributeIndex("","final"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || ((($ai = $runtime.getAttributeIndex("","minOccurs"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || ((($ai = $runtime.getAttributeIndex("","maxOccurs"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || ((($ai = $runtime.getAttributeIndex("","form"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || ((($ai = $runtime.getAttributeIndex("","block"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || ((($ai = $runtime.getAttributeIndex("","fixed"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || ((($ai = $runtime.getAttributeIndex("","default"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || ((($ai = $runtime.getAttributeIndex("","abstract"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || (($ai = $runtime.getAttributeIndex("","ref"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))))))))))))) {
+                    NGCCHandler h = new occurs(this, super._source, $runtime, 632);
                     spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
                 }
                 else {
@@ -430,8 +451,8 @@
                     $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
                 }
                 else {
-                    if(((($ai = $runtime.getAttributeIndex("","name"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || ((($ai = $runtime.getAttributeIndex("","default"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || ((($ai = $runtime.getAttributeIndex("","final"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || ((($ai = $runtime.getAttributeIndex("","block"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || ((($ai = $runtime.getAttributeIndex("","abstract"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || ((($ai = $runtime.getAttributeIndex("","fixed"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || (($ai = $runtime.getAttributeIndex("","form"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element")))))))))) {
-                        NGCCHandler h = new elementDeclBody(this, super._source, $runtime, 137, loc,false);
+                    if(((($ai = $runtime.getAttributeIndex("","name"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || ((($ai = $runtime.getAttributeIndex("","final"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || ((($ai = $runtime.getAttributeIndex("","form"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || ((($ai = $runtime.getAttributeIndex("","block"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || ((($ai = $runtime.getAttributeIndex("","fixed"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || ((($ai = $runtime.getAttributeIndex("","default"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || (($ai = $runtime.getAttributeIndex("","abstract"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element")))))))))) {
+                        NGCCHandler h = new elementDeclBody(this, super._source, $runtime, 623, loc,false);
                         spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
                     }
                     else {
@@ -451,37 +472,16 @@
                 }
             }
             break;
-        case 25:
+        case 20:
             {
-                if(($ai = $runtime.getAttributeIndex("","ref"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-                }
-                else {
-                    unexpectedLeaveElement($__qname);
-                }
+                action5();
+                $_ngcc_current_state = 19;
+                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
             }
             break;
-        case 30:
+        case 0:
             {
-                if(((($ai = $runtime.getAttributeIndex("","maxOccurs"))>=0 && ((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("all")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("choice"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("sequence")))) || (((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("all")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("choice"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("sequence"))) || (($ai = $runtime.getAttributeIndex("","minOccurs"))>=0 && ((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("all")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("choice"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("sequence"))))))) {
-                    NGCCHandler h = new occurs(this, super._source, $runtime, 162);
-                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
-                }
-                else {
-                    unexpectedLeaveElement($__qname);
-                }
-            }
-            break;
-        case 19:
-            {
-                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group"))) {
-                    $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
-                    $_ngcc_current_state = 0;
-                }
-                else {
-                    unexpectedLeaveElement($__qname);
-                }
+                revertToParentFromLeaveElement(result, super._cookie, $__uri, $__local, $__qname);
             }
             break;
         default:
@@ -498,35 +498,10 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 20:
-            {
-                action5();
-                $_ngcc_current_state = 19;
-                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 0:
-            {
-                revertToParentFromEnterAttribute(result, super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 11:
+        case 4:
             {
-                $_ngcc_current_state = 10;
-                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 10:
-            {
-                action3();
-                $_ngcc_current_state = 7;
-                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 26:
-            {
-                if((($__uri.equals("") && $__local.equals("maxOccurs")) || (($__uri.equals("") && $__local.equals("ref")) || ($__uri.equals("") && $__local.equals("minOccurs"))))) {
-                    NGCCHandler h = new occurs(this, super._source, $runtime, 157);
+                if((($__uri.equals("") && $__local.equals("minOccurs")) || (($__uri.equals("") && $__local.equals("processContents")) || (($__uri.equals("") && $__local.equals("maxOccurs")) || ($__uri.equals("") && $__local.equals("namespace")))))) {
+                    NGCCHandler h = new occurs(this, super._source, $runtime, 618);
                     spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
                 }
                 else {
@@ -534,10 +509,16 @@
                 }
             }
             break;
-        case 4:
+        case 21:
             {
-                if((($__uri.equals("") && $__local.equals("maxOccurs")) || (($__uri.equals("") && $__local.equals("processContents")) || (($__uri.equals("") && $__local.equals("minOccurs")) || ($__uri.equals("") && $__local.equals("namespace")))))) {
-                    NGCCHandler h = new occurs(this, super._source, $runtime, 132);
+                $_ngcc_current_state = 20;
+                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 3:
+            {
+                if((($__uri.equals("") && $__local.equals("processContents")) || ($__uri.equals("") && $__local.equals("namespace")))) {
+                    NGCCHandler h = new wildcardBody(this, super._source, $runtime, 617, wloc);
                     spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
                 }
                 else {
@@ -547,8 +528,8 @@
             break;
         case 16:
             {
-                if((($__uri.equals("") && $__local.equals("ref")) || (($__uri.equals("") && $__local.equals("maxOccurs")) || (($__uri.equals("") && $__local.equals("name")) || (($__uri.equals("") && $__local.equals("default")) || (($__uri.equals("") && $__local.equals("final")) || (($__uri.equals("") && $__local.equals("block")) || (($__uri.equals("") && $__local.equals("abstract")) || (($__uri.equals("") && $__local.equals("fixed")) || (($__uri.equals("") && $__local.equals("minOccurs")) || ($__uri.equals("") && $__local.equals("form")))))))))))) {
-                    NGCCHandler h = new occurs(this, super._source, $runtime, 146);
+                if((($__uri.equals("") && $__local.equals("name")) || (($__uri.equals("") && $__local.equals("final")) || (($__uri.equals("") && $__local.equals("minOccurs")) || (($__uri.equals("") && $__local.equals("maxOccurs")) || (($__uri.equals("") && $__local.equals("form")) || (($__uri.equals("") && $__local.equals("block")) || (($__uri.equals("") && $__local.equals("fixed")) || (($__uri.equals("") && $__local.equals("default")) || (($__uri.equals("") && $__local.equals("abstract")) || ($__uri.equals("") && $__local.equals("ref")))))))))))) {
+                    NGCCHandler h = new occurs(this, super._source, $runtime, 632);
                     spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
                 }
                 else {
@@ -562,8 +543,8 @@
                     $_ngcc_current_state = 14;
                 }
                 else {
-                    if((($__uri.equals("") && $__local.equals("name")) || (($__uri.equals("") && $__local.equals("default")) || (($__uri.equals("") && $__local.equals("final")) || (($__uri.equals("") && $__local.equals("block")) || (($__uri.equals("") && $__local.equals("abstract")) || (($__uri.equals("") && $__local.equals("fixed")) || ($__uri.equals("") && $__local.equals("form"))))))))) {
-                        NGCCHandler h = new elementDeclBody(this, super._source, $runtime, 137, loc,false);
+                    if((($__uri.equals("") && $__local.equals("name")) || (($__uri.equals("") && $__local.equals("final")) || (($__uri.equals("") && $__local.equals("form")) || (($__uri.equals("") && $__local.equals("block")) || (($__uri.equals("") && $__local.equals("fixed")) || (($__uri.equals("") && $__local.equals("default")) || ($__uri.equals("") && $__local.equals("abstract"))))))))) {
+                        NGCCHandler h = new elementDeclBody(this, super._source, $runtime, 623, loc,false);
                         spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
                     }
                     else {
@@ -572,16 +553,10 @@
                 }
             }
             break;
-        case 21:
+        case 30:
             {
-                $_ngcc_current_state = 20;
-                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 3:
-            {
-                if((($__uri.equals("") && $__local.equals("processContents")) || ($__uri.equals("") && $__local.equals("namespace")))) {
-                    NGCCHandler h = new wildcardBody(this, super._source, $runtime, 131, wloc);
+                if((($__uri.equals("") && $__local.equals("minOccurs")) || ($__uri.equals("") && $__local.equals("maxOccurs")))) {
+                    NGCCHandler h = new occurs(this, super._source, $runtime, 648);
                     spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
                 }
                 else {
@@ -589,21 +564,46 @@
                 }
             }
             break;
-        case 25:
+        case 11:
             {
-                if(($__uri.equals("") && $__local.equals("ref"))) {
-                    $_ngcc_current_state = 24;
+                $_ngcc_current_state = 10;
+                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 26:
+            {
+                if((($__uri.equals("") && $__local.equals("minOccurs")) || (($__uri.equals("") && $__local.equals("maxOccurs")) || ($__uri.equals("") && $__local.equals("ref"))))) {
+                    NGCCHandler h = new occurs(this, super._source, $runtime, 643);
+                    spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
                 }
                 else {
                     unexpectedEnterAttribute($__qname);
                 }
             }
             break;
-        case 30:
+        case 10:
+            {
+                action3();
+                $_ngcc_current_state = 7;
+                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 20:
             {
-                if((($__uri.equals("") && $__local.equals("maxOccurs")) || ($__uri.equals("") && $__local.equals("minOccurs")))) {
-                    NGCCHandler h = new occurs(this, super._source, $runtime, 162);
-                    spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
+                action5();
+                $_ngcc_current_state = 19;
+                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 0:
+            {
+                revertToParentFromEnterAttribute(result, super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 25:
+            {
+                if(($__uri.equals("") && $__local.equals("ref"))) {
+                    $_ngcc_current_state = 24;
                 }
                 else {
                     unexpectedEnterAttribute($__qname);
@@ -624,21 +624,9 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 20:
+        case 21:
             {
-                action5();
-                $_ngcc_current_state = 19;
-                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 0:
-            {
-                revertToParentFromLeaveAttribute(result, super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 11:
-            {
-                $_ngcc_current_state = 10;
+                $_ngcc_current_state = 20;
                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
@@ -652,6 +640,12 @@
                 }
             }
             break;
+        case 11:
+            {
+                $_ngcc_current_state = 10;
+                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
         case 10:
             {
                 action3();
@@ -659,6 +653,13 @@
                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
+        case 20:
+            {
+                action5();
+                $_ngcc_current_state = 19;
+                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
         case 23:
             {
                 if(($__uri.equals("") && $__local.equals("ref"))) {
@@ -669,10 +670,9 @@
                 }
             }
             break;
-        case 21:
+        case 0:
             {
-                $_ngcc_current_state = 20;
-                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
+                revertToParentFromLeaveAttribute(result, super._cookie, $__uri, $__local, $__qname);
             }
             break;
         default:
@@ -686,38 +686,86 @@
     public void text(String $value) throws SAXException {
         int $ai;
         switch($_ngcc_current_state) {
-        case 0:
+        case 4:
             {
-                revertToParentFromText(result, super._cookie, $value);
+                if(($ai = $runtime.getAttributeIndex("","namespace"))>=0) {
+                    NGCCHandler h = new occurs(this, super._source, $runtime, 618);
+                    spawnChildFromText(h, $value);
+                }
+                else {
+                    if(($ai = $runtime.getAttributeIndex("","maxOccurs"))>=0) {
+                        NGCCHandler h = new occurs(this, super._source, $runtime, 618);
+                        spawnChildFromText(h, $value);
+                    }
+                    else {
+                        if(($ai = $runtime.getAttributeIndex("","processContents"))>=0) {
+                            NGCCHandler h = new occurs(this, super._source, $runtime, 618);
+                            spawnChildFromText(h, $value);
+                        }
+                        else {
+                            if(($ai = $runtime.getAttributeIndex("","minOccurs"))>=0) {
+                                NGCCHandler h = new occurs(this, super._source, $runtime, 618);
+                                spawnChildFromText(h, $value);
+                            }
+                        }
+                    }
+                }
             }
             break;
-        case 20:
+        case 3:
             {
-                action5();
-                $_ngcc_current_state = 19;
-                $runtime.sendText(super._cookie, $value);
+                if(($ai = $runtime.getAttributeIndex("","namespace"))>=0) {
+                    NGCCHandler h = new wildcardBody(this, super._source, $runtime, 617, wloc);
+                    spawnChildFromText(h, $value);
+                }
+                else {
+                    if(($ai = $runtime.getAttributeIndex("","processContents"))>=0) {
+                        NGCCHandler h = new wildcardBody(this, super._source, $runtime, 617, wloc);
+                        spawnChildFromText(h, $value);
+                    }
+                }
+            }
+            break;
+        case 30:
+            {
+                if(($ai = $runtime.getAttributeIndex("","maxOccurs"))>=0) {
+                    NGCCHandler h = new occurs(this, super._source, $runtime, 648);
+                    spawnChildFromText(h, $value);
+                }
+                else {
+                    if(($ai = $runtime.getAttributeIndex("","minOccurs"))>=0) {
+                        NGCCHandler h = new occurs(this, super._source, $runtime, 648);
+                        spawnChildFromText(h, $value);
+                    }
+                }
             }
             break;
         case 26:
             {
-                if(($ai = $runtime.getAttributeIndex("","minOccurs"))>=0) {
-                    NGCCHandler h = new occurs(this, super._source, $runtime, 157);
+                if(($ai = $runtime.getAttributeIndex("","ref"))>=0) {
+                    NGCCHandler h = new occurs(this, super._source, $runtime, 643);
                     spawnChildFromText(h, $value);
                 }
                 else {
-                    if(($ai = $runtime.getAttributeIndex("","ref"))>=0) {
-                        NGCCHandler h = new occurs(this, super._source, $runtime, 157);
+                    if(($ai = $runtime.getAttributeIndex("","maxOccurs"))>=0) {
+                        NGCCHandler h = new occurs(this, super._source, $runtime, 643);
                         spawnChildFromText(h, $value);
                     }
                     else {
-                        if(($ai = $runtime.getAttributeIndex("","maxOccurs"))>=0) {
-                            NGCCHandler h = new occurs(this, super._source, $runtime, 157);
+                        if(($ai = $runtime.getAttributeIndex("","minOccurs"))>=0) {
+                            NGCCHandler h = new occurs(this, super._source, $runtime, 643);
                             spawnChildFromText(h, $value);
                         }
                     }
                 }
             }
             break;
+        case 11:
+            {
+                $_ngcc_current_state = 10;
+                $runtime.sendText(super._cookie, $value);
+            }
+            break;
         case 10:
             {
                 action3();
@@ -725,55 +773,75 @@
                 $runtime.sendText(super._cookie, $value);
             }
             break;
+        case 14:
+            {
+                NGCCHandler h = new qname(this, super._source, $runtime, 629);
+                spawnChildFromText(h, $value);
+            }
+            break;
+        case 25:
+            {
+                if(($ai = $runtime.getAttributeIndex("","ref"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendText(super._cookie, $value);
+                }
+            }
+            break;
+        case 21:
+            {
+                $_ngcc_current_state = 20;
+                $runtime.sendText(super._cookie, $value);
+            }
+            break;
         case 16:
             {
-                if(($ai = $runtime.getAttributeIndex("","form"))>=0) {
-                    NGCCHandler h = new occurs(this, super._source, $runtime, 146);
+                if(($ai = $runtime.getAttributeIndex("","ref"))>=0) {
+                    NGCCHandler h = new occurs(this, super._source, $runtime, 632);
                     spawnChildFromText(h, $value);
                 }
                 else {
-                    if(($ai = $runtime.getAttributeIndex("","minOccurs"))>=0) {
-                        NGCCHandler h = new occurs(this, super._source, $runtime, 146);
+                    if(($ai = $runtime.getAttributeIndex("","abstract"))>=0) {
+                        NGCCHandler h = new occurs(this, super._source, $runtime, 632);
                         spawnChildFromText(h, $value);
                     }
                     else {
-                        if(($ai = $runtime.getAttributeIndex("","fixed"))>=0) {
-                            NGCCHandler h = new occurs(this, super._source, $runtime, 146);
+                        if(($ai = $runtime.getAttributeIndex("","default"))>=0) {
+                            NGCCHandler h = new occurs(this, super._source, $runtime, 632);
                             spawnChildFromText(h, $value);
                         }
                         else {
-                            if(($ai = $runtime.getAttributeIndex("","abstract"))>=0) {
-                                NGCCHandler h = new occurs(this, super._source, $runtime, 146);
+                            if(($ai = $runtime.getAttributeIndex("","fixed"))>=0) {
+                                NGCCHandler h = new occurs(this, super._source, $runtime, 632);
                                 spawnChildFromText(h, $value);
                             }
                             else {
                                 if(($ai = $runtime.getAttributeIndex("","block"))>=0) {
-                                    NGCCHandler h = new occurs(this, super._source, $runtime, 146);
+                                    NGCCHandler h = new occurs(this, super._source, $runtime, 632);
                                     spawnChildFromText(h, $value);
                                 }
                                 else {
-                                    if(($ai = $runtime.getAttributeIndex("","final"))>=0) {
-                                        NGCCHandler h = new occurs(this, super._source, $runtime, 146);
+                                    if(($ai = $runtime.getAttributeIndex("","form"))>=0) {
+                                        NGCCHandler h = new occurs(this, super._source, $runtime, 632);
                                         spawnChildFromText(h, $value);
                                     }
                                     else {
-                                        if(($ai = $runtime.getAttributeIndex("","default"))>=0) {
-                                            NGCCHandler h = new occurs(this, super._source, $runtime, 146);
+                                        if(($ai = $runtime.getAttributeIndex("","maxOccurs"))>=0) {
+                                            NGCCHandler h = new occurs(this, super._source, $runtime, 632);
                                             spawnChildFromText(h, $value);
                                         }
                                         else {
-                                            if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
-                                                NGCCHandler h = new occurs(this, super._source, $runtime, 146);
+                                            if(($ai = $runtime.getAttributeIndex("","minOccurs"))>=0) {
+                                                NGCCHandler h = new occurs(this, super._source, $runtime, 632);
                                                 spawnChildFromText(h, $value);
                                             }
                                             else {
-                                                if(($ai = $runtime.getAttributeIndex("","maxOccurs"))>=0) {
-                                                    NGCCHandler h = new occurs(this, super._source, $runtime, 146);
+                                                if(($ai = $runtime.getAttributeIndex("","final"))>=0) {
+                                                    NGCCHandler h = new occurs(this, super._source, $runtime, 632);
                                                     spawnChildFromText(h, $value);
                                                 }
                                                 else {
-                                                    if(($ai = $runtime.getAttributeIndex("","ref"))>=0) {
-                                                        NGCCHandler h = new occurs(this, super._source, $runtime, 146);
+                                                    if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
+                                                        NGCCHandler h = new occurs(this, super._source, $runtime, 632);
                                                         spawnChildFromText(h, $value);
                                                     }
                                                 }
@@ -787,64 +855,6 @@
                 }
             }
             break;
-        case 24:
-            {
-                NGCCHandler h = new qname(this, super._source, $runtime, 155);
-                spawnChildFromText(h, $value);
-            }
-            break;
-        case 21:
-            {
-                $_ngcc_current_state = 20;
-                $runtime.sendText(super._cookie, $value);
-            }
-            break;
-        case 3:
-            {
-                if(($ai = $runtime.getAttributeIndex("","namespace"))>=0) {
-                    NGCCHandler h = new wildcardBody(this, super._source, $runtime, 131, wloc);
-                    spawnChildFromText(h, $value);
-                }
-                else {
-                    if(($ai = $runtime.getAttributeIndex("","processContents"))>=0) {
-                        NGCCHandler h = new wildcardBody(this, super._source, $runtime, 131, wloc);
-                        spawnChildFromText(h, $value);
-                    }
-                }
-            }
-            break;
-        case 11:
-            {
-                $_ngcc_current_state = 10;
-                $runtime.sendText(super._cookie, $value);
-            }
-            break;
-        case 4:
-            {
-                if(($ai = $runtime.getAttributeIndex("","namespace"))>=0) {
-                    NGCCHandler h = new occurs(this, super._source, $runtime, 132);
-                    spawnChildFromText(h, $value);
-                }
-                else {
-                    if(($ai = $runtime.getAttributeIndex("","minOccurs"))>=0) {
-                        NGCCHandler h = new occurs(this, super._source, $runtime, 132);
-                        spawnChildFromText(h, $value);
-                    }
-                    else {
-                        if(($ai = $runtime.getAttributeIndex("","processContents"))>=0) {
-                            NGCCHandler h = new occurs(this, super._source, $runtime, 132);
-                            spawnChildFromText(h, $value);
-                        }
-                        else {
-                            if(($ai = $runtime.getAttributeIndex("","maxOccurs"))>=0) {
-                                NGCCHandler h = new occurs(this, super._source, $runtime, 132);
-                                spawnChildFromText(h, $value);
-                            }
-                        }
-                    }
-                }
-            }
-            break;
         case 8:
             {
                 if(($ai = $runtime.getAttributeIndex("","ref"))>=0) {
@@ -852,38 +862,38 @@
                     $runtime.sendText(super._cookie, $value);
                 }
                 else {
-                    if(($ai = $runtime.getAttributeIndex("","form"))>=0) {
-                        NGCCHandler h = new elementDeclBody(this, super._source, $runtime, 137, loc,false);
+                    if(($ai = $runtime.getAttributeIndex("","abstract"))>=0) {
+                        NGCCHandler h = new elementDeclBody(this, super._source, $runtime, 623, loc,false);
                         spawnChildFromText(h, $value);
                     }
                     else {
-                        if(($ai = $runtime.getAttributeIndex("","fixed"))>=0) {
-                            NGCCHandler h = new elementDeclBody(this, super._source, $runtime, 137, loc,false);
+                        if(($ai = $runtime.getAttributeIndex("","default"))>=0) {
+                            NGCCHandler h = new elementDeclBody(this, super._source, $runtime, 623, loc,false);
                             spawnChildFromText(h, $value);
                         }
                         else {
-                            if(($ai = $runtime.getAttributeIndex("","abstract"))>=0) {
-                                NGCCHandler h = new elementDeclBody(this, super._source, $runtime, 137, loc,false);
+                            if(($ai = $runtime.getAttributeIndex("","fixed"))>=0) {
+                                NGCCHandler h = new elementDeclBody(this, super._source, $runtime, 623, loc,false);
                                 spawnChildFromText(h, $value);
                             }
                             else {
                                 if(($ai = $runtime.getAttributeIndex("","block"))>=0) {
-                                    NGCCHandler h = new elementDeclBody(this, super._source, $runtime, 137, loc,false);
+                                    NGCCHandler h = new elementDeclBody(this, super._source, $runtime, 623, loc,false);
                                     spawnChildFromText(h, $value);
                                 }
                                 else {
-                                    if(($ai = $runtime.getAttributeIndex("","final"))>=0) {
-                                        NGCCHandler h = new elementDeclBody(this, super._source, $runtime, 137, loc,false);
+                                    if(($ai = $runtime.getAttributeIndex("","form"))>=0) {
+                                        NGCCHandler h = new elementDeclBody(this, super._source, $runtime, 623, loc,false);
                                         spawnChildFromText(h, $value);
                                     }
                                     else {
-                                        if(($ai = $runtime.getAttributeIndex("","default"))>=0) {
-                                            NGCCHandler h = new elementDeclBody(this, super._source, $runtime, 137, loc,false);
+                                        if(($ai = $runtime.getAttributeIndex("","final"))>=0) {
+                                            NGCCHandler h = new elementDeclBody(this, super._source, $runtime, 623, loc,false);
                                             spawnChildFromText(h, $value);
                                         }
                                         else {
                                             if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
-                                                NGCCHandler h = new elementDeclBody(this, super._source, $runtime, 137, loc,false);
+                                                NGCCHandler h = new elementDeclBody(this, super._source, $runtime, 623, loc,false);
                                                 spawnChildFromText(h, $value);
                                             }
                                         }
@@ -895,32 +905,22 @@
                 }
             }
             break;
-        case 14:
+        case 24:
             {
-                NGCCHandler h = new qname(this, super._source, $runtime, 143);
+                NGCCHandler h = new qname(this, super._source, $runtime, 641);
                 spawnChildFromText(h, $value);
             }
             break;
-        case 25:
+        case 20:
             {
-                if(($ai = $runtime.getAttributeIndex("","ref"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendText(super._cookie, $value);
-                }
+                action5();
+                $_ngcc_current_state = 19;
+                $runtime.sendText(super._cookie, $value);
             }
             break;
-        case 30:
+        case 0:
             {
-                if(($ai = $runtime.getAttributeIndex("","minOccurs"))>=0) {
-                    NGCCHandler h = new occurs(this, super._source, $runtime, 162);
-                    spawnChildFromText(h, $value);
-                }
-                else {
-                    if(($ai = $runtime.getAttributeIndex("","maxOccurs"))>=0) {
-                        NGCCHandler h = new occurs(this, super._source, $runtime, 162);
-                        spawnChildFromText(h, $value);
-                    }
-                }
+                revertToParentFromText(result, super._cookie, $value);
             }
             break;
         }
@@ -928,73 +928,73 @@
 
     public void onChildCompleted(Object $__result__, int $__cookie__, boolean $__needAttCheck__)throws SAXException {
         switch($__cookie__) {
-        case 146:
-            {
-                occurs = ((occurs)$__result__);
-                $_ngcc_current_state = 8;
-            }
-            break;
-        case 161:
-            {
-                term = ((ModelGroupImpl)$__result__);
-                action7();
-                $_ngcc_current_state = 28;
-            }
-            break;
-        case 155:
-            {
-                groupName = ((UName)$__result__);
-                $_ngcc_current_state = 23;
-            }
-            break;
-        case 131:
+        case 617:
             {
                 wcBody = ((WildcardImpl)$__result__);
                 action0();
                 $_ngcc_current_state = 2;
             }
             break;
-        case 140:
+        case 647:
             {
-                annotation = ((AnnotationImpl)$__result__);
-                $_ngcc_current_state = 10;
+                term = ((ModelGroupImpl)$__result__);
+                action7();
+                $_ngcc_current_state = 28;
+            }
+            break;
+        case 632:
+            {
+                occurs = ((occurs)$__result__);
+                $_ngcc_current_state = 8;
             }
             break;
-        case 157:
+        case 618:
+            {
+                occurs = ((occurs)$__result__);
+                $_ngcc_current_state = 3;
+            }
+            break;
+        case 648:
+            {
+                occurs = ((occurs)$__result__);
+                $_ngcc_current_state = 29;
+            }
+            break;
+        case 643:
             {
                 occurs = ((occurs)$__result__);
                 $_ngcc_current_state = 25;
             }
             break;
-        case 152:
+        case 626:
+            {
+                annotation = ((AnnotationImpl)$__result__);
+                $_ngcc_current_state = 10;
+            }
+            break;
+        case 629:
+            {
+                elementTypeName = ((UName)$__result__);
+                $_ngcc_current_state = 13;
+            }
+            break;
+        case 638:
             {
                 annotation = ((AnnotationImpl)$__result__);
                 $_ngcc_current_state = 20;
             }
             break;
-        case 132:
-            {
-                occurs = ((occurs)$__result__);
-                $_ngcc_current_state = 3;
-            }
-            break;
-        case 137:
+        case 623:
             {
                 anonymousElementDecl = ((ElementDecl)$__result__);
                 action2();
                 $_ngcc_current_state = 7;
             }
             break;
-        case 143:
+        case 641:
             {
-                elementTypeName = ((UName)$__result__);
-                $_ngcc_current_state = 13;
-            }
-            break;
-        case 162:
-            {
-                occurs = ((occurs)$__result__);
-                $_ngcc_current_state = 29;
+                groupName = ((UName)$__result__);
+                $_ngcc_current_state = 23;
             }
             break;
         }
--- a/sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/qname.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/qname.java	Mon Jun 11 03:24:50 2012 +0100
@@ -143,17 +143,17 @@
     public void text(String $value) throws SAXException {
         int $ai;
         switch($_ngcc_current_state) {
-        case 0:
-            {
-                revertToParentFromText($runtime.parseUName(qvalue), super._cookie, $value);
-            }
-            break;
         case 1:
             {
                 qvalue = $value;
                 $_ngcc_current_state = 0;
             }
             break;
+        case 0:
+            {
+                revertToParentFromText($runtime.parseUName(qvalue), super._cookie, $value);
+            }
+            break;
         }
     }
 
--- a/sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/redefine.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/redefine.java	Mon Jun 11 03:24:50 2012 +0100
@@ -118,46 +118,30 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 0:
-            {
-                revertToParentFromEnterElement(this, super._cookie, $__uri, $__local, $__qname, $attrs);
-            }
-            break;
-        case 14:
-            {
-                if(($ai = $runtime.getAttributeIndex("","schemaLocation"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    unexpectedEnterElement($__qname);
-                }
-            }
-            break;
         case 2:
             {
                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
-                    NGCCHandler h = new annotation(this, super._source, $runtime, 325, null,AnnotationContext.SCHEMA);
+                    NGCCHandler h = new annotation(this, super._source, $runtime, 581, null,AnnotationContext.SCHEMA);
                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
                     if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType"))) {
-                        NGCCHandler h = new simpleType(this, super._source, $runtime, 326);
+                        NGCCHandler h = new simpleType(this, super._source, $runtime, 582);
                         spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                     }
                     else {
                         if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) {
-                            NGCCHandler h = new complexType(this, super._source, $runtime, 327);
+                            NGCCHandler h = new complexType(this, super._source, $runtime, 583);
                             spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                         }
                         else {
                             if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group"))) {
-                                NGCCHandler h = new group(this, super._source, $runtime, 328);
+                                NGCCHandler h = new group(this, super._source, $runtime, 584);
                                 spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                             }
                             else {
                                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup"))) {
-                                    NGCCHandler h = new attributeGroupDecl(this, super._source, $runtime, 329);
+                                    NGCCHandler h = new attributeGroupDecl(this, super._source, $runtime, 585);
                                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                                 }
                                 else {
@@ -170,41 +154,6 @@
                 }
             }
             break;
-        case 1:
-            {
-                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
-                    NGCCHandler h = new annotation(this, super._source, $runtime, 320, null,AnnotationContext.SCHEMA);
-                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType"))) {
-                        NGCCHandler h = new simpleType(this, super._source, $runtime, 321);
-                        spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
-                    }
-                    else {
-                        if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) {
-                            NGCCHandler h = new complexType(this, super._source, $runtime, 322);
-                            spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
-                        }
-                        else {
-                            if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group"))) {
-                                NGCCHandler h = new group(this, super._source, $runtime, 323);
-                                spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
-                            }
-                            else {
-                                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup"))) {
-                                    NGCCHandler h = new attributeGroupDecl(this, super._source, $runtime, 324);
-                                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
-                                }
-                                else {
-                                    unexpectedEnterElement($__qname);
-                                }
-                            }
-                        }
-                    }
-                }
-            }
-            break;
         case 15:
             {
                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("redefine"))) {
@@ -216,6 +165,57 @@
                 }
             }
             break;
+        case 0:
+            {
+                revertToParentFromEnterElement(this, super._cookie, $__uri, $__local, $__qname, $attrs);
+            }
+            break;
+        case 14:
+            {
+                if(($ai = $runtime.getAttributeIndex("","schemaLocation"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    unexpectedEnterElement($__qname);
+                }
+            }
+            break;
+        case 1:
+            {
+                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
+                    NGCCHandler h = new annotation(this, super._source, $runtime, 576, null,AnnotationContext.SCHEMA);
+                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType"))) {
+                        NGCCHandler h = new simpleType(this, super._source, $runtime, 577);
+                        spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                    }
+                    else {
+                        if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) {
+                            NGCCHandler h = new complexType(this, super._source, $runtime, 578);
+                            spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                        }
+                        else {
+                            if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group"))) {
+                                NGCCHandler h = new group(this, super._source, $runtime, 579);
+                                spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                            }
+                            else {
+                                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup"))) {
+                                    NGCCHandler h = new attributeGroupDecl(this, super._source, $runtime, 580);
+                                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                                }
+                                else {
+                                    unexpectedEnterElement($__qname);
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+            break;
         default:
             {
                 unexpectedEnterElement($__qname);
@@ -230,6 +230,12 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
+        case 2:
+            {
+                $_ngcc_current_state = 1;
+                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
         case 0:
             {
                 revertToParentFromLeaveElement(this, super._cookie, $__uri, $__local, $__qname);
@@ -246,12 +252,6 @@
                 }
             }
             break;
-        case 2:
-            {
-                $_ngcc_current_state = 1;
-                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
         case 1:
             {
                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("redefine"))) {
@@ -277,6 +277,12 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
+        case 2:
+            {
+                $_ngcc_current_state = 1;
+                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
         case 0:
             {
                 revertToParentFromEnterAttribute(this, super._cookie, $__uri, $__local, $__qname);
@@ -292,12 +298,6 @@
                 }
             }
             break;
-        case 2:
-            {
-                $_ngcc_current_state = 1;
-                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
         default:
             {
                 unexpectedEnterAttribute($__qname);
@@ -312,6 +312,12 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
+        case 2:
+            {
+                $_ngcc_current_state = 1;
+                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
         case 12:
             {
                 if(($__uri.equals("") && $__local.equals("schemaLocation"))) {
@@ -327,12 +333,6 @@
                 revertToParentFromLeaveAttribute(this, super._cookie, $__uri, $__local, $__qname);
             }
             break;
-        case 2:
-            {
-                $_ngcc_current_state = 1;
-                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
         default:
             {
                 unexpectedLeaveAttribute($__qname);
@@ -344,6 +344,12 @@
     public void text(String $value) throws SAXException {
         int $ai;
         switch($_ngcc_current_state) {
+        case 2:
+            {
+                $_ngcc_current_state = 1;
+                $runtime.sendText(super._cookie, $value);
+            }
+            break;
         case 13:
             {
                 schemaLocation = $value;
@@ -364,77 +370,71 @@
                 }
             }
             break;
-        case 2:
-            {
-                $_ngcc_current_state = 1;
-                $runtime.sendText(super._cookie, $value);
-            }
-            break;
         }
     }
 
     public void onChildCompleted(Object $__result__, int $__cookie__, boolean $__needAttCheck__)throws SAXException {
         switch($__cookie__) {
-        case 320:
+        case 581:
             {
                 $_ngcc_current_state = 1;
             }
             break;
-        case 321:
+        case 582:
             {
                 newSt = ((SimpleTypeImpl)$__result__);
                 action3();
                 $_ngcc_current_state = 1;
             }
             break;
-        case 322:
+        case 583:
             {
                 newCt = ((ComplexTypeImpl)$__result__);
                 action2();
                 $_ngcc_current_state = 1;
             }
             break;
-        case 323:
+        case 584:
             {
                 newGrp = ((ModelGroupDeclImpl)$__result__);
                 action1();
                 $_ngcc_current_state = 1;
             }
             break;
-        case 324:
+        case 585:
             {
                 newAg = ((AttGroupDeclImpl)$__result__);
                 action0();
                 $_ngcc_current_state = 1;
             }
             break;
-        case 325:
+        case 576:
             {
                 $_ngcc_current_state = 1;
             }
             break;
-        case 326:
+        case 577:
             {
                 newSt = ((SimpleTypeImpl)$__result__);
                 action3();
                 $_ngcc_current_state = 1;
             }
             break;
-        case 327:
+        case 578:
             {
                 newCt = ((ComplexTypeImpl)$__result__);
                 action2();
                 $_ngcc_current_state = 1;
             }
             break;
-        case 328:
+        case 579:
             {
                 newGrp = ((ModelGroupDeclImpl)$__result__);
                 action1();
                 $_ngcc_current_state = 1;
             }
             break;
-        case 329:
+        case 580:
             {
                 newAg = ((AttGroupDeclImpl)$__result__);
                 action0();
--- a/sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/simpleType.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/simpleType.java	Mon Jun 11 03:24:50 2012 +0100
@@ -84,17 +84,17 @@
         case 2:
             {
                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("restriction"))) {
-                    NGCCHandler h = new SimpleType_Restriction(this, super._source, $runtime, 223, annotation,locator,fa,name,finalSet);
+                    NGCCHandler h = new SimpleType_Restriction(this, super._source, $runtime, 182, annotation,locator,fa,name,finalSet);
                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
                     if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("list"))) {
-                        NGCCHandler h = new SimpleType_List(this, super._source, $runtime, 224, annotation,locator,fa,name,finalSet);
+                        NGCCHandler h = new SimpleType_List(this, super._source, $runtime, 183, annotation,locator,fa,name,finalSet);
                         spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                     }
                     else {
                         if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("union"))) {
-                            NGCCHandler h = new SimpleType_Union(this, super._source, $runtime, 218, annotation,locator,fa,name,finalSet);
+                            NGCCHandler h = new SimpleType_Union(this, super._source, $runtime, 177, annotation,locator,fa,name,finalSet);
                             spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                         }
                         else {
@@ -104,6 +104,42 @@
                 }
             }
             break;
+        case 7:
+            {
+                action0();
+                $_ngcc_current_state = 2;
+                $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+            }
+            break;
+        case 15:
+            {
+                if(($ai = $runtime.getAttributeIndex("","final"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    $_ngcc_current_state = 11;
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                }
+            }
+            break;
+        case 0:
+            {
+                revertToParentFromEnterElement(result, super._cookie, $__uri, $__local, $__qname, $attrs);
+            }
+            break;
+        case 11:
+            {
+                if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    $_ngcc_current_state = 10;
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                }
+            }
+            break;
         case 19:
             {
                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType"))) {
@@ -116,53 +152,10 @@
                 }
             }
             break;
-        case 11:
-            {
-                if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    $_ngcc_current_state = 10;
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-                }
-            }
-            break;
-        case 15:
-            {
-                if(($ai = $runtime.getAttributeIndex("","final"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    $_ngcc_current_state = 11;
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-                }
-            }
-            break;
-        case 8:
-            {
-                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
-                    NGCCHandler h = new annotation(this, super._source, $runtime, 227, null,AnnotationContext.SIMPLETYPE_DECL);
-                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    $_ngcc_current_state = 7;
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-                }
-            }
-            break;
-        case 7:
-            {
-                action0();
-                $_ngcc_current_state = 2;
-                $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-            }
-            break;
         case 10:
             {
-                if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("union")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("list")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("restriction")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")))))) {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 229, fa);
+                if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("union")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("restriction")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("list")))))) {
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 188, fa);
                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
@@ -170,9 +163,16 @@
                 }
             }
             break;
-        case 0:
+        case 8:
             {
-                revertToParentFromEnterElement(result, super._cookie, $__uri, $__local, $__qname, $attrs);
+                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
+                    NGCCHandler h = new annotation(this, super._source, $runtime, 186, null,AnnotationContext.SIMPLETYPE_DECL);
+                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    $_ngcc_current_state = 7;
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                }
             }
             break;
         default:
@@ -189,17 +189,30 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 1:
+        case 7:
             {
-                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType"))) {
-                    $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
-                    $_ngcc_current_state = 0;
+                action0();
+                $_ngcc_current_state = 2;
+                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 15:
+            {
+                if(($ai = $runtime.getAttributeIndex("","final"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
                 }
                 else {
-                    unexpectedLeaveElement($__qname);
+                    $_ngcc_current_state = 11;
+                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
                 }
             }
             break;
+        case 0:
+            {
+                revertToParentFromLeaveElement(result, super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
         case 11:
             {
                 if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
@@ -212,34 +225,21 @@
                 }
             }
             break;
-        case 15:
-            {
-                if(($ai = $runtime.getAttributeIndex("","final"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-                }
-                else {
-                    $_ngcc_current_state = 11;
-                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-                }
-            }
-            break;
         case 8:
             {
                 $_ngcc_current_state = 7;
                 $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
             }
             break;
-        case 7:
+        case 1:
             {
-                action0();
-                $_ngcc_current_state = 2;
-                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 0:
-            {
-                revertToParentFromLeaveElement(result, super._cookie, $__uri, $__local, $__qname);
+                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType"))) {
+                    $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
+                    $_ngcc_current_state = 0;
+                }
+                else {
+                    unexpectedLeaveElement($__qname);
+                }
             }
             break;
         default:
@@ -256,15 +256,11 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 11:
+        case 7:
             {
-                if(($__uri.equals("") && $__local.equals("name"))) {
-                    $_ngcc_current_state = 13;
-                }
-                else {
-                    $_ngcc_current_state = 10;
-                    $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
-                }
+                action0();
+                $_ngcc_current_state = 2;
+                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
         case 15:
@@ -278,24 +274,28 @@
                 }
             }
             break;
+        case 0:
+            {
+                revertToParentFromEnterAttribute(result, super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 11:
+            {
+                if(($__uri.equals("") && $__local.equals("name"))) {
+                    $_ngcc_current_state = 13;
+                }
+                else {
+                    $_ngcc_current_state = 10;
+                    $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
+                }
+            }
+            break;
         case 8:
             {
                 $_ngcc_current_state = 7;
                 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
-        case 7:
-            {
-                action0();
-                $_ngcc_current_state = 2;
-                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 0:
-            {
-                revertToParentFromEnterAttribute(result, super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
         default:
             {
                 unexpectedEnterAttribute($__qname);
@@ -310,9 +310,10 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 11:
+        case 7:
             {
-                $_ngcc_current_state = 10;
+                action0();
+                $_ngcc_current_state = 2;
                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
@@ -322,24 +323,6 @@
                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
-        case 8:
-            {
-                $_ngcc_current_state = 7;
-                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 7:
-            {
-                action0();
-                $_ngcc_current_state = 2;
-                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 0:
-            {
-                revertToParentFromLeaveAttribute(result, super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
         case 16:
             {
                 if(($__uri.equals("") && $__local.equals("final"))) {
@@ -360,6 +343,23 @@
                 }
             }
             break;
+        case 0:
+            {
+                revertToParentFromLeaveAttribute(result, super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 11:
+            {
+                $_ngcc_current_state = 10;
+                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 8:
+            {
+                $_ngcc_current_state = 7;
+                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
         default:
             {
                 unexpectedLeaveAttribute($__qname);
@@ -371,16 +371,11 @@
     public void text(String $value) throws SAXException {
         int $ai;
         switch($_ngcc_current_state) {
-        case 11:
+        case 7:
             {
-                if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendText(super._cookie, $value);
-                }
-                else {
-                    $_ngcc_current_state = 10;
-                    $runtime.sendText(super._cookie, $value);
-                }
+                action0();
+                $_ngcc_current_state = 2;
+                $runtime.sendText(super._cookie, $value);
             }
             break;
         case 15:
@@ -401,65 +396,70 @@
                 $_ngcc_current_state = 12;
             }
             break;
-        case 8:
-            {
-                $_ngcc_current_state = 7;
-                $runtime.sendText(super._cookie, $value);
-            }
-            break;
-        case 7:
-            {
-                action0();
-                $_ngcc_current_state = 2;
-                $runtime.sendText(super._cookie, $value);
-            }
-            break;
         case 0:
             {
                 revertToParentFromText(result, super._cookie, $value);
             }
             break;
+        case 11:
+            {
+                if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendText(super._cookie, $value);
+                }
+                else {
+                    $_ngcc_current_state = 10;
+                    $runtime.sendText(super._cookie, $value);
+                }
+            }
+            break;
         case 17:
             {
                 finalValue = $value;
                 $_ngcc_current_state = 16;
             }
             break;
+        case 8:
+            {
+                $_ngcc_current_state = 7;
+                $runtime.sendText(super._cookie, $value);
+            }
+            break;
         }
     }
 
     public void onChildCompleted(Object $__result__, int $__cookie__, boolean $__needAttCheck__)throws SAXException {
         switch($__cookie__) {
-        case 223:
+        case 186:
+            {
+                annotation = ((AnnotationImpl)$__result__);
+                $_ngcc_current_state = 7;
+            }
+            break;
+        case 188:
+            {
+                fa = ((ForeignAttributesImpl)$__result__);
+                $_ngcc_current_state = 8;
+            }
+            break;
+        case 182:
             {
                 result = ((RestrictionSimpleTypeImpl)$__result__);
                 $_ngcc_current_state = 1;
             }
             break;
-        case 224:
+        case 183:
             {
                 result = ((ListSimpleTypeImpl)$__result__);
                 $_ngcc_current_state = 1;
             }
             break;
-        case 218:
+        case 177:
             {
                 result = ((UnionSimpleTypeImpl)$__result__);
                 $_ngcc_current_state = 1;
             }
             break;
-        case 227:
-            {
-                annotation = ((AnnotationImpl)$__result__);
-                $_ngcc_current_state = 7;
-            }
-            break;
-        case 229:
-            {
-                fa = ((ForeignAttributesImpl)$__result__);
-                $_ngcc_current_state = 8;
-            }
-            break;
         }
     }
 
--- a/sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/wildcardBody.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/wildcardBody.java	Mon Jun 11 03:24:50 2012 +0100
@@ -77,19 +77,14 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 0:
+        case 5:
             {
-                revertToParentFromEnterElement(makeResult(), super._cookie, $__uri, $__local, $__qname, $attrs);
-            }
-            break;
-        case 10:
-            {
-                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
-                    NGCCHandler h = new annotation(this, super._source, $runtime, 214, null,AnnotationContext.WILDCARD);
-                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                if(($ai = $runtime.getAttributeIndex("","processContents"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
-                    $_ngcc_current_state = 9;
+                    $_ngcc_current_state = 1;
                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
                 }
             }
@@ -97,15 +92,27 @@
         case 9:
             {
                 if((($ai = $runtime.getAttributeIndex("","processContents"))>=0 || ($ai = $runtime.getAttributeIndex("","namespace"))>=0)) {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 212, null);
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 412, null);
                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 212, null);
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 412, null);
                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                 }
             }
             break;
+        case 10:
+            {
+                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
+                    NGCCHandler h = new annotation(this, super._source, $runtime, 414, null,AnnotationContext.WILDCARD);
+                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    $_ngcc_current_state = 9;
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                }
+            }
+            break;
         case 1:
             {
                 if(($ai = $runtime.getAttributeIndex("","namespace"))>=0) {
@@ -118,16 +125,9 @@
                 }
             }
             break;
-        case 5:
+        case 0:
             {
-                if(($ai = $runtime.getAttributeIndex("","processContents"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    $_ngcc_current_state = 1;
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-                }
+                revertToParentFromEnterElement(makeResult(), super._cookie, $__uri, $__local, $__qname, $attrs);
             }
             break;
         default:
@@ -144,9 +144,28 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 0:
+        case 5:
             {
-                revertToParentFromLeaveElement(makeResult(), super._cookie, $__uri, $__local, $__qname);
+                if(($ai = $runtime.getAttributeIndex("","processContents"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+                }
+                else {
+                    $_ngcc_current_state = 1;
+                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+                }
+            }
+            break;
+        case 9:
+            {
+                if((($ai = $runtime.getAttributeIndex("","processContents"))>=0 || ($ai = $runtime.getAttributeIndex("","namespace"))>=0)) {
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 412, null);
+                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
+                }
+                else {
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 412, null);
+                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
+                }
             }
             break;
         case 10:
@@ -155,18 +174,6 @@
                 $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
             }
             break;
-        case 9:
-            {
-                if((($ai = $runtime.getAttributeIndex("","processContents"))>=0 || ($ai = $runtime.getAttributeIndex("","namespace"))>=0)) {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 212, null);
-                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
-                }
-                else {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 212, null);
-                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
-                }
-            }
-            break;
         case 1:
             {
                 if(($ai = $runtime.getAttributeIndex("","namespace"))>=0) {
@@ -179,16 +186,9 @@
                 }
             }
             break;
-        case 5:
+        case 0:
             {
-                if(($ai = $runtime.getAttributeIndex("","processContents"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-                }
-                else {
-                    $_ngcc_current_state = 1;
-                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-                }
+                revertToParentFromLeaveElement(makeResult(), super._cookie, $__uri, $__local, $__qname);
             }
             break;
         default:
@@ -205,9 +205,27 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 0:
+        case 5:
             {
-                revertToParentFromEnterAttribute(makeResult(), super._cookie, $__uri, $__local, $__qname);
+                if(($__uri.equals("") && $__local.equals("processContents"))) {
+                    $_ngcc_current_state = 7;
+                }
+                else {
+                    $_ngcc_current_state = 1;
+                    $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
+                }
+            }
+            break;
+        case 9:
+            {
+                if((($__uri.equals("") && $__local.equals("processContents")) || ($__uri.equals("") && $__local.equals("namespace")))) {
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 412, null);
+                    spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
+                }
+                else {
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 412, null);
+                    spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
+                }
             }
             break;
         case 10:
@@ -216,18 +234,6 @@
                 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
-        case 9:
-            {
-                if((($__uri.equals("") && $__local.equals("processContents")) || ($__uri.equals("") && $__local.equals("namespace")))) {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 212, null);
-                    spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
-                }
-                else {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 212, null);
-                    spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
-                }
-            }
-            break;
         case 1:
             {
                 if(($__uri.equals("") && $__local.equals("namespace"))) {
@@ -239,15 +245,9 @@
                 }
             }
             break;
-        case 5:
+        case 0:
             {
-                if(($__uri.equals("") && $__local.equals("processContents"))) {
-                    $_ngcc_current_state = 7;
-                }
-                else {
-                    $_ngcc_current_state = 1;
-                    $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
-                }
+                revertToParentFromEnterAttribute(makeResult(), super._cookie, $__uri, $__local, $__qname);
             }
             break;
         default:
@@ -264,29 +264,18 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 0:
+        case 5:
             {
-                revertToParentFromLeaveAttribute(makeResult(), super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 10:
-            {
-                $_ngcc_current_state = 9;
+                $_ngcc_current_state = 1;
                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
         case 9:
             {
-                NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 212, null);
+                NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 412, null);
                 spawnChildFromLeaveAttribute(h, $__uri, $__local, $__qname);
             }
             break;
-        case 1:
-            {
-                $_ngcc_current_state = 0;
-                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
         case 2:
             {
                 if(($__uri.equals("") && $__local.equals("namespace"))) {
@@ -297,9 +286,15 @@
                 }
             }
             break;
-        case 5:
+        case 10:
             {
-                $_ngcc_current_state = 1;
+                $_ngcc_current_state = 9;
+                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 1:
+            {
+                $_ngcc_current_state = 0;
                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
@@ -313,6 +308,11 @@
                 }
             }
             break;
+        case 0:
+            {
+                revertToParentFromLeaveAttribute(makeResult(), super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
         default:
             {
                 unexpectedLeaveAttribute($__qname);
@@ -324,53 +324,6 @@
     public void text(String $value) throws SAXException {
         int $ai;
         switch($_ngcc_current_state) {
-        case 0:
-            {
-                revertToParentFromText(makeResult(), super._cookie, $value);
-            }
-            break;
-        case 3:
-            {
-                ns = $value;
-                $_ngcc_current_state = 2;
-            }
-            break;
-        case 10:
-            {
-                $_ngcc_current_state = 9;
-                $runtime.sendText(super._cookie, $value);
-            }
-            break;
-        case 9:
-            {
-                if(($ai = $runtime.getAttributeIndex("","namespace"))>=0) {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 212, null);
-                    spawnChildFromText(h, $value);
-                }
-                else {
-                    if(($ai = $runtime.getAttributeIndex("","processContents"))>=0) {
-                        NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 212, null);
-                        spawnChildFromText(h, $value);
-                    }
-                    else {
-                        NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 212, null);
-                        spawnChildFromText(h, $value);
-                    }
-                }
-            }
-            break;
-        case 1:
-            {
-                if(($ai = $runtime.getAttributeIndex("","namespace"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendText(super._cookie, $value);
-                }
-                else {
-                    $_ngcc_current_state = 0;
-                    $runtime.sendText(super._cookie, $value);
-                }
-            }
-            break;
         case 5:
             {
                 if(($ai = $runtime.getAttributeIndex("","processContents"))>=0) {
@@ -389,28 +342,75 @@
                 $_ngcc_current_state = 6;
             }
             break;
+        case 9:
+            {
+                if(($ai = $runtime.getAttributeIndex("","namespace"))>=0) {
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 412, null);
+                    spawnChildFromText(h, $value);
+                }
+                else {
+                    if(($ai = $runtime.getAttributeIndex("","processContents"))>=0) {
+                        NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 412, null);
+                        spawnChildFromText(h, $value);
+                    }
+                    else {
+                        NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 412, null);
+                        spawnChildFromText(h, $value);
+                    }
+                }
+            }
+            break;
+        case 3:
+            {
+                ns = $value;
+                $_ngcc_current_state = 2;
+            }
+            break;
+        case 10:
+            {
+                $_ngcc_current_state = 9;
+                $runtime.sendText(super._cookie, $value);
+            }
+            break;
+        case 1:
+            {
+                if(($ai = $runtime.getAttributeIndex("","namespace"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendText(super._cookie, $value);
+                }
+                else {
+                    $_ngcc_current_state = 0;
+                    $runtime.sendText(super._cookie, $value);
+                }
+            }
+            break;
+        case 0:
+            {
+                revertToParentFromText(makeResult(), super._cookie, $value);
+            }
+            break;
         }
     }
 
     public void onChildCompleted(Object $__result__, int $__cookie__, boolean $__needAttCheck__)throws SAXException {
         switch($__cookie__) {
-        case 214:
+        case 412:
+            {
+                fa = ((ForeignAttributesImpl)$__result__);
+                $_ngcc_current_state = 5;
+            }
+            break;
+        case 414:
             {
                 annotation = ((AnnotationImpl)$__result__);
                 $_ngcc_current_state = 9;
             }
             break;
-        case 212:
-            {
-                fa = ((ForeignAttributesImpl)$__result__);
-                $_ngcc_current_state = 5;
-            }
-            break;
         }
     }
 
     public boolean accepted() {
-        return((($_ngcc_current_state == 5) || (($_ngcc_current_state == 1) || ($_ngcc_current_state == 0))));
+        return((($_ngcc_current_state == 0) || (($_ngcc_current_state == 1) || ($_ngcc_current_state == 5))));
     }
 
 
--- a/sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/xpath.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/parser/state/xpath.java	Mon Jun 11 03:24:50 2012 +0100
@@ -75,7 +75,7 @@
         case 1:
             {
                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
-                    NGCCHandler h = new annotation(this, super._source, $runtime, 23, null,AnnotationContext.XPATH);
+                    NGCCHandler h = new annotation(this, super._source, $runtime, 679, null,AnnotationContext.XPATH);
                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
@@ -84,22 +84,22 @@
                 }
             }
             break;
-        case 6:
+        case 5:
             {
-                if((($ai = $runtime.getAttributeIndex("","xpath"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")))) {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 28, null);
-                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                if(($ai = $runtime.getAttributeIndex("","xpath"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
                     unexpectedEnterElement($__qname);
                 }
             }
             break;
-        case 5:
+        case 6:
             {
-                if(($ai = $runtime.getAttributeIndex("","xpath"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                if((($ai = $runtime.getAttributeIndex("","xpath"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")))) {
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 684, null);
+                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
                     unexpectedEnterElement($__qname);
@@ -131,22 +131,22 @@
                 $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
             }
             break;
-        case 6:
+        case 5:
             {
                 if(($ai = $runtime.getAttributeIndex("","xpath"))>=0) {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 28, null);
-                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
                 }
                 else {
                     unexpectedLeaveElement($__qname);
                 }
             }
             break;
-        case 5:
+        case 6:
             {
                 if(($ai = $runtime.getAttributeIndex("","xpath"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 684, null);
+                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
                 }
                 else {
                     unexpectedLeaveElement($__qname);
@@ -178,21 +178,21 @@
                 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
-        case 6:
+        case 5:
             {
                 if(($__uri.equals("") && $__local.equals("xpath"))) {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 28, null);
-                    spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
+                    $_ngcc_current_state = 4;
                 }
                 else {
                     unexpectedEnterAttribute($__qname);
                 }
             }
             break;
-        case 5:
+        case 6:
             {
                 if(($__uri.equals("") && $__local.equals("xpath"))) {
-                    $_ngcc_current_state = 4;
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 684, null);
+                    spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
                 }
                 else {
                     unexpectedEnterAttribute($__qname);
@@ -224,6 +224,11 @@
                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
+        case 0:
+            {
+                revertToParentFromLeaveAttribute(makeResult(), super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
         case 3:
             {
                 if(($__uri.equals("") && $__local.equals("xpath"))) {
@@ -234,11 +239,6 @@
                 }
             }
             break;
-        case 0:
-            {
-                revertToParentFromLeaveAttribute(makeResult(), super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
         default:
             {
                 unexpectedLeaveAttribute($__qname);
@@ -250,26 +250,12 @@
     public void text(String $value) throws SAXException {
         int $ai;
         switch($_ngcc_current_state) {
-        case 4:
-            {
-                xpath = $value;
-                $_ngcc_current_state = 3;
-            }
-            break;
         case 1:
             {
                 $_ngcc_current_state = 0;
                 $runtime.sendText(super._cookie, $value);
             }
             break;
-        case 6:
-            {
-                if(($ai = $runtime.getAttributeIndex("","xpath"))>=0) {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 28, null);
-                    spawnChildFromText(h, $value);
-                }
-            }
-            break;
         case 5:
             {
                 if(($ai = $runtime.getAttributeIndex("","xpath"))>=0) {
@@ -278,23 +264,37 @@
                 }
             }
             break;
+        case 6:
+            {
+                if(($ai = $runtime.getAttributeIndex("","xpath"))>=0) {
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 684, null);
+                    spawnChildFromText(h, $value);
+                }
+            }
+            break;
         case 0:
             {
                 revertToParentFromText(makeResult(), super._cookie, $value);
             }
             break;
+        case 4:
+            {
+                xpath = $value;
+                $_ngcc_current_state = 3;
+            }
+            break;
         }
     }
 
     public void onChildCompleted(Object $__result__, int $__cookie__, boolean $__needAttCheck__)throws SAXException {
         switch($__cookie__) {
-        case 23:
+        case 679:
             {
                 ann = ((AnnotationImpl)$__result__);
                 $_ngcc_current_state = 0;
             }
             break;
-        case 28:
+        case 684:
             {
                 fa = ((ForeignAttributesImpl)$__result__);
                 $_ngcc_current_state = 5;
--- a/sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/util/SchemaWriter.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/xsom/impl/util/SchemaWriter.java	Mon Jun 11 03:24:50 2012 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -508,7 +508,7 @@
     public void particle( XSParticle part ) {
         BigInteger i;
 
-        StringBuffer buf = new StringBuffer();
+        StringBuilder buf = new StringBuilder();
 
         i = part.getMaxOccurs();
         if(i.equals(BigInteger.valueOf(XSParticle.UNBOUNDED)))
@@ -580,7 +580,7 @@
         }
 
         public String union(Union wc) {
-            StringBuffer buf = new StringBuffer(" namespace='");
+            StringBuilder buf = new StringBuilder(" namespace='");
             boolean first = true;
             for (String s : wc.getNamespaces()) {
                 if(first)   first=false;
--- a/sources/jaxws_src/src/com/sun/xml/internal/xsom/parser/JAXPParser.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/com/sun/xml/internal/xsom/parser/JAXPParser.java	Mon Jun 11 03:24:50 2012 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -62,12 +62,6 @@
         this( SAXParserFactory.newInstance());
     }
 
-
-
-
-
-
-
     public void parse( InputSource source, ContentHandler handler,
         ErrorHandler errorHandler, EntityResolver entityResolver )
 
@@ -91,8 +85,6 @@
         }
     }
 
-
-
     /**
      * XMLReader with improved error message for entity resolution failure.
      *
@@ -129,6 +121,7 @@
          * to let the application handle entity resolution. Here we just catch
          * an IOException and add more information.
          */
+        @Override
         public InputSource resolveEntity(String publicId, String systemId) throws SAXException {
             try {
                 InputSource is=null;
@@ -157,6 +150,7 @@
             }
         }
 
+        @Override
         public void setDocumentLocator(Locator locator) {
             super.setDocumentLocator(locator);
             this.locator = locator;
--- a/sources/jaxws_src/src/javax/xml/bind/DatatypeConverterImpl.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/javax/xml/bind/DatatypeConverterImpl.java	Mon Jun 11 03:24:50 2012 +0100
@@ -326,7 +326,7 @@
         if (i == len) {
             return value;
         } else {
-            return false;
+            return null;
         }
 //            throw new IllegalArgumentException("String \"" + literal + "\" is not valid boolean value.");
     }
--- a/sources/jaxws_src/src/javax/xml/bind/helpers/AbstractUnmarshallerImpl.java	Fri Jun 08 17:10:39 2012 +0100
+++ b/sources/jaxws_src/src/javax/xml/bind/helpers/AbstractUnmarshallerImpl.java	Mon Jun 11 03:24:50 2012 +0100
@@ -133,11 +133,11 @@
     // use the client specified XMLReader contained in the SAXSource.
     private Object unmarshal( SAXSource source ) throws JAXBException {
 
-        XMLReader reader = source.getXMLReader();
-        if( reader == null )
-            reader = getXMLReader();
+        XMLReader r = source.getXMLReader();
+        if( r == null )
+            r = getXMLReader();
 
-        return unmarshal( reader, source.getInputSource() );
+        return unmarshal( r, source.getInputSource() );
     }
 
     /**