title: Can not get the proper value after unmarshaling the XML using JAXB
body: <p>I have following XML file and when I am unmarshaling the following XML using below JAVA code. </p>
  
  <p>I am not getting case-manager tag value.
  I fetch using innovation.getCasemanager(), I got NULL value. 
  Actually that should be return 'dhocksta@umich.edu' value.</p>
  
  <p>I actually got this issue because case-manager tag contains XML Attributes. If it does not contain XML attribute then I can get the case-manager proper value.</p>
  
  <p>XML File :</p>
  
  <pre><code>&lt;innovation file_number="0269"&gt;
  &lt;title&gt;3D Static Strength Prediction Program&lt;/title&gt;
  &lt;brief_description&gt;3D Static Strength Prediction Program&lt;/brief_description&gt;
  &lt;categories/&gt;
  &lt;tags&gt;
    &lt;tag&gt;Healthcare&lt;/tag&gt;
    &lt;tag&gt;Manufacturing&lt;/tag&gt;
    &lt;tag&gt;_Other&lt;/tag&gt;
  &lt;/tags&gt;
  &lt;full_description&gt;test&lt;/full_description&gt;
  &lt;case_manager first_name="Doug" last_name="Hockstad"&gt;dhocksta@umich.edu&lt;/case_manager&gt;
  &lt;status&gt;Published&lt;/status&gt;
  &lt;/innovation&gt;
  </code></pre>
  
  <p>JAVA Code :</p>
  
  <pre><code>Unmarshaller unmarshaller = jc.createUnmarshaller();
          unmarshaller.setSchema(schema);
  
          unmarshaller.setEventHandler(validation);
          Innovations innovation = (Innovations) unmarshaller.unmarshal(xmlSourceFileName);
  </code></pre>
  
  <p>Innovations.java</p>
  
  <pre><code>package com.test.innovation.validation;
  @XmlRootElement(name = "innovations")
  public class Innovations {
  
  private String organization;
  private List&lt;Innovation&gt; innovationList = new ArrayList&lt;Innovation&gt;();
  
  /**
   * @return the organization
   */
  @XmlElement(name = "organization")
  public String getOrganization() {
      return organization;
  }
  
  /**
   * @param organization
   *            the organization to set
   */
  public void setOrganization(String organization) {
      this.organization = organization;
  }
  
  /**
   * @return the innovationList
   */
  @XmlElement(name = "innovation")
  public List&lt;Innovation&gt; getInnovationList() {
      return innovationList;
  }
  
  /**
   * @param innovationList
   *            the innovationList to set
   */
  public void setInnovationList(List&lt;Innovation&gt; innovationList) {
      this.innovationList = innovationList;
  }
  
  public void printRecord() {
      int i = 0;
      for (Innovation innovation : innovationList) {
          i++;
          String str = "";
          System.out.println("-----------------------------------------------------------------------");
          str = "\nFileNumber : " + innovation.getFileNumber();
          str += "\nTitle : " + innovation.getTitle();
          str += "\nBriefDescription : " + innovation.getBriefDescription();
  
          if (innovation.getCategories() != null) {
              if (innovation.getCategories().getCategoryList() != null) {
                  str += "\nCategories : " + 
                                          innovation.getCategories().getCategoryList().toString();
              }
          }
  
          if (innovation.getTags() != null) {
              if (innovation.getTags().getTagList() != null) {
                  str += "\nTags : " + innovation.getTags().getTagList().toString();
              }
          }
  
          str += "\nFullDescription : " + innovation.getFullDescription();
          str += "\nCaseManager : " + innovation.getCaseManager();
          str += "\nFirstName : " + innovation.getCaseManager().getFirstName();
          str += "\nLastName : " + innovation.getCaseManager().getLastName();
          str += "\nStatus : " + innovation.getStatus();
  
          if (innovation.getPatentNumber() != null) {
              str += "\nPatentNumberInformation : " + innovation.getPatentNumber().toString();
          }
          if (innovation.getPatentStatus() != null) {
              str += "\nPatentStatusInformation : " + innovation.getPatentStatus().toString();
          }
          str += "\nOrganizationName : " + getOrganization();
          System.out.println("Record Number " + i + " :: " + str);
          System.out.println("");
      }
  }
  
  }
  </code></pre>
  
  <p>Innovation.java</p>
  
  <pre><code>package com.test.innovation.validation;
  @XmlType
  public class Innovation {
  
  private String fileNumber;
  private String title;
  private String briefDescription;
  private String fullDescription;
  private List&lt;String&gt; patentNumber = new ArrayList&lt;String&gt;();
  private List&lt;String&gt; patentStatus = new ArrayList&lt;String&gt;();
  private CaseManager caseManager;
  private Categories categories;
  private Tags tags;
  private String status;
  
  /**
   * @return the fileNumber
   */
  @XmlAttribute(name = "file_number")
  public String getFileNumber() {
      return fileNumber;
  }
  
  /**
   * @param fileNumber
   *            the fileNumber to set
   */
  public void setFileNumber(String fileNumber) {
      this.fileNumber = fileNumber;
  }
  
  /**
   * @return the title
   */
  @XmlElement(name = "title")
  public String getTitle() {
      return title;
  }
  
  /**
   * @param title
   *            the title to set
   */
  public void setTitle(String title) {
      this.title = title;
  }
  
  /**
   * @return the briefDescription
   */
  @XmlElement(name = "brief_description")
  public String getBriefDescription() {
      return briefDescription;
  }
  
  /**
   * @param briefDescription
   *            the briefDescription to set
   */
  public void setBriefDescription(String briefDescription) {
      this.briefDescription = briefDescription;
  }
  
  /**
   * @return the fullDescription
   */
  @XmlElement(name = "full_description")
  public String getFullDescription() {
      return fullDescription;
  }
  
  /**
   * @param fullDescription
   *            the fullDescription to set
   */
  public void setFullDescription(String fullDescription) {
      this.fullDescription = fullDescription;
  }
  
  /**
   * @return the caseManager
   */
  @XmlElement(name = "case_manager")
  public CaseManager getCaseManager() {
      return caseManager;
  }
  
  /**
   * @param caseManager
   *            the caseManager to set
   */
  public void setCaseManager(CaseManager caseManager) {
      this.caseManager = caseManager;
  }
  
  /**
   * @return the status
   */
  @XmlElement(name = "status")
  public String getStatus() {
      return status;
  }
  
  /**
   * @param status
   *            the status to set
   */
  public void setStatus(String status) {
      this.status = status;
  }
  
  /**
   * @return the categories
   */
  @XmlElement(name = "categories")
  public Categories getCategories() {
      return categories;
  }
  
  /**
   * @param categories
   *            the categories to set
   */
  public void setCategories(Categories categories) {
      this.categories = categories;
  }
  
  /**
   * @return the tags
   */
  @XmlElement(name = "tags")
  public Tags getTags() {
      return tags;
  }
  
  /**
   * @param tags
   *            the tags to set
   */
  public void setTags(Tags tags) {
      this.tags = tags;
  }
  
  /**
   * @return the patentNumber
   */
  @XmlElement(name = "patent_number")
  public List&lt;String&gt; getPatentNumber() {
      return patentNumber;
  }
  
  /**
   * @param patentNumber
   *            the patentNumber to set
   */
  public void setPatentNumber(List&lt;String&gt; patentNumber) {
      this.patentNumber = patentNumber;
  }
  
  /**
   * @return the patentStatus
   */
  @XmlElement(name = "patent_status")
  public List&lt;String&gt; getPatentStatus() {
      return patentStatus;
  }
  
  /**
   * @param patentStatus
   *            the patentStatus to set
   */
  public void setPatentStatus(List&lt;String&gt; patentStatus) {
      this.patentStatus = patentStatus;
  }
  
  }
  </code></pre>
  
  <p>CaseManager.java</p>
  
  <pre><code>package com.test.innovation.validation;
  
  import javax.xml.bind.annotation.XmlAttribute;
  
  public class CaseManager {
  
  private String firstName;
  private String lastName;
  
  /**
   * @return the firstName
   */
  @XmlAttribute(name = "first_name")
  public String getFirstName() {
      return firstName;
  }
  
  /**
   * @param firstName
   *            the firstName to set
   */
  public void setFirstName(String firstName) {
      this.firstName = firstName;
  }
  
  /**
   * @return the lastName
   */
  @XmlAttribute(name = "last_name")
  public String getLastName() {
      return lastName;
  }
  
  /**
   * @param lastName
   *            the lastName to set
   */
  public void setLastName(String lastName) {
      this.lastName = lastName;
  }
  
  }
  </code></pre>