title: wsimport generating enum types incorrectly with extra underscore
body: <p>I am using wsimport to generate my JAX-WS client from a WSDL file (which is also generated), and am having a problem where it is generating an enumeration on the client side that does not match the server side.</p>
  
  <p>The applicable snippet from my WSDL file shows the correct entries:</p>
  
  <pre><code>&lt;xs:simpleType name="type"&gt;
    &lt;xs:restriction base="xs:string"&gt;
      &lt;xs:enumeration value="BLAH_99X"/&gt;
      &lt;xs:enumeration value="BLAH_123"/&gt;
      &lt;xs:enumeration value="BLAH_ABC"/&gt;
    &lt;/xs:restriction&gt;
  &lt;/xs:simpleType&gt;
  </code></pre>
  
  <p>The applicable portion of the generated enum for the client is:</p>
  
  <pre><code>@XmlType(name = "type")
  @XmlEnum
  public enum Type {
      @XmlEnumValue("BLAH_99X")
      BLAH_99_X("BLAH_99X"),
      BLAH_123("BLAH_123"),
      BLAH_ABC("BLAH_ABC");
  }
  </code></pre>
  
  <p>I would have expected that the enum items generated for the client would match the ones from the server side (and in the WSDL). However when you look it generates them all correctly other than the first item which generates as <code>BLAH_99_X</code> and then is mapped to the correct value.</p>
  
  <p>Is there any real reason it has to generated that item the way it did?  Has anyone else run into this and how to make it generate correctly?</p>
  
  <p><strong>Update</strong></p>
  
  <p>I added a crazy value (<code>T1A32BCS12</code>) to my enumeration just on a hunch, and it generated <code>T_1_A_32_BCS_12("T1A32BCS12")</code> as my enum item in the client code. So, it seems that anytime you have a letter and a number side-by-side wsimport is inserting an underscore between them. Is this a bug in wsimport? It seems that there isn't a logical reason this should happen.</p>