Merge branch 'develop' into bug/JAL-4125_flatlaf_quithandler_warning_doesnt_display_p...
[jalview.git] / src / jalview / xml / binding / uniprot / ProteinType.java
index 5a7d731..f3d0e80 100644 (file)
@@ -2,9 +2,10 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2019.04.05 at 08:01:44 AM BST 
+// Generated on: 2023.01.31 at 04:07:10 PM GMT 
 //
 
+
 package jalview.xml.binding.uniprot;
 
 import java.util.ArrayList;
@@ -14,16 +15,14 @@ import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlType;
 
+
 /**
- * Describes the names for the protein and parts thereof. Equivalent to the flat
- * file DE-line.
+ * Describes the names for the protein and parts thereof.
+ *             Equivalent to the flat file DE-line.
  * 
- * <p>
- * Java class for proteinType complex type.
+ * <p>Java class for proteinType complex type.
  * 
- * <p>
- * The following schema fragment specifies the expected content contained within
- * this class.
+ * <p>The following schema fragment specifies the expected content contained within this class.
  * 
  * <pre>
  * &lt;complexType name="proteinType">
@@ -58,497 +57,66 @@ import javax.xml.bind.annotation.XmlType;
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(
-  name = "proteinType",
-  propOrder =
-  { "recommendedName", "alternativeName", "submittedName", "allergenName",
-      "biotechName", "cdAntigenName", "innName", "domain", "component" })
-public class ProteinType
-{
-
-  protected ProteinType.RecommendedName recommendedName;
-
-  protected List<ProteinType.AlternativeName> alternativeName;
-
-  protected List<ProteinType.SubmittedName> submittedName;
-
-  protected EvidencedStringType allergenName;
-
-  protected EvidencedStringType biotechName;
-
-  protected List<EvidencedStringType> cdAntigenName;
-
-  protected List<EvidencedStringType> innName;
-
-  protected List<ProteinType.Domain> domain;
-
-  protected List<ProteinType.Component> component;
-
-  /**
-   * Gets the value of the recommendedName property.
-   * 
-   * @return possible object is {@link ProteinType.RecommendedName }
-   * 
-   */
-  public ProteinType.RecommendedName getRecommendedName()
-  {
-    return recommendedName;
-  }
-
-  /**
-   * Sets the value of the recommendedName property.
-   * 
-   * @param value
-   *          allowed object is {@link ProteinType.RecommendedName }
-   * 
-   */
-  public void setRecommendedName(ProteinType.RecommendedName value)
-  {
-    this.recommendedName = value;
-  }
-
-  /**
-   * Gets the value of the alternativeName property.
-   * 
-   * <p>
-   * This accessor method returns a reference to the live list, not a snapshot.
-   * Therefore any modification you make to the returned list will be present
-   * inside the JAXB object. This is why there is not a <CODE>set</CODE> method
-   * for the alternativeName property.
-   * 
-   * <p>
-   * For example, to add a new item, do as follows:
-   * 
-   * <pre>
-   * getAlternativeName().add(newItem);
-   * </pre>
-   * 
-   * 
-   * <p>
-   * Objects of the following type(s) are allowed in the list
-   * {@link ProteinType.AlternativeName }
-   * 
-   * 
-   */
-  public List<ProteinType.AlternativeName> getAlternativeName()
-  {
-    if (alternativeName == null)
-    {
-      alternativeName = new ArrayList<ProteinType.AlternativeName>();
-    }
-    return this.alternativeName;
-  }
-
-  /**
-   * Gets the value of the submittedName property.
-   * 
-   * <p>
-   * This accessor method returns a reference to the live list, not a snapshot.
-   * Therefore any modification you make to the returned list will be present
-   * inside the JAXB object. This is why there is not a <CODE>set</CODE> method
-   * for the submittedName property.
-   * 
-   * <p>
-   * For example, to add a new item, do as follows:
-   * 
-   * <pre>
-   * getSubmittedName().add(newItem);
-   * </pre>
-   * 
-   * 
-   * <p>
-   * Objects of the following type(s) are allowed in the list
-   * {@link ProteinType.SubmittedName }
-   * 
-   * 
-   */
-  public List<ProteinType.SubmittedName> getSubmittedName()
-  {
-    if (submittedName == null)
-    {
-      submittedName = new ArrayList<ProteinType.SubmittedName>();
-    }
-    return this.submittedName;
-  }
-
-  /**
-   * Gets the value of the allergenName property.
-   * 
-   * @return possible object is {@link EvidencedStringType }
-   * 
-   */
-  public EvidencedStringType getAllergenName()
-  {
-    return allergenName;
-  }
-
-  /**
-   * Sets the value of the allergenName property.
-   * 
-   * @param value
-   *          allowed object is {@link EvidencedStringType }
-   * 
-   */
-  public void setAllergenName(EvidencedStringType value)
-  {
-    this.allergenName = value;
-  }
-
-  /**
-   * Gets the value of the biotechName property.
-   * 
-   * @return possible object is {@link EvidencedStringType }
-   * 
-   */
-  public EvidencedStringType getBiotechName()
-  {
-    return biotechName;
-  }
-
-  /**
-   * Sets the value of the biotechName property.
-   * 
-   * @param value
-   *          allowed object is {@link EvidencedStringType }
-   * 
-   */
-  public void setBiotechName(EvidencedStringType value)
-  {
-    this.biotechName = value;
-  }
-
-  /**
-   * Gets the value of the cdAntigenName property.
-   * 
-   * <p>
-   * This accessor method returns a reference to the live list, not a snapshot.
-   * Therefore any modification you make to the returned list will be present
-   * inside the JAXB object. This is why there is not a <CODE>set</CODE> method
-   * for the cdAntigenName property.
-   * 
-   * <p>
-   * For example, to add a new item, do as follows:
-   * 
-   * <pre>
-   * getCdAntigenName().add(newItem);
-   * </pre>
-   * 
-   * 
-   * <p>
-   * Objects of the following type(s) are allowed in the list
-   * {@link EvidencedStringType }
-   * 
-   * 
-   */
-  public List<EvidencedStringType> getCdAntigenName()
-  {
-    if (cdAntigenName == null)
-    {
-      cdAntigenName = new ArrayList<EvidencedStringType>();
-    }
-    return this.cdAntigenName;
-  }
-
-  /**
-   * Gets the value of the innName property.
-   * 
-   * <p>
-   * This accessor method returns a reference to the live list, not a snapshot.
-   * Therefore any modification you make to the returned list will be present
-   * inside the JAXB object. This is why there is not a <CODE>set</CODE> method
-   * for the innName property.
-   * 
-   * <p>
-   * For example, to add a new item, do as follows:
-   * 
-   * <pre>
-   * getInnName().add(newItem);
-   * </pre>
-   * 
-   * 
-   * <p>
-   * Objects of the following type(s) are allowed in the list
-   * {@link EvidencedStringType }
-   * 
-   * 
-   */
-  public List<EvidencedStringType> getInnName()
-  {
-    if (innName == null)
-    {
-      innName = new ArrayList<EvidencedStringType>();
-    }
-    return this.innName;
-  }
-
-  /**
-   * Gets the value of the domain property.
-   * 
-   * <p>
-   * This accessor method returns a reference to the live list, not a snapshot.
-   * Therefore any modification you make to the returned list will be present
-   * inside the JAXB object. This is why there is not a <CODE>set</CODE> method
-   * for the domain property.
-   * 
-   * <p>
-   * For example, to add a new item, do as follows:
-   * 
-   * <pre>
-   * getDomain().add(newItem);
-   * </pre>
-   * 
-   * 
-   * <p>
-   * Objects of the following type(s) are allowed in the list
-   * {@link ProteinType.Domain }
-   * 
-   * 
-   */
-  public List<ProteinType.Domain> getDomain()
-  {
-    if (domain == null)
-    {
-      domain = new ArrayList<ProteinType.Domain>();
-    }
-    return this.domain;
-  }
-
-  /**
-   * Gets the value of the component property.
-   * 
-   * <p>
-   * This accessor method returns a reference to the live list, not a snapshot.
-   * Therefore any modification you make to the returned list will be present
-   * inside the JAXB object. This is why there is not a <CODE>set</CODE> method
-   * for the component property.
-   * 
-   * <p>
-   * For example, to add a new item, do as follows:
-   * 
-   * <pre>
-   * getComponent().add(newItem);
-   * </pre>
-   * 
-   * 
-   * <p>
-   * Objects of the following type(s) are allowed in the list
-   * {@link ProteinType.Component }
-   * 
-   * 
-   */
-  public List<ProteinType.Component> getComponent()
-  {
-    if (component == null)
-    {
-      component = new ArrayList<ProteinType.Component>();
-    }
-    return this.component;
-  }
-
-  /**
-   * <p>
-   * Java class for anonymous complex type.
-   * 
-   * <p>
-   * The following schema fragment specifies the expected content contained
-   * within this class.
-   * 
-   * <pre>
-   * &lt;complexType>
-   *   &lt;complexContent>
-   *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-   *       &lt;sequence>
-   *         &lt;element name="fullName" type="{http://uniprot.org/uniprot}evidencedStringType" minOccurs="0"/>
-   *         &lt;element name="shortName" type="{http://uniprot.org/uniprot}evidencedStringType" maxOccurs="unbounded" minOccurs="0"/>
-   *         &lt;element name="ecNumber" type="{http://uniprot.org/uniprot}evidencedStringType" maxOccurs="unbounded" minOccurs="0"/>
-   *       &lt;/sequence>
-   *     &lt;/restriction>
-   *   &lt;/complexContent>
-   * &lt;/complexType>
-   * </pre>
-   * 
-   * 
-   */
-  @XmlAccessorType(XmlAccessType.FIELD)
-  @XmlType(name = "", propOrder = { "fullName", "shortName", "ecNumber" })
-  public static class AlternativeName
-  {
-
-    protected EvidencedStringType fullName;
-
-    protected List<EvidencedStringType> shortName;
-
-    protected List<EvidencedStringType> ecNumber;
-
-    /**
-     * Gets the value of the fullName property.
-     * 
-     * @return possible object is {@link EvidencedStringType }
-     * 
-     */
-    public EvidencedStringType getFullName()
-    {
-      return fullName;
-    }
-
-    /**
-     * Sets the value of the fullName property.
-     * 
-     * @param value
-     *          allowed object is {@link EvidencedStringType }
-     * 
-     */
-    public void setFullName(EvidencedStringType value)
-    {
-      this.fullName = value;
-    }
-
-    /**
-     * Gets the value of the shortName property.
-     * 
-     * <p>
-     * This accessor method returns a reference to the live list, not a
-     * snapshot. Therefore any modification you make to the returned list will
-     * be present inside the JAXB object. This is why there is not a
-     * <CODE>set</CODE> method for the shortName property.
-     * 
-     * <p>
-     * For example, to add a new item, do as follows:
-     * 
-     * <pre>
-     * getShortName().add(newItem);
-     * </pre>
-     * 
-     * 
-     * <p>
-     * Objects of the following type(s) are allowed in the list
-     * {@link EvidencedStringType }
-     * 
-     * 
-     */
-    public List<EvidencedStringType> getShortName()
-    {
-      if (shortName == null)
-      {
-        shortName = new ArrayList<EvidencedStringType>();
-      }
-      return this.shortName;
-    }
-
-    /**
-     * Gets the value of the ecNumber property.
-     * 
-     * <p>
-     * This accessor method returns a reference to the live list, not a
-     * snapshot. Therefore any modification you make to the returned list will
-     * be present inside the JAXB object. This is why there is not a
-     * <CODE>set</CODE> method for the ecNumber property.
-     * 
-     * <p>
-     * For example, to add a new item, do as follows:
-     * 
-     * <pre>
-     * getEcNumber().add(newItem);
-     * </pre>
-     * 
-     * 
-     * <p>
-     * Objects of the following type(s) are allowed in the list
-     * {@link EvidencedStringType }
-     * 
-     * 
-     */
-    public List<EvidencedStringType> getEcNumber()
-    {
-      if (ecNumber == null)
-      {
-        ecNumber = new ArrayList<EvidencedStringType>();
-      }
-      return this.ecNumber;
-    }
-
-  }
-
-  /**
-   * <p>
-   * Java class for anonymous complex type.
-   * 
-   * <p>
-   * The following schema fragment specifies the expected content contained
-   * within this class.
-   * 
-   * <pre>
-   * &lt;complexType>
-   *   &lt;complexContent>
-   *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-   *       &lt;group ref="{http://uniprot.org/uniprot}proteinNameGroup"/>
-   *     &lt;/restriction>
-   *   &lt;/complexContent>
-   * &lt;/complexType>
-   * </pre>
-   * 
-   * 
-   */
-  @XmlAccessorType(XmlAccessType.FIELD)
-  @XmlType(
-    name = "",
-    propOrder =
-    { "recommendedName", "alternativeName", "submittedName", "allergenName",
-        "biotechName", "cdAntigenName", "innName" })
-  public static class Component
-  {
+@XmlType(name = "proteinType", propOrder = {
+    "recommendedName",
+    "alternativeName",
+    "submittedName",
+    "allergenName",
+    "biotechName",
+    "cdAntigenName",
+    "innName",
+    "domain",
+    "component"
+})
+public class ProteinType {
 
     protected ProteinType.RecommendedName recommendedName;
-
     protected List<ProteinType.AlternativeName> alternativeName;
-
     protected List<ProteinType.SubmittedName> submittedName;
-
     protected EvidencedStringType allergenName;
-
     protected EvidencedStringType biotechName;
-
     protected List<EvidencedStringType> cdAntigenName;
-
     protected List<EvidencedStringType> innName;
+    protected List<ProteinType.Domain> domain;
+    protected List<ProteinType.Component> component;
 
     /**
      * Gets the value of the recommendedName property.
      * 
-     * @return possible object is {@link ProteinType.RecommendedName }
-     * 
+     * @return
+     *     possible object is
+     *     {@link ProteinType.RecommendedName }
+     *     
      */
-    public ProteinType.RecommendedName getRecommendedName()
-    {
-      return recommendedName;
+    public ProteinType.RecommendedName getRecommendedName() {
+        return recommendedName;
     }
 
     /**
      * Sets the value of the recommendedName property.
      * 
      * @param value
-     *          allowed object is {@link ProteinType.RecommendedName }
-     * 
+     *     allowed object is
+     *     {@link ProteinType.RecommendedName }
+     *     
      */
-    public void setRecommendedName(ProteinType.RecommendedName value)
-    {
-      this.recommendedName = value;
+    public void setRecommendedName(ProteinType.RecommendedName value) {
+        this.recommendedName = value;
     }
 
     /**
      * Gets the value of the alternativeName property.
      * 
      * <p>
-     * This accessor method returns a reference to the live list, not a
-     * snapshot. Therefore any modification you make to the returned list will
-     * be present inside the JAXB object. This is why there is not a
-     * <CODE>set</CODE> method for the alternativeName property.
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a <CODE>set</CODE> method for the alternativeName property.
      * 
      * <p>
      * For example, to add a new item, do as follows:
-     * 
      * <pre>
-     * getAlternativeName().add(newItem);
+     *    getAlternativeName().add(newItem);
      * </pre>
      * 
      * 
@@ -558,29 +126,26 @@ public class ProteinType
      * 
      * 
      */
-    public List<ProteinType.AlternativeName> getAlternativeName()
-    {
-      if (alternativeName == null)
-      {
-        alternativeName = new ArrayList<ProteinType.AlternativeName>();
-      }
-      return this.alternativeName;
+    public List<ProteinType.AlternativeName> getAlternativeName() {
+        if (alternativeName == null) {
+            alternativeName = new ArrayList<ProteinType.AlternativeName>();
+        }
+        return this.alternativeName;
     }
 
     /**
      * Gets the value of the submittedName property.
      * 
      * <p>
-     * This accessor method returns a reference to the live list, not a
-     * snapshot. Therefore any modification you make to the returned list will
-     * be present inside the JAXB object. This is why there is not a
-     * <CODE>set</CODE> method for the submittedName property.
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a <CODE>set</CODE> method for the submittedName property.
      * 
      * <p>
      * For example, to add a new item, do as follows:
-     * 
      * <pre>
-     * getSubmittedName().add(newItem);
+     *    getSubmittedName().add(newItem);
      * </pre>
      * 
      * 
@@ -590,75 +155,74 @@ public class ProteinType
      * 
      * 
      */
-    public List<ProteinType.SubmittedName> getSubmittedName()
-    {
-      if (submittedName == null)
-      {
-        submittedName = new ArrayList<ProteinType.SubmittedName>();
-      }
-      return this.submittedName;
+    public List<ProteinType.SubmittedName> getSubmittedName() {
+        if (submittedName == null) {
+            submittedName = new ArrayList<ProteinType.SubmittedName>();
+        }
+        return this.submittedName;
     }
 
     /**
      * Gets the value of the allergenName property.
      * 
-     * @return possible object is {@link EvidencedStringType }
-     * 
+     * @return
+     *     possible object is
+     *     {@link EvidencedStringType }
+     *     
      */
-    public EvidencedStringType getAllergenName()
-    {
-      return allergenName;
+    public EvidencedStringType getAllergenName() {
+        return allergenName;
     }
 
     /**
      * Sets the value of the allergenName property.
      * 
      * @param value
-     *          allowed object is {@link EvidencedStringType }
-     * 
+     *     allowed object is
+     *     {@link EvidencedStringType }
+     *     
      */
-    public void setAllergenName(EvidencedStringType value)
-    {
-      this.allergenName = value;
+    public void setAllergenName(EvidencedStringType value) {
+        this.allergenName = value;
     }
 
     /**
      * Gets the value of the biotechName property.
      * 
-     * @return possible object is {@link EvidencedStringType }
-     * 
+     * @return
+     *     possible object is
+     *     {@link EvidencedStringType }
+     *     
      */
-    public EvidencedStringType getBiotechName()
-    {
-      return biotechName;
+    public EvidencedStringType getBiotechName() {
+        return biotechName;
     }
 
     /**
      * Sets the value of the biotechName property.
      * 
      * @param value
-     *          allowed object is {@link EvidencedStringType }
-     * 
+     *     allowed object is
+     *     {@link EvidencedStringType }
+     *     
      */
-    public void setBiotechName(EvidencedStringType value)
-    {
-      this.biotechName = value;
+    public void setBiotechName(EvidencedStringType value) {
+        this.biotechName = value;
     }
 
     /**
      * Gets the value of the cdAntigenName property.
      * 
      * <p>
-     * This accessor method returns a reference to the live list, not a
-     * snapshot. Therefore any modification you make to the returned list will
-     * be present inside the JAXB object. This is why there is not a
-     * <CODE>set</CODE> method for the cdAntigenName property.
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a <CODE>set</CODE> method for the cdAntigenName property.
      * 
      * <p>
      * For example, to add a new item, do as follows:
-     * 
      * <pre>
-     * getCdAntigenName().add(newItem);
+     *    getCdAntigenName().add(newItem);
      * </pre>
      * 
      * 
@@ -668,29 +232,26 @@ public class ProteinType
      * 
      * 
      */
-    public List<EvidencedStringType> getCdAntigenName()
-    {
-      if (cdAntigenName == null)
-      {
-        cdAntigenName = new ArrayList<EvidencedStringType>();
-      }
-      return this.cdAntigenName;
+    public List<EvidencedStringType> getCdAntigenName() {
+        if (cdAntigenName == null) {
+            cdAntigenName = new ArrayList<EvidencedStringType>();
+        }
+        return this.cdAntigenName;
     }
 
     /**
      * Gets the value of the innName property.
      * 
      * <p>
-     * This accessor method returns a reference to the live list, not a
-     * snapshot. Therefore any modification you make to the returned list will
-     * be present inside the JAXB object. This is why there is not a
-     * <CODE>set</CODE> method for the innName property.
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a <CODE>set</CODE> method for the innName property.
      * 
      * <p>
      * For example, to add a new item, do as follows:
-     * 
      * <pre>
-     * getInnName().add(newItem);
+     *    getInnName().add(newItem);
      * </pre>
      * 
      * 
@@ -700,472 +261,849 @@ public class ProteinType
      * 
      * 
      */
-    public List<EvidencedStringType> getInnName()
-    {
-      if (innName == null)
-      {
-        innName = new ArrayList<EvidencedStringType>();
-      }
-      return this.innName;
-    }
-
-  }
-
-  /**
-   * <p>
-   * Java class for anonymous complex type.
-   * 
-   * <p>
-   * The following schema fragment specifies the expected content contained
-   * within this class.
-   * 
-   * <pre>
-   * &lt;complexType>
-   *   &lt;complexContent>
-   *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-   *       &lt;group ref="{http://uniprot.org/uniprot}proteinNameGroup"/>
-   *     &lt;/restriction>
-   *   &lt;/complexContent>
-   * &lt;/complexType>
-   * </pre>
-   * 
-   * 
-   */
-  @XmlAccessorType(XmlAccessType.FIELD)
-  @XmlType(
-    name = "",
-    propOrder =
-    { "recommendedName", "alternativeName", "submittedName", "allergenName",
-        "biotechName", "cdAntigenName", "innName" })
-  public static class Domain
-  {
-
-    protected ProteinType.RecommendedName recommendedName;
-
-    protected List<ProteinType.AlternativeName> alternativeName;
-
-    protected List<ProteinType.SubmittedName> submittedName;
-
-    protected EvidencedStringType allergenName;
-
-    protected EvidencedStringType biotechName;
-
-    protected List<EvidencedStringType> cdAntigenName;
-
-    protected List<EvidencedStringType> innName;
-
-    /**
-     * Gets the value of the recommendedName property.
-     * 
-     * @return possible object is {@link ProteinType.RecommendedName }
-     * 
-     */
-    public ProteinType.RecommendedName getRecommendedName()
-    {
-      return recommendedName;
+    public List<EvidencedStringType> getInnName() {
+        if (innName == null) {
+            innName = new ArrayList<EvidencedStringType>();
+        }
+        return this.innName;
     }
 
     /**
-     * Sets the value of the recommendedName property.
-     * 
-     * @param value
-     *          allowed object is {@link ProteinType.RecommendedName }
-     * 
-     */
-    public void setRecommendedName(ProteinType.RecommendedName value)
-    {
-      this.recommendedName = value;
-    }
-
-    /**
-     * Gets the value of the alternativeName property.
+     * Gets the value of the domain property.
      * 
      * <p>
-     * This accessor method returns a reference to the live list, not a
-     * snapshot. Therefore any modification you make to the returned list will
-     * be present inside the JAXB object. This is why there is not a
-     * <CODE>set</CODE> method for the alternativeName property.
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a <CODE>set</CODE> method for the domain property.
      * 
      * <p>
      * For example, to add a new item, do as follows:
-     * 
      * <pre>
-     * getAlternativeName().add(newItem);
+     *    getDomain().add(newItem);
      * </pre>
      * 
      * 
      * <p>
      * Objects of the following type(s) are allowed in the list
-     * {@link ProteinType.AlternativeName }
+     * {@link ProteinType.Domain }
      * 
      * 
      */
-    public List<ProteinType.AlternativeName> getAlternativeName()
-    {
-      if (alternativeName == null)
-      {
-        alternativeName = new ArrayList<ProteinType.AlternativeName>();
-      }
-      return this.alternativeName;
+    public List<ProteinType.Domain> getDomain() {
+        if (domain == null) {
+            domain = new ArrayList<ProteinType.Domain>();
+        }
+        return this.domain;
     }
 
     /**
-     * Gets the value of the submittedName property.
+     * Gets the value of the component property.
      * 
      * <p>
-     * This accessor method returns a reference to the live list, not a
-     * snapshot. Therefore any modification you make to the returned list will
-     * be present inside the JAXB object. This is why there is not a
-     * <CODE>set</CODE> method for the submittedName property.
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a <CODE>set</CODE> method for the component property.
      * 
      * <p>
      * For example, to add a new item, do as follows:
-     * 
      * <pre>
-     * getSubmittedName().add(newItem);
+     *    getComponent().add(newItem);
      * </pre>
      * 
      * 
      * <p>
      * Objects of the following type(s) are allowed in the list
-     * {@link ProteinType.SubmittedName }
-     * 
-     * 
-     */
-    public List<ProteinType.SubmittedName> getSubmittedName()
-    {
-      if (submittedName == null)
-      {
-        submittedName = new ArrayList<ProteinType.SubmittedName>();
-      }
-      return this.submittedName;
-    }
-
-    /**
-     * Gets the value of the allergenName property.
-     * 
-     * @return possible object is {@link EvidencedStringType }
-     * 
-     */
-    public EvidencedStringType getAllergenName()
-    {
-      return allergenName;
-    }
-
-    /**
-     * Sets the value of the allergenName property.
+     * {@link ProteinType.Component }
      * 
-     * @param value
-     *          allowed object is {@link EvidencedStringType }
      * 
      */
-    public void setAllergenName(EvidencedStringType value)
-    {
-      this.allergenName = value;
+    public List<ProteinType.Component> getComponent() {
+        if (component == null) {
+            component = new ArrayList<ProteinType.Component>();
+        }
+        return this.component;
     }
 
-    /**
-     * Gets the value of the biotechName property.
-     * 
-     * @return possible object is {@link EvidencedStringType }
-     * 
-     */
-    public EvidencedStringType getBiotechName()
-    {
-      return biotechName;
-    }
 
     /**
-     * Sets the value of the biotechName property.
+     * <p>Java class for anonymous complex type.
      * 
-     * @param value
-     *          allowed object is {@link EvidencedStringType }
-     * 
-     */
-    public void setBiotechName(EvidencedStringType value)
-    {
-      this.biotechName = value;
-    }
-
-    /**
-     * Gets the value of the cdAntigenName property.
-     * 
-     * <p>
-     * This accessor method returns a reference to the live list, not a
-     * snapshot. Therefore any modification you make to the returned list will
-     * be present inside the JAXB object. This is why there is not a
-     * <CODE>set</CODE> method for the cdAntigenName property.
-     * 
-     * <p>
-     * For example, to add a new item, do as follows:
+     * <p>The following schema fragment specifies the expected content contained within this class.
      * 
      * <pre>
-     * getCdAntigenName().add(newItem);
+     * &lt;complexType>
+     *   &lt;complexContent>
+     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+     *       &lt;sequence>
+     *         &lt;element name="fullName" type="{http://uniprot.org/uniprot}evidencedStringType" minOccurs="0"/>
+     *         &lt;element name="shortName" type="{http://uniprot.org/uniprot}evidencedStringType" maxOccurs="unbounded" minOccurs="0"/>
+     *         &lt;element name="ecNumber" type="{http://uniprot.org/uniprot}evidencedStringType" maxOccurs="unbounded" minOccurs="0"/>
+     *       &lt;/sequence>
+     *     &lt;/restriction>
+     *   &lt;/complexContent>
+     * &lt;/complexType>
      * </pre>
      * 
      * 
-     * <p>
-     * Objects of the following type(s) are allowed in the list
-     * {@link EvidencedStringType }
-     * 
-     * 
      */
-    public List<EvidencedStringType> getCdAntigenName()
-    {
-      if (cdAntigenName == null)
-      {
-        cdAntigenName = new ArrayList<EvidencedStringType>();
-      }
-      return this.cdAntigenName;
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "", propOrder = {
+        "fullName",
+        "shortName",
+        "ecNumber"
+    })
+    public static class AlternativeName {
+
+        protected EvidencedStringType fullName;
+        protected List<EvidencedStringType> shortName;
+        protected List<EvidencedStringType> ecNumber;
+
+        /**
+         * Gets the value of the fullName property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link EvidencedStringType }
+         *     
+         */
+        public EvidencedStringType getFullName() {
+            return fullName;
+        }
+
+        /**
+         * Sets the value of the fullName property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link EvidencedStringType }
+         *     
+         */
+        public void setFullName(EvidencedStringType value) {
+            this.fullName = value;
+        }
+
+        /**
+         * Gets the value of the shortName property.
+         * 
+         * <p>
+         * This accessor method returns a reference to the live list,
+         * not a snapshot. Therefore any modification you make to the
+         * returned list will be present inside the JAXB object.
+         * This is why there is not a <CODE>set</CODE> method for the shortName property.
+         * 
+         * <p>
+         * For example, to add a new item, do as follows:
+         * <pre>
+         *    getShortName().add(newItem);
+         * </pre>
+         * 
+         * 
+         * <p>
+         * Objects of the following type(s) are allowed in the list
+         * {@link EvidencedStringType }
+         * 
+         * 
+         */
+        public List<EvidencedStringType> getShortName() {
+            if (shortName == null) {
+                shortName = new ArrayList<EvidencedStringType>();
+            }
+            return this.shortName;
+        }
+
+        /**
+         * Gets the value of the ecNumber property.
+         * 
+         * <p>
+         * This accessor method returns a reference to the live list,
+         * not a snapshot. Therefore any modification you make to the
+         * returned list will be present inside the JAXB object.
+         * This is why there is not a <CODE>set</CODE> method for the ecNumber property.
+         * 
+         * <p>
+         * For example, to add a new item, do as follows:
+         * <pre>
+         *    getEcNumber().add(newItem);
+         * </pre>
+         * 
+         * 
+         * <p>
+         * Objects of the following type(s) are allowed in the list
+         * {@link EvidencedStringType }
+         * 
+         * 
+         */
+        public List<EvidencedStringType> getEcNumber() {
+            if (ecNumber == null) {
+                ecNumber = new ArrayList<EvidencedStringType>();
+            }
+            return this.ecNumber;
+        }
+
     }
 
+
     /**
-     * Gets the value of the innName property.
+     * <p>Java class for anonymous complex type.
      * 
-     * <p>
-     * This accessor method returns a reference to the live list, not a
-     * snapshot. Therefore any modification you make to the returned list will
-     * be present inside the JAXB object. This is why there is not a
-     * <CODE>set</CODE> method for the innName property.
-     * 
-     * <p>
-     * For example, to add a new item, do as follows:
+     * <p>The following schema fragment specifies the expected content contained within this class.
      * 
      * <pre>
-     * getInnName().add(newItem);
+     * &lt;complexType>
+     *   &lt;complexContent>
+     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+     *       &lt;group ref="{http://uniprot.org/uniprot}proteinNameGroup"/>
+     *     &lt;/restriction>
+     *   &lt;/complexContent>
+     * &lt;/complexType>
      * </pre>
      * 
      * 
-     * <p>
-     * Objects of the following type(s) are allowed in the list
-     * {@link EvidencedStringType }
-     * 
-     * 
      */
-    public List<EvidencedStringType> getInnName()
-    {
-      if (innName == null)
-      {
-        innName = new ArrayList<EvidencedStringType>();
-      }
-      return this.innName;
-    }
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "", propOrder = {
+        "recommendedName",
+        "alternativeName",
+        "submittedName",
+        "allergenName",
+        "biotechName",
+        "cdAntigenName",
+        "innName"
+    })
+    public static class Component {
+
+        protected ProteinType.RecommendedName recommendedName;
+        protected List<ProteinType.AlternativeName> alternativeName;
+        protected List<ProteinType.SubmittedName> submittedName;
+        protected EvidencedStringType allergenName;
+        protected EvidencedStringType biotechName;
+        protected List<EvidencedStringType> cdAntigenName;
+        protected List<EvidencedStringType> innName;
+
+        /**
+         * Gets the value of the recommendedName property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link ProteinType.RecommendedName }
+         *     
+         */
+        public ProteinType.RecommendedName getRecommendedName() {
+            return recommendedName;
+        }
+
+        /**
+         * Sets the value of the recommendedName property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link ProteinType.RecommendedName }
+         *     
+         */
+        public void setRecommendedName(ProteinType.RecommendedName value) {
+            this.recommendedName = value;
+        }
+
+        /**
+         * Gets the value of the alternativeName property.
+         * 
+         * <p>
+         * This accessor method returns a reference to the live list,
+         * not a snapshot. Therefore any modification you make to the
+         * returned list will be present inside the JAXB object.
+         * This is why there is not a <CODE>set</CODE> method for the alternativeName property.
+         * 
+         * <p>
+         * For example, to add a new item, do as follows:
+         * <pre>
+         *    getAlternativeName().add(newItem);
+         * </pre>
+         * 
+         * 
+         * <p>
+         * Objects of the following type(s) are allowed in the list
+         * {@link ProteinType.AlternativeName }
+         * 
+         * 
+         */
+        public List<ProteinType.AlternativeName> getAlternativeName() {
+            if (alternativeName == null) {
+                alternativeName = new ArrayList<ProteinType.AlternativeName>();
+            }
+            return this.alternativeName;
+        }
+
+        /**
+         * Gets the value of the submittedName property.
+         * 
+         * <p>
+         * This accessor method returns a reference to the live list,
+         * not a snapshot. Therefore any modification you make to the
+         * returned list will be present inside the JAXB object.
+         * This is why there is not a <CODE>set</CODE> method for the submittedName property.
+         * 
+         * <p>
+         * For example, to add a new item, do as follows:
+         * <pre>
+         *    getSubmittedName().add(newItem);
+         * </pre>
+         * 
+         * 
+         * <p>
+         * Objects of the following type(s) are allowed in the list
+         * {@link ProteinType.SubmittedName }
+         * 
+         * 
+         */
+        public List<ProteinType.SubmittedName> getSubmittedName() {
+            if (submittedName == null) {
+                submittedName = new ArrayList<ProteinType.SubmittedName>();
+            }
+            return this.submittedName;
+        }
+
+        /**
+         * Gets the value of the allergenName property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link EvidencedStringType }
+         *     
+         */
+        public EvidencedStringType getAllergenName() {
+            return allergenName;
+        }
+
+        /**
+         * Sets the value of the allergenName property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link EvidencedStringType }
+         *     
+         */
+        public void setAllergenName(EvidencedStringType value) {
+            this.allergenName = value;
+        }
+
+        /**
+         * Gets the value of the biotechName property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link EvidencedStringType }
+         *     
+         */
+        public EvidencedStringType getBiotechName() {
+            return biotechName;
+        }
+
+        /**
+         * Sets the value of the biotechName property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link EvidencedStringType }
+         *     
+         */
+        public void setBiotechName(EvidencedStringType value) {
+            this.biotechName = value;
+        }
+
+        /**
+         * Gets the value of the cdAntigenName property.
+         * 
+         * <p>
+         * This accessor method returns a reference to the live list,
+         * not a snapshot. Therefore any modification you make to the
+         * returned list will be present inside the JAXB object.
+         * This is why there is not a <CODE>set</CODE> method for the cdAntigenName property.
+         * 
+         * <p>
+         * For example, to add a new item, do as follows:
+         * <pre>
+         *    getCdAntigenName().add(newItem);
+         * </pre>
+         * 
+         * 
+         * <p>
+         * Objects of the following type(s) are allowed in the list
+         * {@link EvidencedStringType }
+         * 
+         * 
+         */
+        public List<EvidencedStringType> getCdAntigenName() {
+            if (cdAntigenName == null) {
+                cdAntigenName = new ArrayList<EvidencedStringType>();
+            }
+            return this.cdAntigenName;
+        }
+
+        /**
+         * Gets the value of the innName property.
+         * 
+         * <p>
+         * This accessor method returns a reference to the live list,
+         * not a snapshot. Therefore any modification you make to the
+         * returned list will be present inside the JAXB object.
+         * This is why there is not a <CODE>set</CODE> method for the innName property.
+         * 
+         * <p>
+         * For example, to add a new item, do as follows:
+         * <pre>
+         *    getInnName().add(newItem);
+         * </pre>
+         * 
+         * 
+         * <p>
+         * Objects of the following type(s) are allowed in the list
+         * {@link EvidencedStringType }
+         * 
+         * 
+         */
+        public List<EvidencedStringType> getInnName() {
+            if (innName == null) {
+                innName = new ArrayList<EvidencedStringType>();
+            }
+            return this.innName;
+        }
 
-  }
-
-  /**
-   * <p>
-   * Java class for anonymous complex type.
-   * 
-   * <p>
-   * The following schema fragment specifies the expected content contained
-   * within this class.
-   * 
-   * <pre>
-   * &lt;complexType>
-   *   &lt;complexContent>
-   *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-   *       &lt;sequence>
-   *         &lt;element name="fullName" type="{http://uniprot.org/uniprot}evidencedStringType"/>
-   *         &lt;element name="shortName" type="{http://uniprot.org/uniprot}evidencedStringType" maxOccurs="unbounded" minOccurs="0"/>
-   *         &lt;element name="ecNumber" type="{http://uniprot.org/uniprot}evidencedStringType" maxOccurs="unbounded" minOccurs="0"/>
-   *       &lt;/sequence>
-   *     &lt;/restriction>
-   *   &lt;/complexContent>
-   * &lt;/complexType>
-   * </pre>
-   * 
-   * 
-   */
-  @XmlAccessorType(XmlAccessType.FIELD)
-  @XmlType(name = "", propOrder = { "fullName", "shortName", "ecNumber" })
-  public static class RecommendedName
-  {
-
-    @XmlElement(required = true)
-    protected EvidencedStringType fullName;
-
-    protected List<EvidencedStringType> shortName;
-
-    protected List<EvidencedStringType> ecNumber;
-
-    /**
-     * Gets the value of the fullName property.
-     * 
-     * @return possible object is {@link EvidencedStringType }
-     * 
-     */
-    public EvidencedStringType getFullName()
-    {
-      return fullName;
     }
 
-    /**
-     * Sets the value of the fullName property.
-     * 
-     * @param value
-     *          allowed object is {@link EvidencedStringType }
-     * 
-     */
-    public void setFullName(EvidencedStringType value)
-    {
-      this.fullName = value;
-    }
 
     /**
-     * Gets the value of the shortName property.
+     * <p>Java class for anonymous complex type.
      * 
-     * <p>
-     * This accessor method returns a reference to the live list, not a
-     * snapshot. Therefore any modification you make to the returned list will
-     * be present inside the JAXB object. This is why there is not a
-     * <CODE>set</CODE> method for the shortName property.
-     * 
-     * <p>
-     * For example, to add a new item, do as follows:
+     * <p>The following schema fragment specifies the expected content contained within this class.
      * 
      * <pre>
-     * getShortName().add(newItem);
+     * &lt;complexType>
+     *   &lt;complexContent>
+     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+     *       &lt;group ref="{http://uniprot.org/uniprot}proteinNameGroup"/>
+     *     &lt;/restriction>
+     *   &lt;/complexContent>
+     * &lt;/complexType>
      * </pre>
      * 
      * 
-     * <p>
-     * Objects of the following type(s) are allowed in the list
-     * {@link EvidencedStringType }
-     * 
-     * 
      */
-    public List<EvidencedStringType> getShortName()
-    {
-      if (shortName == null)
-      {
-        shortName = new ArrayList<EvidencedStringType>();
-      }
-      return this.shortName;
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "", propOrder = {
+        "recommendedName",
+        "alternativeName",
+        "submittedName",
+        "allergenName",
+        "biotechName",
+        "cdAntigenName",
+        "innName"
+    })
+    public static class Domain {
+
+        protected ProteinType.RecommendedName recommendedName;
+        protected List<ProteinType.AlternativeName> alternativeName;
+        protected List<ProteinType.SubmittedName> submittedName;
+        protected EvidencedStringType allergenName;
+        protected EvidencedStringType biotechName;
+        protected List<EvidencedStringType> cdAntigenName;
+        protected List<EvidencedStringType> innName;
+
+        /**
+         * Gets the value of the recommendedName property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link ProteinType.RecommendedName }
+         *     
+         */
+        public ProteinType.RecommendedName getRecommendedName() {
+            return recommendedName;
+        }
+
+        /**
+         * Sets the value of the recommendedName property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link ProteinType.RecommendedName }
+         *     
+         */
+        public void setRecommendedName(ProteinType.RecommendedName value) {
+            this.recommendedName = value;
+        }
+
+        /**
+         * Gets the value of the alternativeName property.
+         * 
+         * <p>
+         * This accessor method returns a reference to the live list,
+         * not a snapshot. Therefore any modification you make to the
+         * returned list will be present inside the JAXB object.
+         * This is why there is not a <CODE>set</CODE> method for the alternativeName property.
+         * 
+         * <p>
+         * For example, to add a new item, do as follows:
+         * <pre>
+         *    getAlternativeName().add(newItem);
+         * </pre>
+         * 
+         * 
+         * <p>
+         * Objects of the following type(s) are allowed in the list
+         * {@link ProteinType.AlternativeName }
+         * 
+         * 
+         */
+        public List<ProteinType.AlternativeName> getAlternativeName() {
+            if (alternativeName == null) {
+                alternativeName = new ArrayList<ProteinType.AlternativeName>();
+            }
+            return this.alternativeName;
+        }
+
+        /**
+         * Gets the value of the submittedName property.
+         * 
+         * <p>
+         * This accessor method returns a reference to the live list,
+         * not a snapshot. Therefore any modification you make to the
+         * returned list will be present inside the JAXB object.
+         * This is why there is not a <CODE>set</CODE> method for the submittedName property.
+         * 
+         * <p>
+         * For example, to add a new item, do as follows:
+         * <pre>
+         *    getSubmittedName().add(newItem);
+         * </pre>
+         * 
+         * 
+         * <p>
+         * Objects of the following type(s) are allowed in the list
+         * {@link ProteinType.SubmittedName }
+         * 
+         * 
+         */
+        public List<ProteinType.SubmittedName> getSubmittedName() {
+            if (submittedName == null) {
+                submittedName = new ArrayList<ProteinType.SubmittedName>();
+            }
+            return this.submittedName;
+        }
+
+        /**
+         * Gets the value of the allergenName property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link EvidencedStringType }
+         *     
+         */
+        public EvidencedStringType getAllergenName() {
+            return allergenName;
+        }
+
+        /**
+         * Sets the value of the allergenName property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link EvidencedStringType }
+         *     
+         */
+        public void setAllergenName(EvidencedStringType value) {
+            this.allergenName = value;
+        }
+
+        /**
+         * Gets the value of the biotechName property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link EvidencedStringType }
+         *     
+         */
+        public EvidencedStringType getBiotechName() {
+            return biotechName;
+        }
+
+        /**
+         * Sets the value of the biotechName property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link EvidencedStringType }
+         *     
+         */
+        public void setBiotechName(EvidencedStringType value) {
+            this.biotechName = value;
+        }
+
+        /**
+         * Gets the value of the cdAntigenName property.
+         * 
+         * <p>
+         * This accessor method returns a reference to the live list,
+         * not a snapshot. Therefore any modification you make to the
+         * returned list will be present inside the JAXB object.
+         * This is why there is not a <CODE>set</CODE> method for the cdAntigenName property.
+         * 
+         * <p>
+         * For example, to add a new item, do as follows:
+         * <pre>
+         *    getCdAntigenName().add(newItem);
+         * </pre>
+         * 
+         * 
+         * <p>
+         * Objects of the following type(s) are allowed in the list
+         * {@link EvidencedStringType }
+         * 
+         * 
+         */
+        public List<EvidencedStringType> getCdAntigenName() {
+            if (cdAntigenName == null) {
+                cdAntigenName = new ArrayList<EvidencedStringType>();
+            }
+            return this.cdAntigenName;
+        }
+
+        /**
+         * Gets the value of the innName property.
+         * 
+         * <p>
+         * This accessor method returns a reference to the live list,
+         * not a snapshot. Therefore any modification you make to the
+         * returned list will be present inside the JAXB object.
+         * This is why there is not a <CODE>set</CODE> method for the innName property.
+         * 
+         * <p>
+         * For example, to add a new item, do as follows:
+         * <pre>
+         *    getInnName().add(newItem);
+         * </pre>
+         * 
+         * 
+         * <p>
+         * Objects of the following type(s) are allowed in the list
+         * {@link EvidencedStringType }
+         * 
+         * 
+         */
+        public List<EvidencedStringType> getInnName() {
+            if (innName == null) {
+                innName = new ArrayList<EvidencedStringType>();
+            }
+            return this.innName;
+        }
+
     }
 
+
     /**
-     * Gets the value of the ecNumber property.
-     * 
-     * <p>
-     * This accessor method returns a reference to the live list, not a
-     * snapshot. Therefore any modification you make to the returned list will
-     * be present inside the JAXB object. This is why there is not a
-     * <CODE>set</CODE> method for the ecNumber property.
+     * <p>Java class for anonymous complex type.
      * 
-     * <p>
-     * For example, to add a new item, do as follows:
+     * <p>The following schema fragment specifies the expected content contained within this class.
      * 
      * <pre>
-     * getEcNumber().add(newItem);
+     * &lt;complexType>
+     *   &lt;complexContent>
+     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+     *       &lt;sequence>
+     *         &lt;element name="fullName" type="{http://uniprot.org/uniprot}evidencedStringType"/>
+     *         &lt;element name="shortName" type="{http://uniprot.org/uniprot}evidencedStringType" maxOccurs="unbounded" minOccurs="0"/>
+     *         &lt;element name="ecNumber" type="{http://uniprot.org/uniprot}evidencedStringType" maxOccurs="unbounded" minOccurs="0"/>
+     *       &lt;/sequence>
+     *     &lt;/restriction>
+     *   &lt;/complexContent>
+     * &lt;/complexType>
      * </pre>
      * 
      * 
-     * <p>
-     * Objects of the following type(s) are allowed in the list
-     * {@link EvidencedStringType }
-     * 
-     * 
      */
-    public List<EvidencedStringType> getEcNumber()
-    {
-      if (ecNumber == null)
-      {
-        ecNumber = new ArrayList<EvidencedStringType>();
-      }
-      return this.ecNumber;
-    }
-
-  }
-
-  /**
-   * <p>
-   * Java class for anonymous complex type.
-   * 
-   * <p>
-   * The following schema fragment specifies the expected content contained
-   * within this class.
-   * 
-   * <pre>
-   * &lt;complexType>
-   *   &lt;complexContent>
-   *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-   *       &lt;sequence>
-   *         &lt;element name="fullName" type="{http://uniprot.org/uniprot}evidencedStringType"/>
-   *         &lt;element name="ecNumber" type="{http://uniprot.org/uniprot}evidencedStringType" maxOccurs="unbounded" minOccurs="0"/>
-   *       &lt;/sequence>
-   *     &lt;/restriction>
-   *   &lt;/complexContent>
-   * &lt;/complexType>
-   * </pre>
-   * 
-   * 
-   */
-  @XmlAccessorType(XmlAccessType.FIELD)
-  @XmlType(name = "", propOrder = { "fullName", "ecNumber" })
-  public static class SubmittedName
-  {
-
-    @XmlElement(required = true)
-    protected EvidencedStringType fullName;
-
-    protected List<EvidencedStringType> ecNumber;
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "", propOrder = {
+        "fullName",
+        "shortName",
+        "ecNumber"
+    })
+    public static class RecommendedName {
+
+        @XmlElement(required = true)
+        protected EvidencedStringType fullName;
+        protected List<EvidencedStringType> shortName;
+        protected List<EvidencedStringType> ecNumber;
+
+        /**
+         * Gets the value of the fullName property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link EvidencedStringType }
+         *     
+         */
+        public EvidencedStringType getFullName() {
+            return fullName;
+        }
+
+        /**
+         * Sets the value of the fullName property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link EvidencedStringType }
+         *     
+         */
+        public void setFullName(EvidencedStringType value) {
+            this.fullName = value;
+        }
+
+        /**
+         * Gets the value of the shortName property.
+         * 
+         * <p>
+         * This accessor method returns a reference to the live list,
+         * not a snapshot. Therefore any modification you make to the
+         * returned list will be present inside the JAXB object.
+         * This is why there is not a <CODE>set</CODE> method for the shortName property.
+         * 
+         * <p>
+         * For example, to add a new item, do as follows:
+         * <pre>
+         *    getShortName().add(newItem);
+         * </pre>
+         * 
+         * 
+         * <p>
+         * Objects of the following type(s) are allowed in the list
+         * {@link EvidencedStringType }
+         * 
+         * 
+         */
+        public List<EvidencedStringType> getShortName() {
+            if (shortName == null) {
+                shortName = new ArrayList<EvidencedStringType>();
+            }
+            return this.shortName;
+        }
+
+        /**
+         * Gets the value of the ecNumber property.
+         * 
+         * <p>
+         * This accessor method returns a reference to the live list,
+         * not a snapshot. Therefore any modification you make to the
+         * returned list will be present inside the JAXB object.
+         * This is why there is not a <CODE>set</CODE> method for the ecNumber property.
+         * 
+         * <p>
+         * For example, to add a new item, do as follows:
+         * <pre>
+         *    getEcNumber().add(newItem);
+         * </pre>
+         * 
+         * 
+         * <p>
+         * Objects of the following type(s) are allowed in the list
+         * {@link EvidencedStringType }
+         * 
+         * 
+         */
+        public List<EvidencedStringType> getEcNumber() {
+            if (ecNumber == null) {
+                ecNumber = new ArrayList<EvidencedStringType>();
+            }
+            return this.ecNumber;
+        }
 
-    /**
-     * Gets the value of the fullName property.
-     * 
-     * @return possible object is {@link EvidencedStringType }
-     * 
-     */
-    public EvidencedStringType getFullName()
-    {
-      return fullName;
     }
 
-    /**
-     * Sets the value of the fullName property.
-     * 
-     * @param value
-     *          allowed object is {@link EvidencedStringType }
-     * 
-     */
-    public void setFullName(EvidencedStringType value)
-    {
-      this.fullName = value;
-    }
 
     /**
-     * Gets the value of the ecNumber property.
+     * <p>Java class for anonymous complex type.
      * 
-     * <p>
-     * This accessor method returns a reference to the live list, not a
-     * snapshot. Therefore any modification you make to the returned list will
-     * be present inside the JAXB object. This is why there is not a
-     * <CODE>set</CODE> method for the ecNumber property.
-     * 
-     * <p>
-     * For example, to add a new item, do as follows:
+     * <p>The following schema fragment specifies the expected content contained within this class.
      * 
      * <pre>
-     * getEcNumber().add(newItem);
+     * &lt;complexType>
+     *   &lt;complexContent>
+     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+     *       &lt;sequence>
+     *         &lt;element name="fullName" type="{http://uniprot.org/uniprot}evidencedStringType"/>
+     *         &lt;element name="ecNumber" type="{http://uniprot.org/uniprot}evidencedStringType" maxOccurs="unbounded" minOccurs="0"/>
+     *       &lt;/sequence>
+     *     &lt;/restriction>
+     *   &lt;/complexContent>
+     * &lt;/complexType>
      * </pre>
      * 
      * 
-     * <p>
-     * Objects of the following type(s) are allowed in the list
-     * {@link EvidencedStringType }
-     * 
-     * 
      */
-    public List<EvidencedStringType> getEcNumber()
-    {
-      if (ecNumber == null)
-      {
-        ecNumber = new ArrayList<EvidencedStringType>();
-      }
-      return this.ecNumber;
-    }
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "", propOrder = {
+        "fullName",
+        "ecNumber"
+    })
+    public static class SubmittedName {
+
+        @XmlElement(required = true)
+        protected EvidencedStringType fullName;
+        protected List<EvidencedStringType> ecNumber;
+
+        /**
+         * Gets the value of the fullName property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link EvidencedStringType }
+         *     
+         */
+        public EvidencedStringType getFullName() {
+            return fullName;
+        }
+
+        /**
+         * Sets the value of the fullName property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link EvidencedStringType }
+         *     
+         */
+        public void setFullName(EvidencedStringType value) {
+            this.fullName = value;
+        }
+
+        /**
+         * Gets the value of the ecNumber property.
+         * 
+         * <p>
+         * This accessor method returns a reference to the live list,
+         * not a snapshot. Therefore any modification you make to the
+         * returned list will be present inside the JAXB object.
+         * This is why there is not a <CODE>set</CODE> method for the ecNumber property.
+         * 
+         * <p>
+         * For example, to add a new item, do as follows:
+         * <pre>
+         *    getEcNumber().add(newItem);
+         * </pre>
+         * 
+         * 
+         * <p>
+         * Objects of the following type(s) are allowed in the list
+         * {@link EvidencedStringType }
+         * 
+         * 
+         */
+        public List<EvidencedStringType> getEcNumber() {
+            if (ecNumber == null) {
+                ecNumber = new ArrayList<EvidencedStringType>();
+            }
+            return this.ecNumber;
+        }
 
-  }
+    }
 
 }