title: Override the JAXB property name using a xjb preserving the underscores
body: <p>The custom xjb works great for overriding the names as desired however we lose the underscores in the names.</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;jxb:bindings 
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
    version="2.1"&gt;
    &lt;jxb:globalBindings underscoreBinding="asCharInWord"/&gt;
     &lt;jxb:bindings schemaLocation="foo.xsd"&gt;
          &lt;jxb:bindings node="//xs:complexType[@name='fooType']"&gt;
              &lt;jxb:property name="value" /&gt;
          &lt;/jxb:bindings&gt;
    &lt;/jxb:bindings&gt;
  &lt;/jxb:bindings&gt;
  </code></pre>
  
  <p>As you can see for the above xjb the java code generated is</p>
  
  <pre><code>@XmlAccessorType(XmlAccessType.FIELD)
  @XmlType(name = "textType", propOrder = {
  "value"
  })
  public class FooType {
  
  @XmlMixed
  @XmlAnyElement(lax = true)
  protected List&lt;Object&gt; value;
  ......
   public List&lt;Object&gt; getValue() {
      if (value == null) {
          value = new ArrayList&lt;Object&gt;();
      }
      return this.value;
  }
  </code></pre>
  
  <p>Now, once I change one line in the xjb above to:</p>
  
  <pre><code> &lt;jxb:property name="_value" /&gt;
  </code></pre>
  
  <p>All that changes in the java code is :</p>
  
  <pre><code>public List&lt;Object&gt; get_Value() {
      if (value == null) {
          value = new ArrayList&lt;Object&gt;();
      }
      return this.value;
  }
  </code></pre>
  
  <p>Observed: <strong>"value"</strong></p>
  
  <pre><code>@XmlAccessorType(XmlAccessType.FIELD)
  @XmlType(name = "textType", propOrder = {
  "value"
  })
  </code></pre>
  
  <p>Desired: <strong>"_value"</strong></p>
  
  <pre><code>@XmlAccessorType(XmlAccessType.FIELD)
  @XmlType(name = "textType", propOrder = {
  "_value"
  })
  </code></pre>