JAL-1713 update from Jalview 2.11.3 develop
authorJames Procter <j.procter@dundee.ac.uk>
Tue, 31 Jan 2023 16:17:49 +0000 (16:17 +0000)
committerJames Procter <j.procter@dundee.ac.uk>
Tue, 31 Jan 2023 16:17:49 +0000 (16:17 +0000)
Merge branch 'develop' into feature/JAL-1713_overviewInProject
regenerated jaxb classes to resolve conflicts

79 files changed:
1  2 
src/jalview/gui/AlignFrame.java
src/jalview/gui/AlignmentPanel.java
src/jalview/gui/OverviewPanel.java
src/jalview/gui/Preferences.java
src/jalview/io/FileLoader.java
src/jalview/project/Jalview2XML.java
src/jalview/renderer/OverviewRenderer.java
src/jalview/xml/binding/embl/EntrySetType.java
src/jalview/xml/binding/embl/EntryType.java
src/jalview/xml/binding/embl/ObjectFactory.java
src/jalview/xml/binding/embl/ROOT.java
src/jalview/xml/binding/embl/XrefType.java
src/jalview/xml/binding/jalview/AlcodonFrame.java
src/jalview/xml/binding/jalview/Annotation.java
src/jalview/xml/binding/jalview/AnnotationColourScheme.java
src/jalview/xml/binding/jalview/AnnotationElement.java
src/jalview/xml/binding/jalview/DoubleMatrix.java
src/jalview/xml/binding/jalview/DoubleVector.java
src/jalview/xml/binding/jalview/Feature.java
src/jalview/xml/binding/jalview/FeatureMatcher.java
src/jalview/xml/binding/jalview/FeatureMatcherSet.java
src/jalview/xml/binding/jalview/FilterBy.java
src/jalview/xml/binding/jalview/JalviewModel.java
src/jalview/xml/binding/jalview/JalviewModelType.java
src/jalview/xml/binding/jalview/JalviewUserColours.java
src/jalview/xml/binding/jalview/MapListType.java
src/jalview/xml/binding/jalview/Mapping.java
src/jalview/xml/binding/jalview/NoValueColour.java
src/jalview/xml/binding/jalview/ObjectFactory.java
src/jalview/xml/binding/jalview/PcaDataType.java
src/jalview/xml/binding/jalview/Pdbentry.java
src/jalview/xml/binding/jalview/Sequence.java
src/jalview/xml/binding/jalview/SequenceSet.java
src/jalview/xml/binding/jalview/SequenceType.java
src/jalview/xml/binding/jalview/ThresholdType.java
src/jalview/xml/binding/jalview/VAMSAS.java
src/jalview/xml/binding/jalview/WebServiceParameterSet.java
src/jalview/xml/binding/jalview/package-info.java
src/jalview/xml/binding/uniprot/CitationType.java
src/jalview/xml/binding/uniprot/CofactorType.java
src/jalview/xml/binding/uniprot/CommentType.java
src/jalview/xml/binding/uniprot/ConsortiumType.java
src/jalview/xml/binding/uniprot/DbReferenceType.java
src/jalview/xml/binding/uniprot/Entry.java
src/jalview/xml/binding/uniprot/EventType.java
src/jalview/xml/binding/uniprot/EvidenceType.java
src/jalview/xml/binding/uniprot/EvidencedStringType.java
src/jalview/xml/binding/uniprot/FeatureType.java
src/jalview/xml/binding/uniprot/GeneLocationType.java
src/jalview/xml/binding/uniprot/GeneNameType.java
src/jalview/xml/binding/uniprot/GeneType.java
src/jalview/xml/binding/uniprot/ImportedFromType.java
src/jalview/xml/binding/uniprot/InteractantType.java
src/jalview/xml/binding/uniprot/IsoformType.java
src/jalview/xml/binding/uniprot/KeywordType.java
src/jalview/xml/binding/uniprot/LocationType.java
src/jalview/xml/binding/uniprot/MoleculeType.java
src/jalview/xml/binding/uniprot/NameListType.java
src/jalview/xml/binding/uniprot/ObjectFactory.java
src/jalview/xml/binding/uniprot/OrganismNameType.java
src/jalview/xml/binding/uniprot/OrganismType.java
src/jalview/xml/binding/uniprot/PersonType.java
src/jalview/xml/binding/uniprot/PhysiologicalReactionType.java
src/jalview/xml/binding/uniprot/PositionType.java
src/jalview/xml/binding/uniprot/PropertyType.java
src/jalview/xml/binding/uniprot/ProteinExistenceType.java
src/jalview/xml/binding/uniprot/ProteinType.java
src/jalview/xml/binding/uniprot/ReactionType.java
src/jalview/xml/binding/uniprot/ReferenceType.java
src/jalview/xml/binding/uniprot/SequenceType.java
src/jalview/xml/binding/uniprot/SourceDataType.java
src/jalview/xml/binding/uniprot/SourceType.java
src/jalview/xml/binding/uniprot/StatusType.java
src/jalview/xml/binding/uniprot/SubcellularLocationType.java
src/jalview/xml/binding/uniprot/Uniprot.java
src/jalview/xml/binding/uniprot/package-info.java
test/jalview/gui/AlignmentPanelTest.java
test/jalview/project/Jalview2xmlTests.java
test/jalview/renderer/OverviewRendererTest.java

@@@ -3432,25 -3437,21 +3437,26 @@@ public class AlignFrame extends GAlignF
    @Override
    public void overviewMenuItem_actionPerformed(ActionEvent e)
    {
 +    boolean showHiddenRegions = Cache.getDefault(Preferences.SHOW_OV_HIDDEN_AT_START,
 +                false);
 +    openOverviewPanel(showHiddenRegions);
 +  }
 +
 +  public OverviewPanel openOverviewPanel(boolean showHidden)
 +  {
      if (alignPanel.overviewPanel != null)
      {
 -      return;
 +      return alignPanel.overviewPanel;
      }
 -
      JInternalFrame frame = new JInternalFrame();
 -    final OverviewPanel overview = new OverviewPanel(alignPanel);
 +    final OverviewPanel overview = new OverviewPanel(alignPanel, frame, showHidden);
      frame.setContentPane(overview);
 -    Desktop.addInternalFrame(frame, MessageManager
 -            .formatMessage("label.overview_params", new Object[]
 -            { this.getTitle() }), true, frame.getWidth(), frame.getHeight(),
 +    Desktop.addInternalFrame(frame, "", true, frame.getWidth(), frame.getHeight(),
              true, true);
+     frame.setFrameIcon(null);
      frame.pack();
      frame.setLayer(JLayeredPane.PALETTE_LAYER);
 +    final AlignmentPanel thePanel = this.alignPanel; 
      frame.addInternalFrameListener(
              new javax.swing.event.InternalFrameAdapter()
              {
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -222,10 -222,10 +222,10 @@@ public class OverviewRendere
     *          column position to get colour for
     * @return colour of sequence at this position, as RGB
     */
-   int getColumnColourFromSequence(SequenceGroup[] allGroups,
-           SequenceI seq, int lastcol)
+   int getColumnColourFromSequence(SequenceGroup[] allGroups, SequenceI seq,
+           int lastcol)
    {
 -    Color color = resColFinder.GAP_COLOUR;
 +    Color color = resColFinder.gapColour;
  
      if ((seq != null) && (seq.getLength() > lastcol))
      {
@@@ -1,11 -1,10 +1,11 @@@
  //
- // This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
- // See https://eclipse-ee4j.github.io/jaxb-ri 
+ // 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: 2022.02.07 at 04:45:21 PM GMT 
 -// Generated on: 2018.09.14 at 02:46:00 PM BST 
++// Generated on: 2023.01.31 at 04:07:09 PM GMT 
  //
  
 +
  package jalview.xml.binding.embl;
  
  import java.util.ArrayList;
@@@ -15,62 -14,65 +15,62 @@@ import javax.xml.bind.annotation.XmlAcc
  import javax.xml.bind.annotation.XmlElement;
  import javax.xml.bind.annotation.XmlType;
  
 +
  /**
-  * &lt;p&gt;Java class for EntrySetType complex type.
 - * <p>
 - * Java class for EntrySetType complex type.
++ * <p>Java class for EntrySetType complex type.
   * 
-  * &lt;p&gt;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.
++ * <p>The following schema fragment specifies the expected content contained within this class.
   * 
-  * &lt;pre&gt;
-  * &amp;lt;complexType name="EntrySetType"&amp;gt;
-  *   &amp;lt;complexContent&amp;gt;
-  *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *       &amp;lt;sequence maxOccurs="unbounded"&amp;gt;
-  *         &amp;lt;element name="entry" type="{}EntryType"/&amp;gt;
-  *       &amp;lt;/sequence&amp;gt;
-  *     &amp;lt;/restriction&amp;gt;
-  *   &amp;lt;/complexContent&amp;gt;
-  * &amp;lt;/complexType&amp;gt;
-  * &lt;/pre&gt;
+  * <pre>
+  * &lt;complexType name="EntrySetType">
+  *   &lt;complexContent>
+  *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+  *       &lt;sequence maxOccurs="unbounded">
+  *         &lt;element name="entry" type="{}EntryType"/>
+  *       &lt;/sequence>
+  *     &lt;/restriction>
+  *   &lt;/complexContent>
+  * &lt;/complexType>
+  * </pre>
   * 
   * 
   */
  @XmlAccessorType(XmlAccessType.FIELD)
 -@XmlType(name = "EntrySetType", propOrder = { "entry" })
 -public class EntrySetType
 -{
 +@XmlType(name = "EntrySetType", propOrder = {
 +    "entry"
 +})
 +public class EntrySetType {
  
 -  @XmlElement(required = true)
 -  protected List<EntryType> entry;
 +    @XmlElement(required = true)
 +    protected List<EntryType> entry;
  
 -  /**
 -   * Gets the value of the entry 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 entry property.
 -   * 
 -   * <p>
 -   * For example, to add a new item, do as follows:
 -   * 
 -   * <pre>
 -   * getEntry().add(newItem);
 -   * </pre>
 -   * 
 -   * 
 -   * <p>
 -   * Objects of the following type(s) are allowed in the list {@link EntryType }
 -   * 
 -   * 
 -   */
 -  public List<EntryType> getEntry()
 -  {
 -    if (entry == null)
 -    {
 -      entry = new ArrayList<EntryType>();
 +    /**
 +     * Gets the value of the entry property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the entry property.
++     * This is why there is not a <CODE>set</CODE> method for the entry property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getEntry().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link EntryType }
 +     * 
 +     * 
 +     */
 +    public List<EntryType> getEntry() {
 +        if (entry == null) {
 +            entry = new ArrayList<EntryType>();
 +        }
 +        return this.entry;
      }
 -    return this.entry;
 -  }
  
  }
@@@ -1,11 -1,10 +1,11 @@@
  //
- // This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
- // See https://eclipse-ee4j.github.io/jaxb-ri 
+ // 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: 2022.02.07 at 04:45:21 PM GMT 
 -// Generated on: 2018.09.14 at 02:46:00 PM BST 
++// Generated on: 2023.01.31 at 04:07:09 PM GMT 
  //
  
 +
  package jalview.xml.binding.embl;
  
  import java.math.BigInteger;
@@@ -20,284 -19,926 +20,284 @@@ import javax.xml.bind.annotation.XmlSch
  import javax.xml.bind.annotation.XmlType;
  import javax.xml.datatype.XMLGregorianCalendar;
  
 +
  /**
-  * &lt;p&gt;Java class for EntryType complex type.
 - * <p>
 - * Java class for EntryType complex type.
++ * <p>Java class for EntryType complex type.
   * 
-  * &lt;p&gt;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.
++ * <p>The following schema fragment specifies the expected content contained within this class.
   * 
-  * &lt;pre&gt;
-  * &amp;lt;complexType name="EntryType"&amp;gt;
-  *   &amp;lt;complexContent&amp;gt;
-  *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *       &amp;lt;sequence&amp;gt;
-  *         &amp;lt;element name="secondaryAccession" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
-  *         &amp;lt;element name="projectAccession" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
-  *         &amp;lt;element name="description" type="{http://www.w3.org/2001/XMLSchema}string"/&amp;gt;
-  *         &amp;lt;element name="comment" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&amp;gt;
-  *         &amp;lt;element name="keyword" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
-  *         &amp;lt;element name="reference" maxOccurs="unbounded" minOccurs="0"&amp;gt;
-  *           &amp;lt;complexType&amp;gt;
-  *             &amp;lt;complexContent&amp;gt;
-  *               &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *                 &amp;lt;sequence&amp;gt;
-  *                   &amp;lt;element name="title" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&amp;gt;
-  *                   &amp;lt;element name="author" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
-  *                   &amp;lt;element name="applicant" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
-  *                   &amp;lt;element name="consortium" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&amp;gt;
-  *                   &amp;lt;element name="submissionDate" type="{http://www.w3.org/2001/XMLSchema}date" minOccurs="0"/&amp;gt;
-  *                   &amp;lt;element name="journal" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&amp;gt;
-  *                   &amp;lt;element name="year" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&amp;gt;
-  *                   &amp;lt;element name="volume" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&amp;gt;
-  *                   &amp;lt;element name="issue" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&amp;gt;
-  *                   &amp;lt;element name="firstPage" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&amp;gt;
-  *                   &amp;lt;element name="lastPage" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&amp;gt;
-  *                   &amp;lt;element name="comment" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&amp;gt;
-  *                   &amp;lt;element name="referenceLocation" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&amp;gt;
-  *                   &amp;lt;element name="xref" type="{}XrefType" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
-  *                 &amp;lt;/sequence&amp;gt;
-  *                 &amp;lt;attribute name="type" use="required"&amp;gt;
-  *                   &amp;lt;simpleType&amp;gt;
-  *                     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&amp;gt;
-  *                       &amp;lt;enumeration value="submission"/&amp;gt;
-  *                       &amp;lt;enumeration value="book"/&amp;gt;
-  *                       &amp;lt;enumeration value="article"/&amp;gt;
-  *                       &amp;lt;enumeration value="patent"/&amp;gt;
-  *                       &amp;lt;enumeration value="thesis"/&amp;gt;
-  *                       &amp;lt;enumeration value="unpublished"/&amp;gt;
-  *                     &amp;lt;/restriction&amp;gt;
-  *                   &amp;lt;/simpleType&amp;gt;
-  *                 &amp;lt;/attribute&amp;gt;
-  *                 &amp;lt;attribute name="number" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
-  *                 &amp;lt;attribute name="location" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *               &amp;lt;/restriction&amp;gt;
-  *             &amp;lt;/complexContent&amp;gt;
-  *           &amp;lt;/complexType&amp;gt;
-  *         &amp;lt;/element&amp;gt;
-  *         &amp;lt;element name="xref" type="{}XrefType" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
-  *         &amp;lt;element name="feature" maxOccurs="unbounded" minOccurs="0"&amp;gt;
-  *           &amp;lt;complexType&amp;gt;
-  *             &amp;lt;complexContent&amp;gt;
-  *               &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *                 &amp;lt;sequence&amp;gt;
-  *                   &amp;lt;element name="taxon" minOccurs="0"&amp;gt;
-  *                     &amp;lt;complexType&amp;gt;
-  *                       &amp;lt;complexContent&amp;gt;
-  *                         &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *                           &amp;lt;sequence&amp;gt;
-  *                             &amp;lt;element name="lineage" minOccurs="0"&amp;gt;
-  *                               &amp;lt;complexType&amp;gt;
-  *                                 &amp;lt;complexContent&amp;gt;
-  *                                   &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *                                     &amp;lt;sequence&amp;gt;
-  *                                       &amp;lt;element name="taxon" maxOccurs="unbounded"&amp;gt;
-  *                                         &amp;lt;complexType&amp;gt;
-  *                                           &amp;lt;complexContent&amp;gt;
-  *                                             &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *                                               &amp;lt;attribute name="scientificName" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *                                             &amp;lt;/restriction&amp;gt;
-  *                                           &amp;lt;/complexContent&amp;gt;
-  *                                         &amp;lt;/complexType&amp;gt;
-  *                                       &amp;lt;/element&amp;gt;
-  *                                     &amp;lt;/sequence&amp;gt;
-  *                                   &amp;lt;/restriction&amp;gt;
-  *                                 &amp;lt;/complexContent&amp;gt;
-  *                               &amp;lt;/complexType&amp;gt;
-  *                             &amp;lt;/element&amp;gt;
-  *                           &amp;lt;/sequence&amp;gt;
-  *                           &amp;lt;attribute name="scientificName" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *                           &amp;lt;attribute name="commonName" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *                           &amp;lt;attribute name="taxId" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
-  *                         &amp;lt;/restriction&amp;gt;
-  *                       &amp;lt;/complexContent&amp;gt;
-  *                     &amp;lt;/complexType&amp;gt;
-  *                   &amp;lt;/element&amp;gt;
-  *                   &amp;lt;element name="xref" type="{}XrefType" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
-  *                   &amp;lt;element name="qualifier" maxOccurs="unbounded" minOccurs="0"&amp;gt;
-  *                     &amp;lt;complexType&amp;gt;
-  *                       &amp;lt;complexContent&amp;gt;
-  *                         &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *                           &amp;lt;sequence&amp;gt;
-  *                             &amp;lt;element name="value" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&amp;gt;
-  *                           &amp;lt;/sequence&amp;gt;
-  *                           &amp;lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *                         &amp;lt;/restriction&amp;gt;
-  *                       &amp;lt;/complexContent&amp;gt;
-  *                     &amp;lt;/complexType&amp;gt;
-  *                   &amp;lt;/element&amp;gt;
-  *                 &amp;lt;/sequence&amp;gt;
-  *                 &amp;lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *                 &amp;lt;attribute name="location" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *               &amp;lt;/restriction&amp;gt;
-  *             &amp;lt;/complexContent&amp;gt;
-  *           &amp;lt;/complexType&amp;gt;
-  *         &amp;lt;/element&amp;gt;
-  *         &amp;lt;element name="assembly" minOccurs="0"&amp;gt;
-  *           &amp;lt;complexType&amp;gt;
-  *             &amp;lt;complexContent&amp;gt;
-  *               &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *                 &amp;lt;sequence&amp;gt;
-  *                   &amp;lt;element name="range" maxOccurs="unbounded"&amp;gt;
-  *                     &amp;lt;complexType&amp;gt;
-  *                       &amp;lt;complexContent&amp;gt;
-  *                         &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *                           &amp;lt;attribute name="begin" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
-  *                           &amp;lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
-  *                           &amp;lt;attribute name="primaryBegin" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
-  *                           &amp;lt;attribute name="primaryEnd" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
-  *                           &amp;lt;attribute name="accession" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *                           &amp;lt;attribute name="version" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
-  *                           &amp;lt;attribute name="complement" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
-  *                         &amp;lt;/restriction&amp;gt;
-  *                       &amp;lt;/complexContent&amp;gt;
-  *                     &amp;lt;/complexType&amp;gt;
-  *                   &amp;lt;/element&amp;gt;
-  *                 &amp;lt;/sequence&amp;gt;
-  *               &amp;lt;/restriction&amp;gt;
-  *             &amp;lt;/complexContent&amp;gt;
-  *           &amp;lt;/complexType&amp;gt;
-  *         &amp;lt;/element&amp;gt;
-  *         &amp;lt;element name="contig" minOccurs="0"&amp;gt;
-  *           &amp;lt;complexType&amp;gt;
-  *             &amp;lt;complexContent&amp;gt;
-  *               &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *                 &amp;lt;sequence&amp;gt;
-  *                   &amp;lt;choice maxOccurs="unbounded" minOccurs="0"&amp;gt;
-  *                     &amp;lt;element name="range"&amp;gt;
-  *                       &amp;lt;complexType&amp;gt;
-  *                         &amp;lt;complexContent&amp;gt;
-  *                           &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *                             &amp;lt;attribute name="begin" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
-  *                             &amp;lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
-  *                             &amp;lt;attribute name="primaryBegin" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
-  *                             &amp;lt;attribute name="primaryEnd" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
-  *                             &amp;lt;attribute name="accession" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *                             &amp;lt;attribute name="version" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
-  *                             &amp;lt;attribute name="complement" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
-  *                           &amp;lt;/restriction&amp;gt;
-  *                         &amp;lt;/complexContent&amp;gt;
-  *                       &amp;lt;/complexType&amp;gt;
-  *                     &amp;lt;/element&amp;gt;
-  *                     &amp;lt;element name="gap"&amp;gt;
-  *                       &amp;lt;complexType&amp;gt;
-  *                         &amp;lt;complexContent&amp;gt;
-  *                           &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *                             &amp;lt;attribute name="begin" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
-  *                             &amp;lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
-  *                             &amp;lt;attribute name="length" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
-  *                             &amp;lt;attribute name="unknownLength" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
-  *                           &amp;lt;/restriction&amp;gt;
-  *                         &amp;lt;/complexContent&amp;gt;
-  *                       &amp;lt;/complexType&amp;gt;
-  *                     &amp;lt;/element&amp;gt;
-  *                   &amp;lt;/choice&amp;gt;
-  *                 &amp;lt;/sequence&amp;gt;
-  *               &amp;lt;/restriction&amp;gt;
-  *             &amp;lt;/complexContent&amp;gt;
-  *           &amp;lt;/complexType&amp;gt;
-  *         &amp;lt;/element&amp;gt;
-  *         &amp;lt;element name="sequence" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&amp;gt;
-  *       &amp;lt;/sequence&amp;gt;
-  *       &amp;lt;attribute name="accession" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *       &amp;lt;attribute name="version" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
-  *       &amp;lt;attribute name="entryVersion" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
-  *       &amp;lt;attribute name="dataClass" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *       &amp;lt;attribute name="taxonomicDivision" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *       &amp;lt;attribute name="moleculeType" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *       &amp;lt;attribute name="sequenceLength" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
-  *       &amp;lt;attribute name="topology" use="required"&amp;gt;
-  *         &amp;lt;simpleType&amp;gt;
-  *           &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&amp;gt;
-  *             &amp;lt;enumeration value="circular"/&amp;gt;
-  *             &amp;lt;enumeration value="linear"/&amp;gt;
-  *           &amp;lt;/restriction&amp;gt;
-  *         &amp;lt;/simpleType&amp;gt;
-  *       &amp;lt;/attribute&amp;gt;
-  *       &amp;lt;attribute name="firstPublic" type="{http://www.w3.org/2001/XMLSchema}date" /&amp;gt;
-  *       &amp;lt;attribute name="firstPublicRelease" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
-  *       &amp;lt;attribute name="lastUpdated" type="{http://www.w3.org/2001/XMLSchema}date" /&amp;gt;
-  *       &amp;lt;attribute name="lastUpdatedRelease" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
-  *     &amp;lt;/restriction&amp;gt;
-  *   &amp;lt;/complexContent&amp;gt;
-  * &amp;lt;/complexType&amp;gt;
-  * &lt;/pre&gt;
+  * <pre>
+  * &lt;complexType name="EntryType">
+  *   &lt;complexContent>
+  *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+  *       &lt;sequence>
+  *         &lt;element name="secondaryAccession" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/>
+  *         &lt;element name="projectAccession" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/>
+  *         &lt;element name="description" type="{http://www.w3.org/2001/XMLSchema}string"/>
+  *         &lt;element name="comment" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+  *         &lt;element name="keyword" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/>
+  *         &lt;element name="reference" maxOccurs="unbounded" minOccurs="0">
+  *           &lt;complexType>
+  *             &lt;complexContent>
+  *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+  *                 &lt;sequence>
+  *                   &lt;element name="title" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+  *                   &lt;element name="author" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/>
+  *                   &lt;element name="applicant" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/>
+  *                   &lt;element name="consortium" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+  *                   &lt;element name="submissionDate" type="{http://www.w3.org/2001/XMLSchema}date" minOccurs="0"/>
+  *                   &lt;element name="journal" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+  *                   &lt;element name="year" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+  *                   &lt;element name="volume" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+  *                   &lt;element name="issue" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+  *                   &lt;element name="firstPage" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+  *                   &lt;element name="lastPage" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+  *                   &lt;element name="comment" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+  *                   &lt;element name="referenceLocation" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+  *                   &lt;element name="xref" type="{}XrefType" maxOccurs="unbounded" minOccurs="0"/>
+  *                 &lt;/sequence>
+  *                 &lt;attribute name="type" use="required">
+  *                   &lt;simpleType>
+  *                     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
+  *                       &lt;enumeration value="submission"/>
+  *                       &lt;enumeration value="book"/>
+  *                       &lt;enumeration value="article"/>
+  *                       &lt;enumeration value="patent"/>
+  *                       &lt;enumeration value="thesis"/>
+  *                       &lt;enumeration value="unpublished"/>
+  *                     &lt;/restriction>
+  *                   &lt;/simpleType>
+  *                 &lt;/attribute>
+  *                 &lt;attribute name="number" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
+  *                 &lt;attribute name="location" type="{http://www.w3.org/2001/XMLSchema}string" />
+  *               &lt;/restriction>
+  *             &lt;/complexContent>
+  *           &lt;/complexType>
+  *         &lt;/element>
+  *         &lt;element name="xref" type="{}XrefType" maxOccurs="unbounded" minOccurs="0"/>
+  *         &lt;element name="feature" maxOccurs="unbounded" minOccurs="0">
+  *           &lt;complexType>
+  *             &lt;complexContent>
+  *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+  *                 &lt;sequence>
+  *                   &lt;element name="taxon" minOccurs="0">
+  *                     &lt;complexType>
+  *                       &lt;complexContent>
+  *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+  *                           &lt;sequence>
+  *                             &lt;element name="lineage" minOccurs="0">
+  *                               &lt;complexType>
+  *                                 &lt;complexContent>
+  *                                   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+  *                                     &lt;sequence>
+  *                                       &lt;element name="taxon" maxOccurs="unbounded">
+  *                                         &lt;complexType>
+  *                                           &lt;complexContent>
+  *                                             &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+  *                                               &lt;attribute name="scientificName" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+  *                                             &lt;/restriction>
+  *                                           &lt;/complexContent>
+  *                                         &lt;/complexType>
+  *                                       &lt;/element>
+  *                                     &lt;/sequence>
+  *                                   &lt;/restriction>
+  *                                 &lt;/complexContent>
+  *                               &lt;/complexType>
+  *                             &lt;/element>
+  *                           &lt;/sequence>
+  *                           &lt;attribute name="scientificName" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+  *                           &lt;attribute name="commonName" type="{http://www.w3.org/2001/XMLSchema}string" />
+  *                           &lt;attribute name="taxId" type="{http://www.w3.org/2001/XMLSchema}integer" />
+  *                         &lt;/restriction>
+  *                       &lt;/complexContent>
+  *                     &lt;/complexType>
+  *                   &lt;/element>
+  *                   &lt;element name="xref" type="{}XrefType" maxOccurs="unbounded" minOccurs="0"/>
+  *                   &lt;element name="qualifier" maxOccurs="unbounded" minOccurs="0">
+  *                     &lt;complexType>
+  *                       &lt;complexContent>
+  *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+  *                           &lt;sequence>
+  *                             &lt;element name="value" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+  *                           &lt;/sequence>
+  *                           &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+  *                         &lt;/restriction>
+  *                       &lt;/complexContent>
+  *                     &lt;/complexType>
+  *                   &lt;/element>
+  *                 &lt;/sequence>
+  *                 &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+  *                 &lt;attribute name="location" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+  *               &lt;/restriction>
+  *             &lt;/complexContent>
+  *           &lt;/complexType>
+  *         &lt;/element>
+  *         &lt;element name="assembly" minOccurs="0">
+  *           &lt;complexType>
+  *             &lt;complexContent>
+  *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+  *                 &lt;sequence>
+  *                   &lt;element name="range" maxOccurs="unbounded">
+  *                     &lt;complexType>
+  *                       &lt;complexContent>
+  *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+  *                           &lt;attribute name="begin" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
+  *                           &lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
+  *                           &lt;attribute name="primaryBegin" type="{http://www.w3.org/2001/XMLSchema}integer" />
+  *                           &lt;attribute name="primaryEnd" type="{http://www.w3.org/2001/XMLSchema}integer" />
+  *                           &lt;attribute name="accession" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+  *                           &lt;attribute name="version" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
+  *                           &lt;attribute name="complement" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+  *                         &lt;/restriction>
+  *                       &lt;/complexContent>
+  *                     &lt;/complexType>
+  *                   &lt;/element>
+  *                 &lt;/sequence>
+  *               &lt;/restriction>
+  *             &lt;/complexContent>
+  *           &lt;/complexType>
+  *         &lt;/element>
+  *         &lt;element name="contig" minOccurs="0">
+  *           &lt;complexType>
+  *             &lt;complexContent>
+  *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+  *                 &lt;sequence>
+  *                   &lt;choice maxOccurs="unbounded" minOccurs="0">
+  *                     &lt;element name="range">
+  *                       &lt;complexType>
+  *                         &lt;complexContent>
+  *                           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+  *                             &lt;attribute name="begin" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
+  *                             &lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
+  *                             &lt;attribute name="primaryBegin" type="{http://www.w3.org/2001/XMLSchema}integer" />
+  *                             &lt;attribute name="primaryEnd" type="{http://www.w3.org/2001/XMLSchema}integer" />
+  *                             &lt;attribute name="accession" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+  *                             &lt;attribute name="version" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
+  *                             &lt;attribute name="complement" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+  *                           &lt;/restriction>
+  *                         &lt;/complexContent>
+  *                       &lt;/complexType>
+  *                     &lt;/element>
+  *                     &lt;element name="gap">
+  *                       &lt;complexType>
+  *                         &lt;complexContent>
+  *                           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+  *                             &lt;attribute name="begin" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
+  *                             &lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
+  *                             &lt;attribute name="length" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
+  *                             &lt;attribute name="unknownLength" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+  *                           &lt;/restriction>
+  *                         &lt;/complexContent>
+  *                       &lt;/complexType>
+  *                     &lt;/element>
+  *                   &lt;/choice>
+  *                 &lt;/sequence>
+  *               &lt;/restriction>
+  *             &lt;/complexContent>
+  *           &lt;/complexType>
+  *         &lt;/element>
+  *         &lt;element name="sequence" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+  *       &lt;/sequence>
+  *       &lt;attribute name="accession" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+  *       &lt;attribute name="version" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
+  *       &lt;attribute name="entryVersion" type="{http://www.w3.org/2001/XMLSchema}integer" />
+  *       &lt;attribute name="dataClass" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+  *       &lt;attribute name="taxonomicDivision" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+  *       &lt;attribute name="moleculeType" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+  *       &lt;attribute name="sequenceLength" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
+  *       &lt;attribute name="topology" use="required">
+  *         &lt;simpleType>
+  *           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
+  *             &lt;enumeration value="circular"/>
+  *             &lt;enumeration value="linear"/>
+  *           &lt;/restriction>
+  *         &lt;/simpleType>
+  *       &lt;/attribute>
+  *       &lt;attribute name="firstPublic" type="{http://www.w3.org/2001/XMLSchema}date" />
+  *       &lt;attribute name="firstPublicRelease" type="{http://www.w3.org/2001/XMLSchema}integer" />
+  *       &lt;attribute name="lastUpdated" type="{http://www.w3.org/2001/XMLSchema}date" />
+  *       &lt;attribute name="lastUpdatedRelease" type="{http://www.w3.org/2001/XMLSchema}integer" />
+  *     &lt;/restriction>
+  *   &lt;/complexContent>
+  * &lt;/complexType>
+  * </pre>
   * 
   * 
   */
  @XmlAccessorType(XmlAccessType.FIELD)
 -@XmlType(
 -  name = "EntryType",
 -  propOrder =
 -  { "secondaryAccession", "projectAccession", "description", "comment",
 -      "keyword", "reference", "xref", "feature", "assembly", "contig",
 -      "sequence" })
 -public class EntryType
 -{
 -
 -  protected List<String> secondaryAccession;
 -
 -  protected List<String> projectAccession;
 -
 -  @XmlElement(required = true)
 -  protected String description;
 -
 -  protected String comment;
 -
 -  protected List<String> keyword;
 -
 -  protected List<EntryType.Reference> reference;
 -
 -  protected List<XrefType> xref;
 -
 -  protected List<EntryType.Feature> feature;
 -
 -  protected EntryType.Assembly assembly;
 -
 -  protected EntryType.Contig contig;
 -
 -  protected String sequence;
 -
 -  @XmlAttribute(name = "accession", required = true)
 -  protected String accession;
 -
 -  @XmlAttribute(name = "version", required = true)
 -  protected BigInteger version;
 -
 -  @XmlAttribute(name = "entryVersion")
 -  protected BigInteger entryVersion;
 -
 -  @XmlAttribute(name = "dataClass", required = true)
 -  protected String dataClass;
 -
 -  @XmlAttribute(name = "taxonomicDivision", required = true)
 -  protected String taxonomicDivision;
 -
 -  @XmlAttribute(name = "moleculeType", required = true)
 -  protected String moleculeType;
 -
 -  @XmlAttribute(name = "sequenceLength", required = true)
 -  protected BigInteger sequenceLength;
 -
 -  @XmlAttribute(name = "topology", required = true)
 -  protected String topology;
 -
 -  @XmlAttribute(name = "firstPublic")
 -  @XmlSchemaType(name = "date")
 -  protected XMLGregorianCalendar firstPublic;
 -
 -  @XmlAttribute(name = "firstPublicRelease")
 -  protected BigInteger firstPublicRelease;
 -
 -  @XmlAttribute(name = "lastUpdated")
 -  @XmlSchemaType(name = "date")
 -  protected XMLGregorianCalendar lastUpdated;
 -
 -  @XmlAttribute(name = "lastUpdatedRelease")
 -  protected BigInteger lastUpdatedRelease;
 -
 -  /**
 -   * Gets the value of the secondaryAccession 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 secondaryAccession property.
 -   * 
 -   * <p>
 -   * For example, to add a new item, do as follows:
 -   * 
 -   * <pre>
 -   * getSecondaryAccession().add(newItem);
 -   * </pre>
 -   * 
 -   * 
 -   * <p>
 -   * Objects of the following type(s) are allowed in the list {@link String }
 -   * 
 -   * 
 -   */
 -  public List<String> getSecondaryAccession()
 -  {
 -    if (secondaryAccession == null)
 -    {
 -      secondaryAccession = new ArrayList<String>();
 -    }
 -    return this.secondaryAccession;
 -  }
 -
 -  /**
 -   * Gets the value of the projectAccession 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 projectAccession property.
 -   * 
 -   * <p>
 -   * For example, to add a new item, do as follows:
 -   * 
 -   * <pre>
 -   * getProjectAccession().add(newItem);
 -   * </pre>
 -   * 
 -   * 
 -   * <p>
 -   * Objects of the following type(s) are allowed in the list {@link String }
 -   * 
 -   * 
 -   */
 -  public List<String> getProjectAccession()
 -  {
 -    if (projectAccession == null)
 -    {
 -      projectAccession = new ArrayList<String>();
 -    }
 -    return this.projectAccession;
 -  }
 -
 -  /**
 -   * Gets the value of the description property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getDescription()
 -  {
 -    return description;
 -  }
 -
 -  /**
 -   * Sets the value of the description property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setDescription(String value)
 -  {
 -    this.description = value;
 -  }
 -
 -  /**
 -   * Gets the value of the comment property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getComment()
 -  {
 -    return comment;
 -  }
 -
 -  /**
 -   * Sets the value of the comment property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setComment(String value)
 -  {
 -    this.comment = value;
 -  }
 -
 -  /**
 -   * Gets the value of the keyword 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 keyword property.
 -   * 
 -   * <p>
 -   * For example, to add a new item, do as follows:
 -   * 
 -   * <pre>
 -   * getKeyword().add(newItem);
 -   * </pre>
 -   * 
 -   * 
 -   * <p>
 -   * Objects of the following type(s) are allowed in the list {@link String }
 -   * 
 -   * 
 -   */
 -  public List<String> getKeyword()
 -  {
 -    if (keyword == null)
 -    {
 -      keyword = new ArrayList<String>();
 -    }
 -    return this.keyword;
 -  }
 -
 -  /**
 -   * Gets the value of the reference 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 reference property.
 -   * 
 -   * <p>
 -   * For example, to add a new item, do as follows:
 -   * 
 -   * <pre>
 -   * getReference().add(newItem);
 -   * </pre>
 -   * 
 -   * 
 -   * <p>
 -   * Objects of the following type(s) are allowed in the list
 -   * {@link EntryType.Reference }
 -   * 
 -   * 
 -   */
 -  public List<EntryType.Reference> getReference()
 -  {
 -    if (reference == null)
 -    {
 -      reference = new ArrayList<EntryType.Reference>();
 -    }
 -    return this.reference;
 -  }
 -
 -  /**
 -   * Gets the value of the xref 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 xref property.
 -   * 
 -   * <p>
 -   * For example, to add a new item, do as follows:
 -   * 
 -   * <pre>
 -   * getXref().add(newItem);
 -   * </pre>
 -   * 
 -   * 
 -   * <p>
 -   * Objects of the following type(s) are allowed in the list {@link XrefType }
 -   * 
 -   * 
 -   */
 -  public List<XrefType> getXref()
 -  {
 -    if (xref == null)
 -    {
 -      xref = new ArrayList<XrefType>();
 -    }
 -    return this.xref;
 -  }
 -
 -  /**
 -   * Gets the value of the feature 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 feature property.
 -   * 
 -   * <p>
 -   * For example, to add a new item, do as follows:
 -   * 
 -   * <pre>
 -   * getFeature().add(newItem);
 -   * </pre>
 -   * 
 -   * 
 -   * <p>
 -   * Objects of the following type(s) are allowed in the list
 -   * {@link EntryType.Feature }
 -   * 
 -   * 
 -   */
 -  public List<EntryType.Feature> getFeature()
 -  {
 -    if (feature == null)
 -    {
 -      feature = new ArrayList<EntryType.Feature>();
 -    }
 -    return this.feature;
 -  }
 -
 -  /**
 -   * Gets the value of the assembly property.
 -   * 
 -   * @return possible object is {@link EntryType.Assembly }
 -   * 
 -   */
 -  public EntryType.Assembly getAssembly()
 -  {
 -    return assembly;
 -  }
 -
 -  /**
 -   * Sets the value of the assembly property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link EntryType.Assembly }
 -   * 
 -   */
 -  public void setAssembly(EntryType.Assembly value)
 -  {
 -    this.assembly = value;
 -  }
 -
 -  /**
 -   * Gets the value of the contig property.
 -   * 
 -   * @return possible object is {@link EntryType.Contig }
 -   * 
 -   */
 -  public EntryType.Contig getContig()
 -  {
 -    return contig;
 -  }
 -
 -  /**
 -   * Sets the value of the contig property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link EntryType.Contig }
 -   * 
 -   */
 -  public void setContig(EntryType.Contig value)
 -  {
 -    this.contig = value;
 -  }
 -
 -  /**
 -   * Gets the value of the sequence property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getSequence()
 -  {
 -    return sequence;
 -  }
 -
 -  /**
 -   * Sets the value of the sequence property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setSequence(String value)
 -  {
 -    this.sequence = value;
 -  }
 -
 -  /**
 -   * Gets the value of the accession property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getAccession()
 -  {
 -    return accession;
 -  }
 -
 -  /**
 -   * Sets the value of the accession property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setAccession(String value)
 -  {
 -    this.accession = value;
 -  }
 -
 -  /**
 -   * Gets the value of the version property.
 -   * 
 -   * @return possible object is {@link BigInteger }
 -   * 
 -   */
 -  public BigInteger getVersion()
 -  {
 -    return version;
 -  }
 -
 -  /**
 -   * Sets the value of the version property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link BigInteger }
 -   * 
 -   */
 -  public void setVersion(BigInteger value)
 -  {
 -    this.version = value;
 -  }
 -
 -  /**
 -   * Gets the value of the entryVersion property.
 -   * 
 -   * @return possible object is {@link BigInteger }
 -   * 
 -   */
 -  public BigInteger getEntryVersion()
 -  {
 -    return entryVersion;
 -  }
 -
 -  /**
 -   * Sets the value of the entryVersion property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link BigInteger }
 -   * 
 -   */
 -  public void setEntryVersion(BigInteger value)
 -  {
 -    this.entryVersion = value;
 -  }
 -
 -  /**
 -   * Gets the value of the dataClass property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getDataClass()
 -  {
 -    return dataClass;
 -  }
 -
 -  /**
 -   * Sets the value of the dataClass property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setDataClass(String value)
 -  {
 -    this.dataClass = value;
 -  }
 -
 -  /**
 -   * Gets the value of the taxonomicDivision property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getTaxonomicDivision()
 -  {
 -    return taxonomicDivision;
 -  }
 -
 -  /**
 -   * Sets the value of the taxonomicDivision property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setTaxonomicDivision(String value)
 -  {
 -    this.taxonomicDivision = value;
 -  }
 -
 -  /**
 -   * Gets the value of the moleculeType property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getMoleculeType()
 -  {
 -    return moleculeType;
 -  }
 -
 -  /**
 -   * Sets the value of the moleculeType property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setMoleculeType(String value)
 -  {
 -    this.moleculeType = value;
 -  }
 -
 -  /**
 -   * Gets the value of the sequenceLength property.
 -   * 
 -   * @return possible object is {@link BigInteger }
 -   * 
 -   */
 -  public BigInteger getSequenceLength()
 -  {
 -    return sequenceLength;
 -  }
 -
 -  /**
 -   * Sets the value of the sequenceLength property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link BigInteger }
 -   * 
 -   */
 -  public void setSequenceLength(BigInteger value)
 -  {
 -    this.sequenceLength = value;
 -  }
 -
 -  /**
 -   * Gets the value of the topology property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getTopology()
 -  {
 -    return topology;
 -  }
 -
 -  /**
 -   * Sets the value of the topology property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setTopology(String value)
 -  {
 -    this.topology = value;
 -  }
 -
 -  /**
 -   * Gets the value of the firstPublic property.
 -   * 
 -   * @return possible object is {@link XMLGregorianCalendar }
 -   * 
 -   */
 -  public XMLGregorianCalendar getFirstPublic()
 -  {
 -    return firstPublic;
 -  }
 -
 -  /**
 -   * Sets the value of the firstPublic property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link XMLGregorianCalendar }
 -   * 
 -   */
 -  public void setFirstPublic(XMLGregorianCalendar value)
 -  {
 -    this.firstPublic = value;
 -  }
 -
 -  /**
 -   * Gets the value of the firstPublicRelease property.
 -   * 
 -   * @return possible object is {@link BigInteger }
 -   * 
 -   */
 -  public BigInteger getFirstPublicRelease()
 -  {
 -    return firstPublicRelease;
 -  }
 -
 -  /**
 -   * Sets the value of the firstPublicRelease property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link BigInteger }
 -   * 
 -   */
 -  public void setFirstPublicRelease(BigInteger value)
 -  {
 -    this.firstPublicRelease = value;
 -  }
 -
 -  /**
 -   * Gets the value of the lastUpdated property.
 -   * 
 -   * @return possible object is {@link XMLGregorianCalendar }
 -   * 
 -   */
 -  public XMLGregorianCalendar getLastUpdated()
 -  {
 -    return lastUpdated;
 -  }
 -
 -  /**
 -   * Sets the value of the lastUpdated property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link XMLGregorianCalendar }
 -   * 
 -   */
 -  public void setLastUpdated(XMLGregorianCalendar value)
 -  {
 -    this.lastUpdated = value;
 -  }
 -
 -  /**
 -   * Gets the value of the lastUpdatedRelease property.
 -   * 
 -   * @return possible object is {@link BigInteger }
 -   * 
 -   */
 -  public BigInteger getLastUpdatedRelease()
 -  {
 -    return lastUpdatedRelease;
 -  }
 -
 -  /**
 -   * Sets the value of the lastUpdatedRelease property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link BigInteger }
 -   * 
 -   */
 -  public void setLastUpdatedRelease(BigInteger value)
 -  {
 -    this.lastUpdatedRelease = value;
 -  }
 -
 -  /**
 -   * <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="range" maxOccurs="unbounded">
 -   *           &lt;complexType>
 -   *             &lt;complexContent>
 -   *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 -   *                 &lt;attribute name="begin" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
 -   *                 &lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
 -   *                 &lt;attribute name="primaryBegin" type="{http://www.w3.org/2001/XMLSchema}integer" />
 -   *                 &lt;attribute name="primaryEnd" type="{http://www.w3.org/2001/XMLSchema}integer" />
 -   *                 &lt;attribute name="accession" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
 -   *                 &lt;attribute name="version" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
 -   *                 &lt;attribute name="complement" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
 -   *               &lt;/restriction>
 -   *             &lt;/complexContent>
 -   *           &lt;/complexType>
 -   *         &lt;/element>
 -   *       &lt;/sequence>
 -   *     &lt;/restriction>
 -   *   &lt;/complexContent>
 -   * &lt;/complexType>
 -   * </pre>
 -   * 
 -   * 
 -   */
 -  @XmlAccessorType(XmlAccessType.FIELD)
 -  @XmlType(name = "", propOrder = { "range" })
 -  public static class Assembly
 -  {
 -
 +@XmlType(name = "EntryType", propOrder = {
 +    "secondaryAccession",
 +    "projectAccession",
 +    "description",
 +    "comment",
 +    "keyword",
 +    "reference",
 +    "xref",
 +    "feature",
 +    "assembly",
 +    "contig",
 +    "sequence"
 +})
 +public class EntryType {
 +
 +    protected List<String> secondaryAccession;
 +    protected List<String> projectAccession;
      @XmlElement(required = true)
 -    protected List<EntryType.Assembly.Range> range;
 +    protected String description;
 +    protected String comment;
 +    protected List<String> keyword;
 +    protected List<EntryType.Reference> reference;
 +    protected List<XrefType> xref;
 +    protected List<EntryType.Feature> feature;
 +    protected EntryType.Assembly assembly;
 +    protected EntryType.Contig contig;
 +    protected String sequence;
 +    @XmlAttribute(name = "accession", required = true)
 +    protected String accession;
 +    @XmlAttribute(name = "version", required = true)
 +    protected BigInteger version;
 +    @XmlAttribute(name = "entryVersion")
 +    protected BigInteger entryVersion;
 +    @XmlAttribute(name = "dataClass", required = true)
 +    protected String dataClass;
 +    @XmlAttribute(name = "taxonomicDivision", required = true)
 +    protected String taxonomicDivision;
 +    @XmlAttribute(name = "moleculeType", required = true)
 +    protected String moleculeType;
 +    @XmlAttribute(name = "sequenceLength", required = true)
 +    protected BigInteger sequenceLength;
 +    @XmlAttribute(name = "topology", required = true)
 +    protected String topology;
 +    @XmlAttribute(name = "firstPublic")
 +    @XmlSchemaType(name = "date")
 +    protected XMLGregorianCalendar firstPublic;
 +    @XmlAttribute(name = "firstPublicRelease")
 +    protected BigInteger firstPublicRelease;
 +    @XmlAttribute(name = "lastUpdated")
 +    @XmlSchemaType(name = "date")
 +    protected XMLGregorianCalendar lastUpdated;
 +    @XmlAttribute(name = "lastUpdatedRelease")
 +    protected BigInteger lastUpdatedRelease;
  
      /**
 -     * Gets the value of the range property.
 +     * Gets the value of the secondaryAccession property.
       * 
-      * &lt;p&gt;
+      * <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 range 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 &lt;CODE&gt;set&lt;/CODE&gt; method for the secondaryAccession property.
++     * This is why there is not a <CODE>set</CODE> method for the secondaryAccession property.
       * 
-      * &lt;p&gt;
+      * <p>
       * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
 -     * 
+      * <pre>
 -     * getRange().add(newItem);
 +     *    getSecondaryAccession().add(newItem);
-      * &lt;/pre&gt;
+      * </pre>
       * 
       * 
-      * &lt;p&gt;
+      * <p>
       * Objects of the following type(s) are allowed in the list
 -     * {@link EntryType.Assembly.Range }
 +     * {@link String }
       * 
       * 
       */
      }
  
      /**
 -     * <p>
 -     * Java class for anonymous complex type.
 +     * Gets the value of the projectAccession property.
       * 
-      * &lt;p&gt;
+      * <p>
 -     * The following schema fragment specifies the expected content contained
 -     * within this class.
 +     * 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 &lt;CODE&gt;set&lt;/CODE&gt; method for the projectAccession property.
++     * This is why there is not a <CODE>set</CODE> method for the projectAccession property.
       * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
+      * <pre>
 -     * &lt;complexType>
 -     *   &lt;complexContent>
 -     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 -     *       &lt;attribute name="begin" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
 -     *       &lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
 -     *       &lt;attribute name="primaryBegin" type="{http://www.w3.org/2001/XMLSchema}integer" />
 -     *       &lt;attribute name="primaryEnd" type="{http://www.w3.org/2001/XMLSchema}integer" />
 -     *       &lt;attribute name="accession" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
 -     *       &lt;attribute name="version" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
 -     *       &lt;attribute name="complement" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
 -     *     &lt;/restriction>
 -     *   &lt;/complexContent>
 -     * &lt;/complexType>
 +     *    getProjectAccession().add(newItem);
-      * &lt;/pre&gt;
+      * </pre>
       * 
       * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link String }
 +     * 
 +     * 
       */
 -    @XmlAccessorType(XmlAccessType.FIELD)
 -    @XmlType(name = "")
 -    public static class Range
 -    {
 -
 -      @XmlAttribute(name = "begin", required = true)
 -      protected BigInteger begin;
 -
 -      @XmlAttribute(name = "end", required = true)
 -      protected BigInteger end;
 -
 -      @XmlAttribute(name = "primaryBegin")
 -      protected BigInteger primaryBegin;
 -
 -      @XmlAttribute(name = "primaryEnd")
 -      protected BigInteger primaryEnd;
 -
 -      @XmlAttribute(name = "accession", required = true)
 -      protected String accession;
 -
 -      @XmlAttribute(name = "version", required = true)
 -      protected BigInteger version;
 -
 -      @XmlAttribute(name = "complement")
 -      protected Boolean complement;
 -
 -      /**
 -       * Gets the value of the begin property.
 -       * 
 -       * @return possible object is {@link BigInteger }
 -       * 
 -       */
 -      public BigInteger getBegin()
 -      {
 -        return begin;
 -      }
 -
 -      /**
 -       * Sets the value of the begin property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link BigInteger }
 -       * 
 -       */
 -      public void setBegin(BigInteger value)
 -      {
 -        this.begin = value;
 -      }
 -
 -      /**
 -       * Gets the value of the end property.
 -       * 
 -       * @return possible object is {@link BigInteger }
 -       * 
 -       */
 -      public BigInteger getEnd()
 -      {
 -        return end;
 -      }
 -
 -      /**
 -       * Sets the value of the end property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link BigInteger }
 -       * 
 -       */
 -      public void setEnd(BigInteger value)
 -      {
 -        this.end = value;
 -      }
 -
 -      /**
 -       * Gets the value of the primaryBegin property.
 -       * 
 -       * @return possible object is {@link BigInteger }
 -       * 
 -       */
 -      public BigInteger getPrimaryBegin()
 -      {
 -        return primaryBegin;
 -      }
 -
 -      /**
 -       * Sets the value of the primaryBegin property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link BigInteger }
 -       * 
 -       */
 -      public void setPrimaryBegin(BigInteger value)
 -      {
 -        this.primaryBegin = value;
 -      }
 -
 -      /**
 -       * Gets the value of the primaryEnd property.
 -       * 
 -       * @return possible object is {@link BigInteger }
 -       * 
 -       */
 -      public BigInteger getPrimaryEnd()
 -      {
 -        return primaryEnd;
 -      }
 -
 -      /**
 -       * Sets the value of the primaryEnd property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link BigInteger }
 -       * 
 -       */
 -      public void setPrimaryEnd(BigInteger value)
 -      {
 -        this.primaryEnd = value;
 -      }
 -
 -      /**
 -       * Gets the value of the accession property.
 -       * 
 -       * @return possible object is {@link String }
 -       * 
 -       */
 -      public String getAccession()
 -      {
 -        return accession;
 -      }
 -
 -      /**
 -       * Sets the value of the accession property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link String }
 -       * 
 -       */
 -      public void setAccession(String value)
 -      {
 -        this.accession = value;
 -      }
 -
 -      /**
 -       * Gets the value of the version property.
 -       * 
 -       * @return possible object is {@link BigInteger }
 -       * 
 -       */
 -      public BigInteger getVersion()
 -      {
 -        return version;
 -      }
 -
 -      /**
 -       * Sets the value of the version property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link BigInteger }
 -       * 
 -       */
 -      public void setVersion(BigInteger value)
 -      {
 -        this.version = value;
 -      }
 -
 -      /**
 -       * Gets the value of the complement property.
 -       * 
 -       * @return possible object is {@link Boolean }
 -       * 
 -       */
 -      public boolean isComplement()
 -      {
 -        if (complement == null)
 -        {
 -          return false;
 -        }
 -        else
 -        {
 -          return complement;
 +    public List<String> getProjectAccession() {
 +        if (projectAccession == null) {
 +            projectAccession = new ArrayList<String>();
          }
 -      }
 -
 -      /**
 -       * Sets the value of the complement property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link Boolean }
 -       * 
 -       */
 -      public void setComplement(Boolean value)
 -      {
 -        this.complement = value;
 -      }
 +        return this.projectAccession;
 +    }
 +
 +    /**
 +     * Gets the value of the description property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link String }
 +     *     
 +     */
 +    public String getDescription() {
 +        return description;
 +    }
  
 +    /**
 +     * Sets the value of the description property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link String }
 +     *     
 +     */
 +    public void setDescription(String value) {
 +        this.description = value;
 +    }
 +
 +    /**
 +     * Gets the value of the comment property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link String }
 +     *     
 +     */
 +    public String getComment() {
 +        return comment;
      }
  
 -  }
 -
 -  /**
 -   * <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;choice maxOccurs="unbounded" minOccurs="0">
 -   *           &lt;element name="range">
 -   *             &lt;complexType>
 -   *               &lt;complexContent>
 -   *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 -   *                   &lt;attribute name="begin" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
 -   *                   &lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
 -   *                   &lt;attribute name="primaryBegin" type="{http://www.w3.org/2001/XMLSchema}integer" />
 -   *                   &lt;attribute name="primaryEnd" type="{http://www.w3.org/2001/XMLSchema}integer" />
 -   *                   &lt;attribute name="accession" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
 -   *                   &lt;attribute name="version" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
 -   *                   &lt;attribute name="complement" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
 -   *                 &lt;/restriction>
 -   *               &lt;/complexContent>
 -   *             &lt;/complexType>
 -   *           &lt;/element>
 -   *           &lt;element name="gap">
 -   *             &lt;complexType>
 -   *               &lt;complexContent>
 -   *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 -   *                   &lt;attribute name="begin" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
 -   *                   &lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
 -   *                   &lt;attribute name="length" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
 -   *                   &lt;attribute name="unknownLength" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
 -   *                 &lt;/restriction>
 -   *               &lt;/complexContent>
 -   *             &lt;/complexType>
 -   *           &lt;/element>
 -   *         &lt;/choice>
 -   *       &lt;/sequence>
 -   *     &lt;/restriction>
 -   *   &lt;/complexContent>
 -   * &lt;/complexType>
 -   * </pre>
 -   * 
 -   * 
 -   */
 -  @XmlAccessorType(XmlAccessType.FIELD)
 -  @XmlType(name = "", propOrder = { "rangeOrGap" })
 -  public static class Contig
 -  {
 -
 -    @XmlElements({
 -        @XmlElement(name = "range", type = EntryType.Contig.Range.class),
 -        @XmlElement(name = "gap", type = EntryType.Contig.Gap.class) })
 -    protected List<Object> rangeOrGap;
 +    /**
 +     * Sets the value of the comment property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link String }
 +     *     
 +     */
 +    public void setComment(String value) {
 +        this.comment = value;
 +    }
  
      /**
 -     * Gets the value of the rangeOrGap property.
 +     * Gets the value of the keyword property.
       * 
-      * &lt;p&gt;
+      * <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 rangeOrGap 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 &lt;CODE&gt;set&lt;/CODE&gt; method for the keyword property.
++     * This is why there is not a <CODE>set</CODE> method for the keyword property.
       * 
-      * &lt;p&gt;
+      * <p>
       * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
 -     * 
+      * <pre>
 -     * getRangeOrGap().add(newItem);
 +     *    getKeyword().add(newItem);
-      * &lt;/pre&gt;
+      * </pre>
       * 
       * 
-      * &lt;p&gt;
+      * <p>
       * Objects of the following type(s) are allowed in the list
 -     * {@link EntryType.Contig.Range } {@link EntryType.Contig.Gap }
 +     * {@link String }
       * 
       * 
       */
      }
  
      /**
 -     * <p>
 -     * Java class for anonymous complex type.
 +     * Gets the value of the reference property.
       * 
-      * &lt;p&gt;
+      * <p>
 -     * The following schema fragment specifies the expected content contained
 -     * within this class.
 +     * 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 &lt;CODE&gt;set&lt;/CODE&gt; method for the reference property.
++     * This is why there is not a <CODE>set</CODE> method for the reference property.
       * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
+      * <pre>
 -     * &lt;complexType>
 -     *   &lt;complexContent>
 -     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 -     *       &lt;attribute name="begin" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
 -     *       &lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
 -     *       &lt;attribute name="length" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
 -     *       &lt;attribute name="unknownLength" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
 -     *     &lt;/restriction>
 -     *   &lt;/complexContent>
 -     * &lt;/complexType>
 +     *    getReference().add(newItem);
-      * &lt;/pre&gt;
+      * </pre>
       * 
       * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link EntryType.Reference }
 +     * 
 +     * 
       */
 -    @XmlAccessorType(XmlAccessType.FIELD)
 -    @XmlType(name = "")
 -    public static class Gap
 -    {
 -
 -      @XmlAttribute(name = "begin", required = true)
 -      protected BigInteger begin;
 -
 -      @XmlAttribute(name = "end", required = true)
 -      protected BigInteger end;
 -
 -      @XmlAttribute(name = "length", required = true)
 -      protected BigInteger length;
 -
 -      @XmlAttribute(name = "unknownLength")
 -      protected Boolean unknownLength;
 -
 -      /**
 -       * Gets the value of the begin property.
 -       * 
 -       * @return possible object is {@link BigInteger }
 -       * 
 -       */
 -      public BigInteger getBegin()
 -      {
 -        return begin;
 -      }
 -
 -      /**
 -       * Sets the value of the begin property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link BigInteger }
 -       * 
 -       */
 -      public void setBegin(BigInteger value)
 -      {
 -        this.begin = value;
 -      }
 -
 -      /**
 -       * Gets the value of the end property.
 -       * 
 -       * @return possible object is {@link BigInteger }
 -       * 
 -       */
 -      public BigInteger getEnd()
 -      {
 -        return end;
 -      }
 -
 -      /**
 -       * Sets the value of the end property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link BigInteger }
 -       * 
 -       */
 -      public void setEnd(BigInteger value)
 -      {
 -        this.end = value;
 -      }
 -
 -      /**
 -       * Gets the value of the length property.
 -       * 
 -       * @return possible object is {@link BigInteger }
 -       * 
 -       */
 -      public BigInteger getLength()
 -      {
 -        return length;
 -      }
 -
 -      /**
 -       * Sets the value of the length property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link BigInteger }
 -       * 
 -       */
 -      public void setLength(BigInteger value)
 -      {
 -        this.length = value;
 -      }
 -
 -      /**
 -       * Gets the value of the unknownLength property.
 -       * 
 -       * @return possible object is {@link Boolean }
 -       * 
 -       */
 -      public boolean isUnknownLength()
 -      {
 -        if (unknownLength == null)
 -        {
 -          return false;
 +    public List<EntryType.Reference> getReference() {
 +        if (reference == null) {
 +            reference = new ArrayList<EntryType.Reference>();
          }
 -        else
 -        {
 -          return unknownLength;
 -        }
 -      }
 -
 -      /**
 -       * Sets the value of the unknownLength property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link Boolean }
 -       * 
 -       */
 -      public void setUnknownLength(Boolean value)
 -      {
 -        this.unknownLength = value;
 -      }
 -
 +        return this.reference;
      }
  
      /**
 -     * <p>
 -     * Java class for anonymous complex type.
 +     * Gets the value of the xref property.
       * 
-      * &lt;p&gt;
+      * <p>
 -     * The following schema fragment specifies the expected content contained
 -     * within this class.
 +     * 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 &lt;CODE&gt;set&lt;/CODE&gt; method for the xref property.
++     * This is why there is not a <CODE>set</CODE> method for the xref property.
       * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
+      * <pre>
 -     * &lt;complexType>
 -     *   &lt;complexContent>
 -     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 -     *       &lt;attribute name="begin" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
 -     *       &lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
 -     *       &lt;attribute name="primaryBegin" type="{http://www.w3.org/2001/XMLSchema}integer" />
 -     *       &lt;attribute name="primaryEnd" type="{http://www.w3.org/2001/XMLSchema}integer" />
 -     *       &lt;attribute name="accession" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
 -     *       &lt;attribute name="version" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
 -     *       &lt;attribute name="complement" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
 -     *     &lt;/restriction>
 -     *   &lt;/complexContent>
 -     * &lt;/complexType>
 +     *    getXref().add(newItem);
-      * &lt;/pre&gt;
+      * </pre>
       * 
       * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link XrefType }
 +     * 
 +     * 
       */
 -    @XmlAccessorType(XmlAccessType.FIELD)
 -    @XmlType(name = "")
 -    public static class Range
 -    {
 -
 -      @XmlAttribute(name = "begin", required = true)
 -      protected BigInteger begin;
 -
 -      @XmlAttribute(name = "end", required = true)
 -      protected BigInteger end;
 -
 -      @XmlAttribute(name = "primaryBegin")
 -      protected BigInteger primaryBegin;
 -
 -      @XmlAttribute(name = "primaryEnd")
 -      protected BigInteger primaryEnd;
 -
 -      @XmlAttribute(name = "accession", required = true)
 -      protected String accession;
 -
 -      @XmlAttribute(name = "version", required = true)
 -      protected BigInteger version;
 -
 -      @XmlAttribute(name = "complement")
 -      protected Boolean complement;
 -
 -      /**
 -       * Gets the value of the begin property.
 -       * 
 -       * @return possible object is {@link BigInteger }
 -       * 
 -       */
 -      public BigInteger getBegin()
 -      {
 -        return begin;
 -      }
 -
 -      /**
 -       * Sets the value of the begin property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link BigInteger }
 -       * 
 -       */
 -      public void setBegin(BigInteger value)
 -      {
 -        this.begin = value;
 -      }
 -
 -      /**
 -       * Gets the value of the end property.
 -       * 
 -       * @return possible object is {@link BigInteger }
 -       * 
 -       */
 -      public BigInteger getEnd()
 -      {
 -        return end;
 -      }
 -
 -      /**
 -       * Sets the value of the end property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link BigInteger }
 -       * 
 -       */
 -      public void setEnd(BigInteger value)
 -      {
 -        this.end = value;
 -      }
 -
 -      /**
 -       * Gets the value of the primaryBegin property.
 -       * 
 -       * @return possible object is {@link BigInteger }
 -       * 
 -       */
 -      public BigInteger getPrimaryBegin()
 -      {
 -        return primaryBegin;
 -      }
 -
 -      /**
 -       * Sets the value of the primaryBegin property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link BigInteger }
 -       * 
 -       */
 -      public void setPrimaryBegin(BigInteger value)
 -      {
 -        this.primaryBegin = value;
 -      }
 -
 -      /**
 -       * Gets the value of the primaryEnd property.
 -       * 
 -       * @return possible object is {@link BigInteger }
 -       * 
 -       */
 -      public BigInteger getPrimaryEnd()
 -      {
 -        return primaryEnd;
 -      }
 -
 -      /**
 -       * Sets the value of the primaryEnd property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link BigInteger }
 -       * 
 -       */
 -      public void setPrimaryEnd(BigInteger value)
 -      {
 -        this.primaryEnd = value;
 -      }
 -
 -      /**
 -       * Gets the value of the accession property.
 -       * 
 -       * @return possible object is {@link String }
 -       * 
 -       */
 -      public String getAccession()
 -      {
 -        return accession;
 -      }
 -
 -      /**
 -       * Sets the value of the accession property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link String }
 -       * 
 -       */
 -      public void setAccession(String value)
 -      {
 -        this.accession = value;
 -      }
 -
 -      /**
 -       * Gets the value of the version property.
 -       * 
 -       * @return possible object is {@link BigInteger }
 -       * 
 -       */
 -      public BigInteger getVersion()
 -      {
 -        return version;
 -      }
 -
 -      /**
 -       * Sets the value of the version property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link BigInteger }
 -       * 
 -       */
 -      public void setVersion(BigInteger value)
 -      {
 -        this.version = value;
 -      }
 -
 -      /**
 -       * Gets the value of the complement property.
 -       * 
 -       * @return possible object is {@link Boolean }
 -       * 
 -       */
 -      public boolean isComplement()
 -      {
 -        if (complement == null)
 -        {
 -          return false;
 -        }
 -        else
 -        {
 -          return complement;
 +    public List<XrefType> getXref() {
 +        if (xref == null) {
 +            xref = new ArrayList<XrefType>();
          }
 -      }
 -
 -      /**
 -       * Sets the value of the complement property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link Boolean }
 -       * 
 -       */
 -      public void setComplement(Boolean value)
 -      {
 -        this.complement = value;
 -      }
 -
 +        return this.xref;
      }
  
 -  }
 -
 -  /**
 -   * <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="taxon" minOccurs="0">
 -   *           &lt;complexType>
 -   *             &lt;complexContent>
 -   *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 -   *                 &lt;sequence>
 -   *                   &lt;element name="lineage" minOccurs="0">
 -   *                     &lt;complexType>
 -   *                       &lt;complexContent>
 -   *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 -   *                           &lt;sequence>
 -   *                             &lt;element name="taxon" maxOccurs="unbounded">
 -   *                               &lt;complexType>
 -   *                                 &lt;complexContent>
 -   *                                   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 -   *                                     &lt;attribute name="scientificName" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
 -   *                                   &lt;/restriction>
 -   *                                 &lt;/complexContent>
 -   *                               &lt;/complexType>
 -   *                             &lt;/element>
 -   *                           &lt;/sequence>
 -   *                         &lt;/restriction>
 -   *                       &lt;/complexContent>
 -   *                     &lt;/complexType>
 -   *                   &lt;/element>
 -   *                 &lt;/sequence>
 -   *                 &lt;attribute name="scientificName" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
 -   *                 &lt;attribute name="commonName" type="{http://www.w3.org/2001/XMLSchema}string" />
 -   *                 &lt;attribute name="taxId" type="{http://www.w3.org/2001/XMLSchema}integer" />
 -   *               &lt;/restriction>
 -   *             &lt;/complexContent>
 -   *           &lt;/complexType>
 -   *         &lt;/element>
 -   *         &lt;element name="xref" type="{}XrefType" maxOccurs="unbounded" minOccurs="0"/>
 -   *         &lt;element name="qualifier" maxOccurs="unbounded" minOccurs="0">
 -   *           &lt;complexType>
 -   *             &lt;complexContent>
 -   *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 -   *                 &lt;sequence>
 -   *                   &lt;element name="value" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 -   *                 &lt;/sequence>
 -   *                 &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
 -   *               &lt;/restriction>
 -   *             &lt;/complexContent>
 -   *           &lt;/complexType>
 -   *         &lt;/element>
 -   *       &lt;/sequence>
 -   *       &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
 -   *       &lt;attribute name="location" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
 -   *     &lt;/restriction>
 -   *   &lt;/complexContent>
 -   * &lt;/complexType>
 -   * </pre>
 -   * 
 -   * 
 -   */
 -  @XmlAccessorType(XmlAccessType.FIELD)
 -  @XmlType(name = "", propOrder = { "taxon", "xref", "qualifier" })
 -  public static class Feature
 -  {
 -
 -    protected EntryType.Feature.FeatureTaxon taxon;
 -
 -    protected List<XrefType> xref;
 +    /**
 +     * Gets the value of the feature property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the feature property.
++     * This is why there is not a <CODE>set</CODE> method for the feature property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getFeature().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link EntryType.Feature }
 +     * 
 +     * 
 +     */
 +    public List<EntryType.Feature> getFeature() {
 +        if (feature == null) {
 +            feature = new ArrayList<EntryType.Feature>();
 +        }
 +        return this.feature;
 +    }
  
 -    protected List<EntryType.Feature.Qualifier> qualifier;
 +    /**
 +     * Gets the value of the assembly property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link EntryType.Assembly }
 +     *     
 +     */
 +    public EntryType.Assembly getAssembly() {
 +        return assembly;
 +    }
  
 -    @XmlAttribute(name = "name", required = true)
 -    protected String name;
 +    /**
 +     * Sets the value of the assembly property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link EntryType.Assembly }
 +     *     
 +     */
 +    public void setAssembly(EntryType.Assembly value) {
 +        this.assembly = value;
 +    }
  
 -    @XmlAttribute(name = "location", required = true)
 -    protected String location;
 +    /**
 +     * Gets the value of the contig property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link EntryType.Contig }
 +     *     
 +     */
 +    public EntryType.Contig getContig() {
 +        return contig;
 +    }
  
      /**
 -     * Gets the value of the taxon property.
 +     * Sets the value of the contig property.
       * 
 -     * @return possible object is {@link EntryType.Feature.FeatureTaxon }
 +     * @param value
 +     *     allowed object is
 +     *     {@link EntryType.Contig }
 +     *     
 +     */
 +    public void setContig(EntryType.Contig value) {
 +        this.contig = value;
 +    }
 +
 +    /**
 +     * Gets the value of the sequence property.
       * 
 +     * @return
 +     *     possible object is
 +     *     {@link String }
 +     *     
       */
 -    public EntryType.Feature.FeatureTaxon getTaxon()
 -    {
 -      return taxon;
 +    public String getSequence() {
 +        return sequence;
      }
  
      /**
      }
  
      /**
 -     * <p>
 -     * Java class for anonymous complex type.
 +     * Gets the value of the lastUpdatedRelease property.
       * 
 -     * <p>
 -     * The following schema fragment specifies the expected content contained
 -     * within this class.
 +     * @return
 +     *     possible object is
 +     *     {@link BigInteger }
 +     *     
 +     */
 +    public BigInteger getLastUpdatedRelease() {
 +        return lastUpdatedRelease;
 +    }
 +
 +    /**
 +     * Sets the value of the lastUpdatedRelease property.
       * 
 -     * <pre>
 -     * &lt;complexType>
 +     * @param value
 +     *     allowed object is
 +     *     {@link BigInteger }
 +     *     
 +     */
 +    public void setLastUpdatedRelease(BigInteger value) {
 +        this.lastUpdatedRelease = value;
 +    }
 +
 +
 +    /**
-      * &lt;p&gt;Java class for anonymous complex type.
-      * 
-      * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
-      * 
-      * &lt;pre&gt;
-      * &amp;lt;complexType&amp;gt;
-      *   &amp;lt;complexContent&amp;gt;
-      *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-      *       &amp;lt;sequence&amp;gt;
-      *         &amp;lt;element name="range" maxOccurs="unbounded"&amp;gt;
-      *           &amp;lt;complexType&amp;gt;
-      *             &amp;lt;complexContent&amp;gt;
-      *               &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-      *                 &amp;lt;attribute name="begin" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
-      *                 &amp;lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
-      *                 &amp;lt;attribute name="primaryBegin" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
-      *                 &amp;lt;attribute name="primaryEnd" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
-      *                 &amp;lt;attribute name="accession" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-      *                 &amp;lt;attribute name="version" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
-      *                 &amp;lt;attribute name="complement" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
-      *               &amp;lt;/restriction&amp;gt;
-      *             &amp;lt;/complexContent&amp;gt;
-      *           &amp;lt;/complexType&amp;gt;
-      *         &amp;lt;/element&amp;gt;
-      *       &amp;lt;/sequence&amp;gt;
-      *     &amp;lt;/restriction&amp;gt;
-      *   &amp;lt;/complexContent&amp;gt;
-      * &amp;lt;/complexType&amp;gt;
-      * &lt;/pre&gt;
++     * <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="lineage" minOccurs="0">
++     *         &lt;element name="range" maxOccurs="unbounded">
+      *           &lt;complexType>
+      *             &lt;complexContent>
+      *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 -     *                 &lt;sequence>
 -     *                   &lt;element name="taxon" maxOccurs="unbounded">
 -     *                     &lt;complexType>
 -     *                       &lt;complexContent>
 -     *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 -     *                           &lt;attribute name="scientificName" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
 -     *                         &lt;/restriction>
 -     *                       &lt;/complexContent>
 -     *                     &lt;/complexType>
 -     *                   &lt;/element>
 -     *                 &lt;/sequence>
++     *                 &lt;attribute name="begin" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
++     *                 &lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
++     *                 &lt;attribute name="primaryBegin" type="{http://www.w3.org/2001/XMLSchema}integer" />
++     *                 &lt;attribute name="primaryEnd" type="{http://www.w3.org/2001/XMLSchema}integer" />
++     *                 &lt;attribute name="accession" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
++     *                 &lt;attribute name="version" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
++     *                 &lt;attribute name="complement" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+      *               &lt;/restriction>
+      *             &lt;/complexContent>
+      *           &lt;/complexType>
+      *         &lt;/element>
+      *       &lt;/sequence>
 -     *       &lt;attribute name="scientificName" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
 -     *       &lt;attribute name="commonName" type="{http://www.w3.org/2001/XMLSchema}string" />
 -     *       &lt;attribute name="taxId" type="{http://www.w3.org/2001/XMLSchema}integer" />
+      *     &lt;/restriction>
+      *   &lt;/complexContent>
+      * &lt;/complexType>
+      * </pre>
       * 
       * 
       */
      @XmlAccessorType(XmlAccessType.FIELD)
 -    @XmlType(name = "", propOrder = { "lineage" })
 -    public static class FeatureTaxon
 -    {
 -
 -      protected EntryType.Feature.FeatureTaxon.Lineage lineage;
 -
 -      @XmlAttribute(name = "scientificName", required = true)
 -      protected String scientificName;
 -
 -      @XmlAttribute(name = "commonName")
 -      protected String commonName;
 -
 -      @XmlAttribute(name = "taxId")
 -      protected BigInteger taxId;
 -
 -      /**
 -       * Gets the value of the lineage property.
 -       * 
 -       * @return possible object is
 -       *         {@link EntryType.Feature.FeatureTaxon.Lineage }
 -       * 
 -       */
 -      public EntryType.Feature.FeatureTaxon.Lineage getLineage()
 -      {
 -        return lineage;
 -      }
 -
 -      /**
 -       * Sets the value of the lineage property.
 -       * 
 -       * @param value
 -       *          allowed object is
 -       *          {@link EntryType.Feature.FeatureTaxon.Lineage }
 -       * 
 -       */
 -      public void setLineage(EntryType.Feature.FeatureTaxon.Lineage value)
 -      {
 -        this.lineage = value;
 -      }
 -
 -      /**
 -       * Gets the value of the scientificName property.
 -       * 
 -       * @return possible object is {@link String }
 -       * 
 -       */
 -      public String getScientificName()
 -      {
 -        return scientificName;
 -      }
 -
 -      /**
 -       * Sets the value of the scientificName property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link String }
 -       * 
 -       */
 -      public void setScientificName(String value)
 -      {
 -        this.scientificName = value;
 -      }
 -
 -      /**
 -       * Gets the value of the commonName property.
 -       * 
 -       * @return possible object is {@link String }
 -       * 
 -       */
 -      public String getCommonName()
 -      {
 -        return commonName;
 -      }
 -
 -      /**
 -       * Sets the value of the commonName property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link String }
 -       * 
 -       */
 -      public void setCommonName(String value)
 -      {
 -        this.commonName = value;
 -      }
 -
 -      /**
 -       * Gets the value of the taxId property.
 -       * 
 -       * @return possible object is {@link BigInteger }
 -       * 
 -       */
 -      public BigInteger getTaxId()
 -      {
 -        return taxId;
 -      }
 -
 -      /**
 -       * Sets the value of the taxId property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link BigInteger }
 -       * 
 -       */
 -      public void setTaxId(BigInteger value)
 -      {
 -        this.taxId = value;
 -      }
 -
 -      /**
 -       * <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="taxon" maxOccurs="unbounded">
 -       *           &lt;complexType>
 -       *             &lt;complexContent>
 -       *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 -       *                 &lt;attribute name="scientificName" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
 -       *               &lt;/restriction>
 -       *             &lt;/complexContent>
 -       *           &lt;/complexType>
 -       *         &lt;/element>
 -       *       &lt;/sequence>
 -       *     &lt;/restriction>
 -       *   &lt;/complexContent>
 -       * &lt;/complexType>
 -       * </pre>
 -       * 
 -       * 
 -       */
 -      @XmlAccessorType(XmlAccessType.FIELD)
 -      @XmlType(name = "", propOrder = { "taxon" })
 -      public static class Lineage
 -      {
 +    @XmlType(name = "", propOrder = {
 +        "range"
 +    })
 +    public static class Assembly {
  
          @XmlElement(required = true)
 -        protected List<EntryType.Feature.FeatureTaxon.Lineage.Taxon> taxon;
 +        protected List<EntryType.Assembly.Range> range;
  
          /**
 -         * Gets the value of the taxon property.
 +         * Gets the value of the range property.
           * 
-          * &lt;p&gt;
+          * <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 taxon 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 &lt;CODE&gt;set&lt;/CODE&gt; method for the range property.
++         * This is why there is not a <CODE>set</CODE> method for the range property.
           * 
-          * &lt;p&gt;
+          * <p>
           * For example, to add a new item, do as follows:
-          * &lt;pre&gt;
 -         * 
+          * <pre>
 -         * getTaxon().add(newItem);
 +         *    getRange().add(newItem);
-          * &lt;/pre&gt;
+          * </pre>
           * 
           * 
-          * &lt;p&gt;
+          * <p>
           * Objects of the following type(s) are allowed in the list
 -         * {@link EntryType.Feature.FeatureTaxon.Lineage.Taxon }
 +         * {@link EntryType.Assembly.Range }
 +         * 
 +         * 
 +         */
 +        public List<EntryType.Assembly.Range> getRange() {
 +            if (range == null) {
 +                range = new ArrayList<EntryType.Assembly.Range>();
 +            }
 +            return this.range;
 +        }
 +
 +
 +        /**
-          * &lt;p&gt;Java class for anonymous complex type.
-          * 
-          * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
-          * 
-          * &lt;pre&gt;
-          * &amp;lt;complexType&amp;gt;
-          *   &amp;lt;complexContent&amp;gt;
-          *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-          *       &amp;lt;attribute name="begin" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
-          *       &amp;lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
-          *       &amp;lt;attribute name="primaryBegin" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
-          *       &amp;lt;attribute name="primaryEnd" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
-          *       &amp;lt;attribute name="accession" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-          *       &amp;lt;attribute name="version" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
-          *       &amp;lt;attribute name="complement" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
-          *     &amp;lt;/restriction&amp;gt;
-          *   &amp;lt;/complexContent&amp;gt;
-          * &amp;lt;/complexType&amp;gt;
-          * &lt;/pre&gt;
++         * <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;attribute name="begin" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
++         *       &lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
++         *       &lt;attribute name="primaryBegin" type="{http://www.w3.org/2001/XMLSchema}integer" />
++         *       &lt;attribute name="primaryEnd" type="{http://www.w3.org/2001/XMLSchema}integer" />
++         *       &lt;attribute name="accession" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
++         *       &lt;attribute name="version" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
++         *       &lt;attribute name="complement" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
++         *     &lt;/restriction>
++         *   &lt;/complexContent>
++         * &lt;/complexType>
++         * </pre>
           * 
           * 
           */
 -        public List<EntryType.Feature.FeatureTaxon.Lineage.Taxon> getTaxon()
 -        {
 -          if (taxon == null)
 -          {
 -            taxon = new ArrayList<EntryType.Feature.FeatureTaxon.Lineage.Taxon>();
 -          }
 -          return this.taxon;
 +        @XmlAccessorType(XmlAccessType.FIELD)
 +        @XmlType(name = "")
 +        public static class Range {
 +
 +            @XmlAttribute(name = "begin", required = true)
 +            protected BigInteger begin;
 +            @XmlAttribute(name = "end", required = true)
 +            protected BigInteger end;
 +            @XmlAttribute(name = "primaryBegin")
 +            protected BigInteger primaryBegin;
 +            @XmlAttribute(name = "primaryEnd")
 +            protected BigInteger primaryEnd;
 +            @XmlAttribute(name = "accession", required = true)
 +            protected String accession;
 +            @XmlAttribute(name = "version", required = true)
 +            protected BigInteger version;
 +            @XmlAttribute(name = "complement")
 +            protected Boolean complement;
 +
 +            /**
 +             * Gets the value of the begin property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link BigInteger }
 +             *     
 +             */
 +            public BigInteger getBegin() {
 +                return begin;
 +            }
 +
 +            /**
 +             * Sets the value of the begin property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link BigInteger }
 +             *     
 +             */
 +            public void setBegin(BigInteger value) {
 +                this.begin = value;
 +            }
 +
 +            /**
 +             * Gets the value of the end property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link BigInteger }
 +             *     
 +             */
 +            public BigInteger getEnd() {
 +                return end;
 +            }
 +
 +            /**
 +             * Sets the value of the end property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link BigInteger }
 +             *     
 +             */
 +            public void setEnd(BigInteger value) {
 +                this.end = value;
 +            }
 +
 +            /**
 +             * Gets the value of the primaryBegin property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link BigInteger }
 +             *     
 +             */
 +            public BigInteger getPrimaryBegin() {
 +                return primaryBegin;
 +            }
 +
 +            /**
 +             * Sets the value of the primaryBegin property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link BigInteger }
 +             *     
 +             */
 +            public void setPrimaryBegin(BigInteger value) {
 +                this.primaryBegin = value;
 +            }
 +
 +            /**
 +             * Gets the value of the primaryEnd property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link BigInteger }
 +             *     
 +             */
 +            public BigInteger getPrimaryEnd() {
 +                return primaryEnd;
 +            }
 +
 +            /**
 +             * Sets the value of the primaryEnd property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link BigInteger }
 +             *     
 +             */
 +            public void setPrimaryEnd(BigInteger value) {
 +                this.primaryEnd = value;
 +            }
 +
 +            /**
 +             * Gets the value of the accession property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link String }
 +             *     
 +             */
 +            public String getAccession() {
 +                return accession;
 +            }
 +
 +            /**
 +             * Sets the value of the accession property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link String }
 +             *     
 +             */
 +            public void setAccession(String value) {
 +                this.accession = value;
 +            }
 +
 +            /**
 +             * Gets the value of the version property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link BigInteger }
 +             *     
 +             */
 +            public BigInteger getVersion() {
 +                return version;
 +            }
 +
 +            /**
 +             * Sets the value of the version property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link BigInteger }
 +             *     
 +             */
 +            public void setVersion(BigInteger value) {
 +                this.version = value;
 +            }
 +
 +            /**
 +             * Gets the value of the complement property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link Boolean }
 +             *     
 +             */
 +            public boolean isComplement() {
 +                if (complement == null) {
 +                    return false;
 +                } else {
 +                    return complement;
 +                }
 +            }
 +
 +            /**
 +             * Sets the value of the complement property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link Boolean }
 +             *     
 +             */
 +            public void setComplement(Boolean value) {
 +                this.complement = value;
 +            }
 +
          }
  
 +    }
 +
 +
 +    /**
-      * &lt;p&gt;Java class for anonymous complex type.
-      * 
-      * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
-      * 
-      * &lt;pre&gt;
-      * &amp;lt;complexType&amp;gt;
-      *   &amp;lt;complexContent&amp;gt;
-      *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-      *       &amp;lt;sequence&amp;gt;
-      *         &amp;lt;choice maxOccurs="unbounded" minOccurs="0"&amp;gt;
-      *           &amp;lt;element name="range"&amp;gt;
-      *             &amp;lt;complexType&amp;gt;
-      *               &amp;lt;complexContent&amp;gt;
-      *                 &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-      *                   &amp;lt;attribute name="begin" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
-      *                   &amp;lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
-      *                   &amp;lt;attribute name="primaryBegin" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
-      *                   &amp;lt;attribute name="primaryEnd" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
-      *                   &amp;lt;attribute name="accession" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-      *                   &amp;lt;attribute name="version" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
-      *                   &amp;lt;attribute name="complement" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
-      *                 &amp;lt;/restriction&amp;gt;
-      *               &amp;lt;/complexContent&amp;gt;
-      *             &amp;lt;/complexType&amp;gt;
-      *           &amp;lt;/element&amp;gt;
-      *           &amp;lt;element name="gap"&amp;gt;
-      *             &amp;lt;complexType&amp;gt;
-      *               &amp;lt;complexContent&amp;gt;
-      *                 &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-      *                   &amp;lt;attribute name="begin" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
-      *                   &amp;lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
-      *                   &amp;lt;attribute name="length" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
-      *                   &amp;lt;attribute name="unknownLength" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
-      *                 &amp;lt;/restriction&amp;gt;
-      *               &amp;lt;/complexContent&amp;gt;
-      *             &amp;lt;/complexType&amp;gt;
-      *           &amp;lt;/element&amp;gt;
-      *         &amp;lt;/choice&amp;gt;
-      *       &amp;lt;/sequence&amp;gt;
-      *     &amp;lt;/restriction&amp;gt;
-      *   &amp;lt;/complexContent&amp;gt;
-      * &amp;lt;/complexType&amp;gt;
-      * &lt;/pre&gt;
++     * <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;choice maxOccurs="unbounded" minOccurs="0">
++     *           &lt;element name="range">
++     *             &lt;complexType>
++     *               &lt;complexContent>
++     *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++     *                   &lt;attribute name="begin" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
++     *                   &lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
++     *                   &lt;attribute name="primaryBegin" type="{http://www.w3.org/2001/XMLSchema}integer" />
++     *                   &lt;attribute name="primaryEnd" type="{http://www.w3.org/2001/XMLSchema}integer" />
++     *                   &lt;attribute name="accession" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
++     *                   &lt;attribute name="version" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
++     *                   &lt;attribute name="complement" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
++     *                 &lt;/restriction>
++     *               &lt;/complexContent>
++     *             &lt;/complexType>
++     *           &lt;/element>
++     *           &lt;element name="gap">
++     *             &lt;complexType>
++     *               &lt;complexContent>
++     *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++     *                   &lt;attribute name="begin" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
++     *                   &lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
++     *                   &lt;attribute name="length" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
++     *                   &lt;attribute name="unknownLength" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
++     *                 &lt;/restriction>
++     *               &lt;/complexContent>
++     *             &lt;/complexType>
++     *           &lt;/element>
++     *         &lt;/choice>
++     *       &lt;/sequence>
++     *     &lt;/restriction>
++     *   &lt;/complexContent>
++     * &lt;/complexType>
++     * </pre>
 +     * 
 +     * 
 +     */
 +    @XmlAccessorType(XmlAccessType.FIELD)
 +    @XmlType(name = "", propOrder = {
 +        "rangeOrGap"
 +    })
 +    public static class Contig {
 +
 +        @XmlElements({
 +            @XmlElement(name = "range", type = EntryType.Contig.Range.class),
 +            @XmlElement(name = "gap", type = EntryType.Contig.Gap.class)
 +        })
 +        protected List<Object> rangeOrGap;
 +
          /**
 +         * Gets the value of the rangeOrGap property.
 +         * 
-          * &lt;p&gt;
+          * <p>
 -         * Java class for anonymous complex type.
 +         * 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 &lt;CODE&gt;set&lt;/CODE&gt; method for the rangeOrGap property.
++         * This is why there is not a <CODE>set</CODE> method for the rangeOrGap property.
           * 
-          * &lt;p&gt;
+          * <p>
 -         * The following schema fragment specifies the expected content
 -         * contained within this class.
 +         * For example, to add a new item, do as follows:
-          * &lt;pre&gt;
++         * <pre>
 +         *    getRangeOrGap().add(newItem);
-          * &lt;/pre&gt;
++         * </pre>
 +         * 
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * Objects of the following type(s) are allowed in the list
 +         * {@link EntryType.Contig.Range }
 +         * {@link EntryType.Contig.Gap }
 +         * 
 +         * 
 +         */
 +        public List<Object> getRangeOrGap() {
 +            if (rangeOrGap == null) {
 +                rangeOrGap = new ArrayList<Object>();
 +            }
 +            return this.rangeOrGap;
 +        }
 +
 +
 +        /**
-          * &lt;p&gt;Java class for anonymous complex type.
++         * <p>Java class for anonymous complex type.
 +         * 
-          * &lt;p&gt;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.
           * 
-          * &lt;pre&gt;
-          * &amp;lt;complexType&amp;gt;
-          *   &amp;lt;complexContent&amp;gt;
-          *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-          *       &amp;lt;attribute name="begin" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
-          *       &amp;lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
-          *       &amp;lt;attribute name="length" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
-          *       &amp;lt;attribute name="unknownLength" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
-          *     &amp;lt;/restriction&amp;gt;
-          *   &amp;lt;/complexContent&amp;gt;
-          * &amp;lt;/complexType&amp;gt;
-          * &lt;/pre&gt;
+          * <pre>
+          * &lt;complexType>
+          *   &lt;complexContent>
+          *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 -         *       &lt;attribute name="scientificName" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
++         *       &lt;attribute name="begin" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
++         *       &lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
++         *       &lt;attribute name="length" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
++         *       &lt;attribute name="unknownLength" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+          *     &lt;/restriction>
+          *   &lt;/complexContent>
+          * &lt;/complexType>
+          * </pre>
           * 
           * 
           */
  
          }
  
 -      }
 +
 +        /**
-          * &lt;p&gt;Java class for anonymous complex type.
-          * 
-          * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
-          * 
-          * &lt;pre&gt;
-          * &amp;lt;complexType&amp;gt;
-          *   &amp;lt;complexContent&amp;gt;
-          *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-          *       &amp;lt;attribute name="begin" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
-          *       &amp;lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
-          *       &amp;lt;attribute name="primaryBegin" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
-          *       &amp;lt;attribute name="primaryEnd" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
-          *       &amp;lt;attribute name="accession" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-          *       &amp;lt;attribute name="version" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
-          *       &amp;lt;attribute name="complement" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
-          *     &amp;lt;/restriction&amp;gt;
-          *   &amp;lt;/complexContent&amp;gt;
-          * &amp;lt;/complexType&amp;gt;
-          * &lt;/pre&gt;
++         * <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;attribute name="begin" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
++         *       &lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
++         *       &lt;attribute name="primaryBegin" type="{http://www.w3.org/2001/XMLSchema}integer" />
++         *       &lt;attribute name="primaryEnd" type="{http://www.w3.org/2001/XMLSchema}integer" />
++         *       &lt;attribute name="accession" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
++         *       &lt;attribute name="version" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
++         *       &lt;attribute name="complement" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
++         *     &lt;/restriction>
++         *   &lt;/complexContent>
++         * &lt;/complexType>
++         * </pre>
 +         * 
 +         * 
 +         */
 +        @XmlAccessorType(XmlAccessType.FIELD)
 +        @XmlType(name = "")
 +        public static class Range {
 +
 +            @XmlAttribute(name = "begin", required = true)
 +            protected BigInteger begin;
 +            @XmlAttribute(name = "end", required = true)
 +            protected BigInteger end;
 +            @XmlAttribute(name = "primaryBegin")
 +            protected BigInteger primaryBegin;
 +            @XmlAttribute(name = "primaryEnd")
 +            protected BigInteger primaryEnd;
 +            @XmlAttribute(name = "accession", required = true)
 +            protected String accession;
 +            @XmlAttribute(name = "version", required = true)
 +            protected BigInteger version;
 +            @XmlAttribute(name = "complement")
 +            protected Boolean complement;
 +
 +            /**
 +             * Gets the value of the begin property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link BigInteger }
 +             *     
 +             */
 +            public BigInteger getBegin() {
 +                return begin;
 +            }
 +
 +            /**
 +             * Sets the value of the begin property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link BigInteger }
 +             *     
 +             */
 +            public void setBegin(BigInteger value) {
 +                this.begin = value;
 +            }
 +
 +            /**
 +             * Gets the value of the end property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link BigInteger }
 +             *     
 +             */
 +            public BigInteger getEnd() {
 +                return end;
 +            }
 +
 +            /**
 +             * Sets the value of the end property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link BigInteger }
 +             *     
 +             */
 +            public void setEnd(BigInteger value) {
 +                this.end = value;
 +            }
 +
 +            /**
 +             * Gets the value of the primaryBegin property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link BigInteger }
 +             *     
 +             */
 +            public BigInteger getPrimaryBegin() {
 +                return primaryBegin;
 +            }
 +
 +            /**
 +             * Sets the value of the primaryBegin property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link BigInteger }
 +             *     
 +             */
 +            public void setPrimaryBegin(BigInteger value) {
 +                this.primaryBegin = value;
 +            }
 +
 +            /**
 +             * Gets the value of the primaryEnd property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link BigInteger }
 +             *     
 +             */
 +            public BigInteger getPrimaryEnd() {
 +                return primaryEnd;
 +            }
 +
 +            /**
 +             * Sets the value of the primaryEnd property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link BigInteger }
 +             *     
 +             */
 +            public void setPrimaryEnd(BigInteger value) {
 +                this.primaryEnd = value;
 +            }
 +
 +            /**
 +             * Gets the value of the accession property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link String }
 +             *     
 +             */
 +            public String getAccession() {
 +                return accession;
 +            }
 +
 +            /**
 +             * Sets the value of the accession property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link String }
 +             *     
 +             */
 +            public void setAccession(String value) {
 +                this.accession = value;
 +            }
 +
 +            /**
 +             * Gets the value of the version property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link BigInteger }
 +             *     
 +             */
 +            public BigInteger getVersion() {
 +                return version;
 +            }
 +
 +            /**
 +             * Sets the value of the version property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link BigInteger }
 +             *     
 +             */
 +            public void setVersion(BigInteger value) {
 +                this.version = value;
 +            }
 +
 +            /**
 +             * Gets the value of the complement property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link Boolean }
 +             *     
 +             */
 +            public boolean isComplement() {
 +                if (complement == null) {
 +                    return false;
 +                } else {
 +                    return complement;
 +                }
 +            }
 +
 +            /**
 +             * Sets the value of the complement property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link Boolean }
 +             *     
 +             */
 +            public void setComplement(Boolean value) {
 +                this.complement = value;
 +            }
 +
 +        }
  
      }
  
 +
      /**
-      * &lt;p&gt;Java class for anonymous complex type.
-      * 
-      * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
-      * 
-      * &lt;pre&gt;
-      * &amp;lt;complexType&amp;gt;
-      *   &amp;lt;complexContent&amp;gt;
-      *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-      *       &amp;lt;sequence&amp;gt;
-      *         &amp;lt;element name="taxon" minOccurs="0"&amp;gt;
-      *           &amp;lt;complexType&amp;gt;
-      *             &amp;lt;complexContent&amp;gt;
-      *               &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-      *                 &amp;lt;sequence&amp;gt;
-      *                   &amp;lt;element name="lineage" minOccurs="0"&amp;gt;
-      *                     &amp;lt;complexType&amp;gt;
-      *                       &amp;lt;complexContent&amp;gt;
-      *                         &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-      *                           &amp;lt;sequence&amp;gt;
-      *                             &amp;lt;element name="taxon" maxOccurs="unbounded"&amp;gt;
-      *                               &amp;lt;complexType&amp;gt;
-      *                                 &amp;lt;complexContent&amp;gt;
-      *                                   &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-      *                                     &amp;lt;attribute name="scientificName" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-      *                                   &amp;lt;/restriction&amp;gt;
-      *                                 &amp;lt;/complexContent&amp;gt;
-      *                               &amp;lt;/complexType&amp;gt;
-      *                             &amp;lt;/element&amp;gt;
-      *                           &amp;lt;/sequence&amp;gt;
-      *                         &amp;lt;/restriction&amp;gt;
-      *                       &amp;lt;/complexContent&amp;gt;
-      *                     &amp;lt;/complexType&amp;gt;
-      *                   &amp;lt;/element&amp;gt;
-      *                 &amp;lt;/sequence&amp;gt;
-      *                 &amp;lt;attribute name="scientificName" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-      *                 &amp;lt;attribute name="commonName" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-      *                 &amp;lt;attribute name="taxId" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
-      *               &amp;lt;/restriction&amp;gt;
-      *             &amp;lt;/complexContent&amp;gt;
-      *           &amp;lt;/complexType&amp;gt;
-      *         &amp;lt;/element&amp;gt;
-      *         &amp;lt;element name="xref" type="{}XrefType" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
-      *         &amp;lt;element name="qualifier" maxOccurs="unbounded" minOccurs="0"&amp;gt;
-      *           &amp;lt;complexType&amp;gt;
-      *             &amp;lt;complexContent&amp;gt;
-      *               &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-      *                 &amp;lt;sequence&amp;gt;
-      *                   &amp;lt;element name="value" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&amp;gt;
-      *                 &amp;lt;/sequence&amp;gt;
-      *                 &amp;lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-      *               &amp;lt;/restriction&amp;gt;
-      *             &amp;lt;/complexContent&amp;gt;
-      *           &amp;lt;/complexType&amp;gt;
-      *         &amp;lt;/element&amp;gt;
-      *       &amp;lt;/sequence&amp;gt;
-      *       &amp;lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-      *       &amp;lt;attribute name="location" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-      *     &amp;lt;/restriction&amp;gt;
-      *   &amp;lt;/complexContent&amp;gt;
-      * &amp;lt;/complexType&amp;gt;
-      * &lt;/pre&gt;
 -     * <p>
 -     * Java class for anonymous complex type.
++     * <p>Java class for anonymous 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>
+      *   &lt;complexContent>
+      *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+      *       &lt;sequence>
 -     *         &lt;element name="value" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
++     *         &lt;element name="taxon" minOccurs="0">
++     *           &lt;complexType>
++     *             &lt;complexContent>
++     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++     *                 &lt;sequence>
++     *                   &lt;element name="lineage" minOccurs="0">
++     *                     &lt;complexType>
++     *                       &lt;complexContent>
++     *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++     *                           &lt;sequence>
++     *                             &lt;element name="taxon" maxOccurs="unbounded">
++     *                               &lt;complexType>
++     *                                 &lt;complexContent>
++     *                                   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++     *                                     &lt;attribute name="scientificName" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
++     *                                   &lt;/restriction>
++     *                                 &lt;/complexContent>
++     *                               &lt;/complexType>
++     *                             &lt;/element>
++     *                           &lt;/sequence>
++     *                         &lt;/restriction>
++     *                       &lt;/complexContent>
++     *                     &lt;/complexType>
++     *                   &lt;/element>
++     *                 &lt;/sequence>
++     *                 &lt;attribute name="scientificName" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
++     *                 &lt;attribute name="commonName" type="{http://www.w3.org/2001/XMLSchema}string" />
++     *                 &lt;attribute name="taxId" type="{http://www.w3.org/2001/XMLSchema}integer" />
++     *               &lt;/restriction>
++     *             &lt;/complexContent>
++     *           &lt;/complexType>
++     *         &lt;/element>
++     *         &lt;element name="xref" type="{}XrefType" maxOccurs="unbounded" minOccurs="0"/>
++     *         &lt;element name="qualifier" maxOccurs="unbounded" minOccurs="0">
++     *           &lt;complexType>
++     *             &lt;complexContent>
++     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++     *                 &lt;sequence>
++     *                   &lt;element name="value" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
++     *                 &lt;/sequence>
++     *                 &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
++     *               &lt;/restriction>
++     *             &lt;/complexContent>
++     *           &lt;/complexType>
++     *         &lt;/element>
+      *       &lt;/sequence>
+      *       &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
++     *       &lt;attribute name="location" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+      *     &lt;/restriction>
+      *   &lt;/complexContent>
+      * &lt;/complexType>
+      * </pre>
       * 
       * 
       */
      @XmlAccessorType(XmlAccessType.FIELD)
 -    @XmlType(name = "", propOrder = { "value" })
 -    public static class Qualifier
 -    {
 -
 -      protected String value;
 -
 -      @XmlAttribute(name = "name", required = true)
 -      protected String name;
 -
 -      /**
 -       * Gets the value of the value property.
 -       * 
 -       * @return possible object is {@link String }
 -       * 
 -       */
 -      public String getValue()
 -      {
 -        return value;
 -      }
 -
 -      /**
 -       * Sets the value of the value property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link String }
 -       * 
 -       */
 -      public void setValue(String value)
 -      {
 -        this.value = value;
 -      }
 -
 -      /**
 -       * Gets the value of the name property.
 -       * 
 -       * @return possible object is {@link String }
 -       * 
 -       */
 -      public String getName()
 -      {
 -        return name;
 -      }
 -
 -      /**
 -       * Sets the value of the name property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link String }
 -       * 
 -       */
 -      public void setName(String value)
 -      {
 -        this.name = value;
 -      }
 -
 -    }
 +    @XmlType(name = "", propOrder = {
 +        "taxon",
 +        "xref",
 +        "qualifier"
 +    })
 +    public static class Feature {
 +
 +        protected EntryType.Feature.FeatureTaxon taxon;
 +        protected List<XrefType> xref;
 +        protected List<EntryType.Feature.Qualifier> qualifier;
 +        @XmlAttribute(name = "name", required = true)
 +        protected String name;
 +        @XmlAttribute(name = "location", required = true)
 +        protected String location;
  
 -  }
 -
 -  /**
 -   * <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="title" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 -   *         &lt;element name="author" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/>
 -   *         &lt;element name="applicant" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/>
 -   *         &lt;element name="consortium" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 -   *         &lt;element name="submissionDate" type="{http://www.w3.org/2001/XMLSchema}date" minOccurs="0"/>
 -   *         &lt;element name="journal" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 -   *         &lt;element name="year" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 -   *         &lt;element name="volume" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 -   *         &lt;element name="issue" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 -   *         &lt;element name="firstPage" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 -   *         &lt;element name="lastPage" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 -   *         &lt;element name="comment" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 -   *         &lt;element name="referenceLocation" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 -   *         &lt;element name="xref" type="{}XrefType" maxOccurs="unbounded" minOccurs="0"/>
 -   *       &lt;/sequence>
 -   *       &lt;attribute name="type" use="required">
 -   *         &lt;simpleType>
 -   *           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
 -   *             &lt;enumeration value="submission"/>
 -   *             &lt;enumeration value="book"/>
 -   *             &lt;enumeration value="article"/>
 -   *             &lt;enumeration value="patent"/>
 -   *             &lt;enumeration value="thesis"/>
 -   *             &lt;enumeration value="unpublished"/>
 -   *           &lt;/restriction>
 -   *         &lt;/simpleType>
 -   *       &lt;/attribute>
 -   *       &lt;attribute name="number" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
 -   *       &lt;attribute name="location" type="{http://www.w3.org/2001/XMLSchema}string" />
 -   *     &lt;/restriction>
 -   *   &lt;/complexContent>
 -   * &lt;/complexType>
 -   * </pre>
 -   * 
 -   * 
 -   */
 -  @XmlAccessorType(XmlAccessType.FIELD)
 -  @XmlType(
 -    name = "",
 -    propOrder =
 -    { "title", "author", "applicant", "consortium", "submissionDate",
 -        "journal", "year", "volume", "issue", "firstPage", "lastPage",
 -        "comment", "referenceLocation", "xref" })
 -  public static class Reference
 -  {
 -
 -    protected String title;
 -
 -    protected List<String> author;
 -
 -    protected List<String> applicant;
 -
 -    protected String consortium;
 +        /**
 +         * Gets the value of the taxon property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link EntryType.Feature.FeatureTaxon }
 +         *     
 +         */
 +        public EntryType.Feature.FeatureTaxon getTaxon() {
 +            return taxon;
 +        }
  
 -    @XmlSchemaType(name = "date")
 -    protected XMLGregorianCalendar submissionDate;
 +        /**
 +         * Sets the value of the taxon property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link EntryType.Feature.FeatureTaxon }
 +         *     
 +         */
 +        public void setTaxon(EntryType.Feature.FeatureTaxon value) {
 +            this.taxon = value;
 +        }
  
 -    protected String journal;
 +        /**
 +         * Gets the value of the xref property.
 +         * 
-          * &lt;p&gt;
++         * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the xref property.
++         * This is why there is not a <CODE>set</CODE> method for the xref property.
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * For example, to add a new item, do as follows:
-          * &lt;pre&gt;
++         * <pre>
 +         *    getXref().add(newItem);
-          * &lt;/pre&gt;
++         * </pre>
 +         * 
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * Objects of the following type(s) are allowed in the list
 +         * {@link XrefType }
 +         * 
 +         * 
 +         */
 +        public List<XrefType> getXref() {
 +            if (xref == null) {
 +                xref = new ArrayList<XrefType>();
 +            }
 +            return this.xref;
 +        }
  
 -    protected String year;
 +        /**
 +         * Gets the value of the qualifier property.
 +         * 
-          * &lt;p&gt;
++         * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the qualifier property.
++         * This is why there is not a <CODE>set</CODE> method for the qualifier property.
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * For example, to add a new item, do as follows:
-          * &lt;pre&gt;
++         * <pre>
 +         *    getQualifier().add(newItem);
-          * &lt;/pre&gt;
++         * </pre>
 +         * 
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * Objects of the following type(s) are allowed in the list
 +         * {@link EntryType.Feature.Qualifier }
 +         * 
 +         * 
 +         */
 +        public List<EntryType.Feature.Qualifier> getQualifier() {
 +            if (qualifier == null) {
 +                qualifier = new ArrayList<EntryType.Feature.Qualifier>();
 +            }
 +            return this.qualifier;
 +        }
  
 -    protected String volume;
 +        /**
 +         * Gets the value of the name property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link String }
 +         *     
 +         */
 +        public String getName() {
 +            return name;
 +        }
  
 -    protected String issue;
 +        /**
 +         * Sets the value of the name property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link String }
 +         *     
 +         */
 +        public void setName(String value) {
 +            this.name = value;
 +        }
  
 -    protected String firstPage;
 +        /**
 +         * Gets the value of the location property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link String }
 +         *     
 +         */
 +        public String getLocation() {
 +            return location;
 +        }
  
 -    protected String lastPage;
 +        /**
 +         * Sets the value of the location property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link String }
 +         *     
 +         */
 +        public void setLocation(String value) {
 +            this.location = value;
 +        }
  
 -    protected String comment;
  
 -    protected String referenceLocation;
 +        /**
-          * &lt;p&gt;Java class for anonymous complex type.
-          * 
-          * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
-          * 
-          * &lt;pre&gt;
-          * &amp;lt;complexType&amp;gt;
-          *   &amp;lt;complexContent&amp;gt;
-          *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-          *       &amp;lt;sequence&amp;gt;
-          *         &amp;lt;element name="lineage" minOccurs="0"&amp;gt;
-          *           &amp;lt;complexType&amp;gt;
-          *             &amp;lt;complexContent&amp;gt;
-          *               &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-          *                 &amp;lt;sequence&amp;gt;
-          *                   &amp;lt;element name="taxon" maxOccurs="unbounded"&amp;gt;
-          *                     &amp;lt;complexType&amp;gt;
-          *                       &amp;lt;complexContent&amp;gt;
-          *                         &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-          *                           &amp;lt;attribute name="scientificName" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-          *                         &amp;lt;/restriction&amp;gt;
-          *                       &amp;lt;/complexContent&amp;gt;
-          *                     &amp;lt;/complexType&amp;gt;
-          *                   &amp;lt;/element&amp;gt;
-          *                 &amp;lt;/sequence&amp;gt;
-          *               &amp;lt;/restriction&amp;gt;
-          *             &amp;lt;/complexContent&amp;gt;
-          *           &amp;lt;/complexType&amp;gt;
-          *         &amp;lt;/element&amp;gt;
-          *       &amp;lt;/sequence&amp;gt;
-          *       &amp;lt;attribute name="scientificName" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-          *       &amp;lt;attribute name="commonName" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-          *       &amp;lt;attribute name="taxId" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
-          *     &amp;lt;/restriction&amp;gt;
-          *   &amp;lt;/complexContent&amp;gt;
-          * &amp;lt;/complexType&amp;gt;
-          * &lt;/pre&gt;
++         * <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="lineage" minOccurs="0">
++         *           &lt;complexType>
++         *             &lt;complexContent>
++         *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++         *                 &lt;sequence>
++         *                   &lt;element name="taxon" maxOccurs="unbounded">
++         *                     &lt;complexType>
++         *                       &lt;complexContent>
++         *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++         *                           &lt;attribute name="scientificName" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
++         *                         &lt;/restriction>
++         *                       &lt;/complexContent>
++         *                     &lt;/complexType>
++         *                   &lt;/element>
++         *                 &lt;/sequence>
++         *               &lt;/restriction>
++         *             &lt;/complexContent>
++         *           &lt;/complexType>
++         *         &lt;/element>
++         *       &lt;/sequence>
++         *       &lt;attribute name="scientificName" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
++         *       &lt;attribute name="commonName" type="{http://www.w3.org/2001/XMLSchema}string" />
++         *       &lt;attribute name="taxId" type="{http://www.w3.org/2001/XMLSchema}integer" />
++         *     &lt;/restriction>
++         *   &lt;/complexContent>
++         * &lt;/complexType>
++         * </pre>
 +         * 
 +         * 
 +         */
 +        @XmlAccessorType(XmlAccessType.FIELD)
 +        @XmlType(name = "", propOrder = {
 +            "lineage"
 +        })
 +        public static class FeatureTaxon {
 +
 +            protected EntryType.Feature.FeatureTaxon.Lineage lineage;
 +            @XmlAttribute(name = "scientificName", required = true)
 +            protected String scientificName;
 +            @XmlAttribute(name = "commonName")
 +            protected String commonName;
 +            @XmlAttribute(name = "taxId")
 +            protected BigInteger taxId;
 +
 +            /**
 +             * Gets the value of the lineage property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link EntryType.Feature.FeatureTaxon.Lineage }
 +             *     
 +             */
 +            public EntryType.Feature.FeatureTaxon.Lineage getLineage() {
 +                return lineage;
 +            }
 +
 +            /**
 +             * Sets the value of the lineage property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link EntryType.Feature.FeatureTaxon.Lineage }
 +             *     
 +             */
 +            public void setLineage(EntryType.Feature.FeatureTaxon.Lineage value) {
 +                this.lineage = value;
 +            }
 +
 +            /**
 +             * Gets the value of the scientificName property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link String }
 +             *     
 +             */
 +            public String getScientificName() {
 +                return scientificName;
 +            }
 +
 +            /**
 +             * Sets the value of the scientificName property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link String }
 +             *     
 +             */
 +            public void setScientificName(String value) {
 +                this.scientificName = value;
 +            }
 +
 +            /**
 +             * Gets the value of the commonName property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link String }
 +             *     
 +             */
 +            public String getCommonName() {
 +                return commonName;
 +            }
 +
 +            /**
 +             * Sets the value of the commonName property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link String }
 +             *     
 +             */
 +            public void setCommonName(String value) {
 +                this.commonName = value;
 +            }
 +
 +            /**
 +             * Gets the value of the taxId property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link BigInteger }
 +             *     
 +             */
 +            public BigInteger getTaxId() {
 +                return taxId;
 +            }
 +
 +            /**
 +             * Sets the value of the taxId property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link BigInteger }
 +             *     
 +             */
 +            public void setTaxId(BigInteger value) {
 +                this.taxId = value;
 +            }
 +
 +
 +            /**
-              * &lt;p&gt;Java class for anonymous complex type.
++             * <p>Java class for anonymous complex type.
 +             * 
-              * &lt;p&gt;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.
 +             * 
-              * &lt;pre&gt;
-              * &amp;lt;complexType&amp;gt;
-              *   &amp;lt;complexContent&amp;gt;
-              *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-              *       &amp;lt;sequence&amp;gt;
-              *         &amp;lt;element name="taxon" maxOccurs="unbounded"&amp;gt;
-              *           &amp;lt;complexType&amp;gt;
-              *             &amp;lt;complexContent&amp;gt;
-              *               &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-              *                 &amp;lt;attribute name="scientificName" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-              *               &amp;lt;/restriction&amp;gt;
-              *             &amp;lt;/complexContent&amp;gt;
-              *           &amp;lt;/complexType&amp;gt;
-              *         &amp;lt;/element&amp;gt;
-              *       &amp;lt;/sequence&amp;gt;
-              *     &amp;lt;/restriction&amp;gt;
-              *   &amp;lt;/complexContent&amp;gt;
-              * &amp;lt;/complexType&amp;gt;
-              * &lt;/pre&gt;
++             * <pre>
++             * &lt;complexType>
++             *   &lt;complexContent>
++             *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++             *       &lt;sequence>
++             *         &lt;element name="taxon" maxOccurs="unbounded">
++             *           &lt;complexType>
++             *             &lt;complexContent>
++             *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++             *                 &lt;attribute name="scientificName" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
++             *               &lt;/restriction>
++             *             &lt;/complexContent>
++             *           &lt;/complexType>
++             *         &lt;/element>
++             *       &lt;/sequence>
++             *     &lt;/restriction>
++             *   &lt;/complexContent>
++             * &lt;/complexType>
++             * </pre>
 +             * 
 +             * 
 +             */
 +            @XmlAccessorType(XmlAccessType.FIELD)
 +            @XmlType(name = "", propOrder = {
 +                "taxon"
 +            })
 +            public static class Lineage {
 +
 +                @XmlElement(required = true)
 +                protected List<EntryType.Feature.FeatureTaxon.Lineage.Taxon> taxon;
 +
 +                /**
 +                 * Gets the value of the taxon property.
 +                 * 
-                  * &lt;p&gt;
++                 * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the taxon property.
++                 * This is why there is not a <CODE>set</CODE> method for the taxon property.
 +                 * 
-                  * &lt;p&gt;
++                 * <p>
 +                 * For example, to add a new item, do as follows:
-                  * &lt;pre&gt;
++                 * <pre>
 +                 *    getTaxon().add(newItem);
-                  * &lt;/pre&gt;
++                 * </pre>
 +                 * 
 +                 * 
-                  * &lt;p&gt;
++                 * <p>
 +                 * Objects of the following type(s) are allowed in the list
 +                 * {@link EntryType.Feature.FeatureTaxon.Lineage.Taxon }
 +                 * 
 +                 * 
 +                 */
 +                public List<EntryType.Feature.FeatureTaxon.Lineage.Taxon> getTaxon() {
 +                    if (taxon == null) {
 +                        taxon = new ArrayList<EntryType.Feature.FeatureTaxon.Lineage.Taxon>();
 +                    }
 +                    return this.taxon;
 +                }
 +
 +
 +                /**
-                  * &lt;p&gt;Java class for anonymous complex type.
++                 * <p>Java class for anonymous complex type.
 +                 * 
-                  * &lt;p&gt;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.
 +                 * 
-                  * &lt;pre&gt;
-                  * &amp;lt;complexType&amp;gt;
-                  *   &amp;lt;complexContent&amp;gt;
-                  *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-                  *       &amp;lt;attribute name="scientificName" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-                  *     &amp;lt;/restriction&amp;gt;
-                  *   &amp;lt;/complexContent&amp;gt;
-                  * &amp;lt;/complexType&amp;gt;
-                  * &lt;/pre&gt;
++                 * <pre>
++                 * &lt;complexType>
++                 *   &lt;complexContent>
++                 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++                 *       &lt;attribute name="scientificName" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
++                 *     &lt;/restriction>
++                 *   &lt;/complexContent>
++                 * &lt;/complexType>
++                 * </pre>
 +                 * 
 +                 * 
 +                 */
 +                @XmlAccessorType(XmlAccessType.FIELD)
 +                @XmlType(name = "")
 +                public static class Taxon {
 +
 +                    @XmlAttribute(name = "scientificName", required = true)
 +                    protected String scientificName;
 +
 +                    /**
 +                     * Gets the value of the scientificName property.
 +                     * 
 +                     * @return
 +                     *     possible object is
 +                     *     {@link String }
 +                     *     
 +                     */
 +                    public String getScientificName() {
 +                        return scientificName;
 +                    }
 +
 +                    /**
 +                     * Sets the value of the scientificName property.
 +                     * 
 +                     * @param value
 +                     *     allowed object is
 +                     *     {@link String }
 +                     *     
 +                     */
 +                    public void setScientificName(String value) {
 +                        this.scientificName = value;
 +                    }
 +
 +                }
 +
 +            }
  
 -    protected List<XrefType> xref;
 +        }
  
 -    @XmlAttribute(name = "type", required = true)
 -    protected String type;
  
 -    @XmlAttribute(name = "number", required = true)
 -    protected BigInteger number;
 +        /**
-          * &lt;p&gt;Java class for anonymous complex type.
++         * <p>Java class for anonymous complex type.
 +         * 
-          * &lt;p&gt;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.
 +         * 
-          * &lt;pre&gt;
-          * &amp;lt;complexType&amp;gt;
-          *   &amp;lt;complexContent&amp;gt;
-          *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-          *       &amp;lt;sequence&amp;gt;
-          *         &amp;lt;element name="value" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&amp;gt;
-          *       &amp;lt;/sequence&amp;gt;
-          *       &amp;lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-          *     &amp;lt;/restriction&amp;gt;
-          *   &amp;lt;/complexContent&amp;gt;
-          * &amp;lt;/complexType&amp;gt;
-          * &lt;/pre&gt;
++         * <pre>
++         * &lt;complexType>
++         *   &lt;complexContent>
++         *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++         *       &lt;sequence>
++         *         &lt;element name="value" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
++         *       &lt;/sequence>
++         *       &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
++         *     &lt;/restriction>
++         *   &lt;/complexContent>
++         * &lt;/complexType>
++         * </pre>
 +         * 
 +         * 
 +         */
 +        @XmlAccessorType(XmlAccessType.FIELD)
 +        @XmlType(name = "", propOrder = {
 +            "value"
 +        })
 +        public static class Qualifier {
 +
 +            protected String value;
 +            @XmlAttribute(name = "name", required = true)
 +            protected String name;
 +
 +            /**
 +             * Gets the value of the value property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link String }
 +             *     
 +             */
 +            public String getValue() {
 +                return value;
 +            }
 +
 +            /**
 +             * Sets the value of the value property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link String }
 +             *     
 +             */
 +            public void setValue(String value) {
 +                this.value = value;
 +            }
 +
 +            /**
 +             * Gets the value of the name property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link String }
 +             *     
 +             */
 +            public String getName() {
 +                return name;
 +            }
 +
 +            /**
 +             * Sets the value of the name property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link String }
 +             *     
 +             */
 +            public void setName(String value) {
 +                this.name = value;
 +            }
  
 -    @XmlAttribute(name = "location")
 -    protected String location;
 +        }
  
 -    /**
 -     * Gets the value of the title property.
 -     * 
 -     * @return possible object is {@link String }
 -     * 
 -     */
 -    public String getTitle()
 -    {
 -      return title;
      }
  
 -    /**
 -     * Sets the value of the title property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link String }
 -     * 
 -     */
 -    public void setTitle(String value)
 -    {
 -      this.title = value;
 -    }
  
      /**
-      * &lt;p&gt;Java class for anonymous complex type.
-      * 
-      * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
-      * 
-      * &lt;pre&gt;
-      * &amp;lt;complexType&amp;gt;
-      *   &amp;lt;complexContent&amp;gt;
-      *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-      *       &amp;lt;sequence&amp;gt;
-      *         &amp;lt;element name="title" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&amp;gt;
-      *         &amp;lt;element name="author" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
-      *         &amp;lt;element name="applicant" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
-      *         &amp;lt;element name="consortium" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&amp;gt;
-      *         &amp;lt;element name="submissionDate" type="{http://www.w3.org/2001/XMLSchema}date" minOccurs="0"/&amp;gt;
-      *         &amp;lt;element name="journal" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&amp;gt;
-      *         &amp;lt;element name="year" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&amp;gt;
-      *         &amp;lt;element name="volume" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&amp;gt;
-      *         &amp;lt;element name="issue" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&amp;gt;
-      *         &amp;lt;element name="firstPage" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&amp;gt;
-      *         &amp;lt;element name="lastPage" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&amp;gt;
-      *         &amp;lt;element name="comment" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&amp;gt;
-      *         &amp;lt;element name="referenceLocation" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&amp;gt;
-      *         &amp;lt;element name="xref" type="{}XrefType" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
-      *       &amp;lt;/sequence&amp;gt;
-      *       &amp;lt;attribute name="type" use="required"&amp;gt;
-      *         &amp;lt;simpleType&amp;gt;
-      *           &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&amp;gt;
-      *             &amp;lt;enumeration value="submission"/&amp;gt;
-      *             &amp;lt;enumeration value="book"/&amp;gt;
-      *             &amp;lt;enumeration value="article"/&amp;gt;
-      *             &amp;lt;enumeration value="patent"/&amp;gt;
-      *             &amp;lt;enumeration value="thesis"/&amp;gt;
-      *             &amp;lt;enumeration value="unpublished"/&amp;gt;
-      *           &amp;lt;/restriction&amp;gt;
-      *         &amp;lt;/simpleType&amp;gt;
-      *       &amp;lt;/attribute&amp;gt;
-      *       &amp;lt;attribute name="number" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
-      *       &amp;lt;attribute name="location" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-      *     &amp;lt;/restriction&amp;gt;
-      *   &amp;lt;/complexContent&amp;gt;
-      * &amp;lt;/complexType&amp;gt;
-      * &lt;/pre&gt;
 -     * Gets the value of the author 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 author 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>
 -     * getAuthor().add(newItem);
++     * &lt;complexType>
++     *   &lt;complexContent>
++     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++     *       &lt;sequence>
++     *         &lt;element name="title" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
++     *         &lt;element name="author" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/>
++     *         &lt;element name="applicant" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/>
++     *         &lt;element name="consortium" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
++     *         &lt;element name="submissionDate" type="{http://www.w3.org/2001/XMLSchema}date" minOccurs="0"/>
++     *         &lt;element name="journal" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
++     *         &lt;element name="year" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
++     *         &lt;element name="volume" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
++     *         &lt;element name="issue" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
++     *         &lt;element name="firstPage" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
++     *         &lt;element name="lastPage" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
++     *         &lt;element name="comment" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
++     *         &lt;element name="referenceLocation" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
++     *         &lt;element name="xref" type="{}XrefType" maxOccurs="unbounded" minOccurs="0"/>
++     *       &lt;/sequence>
++     *       &lt;attribute name="type" use="required">
++     *         &lt;simpleType>
++     *           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
++     *             &lt;enumeration value="submission"/>
++     *             &lt;enumeration value="book"/>
++     *             &lt;enumeration value="article"/>
++     *             &lt;enumeration value="patent"/>
++     *             &lt;enumeration value="thesis"/>
++     *             &lt;enumeration value="unpublished"/>
++     *           &lt;/restriction>
++     *         &lt;/simpleType>
++     *       &lt;/attribute>
++     *       &lt;attribute name="number" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
++     *       &lt;attribute name="location" type="{http://www.w3.org/2001/XMLSchema}string" />
++     *     &lt;/restriction>
++     *   &lt;/complexContent>
++     * &lt;/complexType>
+      * </pre>
       * 
       * 
 -     * <p>
 -     * Objects of the following type(s) are allowed in the list {@link String }
 -     * 
 -     * 
       */
 -    public List<String> getAuthor()
 -    {
 -      if (author == null)
 -      {
 -        author = new ArrayList<String>();
 -      }
 -      return this.author;
 -    }
 +    @XmlAccessorType(XmlAccessType.FIELD)
 +    @XmlType(name = "", propOrder = {
 +        "title",
 +        "author",
 +        "applicant",
 +        "consortium",
 +        "submissionDate",
 +        "journal",
 +        "year",
 +        "volume",
 +        "issue",
 +        "firstPage",
 +        "lastPage",
 +        "comment",
 +        "referenceLocation",
 +        "xref"
 +    })
 +    public static class Reference {
 +
 +        protected String title;
 +        protected List<String> author;
 +        protected List<String> applicant;
 +        protected String consortium;
 +        @XmlSchemaType(name = "date")
 +        protected XMLGregorianCalendar submissionDate;
 +        protected String journal;
 +        protected String year;
 +        protected String volume;
 +        protected String issue;
 +        protected String firstPage;
 +        protected String lastPage;
 +        protected String comment;
 +        protected String referenceLocation;
 +        protected List<XrefType> xref;
 +        @XmlAttribute(name = "type", required = true)
 +        protected String type;
 +        @XmlAttribute(name = "number", required = true)
 +        protected BigInteger number;
 +        @XmlAttribute(name = "location")
 +        protected String location;
  
 -    /**
 -     * Gets the value of the applicant 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 applicant property.
 -     * 
 -     * <p>
 -     * For example, to add a new item, do as follows:
 -     * 
 -     * <pre>
 -     * getApplicant().add(newItem);
 -     * </pre>
 -     * 
 -     * 
 -     * <p>
 -     * Objects of the following type(s) are allowed in the list {@link String }
 -     * 
 -     * 
 -     */
 -    public List<String> getApplicant()
 -    {
 -      if (applicant == null)
 -      {
 -        applicant = new ArrayList<String>();
 -      }
 -      return this.applicant;
 -    }
 +        /**
 +         * Gets the value of the title property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link String }
 +         *     
 +         */
 +        public String getTitle() {
 +            return title;
 +        }
  
 -    /**
 -     * Gets the value of the consortium property.
 -     * 
 -     * @return possible object is {@link String }
 -     * 
 -     */
 -    public String getConsortium()
 -    {
 -      return consortium;
 -    }
 +        /**
 +         * Sets the value of the title property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link String }
 +         *     
 +         */
 +        public void setTitle(String value) {
 +            this.title = value;
 +        }
  
 -    /**
 -     * Sets the value of the consortium property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link String }
 -     * 
 -     */
 -    public void setConsortium(String value)
 -    {
 -      this.consortium = value;
 -    }
 +        /**
 +         * Gets the value of the author property.
 +         * 
-          * &lt;p&gt;
++         * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the author property.
++         * This is why there is not a <CODE>set</CODE> method for the author property.
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * For example, to add a new item, do as follows:
-          * &lt;pre&gt;
++         * <pre>
 +         *    getAuthor().add(newItem);
-          * &lt;/pre&gt;
++         * </pre>
 +         * 
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * Objects of the following type(s) are allowed in the list
 +         * {@link String }
 +         * 
 +         * 
 +         */
 +        public List<String> getAuthor() {
 +            if (author == null) {
 +                author = new ArrayList<String>();
 +            }
 +            return this.author;
 +        }
  
 -    /**
 -     * Gets the value of the submissionDate property.
 -     * 
 -     * @return possible object is {@link XMLGregorianCalendar }
 -     * 
 -     */
 -    public XMLGregorianCalendar getSubmissionDate()
 -    {
 -      return submissionDate;
 -    }
 +        /**
 +         * Gets the value of the applicant property.
 +         * 
-          * &lt;p&gt;
++         * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the applicant property.
++         * This is why there is not a <CODE>set</CODE> method for the applicant property.
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * For example, to add a new item, do as follows:
-          * &lt;pre&gt;
++         * <pre>
 +         *    getApplicant().add(newItem);
-          * &lt;/pre&gt;
++         * </pre>
 +         * 
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * Objects of the following type(s) are allowed in the list
 +         * {@link String }
 +         * 
 +         * 
 +         */
 +        public List<String> getApplicant() {
 +            if (applicant == null) {
 +                applicant = new ArrayList<String>();
 +            }
 +            return this.applicant;
 +        }
  
 -    /**
 -     * Sets the value of the submissionDate property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link XMLGregorianCalendar }
 -     * 
 -     */
 -    public void setSubmissionDate(XMLGregorianCalendar value)
 -    {
 -      this.submissionDate = value;
 -    }
 +        /**
 +         * Gets the value of the consortium property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link String }
 +         *     
 +         */
 +        public String getConsortium() {
 +            return consortium;
 +        }
  
 -    /**
 -     * Gets the value of the journal property.
 -     * 
 -     * @return possible object is {@link String }
 -     * 
 -     */
 -    public String getJournal()
 -    {
 -      return journal;
 -    }
 +        /**
 +         * Sets the value of the consortium property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link String }
 +         *     
 +         */
 +        public void setConsortium(String value) {
 +            this.consortium = value;
 +        }
  
 -    /**
 -     * Sets the value of the journal property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link String }
 -     * 
 -     */
 -    public void setJournal(String value)
 -    {
 -      this.journal = value;
 -    }
 +        /**
 +         * Gets the value of the submissionDate property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link XMLGregorianCalendar }
 +         *     
 +         */
 +        public XMLGregorianCalendar getSubmissionDate() {
 +            return submissionDate;
 +        }
  
 -    /**
 -     * Gets the value of the year property.
 -     * 
 -     * @return possible object is {@link String }
 -     * 
 -     */
 -    public String getYear()
 -    {
 -      return year;
 -    }
 +        /**
 +         * Sets the value of the submissionDate property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link XMLGregorianCalendar }
 +         *     
 +         */
 +        public void setSubmissionDate(XMLGregorianCalendar value) {
 +            this.submissionDate = value;
 +        }
  
 -    /**
 -     * Sets the value of the year property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link String }
 -     * 
 -     */
 -    public void setYear(String value)
 -    {
 -      this.year = value;
 -    }
 +        /**
 +         * Gets the value of the journal property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link String }
 +         *     
 +         */
 +        public String getJournal() {
 +            return journal;
 +        }
  
 -    /**
 -     * Gets the value of the volume property.
 -     * 
 -     * @return possible object is {@link String }
 -     * 
 -     */
 -    public String getVolume()
 -    {
 -      return volume;
 -    }
 +        /**
 +         * Sets the value of the journal property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link String }
 +         *     
 +         */
 +        public void setJournal(String value) {
 +            this.journal = value;
 +        }
  
 -    /**
 -     * Sets the value of the volume property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link String }
 -     * 
 -     */
 -    public void setVolume(String value)
 -    {
 -      this.volume = value;
 -    }
 +        /**
 +         * Gets the value of the year property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link String }
 +         *     
 +         */
 +        public String getYear() {
 +            return year;
 +        }
  
 -    /**
 -     * Gets the value of the issue property.
 -     * 
 -     * @return possible object is {@link String }
 -     * 
 -     */
 -    public String getIssue()
 -    {
 -      return issue;
 -    }
 +        /**
 +         * Sets the value of the year property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link String }
 +         *     
 +         */
 +        public void setYear(String value) {
 +            this.year = value;
 +        }
  
 -    /**
 -     * Sets the value of the issue property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link String }
 -     * 
 -     */
 -    public void setIssue(String value)
 -    {
 -      this.issue = value;
 -    }
 +        /**
 +         * Gets the value of the volume property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link String }
 +         *     
 +         */
 +        public String getVolume() {
 +            return volume;
 +        }
  
 -    /**
 -     * Gets the value of the firstPage property.
 -     * 
 -     * @return possible object is {@link String }
 -     * 
 -     */
 -    public String getFirstPage()
 -    {
 -      return firstPage;
 -    }
 +        /**
 +         * Sets the value of the volume property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link String }
 +         *     
 +         */
 +        public void setVolume(String value) {
 +            this.volume = value;
 +        }
  
 -    /**
 -     * Sets the value of the firstPage property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link String }
 -     * 
 -     */
 -    public void setFirstPage(String value)
 -    {
 -      this.firstPage = value;
 -    }
 +        /**
 +         * Gets the value of the issue property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link String }
 +         *     
 +         */
 +        public String getIssue() {
 +            return issue;
 +        }
  
 -    /**
 -     * Gets the value of the lastPage property.
 -     * 
 -     * @return possible object is {@link String }
 -     * 
 -     */
 -    public String getLastPage()
 -    {
 -      return lastPage;
 -    }
 +        /**
 +         * Sets the value of the issue property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link String }
 +         *     
 +         */
 +        public void setIssue(String value) {
 +            this.issue = value;
 +        }
  
 -    /**
 -     * Sets the value of the lastPage property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link String }
 -     * 
 -     */
 -    public void setLastPage(String value)
 -    {
 -      this.lastPage = value;
 -    }
 +        /**
 +         * Gets the value of the firstPage property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link String }
 +         *     
 +         */
 +        public String getFirstPage() {
 +            return firstPage;
 +        }
  
 -    /**
 -     * Gets the value of the comment property.
 -     * 
 -     * @return possible object is {@link String }
 -     * 
 -     */
 -    public String getComment()
 -    {
 -      return comment;
 -    }
 +        /**
 +         * Sets the value of the firstPage property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link String }
 +         *     
 +         */
 +        public void setFirstPage(String value) {
 +            this.firstPage = value;
 +        }
  
 -    /**
 -     * Sets the value of the comment property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link String }
 -     * 
 -     */
 -    public void setComment(String value)
 -    {
 -      this.comment = value;
 -    }
 +        /**
 +         * Gets the value of the lastPage property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link String }
 +         *     
 +         */
 +        public String getLastPage() {
 +            return lastPage;
 +        }
  
 -    /**
 -     * Gets the value of the referenceLocation property.
 -     * 
 -     * @return possible object is {@link String }
 -     * 
 -     */
 -    public String getReferenceLocation()
 -    {
 -      return referenceLocation;
 -    }
 +        /**
 +         * Sets the value of the lastPage property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link String }
 +         *     
 +         */
 +        public void setLastPage(String value) {
 +            this.lastPage = value;
 +        }
  
 -    /**
 -     * Sets the value of the referenceLocation property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link String }
 -     * 
 -     */
 -    public void setReferenceLocation(String value)
 -    {
 -      this.referenceLocation = value;
 -    }
 +        /**
 +         * Gets the value of the comment property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link String }
 +         *     
 +         */
 +        public String getComment() {
 +            return comment;
 +        }
  
 -    /**
 -     * Gets the value of the xref 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 xref property.
 -     * 
 -     * <p>
 -     * For example, to add a new item, do as follows:
 -     * 
 -     * <pre>
 -     * getXref().add(newItem);
 -     * </pre>
 -     * 
 -     * 
 -     * <p>
 -     * Objects of the following type(s) are allowed in the list {@link XrefType
 -     * }
 -     * 
 -     * 
 -     */
 -    public List<XrefType> getXref()
 -    {
 -      if (xref == null)
 -      {
 -        xref = new ArrayList<XrefType>();
 -      }
 -      return this.xref;
 -    }
 +        /**
 +         * Sets the value of the comment property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link String }
 +         *     
 +         */
 +        public void setComment(String value) {
 +            this.comment = value;
 +        }
  
 -    /**
 -     * Gets the value of the type property.
 -     * 
 -     * @return possible object is {@link String }
 -     * 
 -     */
 -    public String getType()
 -    {
 -      return type;
 -    }
 +        /**
 +         * Gets the value of the referenceLocation property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link String }
 +         *     
 +         */
 +        public String getReferenceLocation() {
 +            return referenceLocation;
 +        }
  
 -    /**
 -     * Sets the value of the type property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link String }
 -     * 
 -     */
 -    public void setType(String value)
 -    {
 -      this.type = value;
 -    }
 +        /**
 +         * Sets the value of the referenceLocation property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link String }
 +         *     
 +         */
 +        public void setReferenceLocation(String value) {
 +            this.referenceLocation = value;
 +        }
  
 -    /**
 -     * Gets the value of the number property.
 -     * 
 -     * @return possible object is {@link BigInteger }
 -     * 
 -     */
 -    public BigInteger getNumber()
 -    {
 -      return number;
 -    }
 +        /**
 +         * Gets the value of the xref property.
 +         * 
-          * &lt;p&gt;
++         * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the xref property.
++         * This is why there is not a <CODE>set</CODE> method for the xref property.
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * For example, to add a new item, do as follows:
-          * &lt;pre&gt;
++         * <pre>
 +         *    getXref().add(newItem);
-          * &lt;/pre&gt;
++         * </pre>
 +         * 
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * Objects of the following type(s) are allowed in the list
 +         * {@link XrefType }
 +         * 
 +         * 
 +         */
 +        public List<XrefType> getXref() {
 +            if (xref == null) {
 +                xref = new ArrayList<XrefType>();
 +            }
 +            return this.xref;
 +        }
  
 -    /**
 -     * Sets the value of the number property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link BigInteger }
 -     * 
 -     */
 -    public void setNumber(BigInteger value)
 -    {
 -      this.number = value;
 -    }
 +        /**
 +         * Gets the value of the type property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link String }
 +         *     
 +         */
 +        public String getType() {
 +            return type;
 +        }
  
 -    /**
 -     * Gets the value of the location property.
 -     * 
 -     * @return possible object is {@link String }
 -     * 
 -     */
 -    public String getLocation()
 -    {
 -      return location;
 -    }
 +        /**
 +         * Sets the value of the type property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link String }
 +         *     
 +         */
 +        public void setType(String value) {
 +            this.type = value;
 +        }
  
 -    /**
 -     * Sets the value of the location property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link String }
 -     * 
 -     */
 -    public void setLocation(String value)
 -    {
 -      this.location = value;
 -    }
 +        /**
 +         * Gets the value of the number property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link BigInteger }
 +         *     
 +         */
 +        public BigInteger getNumber() {
 +            return number;
 +        }
 +
 +        /**
 +         * Sets the value of the number property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link BigInteger }
 +         *     
 +         */
 +        public void setNumber(BigInteger value) {
 +            this.number = value;
 +        }
 +
 +        /**
 +         * Gets the value of the location property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link String }
 +         *     
 +         */
 +        public String getLocation() {
 +            return location;
 +        }
 +
 +        /**
 +         * Sets the value of the location property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link String }
 +         *     
 +         */
 +        public void setLocation(String value) {
 +            this.location = value;
 +        }
  
 -  }
 +    }
  
  }
@@@ -1,28 -1,23 +1,28 @@@
  //
- // This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
- // See https://eclipse-ee4j.github.io/jaxb-ri 
+ // 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: 2022.02.07 at 04:45:21 PM GMT 
 -// Generated on: 2018.09.14 at 02:46:00 PM BST 
++// Generated on: 2023.01.31 at 04:07:09 PM GMT 
  //
  
 +
  package jalview.xml.binding.embl;
  
  import javax.xml.bind.annotation.XmlRegistry;
  
 +
  /**
 - * This object contains factory methods for each Java content interface and Java
 - * element interface generated in the jalview.xml.binding.embl package.
 - * <p>
 - * An ObjectFactory allows you to programatically construct new instances of the
 - * Java representation for XML content. The Java representation of XML content
 - * can consist of schema derived interfaces and classes representing the binding
 - * of schema type definitions, element declarations and model groups. Factory
 - * methods for each of these are provided in this class.
 + * This object contains factory methods for each 
 + * Java content interface and Java element interface 
 + * generated in the jalview.xml.binding.embl package. 
-  * &lt;p&gt;An ObjectFactory allows you to programatically 
++ * <p>An ObjectFactory allows you to programatically 
 + * construct new instances of the Java representation 
 + * for XML content. The Java representation of XML 
 + * content can consist of schema derived interfaces 
 + * and classes representing the binding of schema 
 + * type definitions, element declarations and model 
 + * groups.  Factory methods for each of these are 
 + * provided in this class.
   * 
   */
  @XmlRegistry
@@@ -1,11 -1,10 +1,11 @@@
  //
- // This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
- // See https://eclipse-ee4j.github.io/jaxb-ri 
+ // 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: 2022.02.07 at 04:45:21 PM GMT 
 -// Generated on: 2018.09.14 at 02:46:00 PM BST 
++// Generated on: 2023.01.31 at 04:07:09 PM GMT 
  //
  
 +
  package jalview.xml.binding.embl;
  
  import javax.xml.bind.annotation.XmlAccessType;
@@@ -13,24 -12,26 +13,24 @@@ import javax.xml.bind.annotation.XmlAcc
  import javax.xml.bind.annotation.XmlRootElement;
  import javax.xml.bind.annotation.XmlType;
  
 +
  /**
-  * &lt;p&gt;Java class for anonymous complex type.
 - * <p>
 - * Java class for anonymous complex type.
++ * <p>Java class for anonymous complex type.
   * 
-  * &lt;p&gt;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.
++ * <p>The following schema fragment specifies the expected content contained within this class.
   * 
-  * &lt;pre&gt;
-  * &amp;lt;complexType&amp;gt;
-  *   &amp;lt;complexContent&amp;gt;
-  *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *       &amp;lt;choice&amp;gt;
-  *         &amp;lt;element name="entrySet" type="{}EntrySetType"/&amp;gt;
-  *         &amp;lt;element name="entry" type="{}EntryType"/&amp;gt;
-  *       &amp;lt;/choice&amp;gt;
-  *     &amp;lt;/restriction&amp;gt;
-  *   &amp;lt;/complexContent&amp;gt;
-  * &amp;lt;/complexType&amp;gt;
-  * &lt;/pre&gt;
+  * <pre>
+  * &lt;complexType>
+  *   &lt;complexContent>
+  *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+  *       &lt;choice>
+  *         &lt;element name="entrySet" type="{}EntrySetType"/>
+  *         &lt;element name="entry" type="{}EntryType"/>
+  *       &lt;/choice>
+  *     &lt;/restriction>
+  *   &lt;/complexContent>
+  * &lt;/complexType>
+  * </pre>
   * 
   * 
   */
@@@ -1,11 -1,10 +1,11 @@@
  //
- // This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
- // See https://eclipse-ee4j.github.io/jaxb-ri 
+ // 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: 2022.02.07 at 04:45:21 PM GMT 
 -// Generated on: 2018.09.14 at 02:46:00 PM BST 
++// Generated on: 2023.01.31 at 04:07:09 PM GMT 
  //
  
 +
  package jalview.xml.binding.embl;
  
  import javax.xml.bind.annotation.XmlAccessType;
@@@ -17,21 -15,24 +17,21 @@@ import javax.xml.bind.annotation.XmlTyp
  /**
   * Database cross-reference.
   * 
-  * &lt;p&gt;Java class for XrefType complex type.
 - * <p>
 - * Java class for XrefType complex type.
++ * <p>Java class for XrefType complex type.
   * 
-  * &lt;p&gt;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.
++ * <p>The following schema fragment specifies the expected content contained within this class.
   * 
-  * &lt;pre&gt;
-  * &amp;lt;complexType name="XrefType"&amp;gt;
-  *   &amp;lt;complexContent&amp;gt;
-  *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *       &amp;lt;attribute name="db" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *       &amp;lt;attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *       &amp;lt;attribute name="secondaryId" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *     &amp;lt;/restriction&amp;gt;
-  *   &amp;lt;/complexContent&amp;gt;
-  * &amp;lt;/complexType&amp;gt;
-  * &lt;/pre&gt;
+  * <pre>
+  * &lt;complexType name="XrefType">
+  *   &lt;complexContent>
+  *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+  *       &lt;attribute name="db" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+  *       &lt;attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+  *       &lt;attribute name="secondaryId" type="{http://www.w3.org/2001/XMLSchema}string" />
+  *     &lt;/restriction>
+  *   &lt;/complexContent>
+  * &lt;/complexType>
+  * </pre>
   * 
   * 
   */
@@@ -1,11 -1,10 +1,11 @@@
  //
--// This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
--// See https://eclipse-ee4j.github.io/jaxb-ri 
++// 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: 2022.02.07 at 04:44:47 PM GMT 
 -// Generated on: 2021.08.30 at 11:05:22 AM BST 
++// Generated on: 2023.01.31 at 04:07:08 PM GMT 
  //
  
 +
  package jalview.xml.binding.jalview;
  
  import java.math.BigInteger;
@@@ -18,309 -17,288 +18,309 @@@ import javax.xml.bind.annotation.XmlEle
  import javax.xml.bind.annotation.XmlRootElement;
  import javax.xml.bind.annotation.XmlType;
  
 +
  /**
-- * &lt;p&gt;Java class for anonymous complex type.
++ * <p>Java class for anonymous complex type.
   * 
-  * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
 - * &lt;p&gt;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.
   * 
-  * &lt;pre&gt;
-  * &amp;lt;complexType&amp;gt;
-  *   &amp;lt;complexContent&amp;gt;
-  *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *       &amp;lt;sequence&amp;gt;
-  *         &amp;lt;element name="alcodon" maxOccurs="unbounded" minOccurs="0"&amp;gt;
-  *           &amp;lt;complexType&amp;gt;
-  *             &amp;lt;complexContent&amp;gt;
-  *               &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *                 &amp;lt;attribute name="pos1" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
-  *                 &amp;lt;attribute name="pos2" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
-  *                 &amp;lt;attribute name="pos3" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
-  *               &amp;lt;/restriction&amp;gt;
-  *             &amp;lt;/complexContent&amp;gt;
-  *           &amp;lt;/complexType&amp;gt;
-  *         &amp;lt;/element&amp;gt;
-  *         &amp;lt;element name="alcodMap" maxOccurs="unbounded" minOccurs="0"&amp;gt;
-  *           &amp;lt;complexType&amp;gt;
-  *             &amp;lt;complexContent&amp;gt;
-  *               &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *                 &amp;lt;sequence&amp;gt;
-  *                   &amp;lt;element ref="{www.vamsas.ac.uk/jalview/version2}Mapping"/&amp;gt;
-  *                 &amp;lt;/sequence&amp;gt;
-  *                 &amp;lt;attribute name="dnasq" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *               &amp;lt;/restriction&amp;gt;
-  *             &amp;lt;/complexContent&amp;gt;
-  *           &amp;lt;/complexType&amp;gt;
-  *         &amp;lt;/element&amp;gt;
-  *       &amp;lt;/sequence&amp;gt;
-  *     &amp;lt;/restriction&amp;gt;
-  *   &amp;lt;/complexContent&amp;gt;
-  * &amp;lt;/complexType&amp;gt;
-  * &lt;/pre&gt;
 - * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
 - * &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
 - * &amp;lt;sequence&amp;gt; &amp;lt;element name="alcodon" maxOccurs="unbounded"
 - * minOccurs="0"&amp;gt; &amp;lt;complexType&amp;gt;
 - * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
 - * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attribute
 - * name="pos1" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
 - * &amp;lt;attribute name="pos2"
 - * type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt; &amp;lt;attribute
 - * name="pos3" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
 - * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 - * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt; &amp;lt;element
 - * name="alcodMap" maxOccurs="unbounded" minOccurs="0"&amp;gt;
 - * &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
 - * &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
 - * &amp;lt;sequence&amp;gt; &amp;lt;element
 - * ref="{www.vamsas.ac.uk/jalview/version2}Mapping"/&amp;gt;
 - * &amp;lt;/sequence&amp;gt; &amp;lt;attribute name="dnasq" use="required"
 - * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
 - * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 - * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt;
 - * &amp;lt;/sequence&amp;gt; &amp;lt;/restriction&amp;gt;
 - * &amp;lt;/complexContent&amp;gt; &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
++ * <pre>
++ * &lt;complexType>
++ *   &lt;complexContent>
++ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++ *       &lt;sequence>
++ *         &lt;element name="alcodon" maxOccurs="unbounded" minOccurs="0">
++ *           &lt;complexType>
++ *             &lt;complexContent>
++ *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++ *                 &lt;attribute name="pos1" type="{http://www.w3.org/2001/XMLSchema}integer" />
++ *                 &lt;attribute name="pos2" type="{http://www.w3.org/2001/XMLSchema}integer" />
++ *                 &lt;attribute name="pos3" type="{http://www.w3.org/2001/XMLSchema}integer" />
++ *               &lt;/restriction>
++ *             &lt;/complexContent>
++ *           &lt;/complexType>
++ *         &lt;/element>
++ *         &lt;element name="alcodMap" maxOccurs="unbounded" minOccurs="0">
++ *           &lt;complexType>
++ *             &lt;complexContent>
++ *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++ *                 &lt;sequence>
++ *                   &lt;element ref="{www.vamsas.ac.uk/jalview/version2}Mapping"/>
++ *                 &lt;/sequence>
++ *                 &lt;attribute name="dnasq" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *               &lt;/restriction>
++ *             &lt;/complexContent>
++ *           &lt;/complexType>
++ *         &lt;/element>
++ *       &lt;/sequence>
++ *     &lt;/restriction>
++ *   &lt;/complexContent>
++ * &lt;/complexType>
++ * </pre>
   * 
   * 
   */
  @XmlAccessorType(XmlAccessType.FIELD)
 -@XmlType(name = "", propOrder = { "alcodon", "alcodMap" })
 +@XmlType(name = "", propOrder = {
 +    "alcodon",
 +    "alcodMap"
 +})
  @XmlRootElement(name = "AlcodonFrame")
 -public class AlcodonFrame
 -{
 -
 -  protected List<AlcodonFrame.Alcodon> alcodon;
 -
 -  protected List<AlcodonFrame.AlcodMap> alcodMap;
 +public class AlcodonFrame {
  
 -  /**
 -   * Gets the value of the alcodon property.
 -   * 
 -   * &lt;p&gt; 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
 -   * &lt;CODE&gt;set&lt;/CODE&gt; method for the alcodon property.
 -   * 
 -   * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
 -   * getAlcodon().add(newItem); &lt;/pre&gt;
 -   * 
 -   * 
 -   * &lt;p&gt; Objects of the following type(s) are allowed in the list
 -   * {@link AlcodonFrame.Alcodon }
 -   * 
 -   * 
 -   */
 -  public List<AlcodonFrame.Alcodon> getAlcodon()
 -  {
 -    if (alcodon == null)
 -    {
 -      alcodon = new ArrayList<AlcodonFrame.Alcodon>();
 -    }
 -    return this.alcodon;
 -  }
 -
 -  /**
 -   * Gets the value of the alcodMap property.
 -   * 
 -   * &lt;p&gt; 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
 -   * &lt;CODE&gt;set&lt;/CODE&gt; method for the alcodMap property.
 -   * 
 -   * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
 -   * getAlcodMap().add(newItem); &lt;/pre&gt;
 -   * 
 -   * 
 -   * &lt;p&gt; Objects of the following type(s) are allowed in the list
 -   * {@link AlcodonFrame.AlcodMap }
 -   * 
 -   * 
 -   */
 -  public List<AlcodonFrame.AlcodMap> getAlcodMap()
 -  {
 -    if (alcodMap == null)
 -    {
 -      alcodMap = new ArrayList<AlcodonFrame.AlcodMap>();
 -    }
 -    return this.alcodMap;
 -  }
 -
 -  /**
 -   * &lt;p&gt;Java class for anonymous complex type.
 -   * 
 -   * &lt;p&gt;The following schema fragment specifies the expected content
 -   * contained within this class.
 -   * 
 -   * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
 -   * &amp;lt;restriction
 -   * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
 -   * &amp;lt;sequence&amp;gt; &amp;lt;element
 -   * ref="{www.vamsas.ac.uk/jalview/version2}Mapping"/&amp;gt;
 -   * &amp;lt;/sequence&amp;gt; &amp;lt;attribute name="dnasq" use="required"
 -   * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
 -   * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 -   * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
 -   * 
 -   * 
 -   */
 -  @XmlAccessorType(XmlAccessType.FIELD)
 -  @XmlType(name = "", propOrder = { "mapping" })
 -  public static class AlcodMap
 -  {
 -
 -    @XmlElement(name = "Mapping", required = true)
 -    protected Mapping mapping;
 -
 -    @XmlAttribute(name = "dnasq", required = true)
 -    protected String dnasq;
 +    protected List<AlcodonFrame.Alcodon> alcodon;
 +    protected List<AlcodonFrame.AlcodMap> alcodMap;
  
      /**
 +     * Gets the value of the alcodon property.
       * 
-      * &lt;p&gt;
 -     * a Mapping entry and an associated protein sequence
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the alcodon property.
++     * This is why there is not a <CODE>set</CODE> method for the alcodon property.
       * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getAlcodon().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
       * 
 -     * @return possible object is {@link Mapping }
       * 
-      * &lt;p&gt;
 -     */
 -    public Mapping getMapping()
 -    {
 -      return mapping;
 -    }
 -
 -    /**
 -     * Sets the value of the mapping property.
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link AlcodonFrame.Alcodon }
       * 
 -     * @param value
 -     *          allowed object is {@link Mapping }
       * 
       */
 -    public void setMapping(Mapping value)
 -    {
 -      this.mapping = value;
 +    public List<AlcodonFrame.Alcodon> getAlcodon() {
 +        if (alcodon == null) {
 +            alcodon = new ArrayList<AlcodonFrame.Alcodon>();
 +        }
 +        return this.alcodon;
      }
  
      /**
 -     * Gets the value of the dnasq property.
 +     * Gets the value of the alcodMap property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the alcodMap property.
++     * This is why there is not a <CODE>set</CODE> method for the alcodMap property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getAlcodMap().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link AlcodonFrame.AlcodMap }
       * 
 -     * @return possible object is {@link String }
       * 
       */
 -    public String getDnasq()
 -    {
 -      return dnasq;
 +    public List<AlcodonFrame.AlcodMap> getAlcodMap() {
 +        if (alcodMap == null) {
 +            alcodMap = new ArrayList<AlcodonFrame.AlcodMap>();
 +        }
 +        return this.alcodMap;
      }
  
 +
      /**
-      * &lt;p&gt;Java class for anonymous complex type.
 -     * Sets the value of the dnasq property.
++     * <p>Java class for anonymous complex type.
 +     * 
-      * &lt;p&gt;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.
 +     * 
-      * &lt;pre&gt;
-      * &amp;lt;complexType&amp;gt;
-      *   &amp;lt;complexContent&amp;gt;
-      *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-      *       &amp;lt;sequence&amp;gt;
-      *         &amp;lt;element ref="{www.vamsas.ac.uk/jalview/version2}Mapping"/&amp;gt;
-      *       &amp;lt;/sequence&amp;gt;
-      *       &amp;lt;attribute name="dnasq" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-      *     &amp;lt;/restriction&amp;gt;
-      *   &amp;lt;/complexContent&amp;gt;
-      * &amp;lt;/complexType&amp;gt;
-      * &lt;/pre&gt;
++     * <pre>
++     * &lt;complexType>
++     *   &lt;complexContent>
++     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++     *       &lt;sequence>
++     *         &lt;element ref="{www.vamsas.ac.uk/jalview/version2}Mapping"/>
++     *       &lt;/sequence>
++     *       &lt;attribute name="dnasq" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
++     *     &lt;/restriction>
++     *   &lt;/complexContent>
++     * &lt;/complexType>
++     * </pre>
       * 
 -     * @param value
 -     *          allowed object is {@link String }
       * 
       */
 -    public void setDnasq(String value)
 -    {
 -      this.dnasq = value;
 -    }
 +    @XmlAccessorType(XmlAccessType.FIELD)
 +    @XmlType(name = "", propOrder = {
 +        "mapping"
 +    })
 +    public static class AlcodMap {
  
 -  }
 +        @XmlElement(name = "Mapping", required = true)
 +        protected Mapping mapping;
 +        @XmlAttribute(name = "dnasq", required = true)
 +        protected String dnasq;
  
 -  /**
 -   * 
 -   * specifies a series of aligned codons from an associated DNA sequence
 -   * alignment that when translated correspond to columns of a peptide
 -   * alignment. Element may have either all pos1,2,3 attributes specified, or
 -   * none at all (indicating a gapped column with no translated peptide).
 -   * 
 -   * 
 -   * &lt;p&gt;Java class for anonymous complex type.
 -   * 
 -   * &lt;p&gt;The following schema fragment specifies the expected content
 -   * contained within this class.
 -   * 
 -   * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
 -   * &amp;lt;restriction
 -   * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attribute
 -   * name="pos1" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
 -   * &amp;lt;attribute name="pos2"
 -   * type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
 -   * &amp;lt;attribute name="pos3"
 -   * type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
 -   * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 -   * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
 -   * 
 -   * 
 -   */
 -  @XmlAccessorType(XmlAccessType.FIELD)
 -  @XmlType(name = "")
 -  public static class Alcodon
 -  {
 +        /**
 +         * 
 +         *                                                                            a Mapping entry and an associated protein sequence
 +         *                                                                    
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Mapping }
 +         *     
 +         */
 +        public Mapping getMapping() {
 +            return mapping;
 +        }
  
 -    @XmlAttribute(name = "pos1")
 -    protected BigInteger pos1;
 +        /**
 +         * Sets the value of the mapping property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Mapping }
 +         *     
 +         */
 +        public void setMapping(Mapping value) {
 +            this.mapping = value;
 +        }
  
 -    @XmlAttribute(name = "pos2")
 -    protected BigInteger pos2;
 +        /**
 +         * Gets the value of the dnasq property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link String }
 +         *     
 +         */
 +        public String getDnasq() {
 +            return dnasq;
 +        }
  
 -    @XmlAttribute(name = "pos3")
 -    protected BigInteger pos3;
 +        /**
 +         * Sets the value of the dnasq property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link String }
 +         *     
 +         */
 +        public void setDnasq(String value) {
 +            this.dnasq = value;
 +        }
  
 -    /**
 -     * Gets the value of the pos1 property.
 -     * 
 -     * @return possible object is {@link BigInteger }
 -     * 
 -     */
 -    public BigInteger getPos1()
 -    {
 -      return pos1;
      }
  
 -    /**
 -     * Sets the value of the pos1 property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link BigInteger }
 -     * 
 -     */
 -    public void setPos1(BigInteger value)
 -    {
 -      this.pos1 = value;
 -    }
  
      /**
 -     * Gets the value of the pos2 property.
       * 
 -     * @return possible object is {@link BigInteger }
 +     *                                                                specifies a series of aligned codons from an associated DNA sequence alignment that when translated correspond to columns of a peptide alignment.
 +     *                                                                Element may have either all pos1,2,3 attributes specified, or none at all (indicating a gapped column with no translated peptide).
 +     *                                                        
       * 
-      * &lt;p&gt;Java class for anonymous complex type.
 -     */
 -    public BigInteger getPos2()
 -    {
 -      return pos2;
 -    }
 -
 -    /**
 -     * Sets the value of the pos2 property.
++     * <p>Java class for anonymous complex type.
       * 
-      * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
 -     * @param value
 -     *          allowed object is {@link BigInteger }
++     * <p>The following schema fragment specifies the expected content contained within this class.
       * 
-      * &lt;pre&gt;
-      * &amp;lt;complexType&amp;gt;
-      *   &amp;lt;complexContent&amp;gt;
-      *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-      *       &amp;lt;attribute name="pos1" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
-      *       &amp;lt;attribute name="pos2" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
-      *       &amp;lt;attribute name="pos3" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
-      *     &amp;lt;/restriction&amp;gt;
-      *   &amp;lt;/complexContent&amp;gt;
-      * &amp;lt;/complexType&amp;gt;
-      * &lt;/pre&gt;
 -     */
 -    public void setPos2(BigInteger value)
 -    {
 -      this.pos2 = value;
 -    }
 -
 -    /**
 -     * Gets the value of the pos3 property.
++     * <pre>
++     * &lt;complexType>
++     *   &lt;complexContent>
++     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++     *       &lt;attribute name="pos1" type="{http://www.w3.org/2001/XMLSchema}integer" />
++     *       &lt;attribute name="pos2" type="{http://www.w3.org/2001/XMLSchema}integer" />
++     *       &lt;attribute name="pos3" type="{http://www.w3.org/2001/XMLSchema}integer" />
++     *     &lt;/restriction>
++     *   &lt;/complexContent>
++     * &lt;/complexType>
++     * </pre>
       * 
 -     * @return possible object is {@link BigInteger }
       * 
       */
 -    public BigInteger getPos3()
 -    {
 -      return pos3;
 -    }
 +    @XmlAccessorType(XmlAccessType.FIELD)
 +    @XmlType(name = "")
 +    public static class Alcodon {
  
 -    /**
 -     * Sets the value of the pos3 property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link BigInteger }
 -     * 
 -     */
 -    public void setPos3(BigInteger value)
 -    {
 -      this.pos3 = value;
 -    }
 +        @XmlAttribute(name = "pos1")
 +        protected BigInteger pos1;
 +        @XmlAttribute(name = "pos2")
 +        protected BigInteger pos2;
 +        @XmlAttribute(name = "pos3")
 +        protected BigInteger pos3;
 +
 +        /**
 +         * Gets the value of the pos1 property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link BigInteger }
 +         *     
 +         */
 +        public BigInteger getPos1() {
 +            return pos1;
 +        }
  
 -  }
 +        /**
 +         * Sets the value of the pos1 property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link BigInteger }
 +         *     
 +         */
 +        public void setPos1(BigInteger value) {
 +            this.pos1 = value;
 +        }
 +
 +        /**
 +         * Gets the value of the pos2 property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link BigInteger }
 +         *     
 +         */
 +        public BigInteger getPos2() {
 +            return pos2;
 +        }
 +
 +        /**
 +         * Sets the value of the pos2 property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link BigInteger }
 +         *     
 +         */
 +        public void setPos2(BigInteger value) {
 +            this.pos2 = value;
 +        }
 +
 +        /**
 +         * Gets the value of the pos3 property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link BigInteger }
 +         *     
 +         */
 +        public BigInteger getPos3() {
 +            return pos3;
 +        }
 +
 +        /**
 +         * Sets the value of the pos3 property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link BigInteger }
 +         *     
 +         */
 +        public void setPos3(BigInteger value) {
 +            this.pos3 = value;
 +        }
 +
 +    }
  
  }
@@@ -1,11 -1,10 +1,11 @@@
  //
--// This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
--// See https://eclipse-ee4j.github.io/jaxb-ri 
++// 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: 2022.02.07 at 04:44:47 PM GMT 
 -// Generated on: 2021.08.30 at 11:05:22 AM BST 
++// Generated on: 2023.01.31 at 04:07:08 PM GMT 
  //
  
 +
  package jalview.xml.binding.jalview;
  
  import java.util.ArrayList;
@@@ -17,181 -16,718 +17,181 @@@ import javax.xml.bind.annotation.XmlEle
  import javax.xml.bind.annotation.XmlRootElement;
  import javax.xml.bind.annotation.XmlType;
  
 +
  /**
-- * &lt;p&gt;Java class for anonymous complex type.
++ * <p>Java class for anonymous complex type.
   * 
-  * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
 - * &lt;p&gt;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.
   * 
-  * &lt;pre&gt;
-  * &amp;lt;complexType&amp;gt;
-  *   &amp;lt;complexContent&amp;gt;
-  *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *       &amp;lt;sequence&amp;gt;
-  *         &amp;lt;element ref="{www.vamsas.ac.uk/jalview/version2}annotationElement" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
-  *         &amp;lt;element name="label" type="{http://www.w3.org/2001/XMLSchema}string"/&amp;gt;
-  *         &amp;lt;element name="description" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&amp;gt;
-  *         &amp;lt;element name="thresholdLine" minOccurs="0"&amp;gt;
-  *           &amp;lt;complexType&amp;gt;
-  *             &amp;lt;complexContent&amp;gt;
-  *               &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *                 &amp;lt;attribute name="label" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *                 &amp;lt;attribute name="value" type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt;
-  *                 &amp;lt;attribute name="colour" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-  *               &amp;lt;/restriction&amp;gt;
-  *             &amp;lt;/complexContent&amp;gt;
-  *           &amp;lt;/complexType&amp;gt;
-  *         &amp;lt;/element&amp;gt;
-  *         &amp;lt;element name="property" maxOccurs="unbounded" minOccurs="0"&amp;gt;
-  *           &amp;lt;complexType&amp;gt;
-  *             &amp;lt;complexContent&amp;gt;
-  *               &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *                 &amp;lt;attribute name="name" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *                 &amp;lt;attribute name="value" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *               &amp;lt;/restriction&amp;gt;
-  *             &amp;lt;/complexContent&amp;gt;
-  *           &amp;lt;/complexType&amp;gt;
-  *         &amp;lt;/element&amp;gt;
-  *       &amp;lt;/sequence&amp;gt;
-  *       &amp;lt;attribute name="graph" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-  *       &amp;lt;attribute name="graphType" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-  *       &amp;lt;attribute name="sequenceRef" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *       &amp;lt;attribute name="groupRef" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *       &amp;lt;attribute name="graphColour" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-  *       &amp;lt;attribute name="graphGroup" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-  *       &amp;lt;attribute name="graphHeight" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-  *       &amp;lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *       &amp;lt;attribute name="scoreOnly" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
-  *       &amp;lt;attribute name="score" type="{http://www.w3.org/2001/XMLSchema}double" /&amp;gt;
-  *       &amp;lt;attribute name="visible" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-  *       &amp;lt;attribute name="centreColLabels" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-  *       &amp;lt;attribute name="scaleColLabels" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-  *       &amp;lt;attribute name="showAllColLabels" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-  *       &amp;lt;attribute name="autoCalculated" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
-  *       &amp;lt;attribute name="belowAlignment" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
-  *       &amp;lt;attribute name="calcId" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *     &amp;lt;/restriction&amp;gt;
-  *   &amp;lt;/complexContent&amp;gt;
-  * &amp;lt;/complexType&amp;gt;
-  * &lt;/pre&gt;
 - * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
 - * &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
 - * &amp;lt;sequence&amp;gt; &amp;lt;element
 - * ref="{www.vamsas.ac.uk/jalview/version2}annotationElement"
 - * maxOccurs="unbounded" minOccurs="0"/&amp;gt; &amp;lt;element name="label"
 - * type="{http://www.w3.org/2001/XMLSchema}string"/&amp;gt; &amp;lt;element
 - * name="description" type="{http://www.w3.org/2001/XMLSchema}string"
 - * minOccurs="0"/&amp;gt; &amp;lt;element name="thresholdLine"
 - * minOccurs="0"&amp;gt; &amp;lt;complexType&amp;gt;
 - * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
 - * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attribute
 - * name="label" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
 - * &amp;lt;attribute name="value" type="{http://www.w3.org/2001/XMLSchema}float"
 - * /&amp;gt; &amp;lt;attribute name="colour"
 - * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
 - * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 - * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt; &amp;lt;element
 - * name="property" maxOccurs="unbounded" minOccurs="0"&amp;gt;
 - * &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
 - * &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
 - * &amp;lt;attribute name="name" type="{http://www.w3.org/2001/XMLSchema}string"
 - * /&amp;gt; &amp;lt;attribute name="value"
 - * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
 - * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 - * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt;
 - * &amp;lt;/sequence&amp;gt; &amp;lt;attribute name="graph" use="required"
 - * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt; &amp;lt;attribute
 - * name="graphType" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
 - * &amp;lt;attribute name="sequenceRef"
 - * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
 - * name="groupRef" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
 - * &amp;lt;attribute name="graphColour"
 - * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
 - * name="graphGroup" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
 - * &amp;lt;attribute name="graphHeight"
 - * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
 - * name="id" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
 - * &amp;lt;attribute name="scoreOnly"
 - * type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
 - * &amp;lt;attribute name="score"
 - * type="{http://www.w3.org/2001/XMLSchema}double" /&amp;gt; &amp;lt;attribute
 - * name="visible" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
 - * &amp;lt;attribute name="centreColLabels"
 - * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt; &amp;lt;attribute
 - * name="scaleColLabels" type="{http://www.w3.org/2001/XMLSchema}boolean"
 - * /&amp;gt; &amp;lt;attribute name="showAllColLabels"
 - * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt; &amp;lt;attribute
 - * name="autoCalculated" type="{http://www.w3.org/2001/XMLSchema}boolean"
 - * default="false" /&amp;gt; &amp;lt;attribute name="belowAlignment"
 - * type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
 - * &amp;lt;attribute name="calcId"
 - * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
 - * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 - * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
++ * <pre>
++ * &lt;complexType>
++ *   &lt;complexContent>
++ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++ *       &lt;sequence>
++ *         &lt;element ref="{www.vamsas.ac.uk/jalview/version2}annotationElement" maxOccurs="unbounded" minOccurs="0"/>
++ *         &lt;element name="label" type="{http://www.w3.org/2001/XMLSchema}string"/>
++ *         &lt;element name="description" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
++ *         &lt;element name="thresholdLine" minOccurs="0">
++ *           &lt;complexType>
++ *             &lt;complexContent>
++ *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++ *                 &lt;attribute name="label" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *                 &lt;attribute name="value" type="{http://www.w3.org/2001/XMLSchema}float" />
++ *                 &lt;attribute name="colour" type="{http://www.w3.org/2001/XMLSchema}int" />
++ *               &lt;/restriction>
++ *             &lt;/complexContent>
++ *           &lt;/complexType>
++ *         &lt;/element>
++ *         &lt;element name="property" maxOccurs="unbounded" minOccurs="0">
++ *           &lt;complexType>
++ *             &lt;complexContent>
++ *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++ *                 &lt;attribute name="name" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *                 &lt;attribute name="value" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *               &lt;/restriction>
++ *             &lt;/complexContent>
++ *           &lt;/complexType>
++ *         &lt;/element>
++ *       &lt;/sequence>
++ *       &lt;attribute name="graph" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++ *       &lt;attribute name="graphType" type="{http://www.w3.org/2001/XMLSchema}int" />
++ *       &lt;attribute name="sequenceRef" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *       &lt;attribute name="groupRef" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *       &lt;attribute name="graphColour" type="{http://www.w3.org/2001/XMLSchema}int" />
++ *       &lt;attribute name="graphGroup" type="{http://www.w3.org/2001/XMLSchema}int" />
++ *       &lt;attribute name="graphHeight" type="{http://www.w3.org/2001/XMLSchema}int" />
++ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *       &lt;attribute name="scoreOnly" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
++ *       &lt;attribute name="score" type="{http://www.w3.org/2001/XMLSchema}double" />
++ *       &lt;attribute name="visible" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++ *       &lt;attribute name="centreColLabels" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++ *       &lt;attribute name="scaleColLabels" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++ *       &lt;attribute name="showAllColLabels" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++ *       &lt;attribute name="autoCalculated" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
++ *       &lt;attribute name="belowAlignment" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
++ *       &lt;attribute name="calcId" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *     &lt;/restriction>
++ *   &lt;/complexContent>
++ * &lt;/complexType>
++ * </pre>
   * 
   * 
   */
  @XmlAccessorType(XmlAccessType.FIELD)
 -@XmlType(
 -  name = "",
 -  propOrder =
 -  { "annotationElement", "label", "description", "thresholdLine",
 -      "property" })
 +@XmlType(name = "", propOrder = {
 +    "annotationElement",
 +    "label",
 +    "description",
 +    "thresholdLine",
 +    "property"
 +})
  @XmlRootElement(name = "Annotation")
 -public class Annotation
 -{
 +public class Annotation {
  
 -  protected List<AnnotationElement> annotationElement;
 +    protected List<AnnotationElement> annotationElement;
 +    @XmlElement(required = true)
 +    protected String label;
 +    protected String description;
 +    protected Annotation.ThresholdLine thresholdLine;
 +    protected List<Annotation.Property> property;
 +    @XmlAttribute(name = "graph", required = true)
 +    protected boolean graph;
 +    @XmlAttribute(name = "graphType")
 +    protected Integer graphType;
 +    @XmlAttribute(name = "sequenceRef")
 +    protected String sequenceRef;
 +    @XmlAttribute(name = "groupRef")
 +    protected String groupRef;
 +    @XmlAttribute(name = "graphColour")
 +    protected Integer graphColour;
 +    @XmlAttribute(name = "graphGroup")
 +    protected Integer graphGroup;
 +    @XmlAttribute(name = "graphHeight")
 +    protected Integer graphHeight;
 +    @XmlAttribute(name = "id")
 +    protected String id;
 +    @XmlAttribute(name = "scoreOnly")
 +    protected Boolean scoreOnly;
 +    @XmlAttribute(name = "score")
 +    protected Double score;
 +    @XmlAttribute(name = "visible")
 +    protected Boolean visible;
 +    @XmlAttribute(name = "centreColLabels")
 +    protected Boolean centreColLabels;
 +    @XmlAttribute(name = "scaleColLabels")
 +    protected Boolean scaleColLabels;
 +    @XmlAttribute(name = "showAllColLabels")
 +    protected Boolean showAllColLabels;
 +    @XmlAttribute(name = "autoCalculated")
 +    protected Boolean autoCalculated;
 +    @XmlAttribute(name = "belowAlignment")
 +    protected Boolean belowAlignment;
 +    @XmlAttribute(name = "calcId")
 +    protected String calcId;
  
 -  @XmlElement(required = true)
 -  protected String label;
 -
 -  protected String description;
 -
 -  protected Annotation.ThresholdLine thresholdLine;
 -
 -  protected List<Annotation.Property> property;
 -
 -  @XmlAttribute(name = "graph", required = true)
 -  protected boolean graph;
 -
 -  @XmlAttribute(name = "graphType")
 -  protected Integer graphType;
 -
 -  @XmlAttribute(name = "sequenceRef")
 -  protected String sequenceRef;
 -
 -  @XmlAttribute(name = "groupRef")
 -  protected String groupRef;
 -
 -  @XmlAttribute(name = "graphColour")
 -  protected Integer graphColour;
 -
 -  @XmlAttribute(name = "graphGroup")
 -  protected Integer graphGroup;
 -
 -  @XmlAttribute(name = "graphHeight")
 -  protected Integer graphHeight;
 -
 -  @XmlAttribute(name = "id")
 -  protected String id;
 -
 -  @XmlAttribute(name = "scoreOnly")
 -  protected Boolean scoreOnly;
 -
 -  @XmlAttribute(name = "score")
 -  protected Double score;
 -
 -  @XmlAttribute(name = "visible")
 -  protected Boolean visible;
 -
 -  @XmlAttribute(name = "centreColLabels")
 -  protected Boolean centreColLabels;
 -
 -  @XmlAttribute(name = "scaleColLabels")
 -  protected Boolean scaleColLabels;
 -
 -  @XmlAttribute(name = "showAllColLabels")
 -  protected Boolean showAllColLabels;
 -
 -  @XmlAttribute(name = "autoCalculated")
 -  protected Boolean autoCalculated;
 -
 -  @XmlAttribute(name = "belowAlignment")
 -  protected Boolean belowAlignment;
 -
 -  @XmlAttribute(name = "calcId")
 -  protected String calcId;
 -
 -  /**
 -   * Gets the value of the annotationElement property.
 -   * 
 -   * &lt;p&gt; 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
 -   * &lt;CODE&gt;set&lt;/CODE&gt; method for the annotationElement property.
 -   * 
 -   * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
 -   * getAnnotationElement().add(newItem); &lt;/pre&gt;
 -   * 
 -   * 
 -   * &lt;p&gt; Objects of the following type(s) are allowed in the list
 -   * {@link AnnotationElement }
 -   * 
 -   * 
 -   */
 -  public List<AnnotationElement> getAnnotationElement()
 -  {
 -    if (annotationElement == null)
 -    {
 -      annotationElement = new ArrayList<AnnotationElement>();
 -    }
 -    return this.annotationElement;
 -  }
 -
 -  /**
 -   * Gets the value of the label property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getLabel()
 -  {
 -    return label;
 -  }
 -
 -  /**
 -   * Sets the value of the label property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setLabel(String value)
 -  {
 -    this.label = value;
 -  }
 -
 -  /**
 -   * Gets the value of the description property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getDescription()
 -  {
 -    return description;
 -  }
 -
 -  /**
 -   * Sets the value of the description property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setDescription(String value)
 -  {
 -    this.description = value;
 -  }
 -
 -  /**
 -   * Gets the value of the thresholdLine property.
 -   * 
 -   * @return possible object is {@link Annotation.ThresholdLine }
 -   * 
 -   */
 -  public Annotation.ThresholdLine getThresholdLine()
 -  {
 -    return thresholdLine;
 -  }
 -
 -  /**
 -   * Sets the value of the thresholdLine property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link Annotation.ThresholdLine }
 -   * 
 -   */
 -  public void setThresholdLine(Annotation.ThresholdLine value)
 -  {
 -    this.thresholdLine = value;
 -  }
 -
 -  /**
 -   * Gets the value of the property property.
 -   * 
 -   * &lt;p&gt; 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
 -   * &lt;CODE&gt;set&lt;/CODE&gt; method for the property property.
 -   * 
 -   * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
 -   * getProperty().add(newItem); &lt;/pre&gt;
 -   * 
 -   * 
 -   * &lt;p&gt; Objects of the following type(s) are allowed in the list
 -   * {@link Annotation.Property }
 -   * 
 -   * 
 -   */
 -  public List<Annotation.Property> getProperty()
 -  {
 -    if (property == null)
 -    {
 -      property = new ArrayList<Annotation.Property>();
 -    }
 -    return this.property;
 -  }
 -
 -  /**
 -   * Gets the value of the graph property.
 -   * 
 -   */
 -  public boolean isGraph()
 -  {
 -    return graph;
 -  }
 -
 -  /**
 -   * Sets the value of the graph property.
 -   * 
 -   */
 -  public void setGraph(boolean value)
 -  {
 -    this.graph = value;
 -  }
 -
 -  /**
 -   * Gets the value of the graphType property.
 -   * 
 -   * @return possible object is {@link Integer }
 -   * 
 -   */
 -  public Integer getGraphType()
 -  {
 -    return graphType;
 -  }
 -
 -  /**
 -   * Sets the value of the graphType property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link Integer }
 -   * 
 -   */
 -  public void setGraphType(Integer value)
 -  {
 -    this.graphType = value;
 -  }
 -
 -  /**
 -   * Gets the value of the sequenceRef property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getSequenceRef()
 -  {
 -    return sequenceRef;
 -  }
 -
 -  /**
 -   * Sets the value of the sequenceRef property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setSequenceRef(String value)
 -  {
 -    this.sequenceRef = value;
 -  }
 -
 -  /**
 -   * Gets the value of the groupRef property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getGroupRef()
 -  {
 -    return groupRef;
 -  }
 -
 -  /**
 -   * Sets the value of the groupRef property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setGroupRef(String value)
 -  {
 -    this.groupRef = value;
 -  }
 -
 -  /**
 -   * Gets the value of the graphColour property.
 -   * 
 -   * @return possible object is {@link Integer }
 -   * 
 -   */
 -  public Integer getGraphColour()
 -  {
 -    return graphColour;
 -  }
 -
 -  /**
 -   * Sets the value of the graphColour property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link Integer }
 -   * 
 -   */
 -  public void setGraphColour(Integer value)
 -  {
 -    this.graphColour = value;
 -  }
 -
 -  /**
 -   * Gets the value of the graphGroup property.
 -   * 
 -   * @return possible object is {@link Integer }
 -   * 
 -   */
 -  public Integer getGraphGroup()
 -  {
 -    return graphGroup;
 -  }
 -
 -  /**
 -   * Sets the value of the graphGroup property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link Integer }
 -   * 
 -   */
 -  public void setGraphGroup(Integer value)
 -  {
 -    this.graphGroup = value;
 -  }
 -
 -  /**
 -   * Gets the value of the graphHeight property.
 -   * 
 -   * @return possible object is {@link Integer }
 -   * 
 -   */
 -  public Integer getGraphHeight()
 -  {
 -    return graphHeight;
 -  }
 -
 -  /**
 -   * Sets the value of the graphHeight property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link Integer }
 -   * 
 -   */
 -  public void setGraphHeight(Integer value)
 -  {
 -    this.graphHeight = value;
 -  }
 -
 -  /**
 -   * Gets the value of the id property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getId()
 -  {
 -    return id;
 -  }
 -
 -  /**
 -   * Sets the value of the id property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setId(String value)
 -  {
 -    this.id = value;
 -  }
 -
 -  /**
 -   * Gets the value of the scoreOnly property.
 -   * 
 -   * @return possible object is {@link Boolean }
 -   * 
 -   */
 -  public boolean isScoreOnly()
 -  {
 -    if (scoreOnly == null)
 -    {
 -      return false;
 -    }
 -    else
 -    {
 -      return scoreOnly;
 -    }
 -  }
 -
 -  /**
 -   * Sets the value of the scoreOnly property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link Boolean }
 -   * 
 -   */
 -  public void setScoreOnly(Boolean value)
 -  {
 -    this.scoreOnly = value;
 -  }
 -
 -  /**
 -   * Gets the value of the score property.
 -   * 
 -   * @return possible object is {@link Double }
 -   * 
 -   */
 -  public Double getScore()
 -  {
 -    return score;
 -  }
 -
 -  /**
 -   * Sets the value of the score property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link Double }
 -   * 
 -   */
 -  public void setScore(Double value)
 -  {
 -    this.score = value;
 -  }
 -
 -  /**
 -   * Gets the value of the visible property.
 -   * 
 -   * @return possible object is {@link Boolean }
 -   * 
 -   */
 -  public Boolean isVisible()
 -  {
 -    return visible;
 -  }
 -
 -  /**
 -   * Sets the value of the visible property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link Boolean }
 -   * 
 -   */
 -  public void setVisible(Boolean value)
 -  {
 -    this.visible = value;
 -  }
 -
 -  /**
 -   * Gets the value of the centreColLabels property.
 -   * 
 -   * @return possible object is {@link Boolean }
 -   * 
 -   */
 -  public Boolean isCentreColLabels()
 -  {
 -    return centreColLabels;
 -  }
 -
 -  /**
 -   * Sets the value of the centreColLabels property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link Boolean }
 -   * 
 -   */
 -  public void setCentreColLabels(Boolean value)
 -  {
 -    this.centreColLabels = value;
 -  }
 -
 -  /**
 -   * Gets the value of the scaleColLabels property.
 -   * 
 -   * @return possible object is {@link Boolean }
 -   * 
 -   */
 -  public Boolean isScaleColLabels()
 -  {
 -    return scaleColLabels;
 -  }
 -
 -  /**
 -   * Sets the value of the scaleColLabels property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link Boolean }
 -   * 
 -   */
 -  public void setScaleColLabels(Boolean value)
 -  {
 -    this.scaleColLabels = value;
 -  }
 -
 -  /**
 -   * Gets the value of the showAllColLabels property.
 -   * 
 -   * @return possible object is {@link Boolean }
 -   * 
 -   */
 -  public Boolean isShowAllColLabels()
 -  {
 -    return showAllColLabels;
 -  }
 -
 -  /**
 -   * Sets the value of the showAllColLabels property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link Boolean }
 -   * 
 -   */
 -  public void setShowAllColLabels(Boolean value)
 -  {
 -    this.showAllColLabels = value;
 -  }
 -
 -  /**
 -   * Gets the value of the autoCalculated property.
 -   * 
 -   * @return possible object is {@link Boolean }
 -   * 
 -   */
 -  public boolean isAutoCalculated()
 -  {
 -    if (autoCalculated == null)
 -    {
 -      return false;
 -    }
 -    else
 -    {
 -      return autoCalculated;
 -    }
 -  }
 -
 -  /**
 -   * Sets the value of the autoCalculated property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link Boolean }
 -   * 
 -   */
 -  public void setAutoCalculated(Boolean value)
 -  {
 -    this.autoCalculated = value;
 -  }
 -
 -  /**
 -   * Gets the value of the belowAlignment property.
 -   * 
 -   * @return possible object is {@link Boolean }
 -   * 
 -   */
 -  public boolean isBelowAlignment()
 -  {
 -    if (belowAlignment == null)
 -    {
 -      return true;
 -    }
 -    else
 -    {
 -      return belowAlignment;
 -    }
 -  }
 -
 -  /**
 -   * Sets the value of the belowAlignment property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link Boolean }
 -   * 
 -   */
 -  public void setBelowAlignment(Boolean value)
 -  {
 -    this.belowAlignment = value;
 -  }
 -
 -  /**
 -   * Gets the value of the calcId property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getCalcId()
 -  {
 -    return calcId;
 -  }
 -
 -  /**
 -   * Sets the value of the calcId property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setCalcId(String value)
 -  {
 -    this.calcId = value;
 -  }
 -
 -  /**
 -   * &lt;p&gt;Java class for anonymous complex type.
 -   * 
 -   * &lt;p&gt;The following schema fragment specifies the expected content
 -   * contained within this class.
 -   * 
 -   * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
 -   * &amp;lt;restriction
 -   * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attribute
 -   * name="name" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
 -   * &amp;lt;attribute name="value"
 -   * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
 -   * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 -   * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
 -   * 
 -   * 
 -   */
 -  @XmlAccessorType(XmlAccessType.FIELD)
 -  @XmlType(name = "")
 -  public static class Property
 -  {
 -
 -    @XmlAttribute(name = "name")
 -    protected String name;
 -
 -    @XmlAttribute(name = "value")
 -    protected String value;
 -
 -    /**
 -     * Gets the value of the name property.
 -     * 
 -     * @return possible object is {@link String }
 -     * 
 -     */
 -    public String getName()
 -    {
 -      return name;
 -    }
 -
 -    /**
 -     * Sets the value of the name property.
 +    /**
 +     * Gets the value of the annotationElement property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the annotationElement property.
++     * This is why there is not a <CODE>set</CODE> method for the annotationElement property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getAnnotationElement().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link AnnotationElement }
 +     * 
 +     * 
 +     */
 +    public List<AnnotationElement> getAnnotationElement() {
 +        if (annotationElement == null) {
 +            annotationElement = new ArrayList<AnnotationElement>();
 +        }
 +        return this.annotationElement;
 +    }
 +
 +    /**
 +     * Gets the value of the label property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link String }
 +     *     
 +     */
 +    public String getLabel() {
 +        return label;
 +    }
 +
 +    /**
 +     * Sets the value of the label property.
       * 
       * @param value
 -     *          allowed object is {@link String }
 +     *     allowed object is
 +     *     {@link String }
 +     *     
 +     */
 +    public void setLabel(String value) {
 +        this.label = value;
 +    }
 +
 +    /**
 +     * Gets the value of the description property.
       * 
 +     * @return
 +     *     possible object is
 +     *     {@link String }
 +     *     
       */
 -    public void setName(String value)
 -    {
 -      this.name = value;
 +    public String getDescription() {
 +        return description;
      }
  
      /**
      }
  
      /**
 -     * Sets the value of the value property.
 +     * Sets the value of the thresholdLine property.
       * 
       * @param value
 -     *          allowed object is {@link String }
 -     * 
 -     */
 -    public void setValue(String value)
 -    {
 -      this.value = value;
 -    }
 -
 -  }
 -
 -  /**
 -   * &lt;p&gt;Java class for anonymous complex type.
 -   * 
 -   * &lt;p&gt;The following schema fragment specifies the expected content
 -   * contained within this class.
 -   * 
 -   * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
 -   * &amp;lt;restriction
 -   * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attribute
 -   * name="label" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
 -   * &amp;lt;attribute name="value"
 -   * type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt; &amp;lt;attribute
 -   * name="colour" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
 -   * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 -   * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
 -   * 
 -   * 
 -   */
 -  @XmlAccessorType(XmlAccessType.FIELD)
 -  @XmlType(name = "")
 -  public static class ThresholdLine
 -  {
 -
 -    @XmlAttribute(name = "label")
 -    protected String label;
 +     *     allowed object is
 +     *     {@link Annotation.ThresholdLine }
 +     *     
 +     */
 +    public void setThresholdLine(Annotation.ThresholdLine value) {
 +        this.thresholdLine = value;
 +    }
  
 -    @XmlAttribute(name = "value")
 -    protected Float value;
 +    /**
 +     * Gets the value of the property property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the property property.
++     * This is why there is not a <CODE>set</CODE> method for the property property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getProperty().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link Annotation.Property }
 +     * 
 +     * 
 +     */
 +    public List<Annotation.Property> getProperty() {
 +        if (property == null) {
 +            property = new ArrayList<Annotation.Property>();
 +        }
 +        return this.property;
 +    }
  
 -    @XmlAttribute(name = "colour")
 -    protected Integer colour;
 +    /**
 +     * Gets the value of the graph property.
 +     * 
 +     */
 +    public boolean isGraph() {
 +        return graph;
 +    }
  
      /**
 -     * Gets the value of the label property.
 +     * Sets the value of the graph property.
       * 
 -     * @return possible object is {@link String }
 +     */
 +    public void setGraph(boolean value) {
 +        this.graph = value;
 +    }
 +
 +    /**
 +     * Gets the value of the graphType property.
       * 
 +     * @return
 +     *     possible object is
 +     *     {@link Integer }
 +     *     
       */
 -    public String getLabel()
 -    {
 -      return label;
 +    public Integer getGraphType() {
 +        return graphType;
      }
  
      /**
      }
  
      /**
 -     * Sets the value of the colour property.
 +     * Sets the value of the id property.
       * 
       * @param value
 -     *          allowed object is {@link Integer }
 +     *     allowed object is
 +     *     {@link String }
 +     *     
 +     */
 +    public void setId(String value) {
 +        this.id = value;
 +    }
 +
 +    /**
 +     * Gets the value of the scoreOnly property.
       * 
 +     * @return
 +     *     possible object is
 +     *     {@link Boolean }
 +     *     
       */
 -    public void setColour(Integer value)
 -    {
 -      this.colour = value;
 +    public boolean isScoreOnly() {
 +        if (scoreOnly == null) {
 +            return false;
 +        } else {
 +            return scoreOnly;
 +        }
      }
  
 -  }
 +    /**
 +     * Sets the value of the scoreOnly property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link Boolean }
 +     *     
 +     */
 +    public void setScoreOnly(Boolean value) {
 +        this.scoreOnly = value;
 +    }
 +
 +    /**
 +     * Gets the value of the score property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link Double }
 +     *     
 +     */
 +    public Double getScore() {
 +        return score;
 +    }
 +
 +    /**
 +     * Sets the value of the score property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link Double }
 +     *     
 +     */
 +    public void setScore(Double value) {
 +        this.score = value;
 +    }
 +
 +    /**
 +     * Gets the value of the visible property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link Boolean }
 +     *     
 +     */
 +    public Boolean isVisible() {
 +        return visible;
 +    }
 +
 +    /**
 +     * Sets the value of the visible property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link Boolean }
 +     *     
 +     */
 +    public void setVisible(Boolean value) {
 +        this.visible = value;
 +    }
 +
 +    /**
 +     * Gets the value of the centreColLabels property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link Boolean }
 +     *     
 +     */
 +    public Boolean isCentreColLabels() {
 +        return centreColLabels;
 +    }
 +
 +    /**
 +     * Sets the value of the centreColLabels property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link Boolean }
 +     *     
 +     */
 +    public void setCentreColLabels(Boolean value) {
 +        this.centreColLabels = value;
 +    }
 +
 +    /**
 +     * Gets the value of the scaleColLabels property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link Boolean }
 +     *     
 +     */
 +    public Boolean isScaleColLabels() {
 +        return scaleColLabels;
 +    }
 +
 +    /**
 +     * Sets the value of the scaleColLabels property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link Boolean }
 +     *     
 +     */
 +    public void setScaleColLabels(Boolean value) {
 +        this.scaleColLabels = value;
 +    }
 +
 +    /**
 +     * Gets the value of the showAllColLabels property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link Boolean }
 +     *     
 +     */
 +    public Boolean isShowAllColLabels() {
 +        return showAllColLabels;
 +    }
 +
 +    /**
 +     * Sets the value of the showAllColLabels property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link Boolean }
 +     *     
 +     */
 +    public void setShowAllColLabels(Boolean value) {
 +        this.showAllColLabels = value;
 +    }
 +
 +    /**
 +     * Gets the value of the autoCalculated property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link Boolean }
 +     *     
 +     */
 +    public boolean isAutoCalculated() {
 +        if (autoCalculated == null) {
 +            return false;
 +        } else {
 +            return autoCalculated;
 +        }
 +    }
 +
 +    /**
 +     * Sets the value of the autoCalculated property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link Boolean }
 +     *     
 +     */
 +    public void setAutoCalculated(Boolean value) {
 +        this.autoCalculated = value;
 +    }
 +
 +    /**
 +     * Gets the value of the belowAlignment property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link Boolean }
 +     *     
 +     */
 +    public boolean isBelowAlignment() {
 +        if (belowAlignment == null) {
 +            return true;
 +        } else {
 +            return belowAlignment;
 +        }
 +    }
 +
 +    /**
 +     * Sets the value of the belowAlignment property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link Boolean }
 +     *     
 +     */
 +    public void setBelowAlignment(Boolean value) {
 +        this.belowAlignment = value;
 +    }
 +
 +    /**
 +     * Gets the value of the calcId property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link String }
 +     *     
 +     */
 +    public String getCalcId() {
 +        return calcId;
 +    }
 +
 +    /**
 +     * Sets the value of the calcId property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link String }
 +     *     
 +     */
 +    public void setCalcId(String value) {
 +        this.calcId = value;
 +    }
 +
 +
 +    /**
-      * &lt;p&gt;Java class for anonymous complex type.
++     * <p>Java class for anonymous complex type.
 +     * 
-      * &lt;p&gt;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.
 +     * 
-      * &lt;pre&gt;
-      * &amp;lt;complexType&amp;gt;
-      *   &amp;lt;complexContent&amp;gt;
-      *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-      *       &amp;lt;attribute name="name" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-      *       &amp;lt;attribute name="value" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-      *     &amp;lt;/restriction&amp;gt;
-      *   &amp;lt;/complexContent&amp;gt;
-      * &amp;lt;/complexType&amp;gt;
-      * &lt;/pre&gt;
++     * <pre>
++     * &lt;complexType>
++     *   &lt;complexContent>
++     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++     *       &lt;attribute name="name" type="{http://www.w3.org/2001/XMLSchema}string" />
++     *       &lt;attribute name="value" type="{http://www.w3.org/2001/XMLSchema}string" />
++     *     &lt;/restriction>
++     *   &lt;/complexContent>
++     * &lt;/complexType>
++     * </pre>
 +     * 
 +     * 
 +     */
 +    @XmlAccessorType(XmlAccessType.FIELD)
 +    @XmlType(name = "")
 +    public static class Property {
 +
 +        @XmlAttribute(name = "name")
 +        protected String name;
 +        @XmlAttribute(name = "value")
 +        protected String value;
 +
 +        /**
 +         * Gets the value of the name property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link String }
 +         *     
 +         */
 +        public String getName() {
 +            return name;
 +        }
 +
 +        /**
 +         * Sets the value of the name property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link String }
 +         *     
 +         */
 +        public void setName(String value) {
 +            this.name = value;
 +        }
 +
 +        /**
 +         * Gets the value of the value property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link String }
 +         *     
 +         */
 +        public String getValue() {
 +            return value;
 +        }
 +
 +        /**
 +         * Sets the value of the value property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link String }
 +         *     
 +         */
 +        public void setValue(String value) {
 +            this.value = value;
 +        }
 +
 +    }
 +
 +
 +    /**
-      * &lt;p&gt;Java class for anonymous complex type.
++     * <p>Java class for anonymous complex type.
 +     * 
-      * &lt;p&gt;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.
 +     * 
-      * &lt;pre&gt;
-      * &amp;lt;complexType&amp;gt;
-      *   &amp;lt;complexContent&amp;gt;
-      *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-      *       &amp;lt;attribute name="label" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-      *       &amp;lt;attribute name="value" type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt;
-      *       &amp;lt;attribute name="colour" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-      *     &amp;lt;/restriction&amp;gt;
-      *   &amp;lt;/complexContent&amp;gt;
-      * &amp;lt;/complexType&amp;gt;
-      * &lt;/pre&gt;
++     * <pre>
++     * &lt;complexType>
++     *   &lt;complexContent>
++     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++     *       &lt;attribute name="label" type="{http://www.w3.org/2001/XMLSchema}string" />
++     *       &lt;attribute name="value" type="{http://www.w3.org/2001/XMLSchema}float" />
++     *       &lt;attribute name="colour" type="{http://www.w3.org/2001/XMLSchema}int" />
++     *     &lt;/restriction>
++     *   &lt;/complexContent>
++     * &lt;/complexType>
++     * </pre>
 +     * 
 +     * 
 +     */
 +    @XmlAccessorType(XmlAccessType.FIELD)
 +    @XmlType(name = "")
 +    public static class ThresholdLine {
 +
 +        @XmlAttribute(name = "label")
 +        protected String label;
 +        @XmlAttribute(name = "value")
 +        protected Float value;
 +        @XmlAttribute(name = "colour")
 +        protected Integer colour;
 +
 +        /**
 +         * Gets the value of the label property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link String }
 +         *     
 +         */
 +        public String getLabel() {
 +            return label;
 +        }
 +
 +        /**
 +         * Sets the value of the label property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link String }
 +         *     
 +         */
 +        public void setLabel(String value) {
 +            this.label = value;
 +        }
 +
 +        /**
 +         * Gets the value of the value property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Float }
 +         *     
 +         */
 +        public Float getValue() {
 +            return value;
 +        }
 +
 +        /**
 +         * Sets the value of the value property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Float }
 +         *     
 +         */
 +        public void setValue(Float value) {
 +            this.value = value;
 +        }
 +
 +        /**
 +         * Gets the value of the colour property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Integer }
 +         *     
 +         */
 +        public Integer getColour() {
 +            return colour;
 +        }
 +
 +        /**
 +         * Sets the value of the colour property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Integer }
 +         *     
 +         */
 +        public void setColour(Integer value) {
 +            this.colour = value;
 +        }
 +
 +    }
  
  }
@@@ -1,11 -1,10 +1,11 @@@
  //
--// This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
--// See https://eclipse-ee4j.github.io/jaxb-ri 
++// 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: 2022.02.07 at 04:44:47 PM GMT 
 -// Generated on: 2021.08.30 at 11:05:22 AM BST 
++// Generated on: 2023.01.31 at 04:07:08 PM GMT 
  //
  
 +
  package jalview.xml.binding.jalview;
  
  import javax.xml.bind.annotation.XmlAccessType;
@@@ -13,28 -12,29 +13,28 @@@ import javax.xml.bind.annotation.XmlAcc
  import javax.xml.bind.annotation.XmlAttribute;
  import javax.xml.bind.annotation.XmlType;
  
 +
  /**
-- * &lt;p&gt;Java class for AnnotationColourScheme complex type.
++ * <p>Java class for AnnotationColourScheme complex type.
   * 
-  * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
 - * &lt;p&gt;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.
   * 
-  * &lt;pre&gt;
-  * &amp;lt;complexType name="AnnotationColourScheme"&amp;gt;
-  *   &amp;lt;complexContent&amp;gt;
-  *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *       &amp;lt;attribute name="aboveThreshold" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-  *       &amp;lt;attribute name="annotation" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *       &amp;lt;attribute name="minColour" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-  *       &amp;lt;attribute name="maxColour" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-  *       &amp;lt;attribute name="colourScheme" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *       &amp;lt;attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt;
-  *       &amp;lt;attribute name="perSequence" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-  *       &amp;lt;attribute name="predefinedColours" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-  *     &amp;lt;/restriction&amp;gt;
-  *   &amp;lt;/complexContent&amp;gt;
-  * &amp;lt;/complexType&amp;gt;
-  * &lt;/pre&gt;
 - * &lt;pre&gt; &amp;lt;complexType name="AnnotationColourScheme"&amp;gt;
 - * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
 - * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attribute
 - * name="aboveThreshold" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
 - * &amp;lt;attribute name="annotation"
 - * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
 - * name="minColour" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
 - * &amp;lt;attribute name="maxColour"
 - * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
 - * name="colourScheme" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
 - * &amp;lt;attribute name="threshold"
 - * type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt; &amp;lt;attribute
 - * name="perSequence" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
 - * &amp;lt;attribute name="predefinedColours"
 - * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
 - * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 - * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
++ * <pre>
++ * &lt;complexType name="AnnotationColourScheme">
++ *   &lt;complexContent>
++ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++ *       &lt;attribute name="aboveThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
++ *       &lt;attribute name="annotation" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *       &lt;attribute name="minColour" type="{http://www.w3.org/2001/XMLSchema}int" />
++ *       &lt;attribute name="maxColour" type="{http://www.w3.org/2001/XMLSchema}int" />
++ *       &lt;attribute name="colourScheme" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *       &lt;attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" />
++ *       &lt;attribute name="perSequence" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++ *       &lt;attribute name="predefinedColours" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++ *     &lt;/restriction>
++ *   &lt;/complexContent>
++ * &lt;/complexType>
++ * </pre>
   * 
   * 
   */
@@@ -1,11 -1,10 +1,11 @@@
  //
--// This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
--// See https://eclipse-ee4j.github.io/jaxb-ri 
++// 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: 2022.02.07 at 04:44:47 PM GMT 
 -// Generated on: 2021.08.30 at 11:05:22 AM BST 
++// Generated on: 2023.01.31 at 04:07:08 PM GMT 
  //
  
 +
  package jalview.xml.binding.jalview;
  
  import javax.xml.bind.annotation.XmlAccessType;
@@@ -14,34 -13,29 +14,34 @@@ import javax.xml.bind.annotation.XmlAtt
  import javax.xml.bind.annotation.XmlRootElement;
  import javax.xml.bind.annotation.XmlType;
  
 +
  /**
-- * &lt;p&gt;Java class for anonymous complex type.
++ * <p>Java class for anonymous complex type.
   * 
-  * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
 - * &lt;p&gt;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.
   * 
-  * &lt;pre&gt;
-  * &amp;lt;complexType&amp;gt;
-  *   &amp;lt;complexContent&amp;gt;
-  *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *       &amp;lt;sequence&amp;gt;
-  *         &amp;lt;element name="displayCharacter" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&amp;gt;
-  *         &amp;lt;element name="description" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&amp;gt;
-  *         &amp;lt;element name="secondaryStructure" minOccurs="0"&amp;gt;
-  *           &amp;lt;simpleType&amp;gt;
-  *             &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&amp;gt;
-  *               &amp;lt;length value="1"/&amp;gt;
-  *             &amp;lt;/restriction&amp;gt;
-  *           &amp;lt;/simpleType&amp;gt;
-  *         &amp;lt;/element&amp;gt;
-  *         &amp;lt;element name="value" type="{http://www.w3.org/2001/XMLSchema}float" minOccurs="0"/&amp;gt;
-  *       &amp;lt;/sequence&amp;gt;
-  *       &amp;lt;attribute name="position" use="required" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-  *       &amp;lt;attribute name="colour" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-  *     &amp;lt;/restriction&amp;gt;
-  *   &amp;lt;/complexContent&amp;gt;
-  * &amp;lt;/complexType&amp;gt;
-  * &lt;/pre&gt;
 - * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
 - * &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
 - * &amp;lt;sequence&amp;gt; &amp;lt;element name="displayCharacter"
 - * type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&amp;gt;
 - * &amp;lt;element name="description"
 - * type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&amp;gt;
 - * &amp;lt;element name="secondaryStructure" minOccurs="0"&amp;gt;
 - * &amp;lt;simpleType&amp;gt; &amp;lt;restriction
 - * base="{http://www.w3.org/2001/XMLSchema}string"&amp;gt; &amp;lt;length
 - * value="1"/&amp;gt; &amp;lt;/restriction&amp;gt; &amp;lt;/simpleType&amp;gt;
 - * &amp;lt;/element&amp;gt; &amp;lt;element name="value"
 - * type="{http://www.w3.org/2001/XMLSchema}float" minOccurs="0"/&amp;gt;
 - * &amp;lt;/sequence&amp;gt; &amp;lt;attribute name="position" use="required"
 - * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
 - * name="colour" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
 - * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 - * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
++ * <pre>
++ * &lt;complexType>
++ *   &lt;complexContent>
++ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++ *       &lt;sequence>
++ *         &lt;element name="displayCharacter" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
++ *         &lt;element name="description" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
++ *         &lt;element name="secondaryStructure" minOccurs="0">
++ *           &lt;simpleType>
++ *             &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
++ *               &lt;length value="1"/>
++ *             &lt;/restriction>
++ *           &lt;/simpleType>
++ *         &lt;/element>
++ *         &lt;element name="value" type="{http://www.w3.org/2001/XMLSchema}float" minOccurs="0"/>
++ *       &lt;/sequence>
++ *       &lt;attribute name="position" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
++ *       &lt;attribute name="colour" type="{http://www.w3.org/2001/XMLSchema}int" />
++ *     &lt;/restriction>
++ *   &lt;/complexContent>
++ * &lt;/complexType>
++ * </pre>
   * 
   * 
   */
@@@ -1,11 -1,10 +1,11 @@@
  //
--// This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
--// See https://eclipse-ee4j.github.io/jaxb-ri 
++// 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: 2022.02.07 at 04:44:47 PM GMT 
 -// Generated on: 2021.08.30 at 11:05:22 AM BST 
++// Generated on: 2023.01.31 at 04:07:08 PM GMT 
  //
  
 +
  package jalview.xml.binding.jalview;
  
  import java.util.ArrayList;
@@@ -16,171 -15,167 +16,171 @@@ import javax.xml.bind.annotation.XmlAtt
  import javax.xml.bind.annotation.XmlElement;
  import javax.xml.bind.annotation.XmlType;
  
 +
  /**
-- * &lt;p&gt;Java class for DoubleMatrix complex type.
++ * <p>Java class for DoubleMatrix complex type.
   * 
-  * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
 - * &lt;p&gt;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.
   * 
-  * &lt;pre&gt;
-  * &amp;lt;complexType name="DoubleMatrix"&amp;gt;
-  *   &amp;lt;complexContent&amp;gt;
-  *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *       &amp;lt;sequence&amp;gt;
-  *         &amp;lt;element name="row" type="{www.jalview.org}DoubleVector" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
-  *         &amp;lt;element name="D" type="{www.jalview.org}DoubleVector" minOccurs="0"/&amp;gt;
-  *         &amp;lt;element name="E" type="{www.jalview.org}DoubleVector" minOccurs="0"/&amp;gt;
-  *       &amp;lt;/sequence&amp;gt;
-  *       &amp;lt;attribute name="rows" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-  *       &amp;lt;attribute name="columns" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-  *     &amp;lt;/restriction&amp;gt;
-  *   &amp;lt;/complexContent&amp;gt;
-  * &amp;lt;/complexType&amp;gt;
-  * &lt;/pre&gt;
 - * &lt;pre&gt; &amp;lt;complexType name="DoubleMatrix"&amp;gt;
 - * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
 - * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
 - * &amp;lt;sequence&amp;gt; &amp;lt;element name="row"
 - * type="{www.jalview.org}DoubleVector" maxOccurs="unbounded"
 - * minOccurs="0"/&amp;gt; &amp;lt;element name="D"
 - * type="{www.jalview.org}DoubleVector" minOccurs="0"/&amp;gt; &amp;lt;element
 - * name="E" type="{www.jalview.org}DoubleVector" minOccurs="0"/&amp;gt;
 - * &amp;lt;/sequence&amp;gt; &amp;lt;attribute name="rows"
 - * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
 - * name="columns" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
 - * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 - * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
++ * <pre>
++ * &lt;complexType name="DoubleMatrix">
++ *   &lt;complexContent>
++ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++ *       &lt;sequence>
++ *         &lt;element name="row" type="{www.jalview.org}DoubleVector" maxOccurs="unbounded" minOccurs="0"/>
++ *         &lt;element name="D" type="{www.jalview.org}DoubleVector" minOccurs="0"/>
++ *         &lt;element name="E" type="{www.jalview.org}DoubleVector" minOccurs="0"/>
++ *       &lt;/sequence>
++ *       &lt;attribute name="rows" type="{http://www.w3.org/2001/XMLSchema}int" />
++ *       &lt;attribute name="columns" type="{http://www.w3.org/2001/XMLSchema}int" />
++ *     &lt;/restriction>
++ *   &lt;/complexContent>
++ * &lt;/complexType>
++ * </pre>
   * 
   * 
   */
  @XmlAccessorType(XmlAccessType.FIELD)
 -@XmlType(
 -  name = "DoubleMatrix",
 -  namespace = "www.jalview.org",
 -  propOrder =
 -  { "row", "d", "e" })
 -public class DoubleMatrix
 -{
 -
 -  protected List<DoubleVector> row;
 -
 -  @XmlElement(name = "D")
 -  protected DoubleVector d;
 -
 -  @XmlElement(name = "E")
 -  protected DoubleVector e;
 -
 -  @XmlAttribute(name = "rows")
 -  protected Integer rows;
 -
 -  @XmlAttribute(name = "columns")
 -  protected Integer columns;
 -
 -  /**
 -   * Gets the value of the row property.
 -   * 
 -   * &lt;p&gt; 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
 -   * &lt;CODE&gt;set&lt;/CODE&gt; method for the row property.
 -   * 
 -   * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
 -   * getRow().add(newItem); &lt;/pre&gt;
 -   * 
 -   * 
 -   * &lt;p&gt; Objects of the following type(s) are allowed in the list
 -   * {@link DoubleVector }
 -   * 
 -   * 
 -   */
 -  public List<DoubleVector> getRow()
 -  {
 -    if (row == null)
 -    {
 -      row = new ArrayList<DoubleVector>();
 +@XmlType(name = "DoubleMatrix", namespace = "www.jalview.org", propOrder = {
 +    "row",
 +    "d",
 +    "e"
 +})
 +public class DoubleMatrix {
 +
 +    protected List<DoubleVector> row;
 +    @XmlElement(name = "D")
 +    protected DoubleVector d;
 +    @XmlElement(name = "E")
 +    protected DoubleVector e;
 +    @XmlAttribute(name = "rows")
 +    protected Integer rows;
 +    @XmlAttribute(name = "columns")
 +    protected Integer columns;
 +
 +    /**
 +     * Gets the value of the row property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the row property.
++     * This is why there is not a <CODE>set</CODE> method for the row property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getRow().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link DoubleVector }
 +     * 
 +     * 
 +     */
 +    public List<DoubleVector> getRow() {
 +        if (row == null) {
 +            row = new ArrayList<DoubleVector>();
 +        }
 +        return this.row;
 +    }
 +
 +    /**
 +     * Gets the value of the d property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link DoubleVector }
 +     *     
 +     */
 +    public DoubleVector getD() {
 +        return d;
 +    }
 +
 +    /**
 +     * Sets the value of the d property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link DoubleVector }
 +     *     
 +     */
 +    public void setD(DoubleVector value) {
 +        this.d = value;
 +    }
 +
 +    /**
 +     * Gets the value of the e property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link DoubleVector }
 +     *     
 +     */
 +    public DoubleVector getE() {
 +        return e;
 +    }
 +
 +    /**
 +     * Sets the value of the e property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link DoubleVector }
 +     *     
 +     */
 +    public void setE(DoubleVector value) {
 +        this.e = value;
 +    }
 +
 +    /**
 +     * Gets the value of the rows property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link Integer }
 +     *     
 +     */
 +    public Integer getRows() {
 +        return rows;
 +    }
 +
 +    /**
 +     * Sets the value of the rows property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link Integer }
 +     *     
 +     */
 +    public void setRows(Integer value) {
 +        this.rows = value;
 +    }
 +
 +    /**
 +     * Gets the value of the columns property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link Integer }
 +     *     
 +     */
 +    public Integer getColumns() {
 +        return columns;
 +    }
 +
 +    /**
 +     * Sets the value of the columns property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link Integer }
 +     *     
 +     */
 +    public void setColumns(Integer value) {
 +        this.columns = value;
      }
 -    return this.row;
 -  }
 -
 -  /**
 -   * Gets the value of the d property.
 -   * 
 -   * @return possible object is {@link DoubleVector }
 -   * 
 -   */
 -  public DoubleVector getD()
 -  {
 -    return d;
 -  }
 -
 -  /**
 -   * Sets the value of the d property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link DoubleVector }
 -   * 
 -   */
 -  public void setD(DoubleVector value)
 -  {
 -    this.d = value;
 -  }
 -
 -  /**
 -   * Gets the value of the e property.
 -   * 
 -   * @return possible object is {@link DoubleVector }
 -   * 
 -   */
 -  public DoubleVector getE()
 -  {
 -    return e;
 -  }
 -
 -  /**
 -   * Sets the value of the e property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link DoubleVector }
 -   * 
 -   */
 -  public void setE(DoubleVector value)
 -  {
 -    this.e = value;
 -  }
 -
 -  /**
 -   * Gets the value of the rows property.
 -   * 
 -   * @return possible object is {@link Integer }
 -   * 
 -   */
 -  public Integer getRows()
 -  {
 -    return rows;
 -  }
 -
 -  /**
 -   * Sets the value of the rows property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link Integer }
 -   * 
 -   */
 -  public void setRows(Integer value)
 -  {
 -    this.rows = value;
 -  }
 -
 -  /**
 -   * Gets the value of the columns property.
 -   * 
 -   * @return possible object is {@link Integer }
 -   * 
 -   */
 -  public Integer getColumns()
 -  {
 -    return columns;
 -  }
 -
 -  /**
 -   * Sets the value of the columns property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link Integer }
 -   * 
 -   */
 -  public void setColumns(Integer value)
 -  {
 -    this.columns = value;
 -  }
  
  }
@@@ -1,11 -1,10 +1,11 @@@
  //
--// This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
--// See https://eclipse-ee4j.github.io/jaxb-ri 
++// 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: 2022.02.07 at 04:44:47 PM GMT 
 -// Generated on: 2021.08.30 at 11:05:22 AM BST 
++// Generated on: 2023.01.31 at 04:07:08 PM GMT 
  //
  
 +
  package jalview.xml.binding.jalview;
  
  import java.util.ArrayList;
@@@ -15,62 -14,58 +15,62 @@@ import javax.xml.bind.annotation.XmlAcc
  import javax.xml.bind.annotation.XmlElement;
  import javax.xml.bind.annotation.XmlType;
  
 +
  /**
-- * &lt;p&gt;Java class for DoubleVector complex type.
++ * <p>Java class for DoubleVector complex type.
   * 
-  * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
 - * &lt;p&gt;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.
   * 
-  * &lt;pre&gt;
-  * &amp;lt;complexType name="DoubleVector"&amp;gt;
-  *   &amp;lt;complexContent&amp;gt;
-  *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *       &amp;lt;sequence&amp;gt;
-  *         &amp;lt;element name="v" type="{http://www.w3.org/2001/XMLSchema}double" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
-  *       &amp;lt;/sequence&amp;gt;
-  *     &amp;lt;/restriction&amp;gt;
-  *   &amp;lt;/complexContent&amp;gt;
-  * &amp;lt;/complexType&amp;gt;
-  * &lt;/pre&gt;
 - * &lt;pre&gt; &amp;lt;complexType name="DoubleVector"&amp;gt;
 - * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
 - * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
 - * &amp;lt;sequence&amp;gt; &amp;lt;element name="v"
 - * type="{http://www.w3.org/2001/XMLSchema}double" maxOccurs="unbounded"
 - * minOccurs="0"/&amp;gt; &amp;lt;/sequence&amp;gt; &amp;lt;/restriction&amp;gt;
 - * &amp;lt;/complexContent&amp;gt; &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
++ * <pre>
++ * &lt;complexType name="DoubleVector">
++ *   &lt;complexContent>
++ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++ *       &lt;sequence>
++ *         &lt;element name="v" type="{http://www.w3.org/2001/XMLSchema}double" maxOccurs="unbounded" minOccurs="0"/>
++ *       &lt;/sequence>
++ *     &lt;/restriction>
++ *   &lt;/complexContent>
++ * &lt;/complexType>
++ * </pre>
   * 
   * 
   */
  @XmlAccessorType(XmlAccessType.FIELD)
 -@XmlType(
 -  name = "DoubleVector",
 -  namespace = "www.jalview.org",
 -  propOrder =
 -  { "v" })
 -public class DoubleVector
 -{
 +@XmlType(name = "DoubleVector", namespace = "www.jalview.org", propOrder = {
 +    "v"
 +})
 +public class DoubleVector {
  
 -  @XmlElement(type = Double.class)
 -  protected List<Double> v;
 +    @XmlElement(type = Double.class)
 +    protected List<Double> v;
  
 -  /**
 -   * Gets the value of the v property.
 -   * 
 -   * &lt;p&gt; 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
 -   * &lt;CODE&gt;set&lt;/CODE&gt; method for the v property.
 -   * 
 -   * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
 -   * getV().add(newItem); &lt;/pre&gt;
 -   * 
 -   * 
 -   * &lt;p&gt; Objects of the following type(s) are allowed in the list
 -   * {@link Double }
 -   * 
 -   * 
 -   */
 -  public List<Double> getV()
 -  {
 -    if (v == null)
 -    {
 -      v = new ArrayList<Double>();
 +    /**
 +     * Gets the value of the v property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the v property.
++     * This is why there is not a <CODE>set</CODE> method for the v property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getV().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link Double }
 +     * 
 +     * 
 +     */
 +    public List<Double> getV() {
 +        if (v == null) {
 +            v = new ArrayList<Double>();
 +        }
 +        return this.v;
      }
 -    return this.v;
 -  }
  
  }
@@@ -1,11 -1,10 +1,11 @@@
  //
--// This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
--// See https://eclipse-ee4j.github.io/jaxb-ri 
++// 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: 2022.02.07 at 04:44:47 PM GMT 
 -// Generated on: 2021.08.30 at 11:05:22 AM BST 
++// Generated on: 2023.01.31 at 04:07:08 PM GMT 
  //
  
 +
  package jalview.xml.binding.jalview;
  
  import java.util.ArrayList;
@@@ -15,108 -14,290 +15,108 @@@ import javax.xml.bind.annotation.XmlAcc
  import javax.xml.bind.annotation.XmlAttribute;
  import javax.xml.bind.annotation.XmlType;
  
 +
  /**
-- * &lt;p&gt;Java class for feature complex type.
++ * <p>Java class for feature complex type.
   * 
-  * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
 - * &lt;p&gt;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.
   * 
-  * &lt;pre&gt;
-  * &amp;lt;complexType name="feature"&amp;gt;
-  *   &amp;lt;complexContent&amp;gt;
-  *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *       &amp;lt;sequence&amp;gt;
-  *         &amp;lt;element name="otherData" maxOccurs="unbounded" minOccurs="0"&amp;gt;
-  *           &amp;lt;complexType&amp;gt;
-  *             &amp;lt;complexContent&amp;gt;
-  *               &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *                 &amp;lt;attribute name="key" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *                 &amp;lt;attribute name="key2" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *                 &amp;lt;attribute name="value" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *               &amp;lt;/restriction&amp;gt;
-  *             &amp;lt;/complexContent&amp;gt;
-  *           &amp;lt;/complexType&amp;gt;
-  *         &amp;lt;/element&amp;gt;
-  *       &amp;lt;/sequence&amp;gt;
-  *       &amp;lt;attribute name="begin" use="required" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-  *       &amp;lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-  *       &amp;lt;attribute name="type" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *       &amp;lt;attribute name="description" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *       &amp;lt;attribute name="status" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *       &amp;lt;attribute name="featureGroup" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *       &amp;lt;attribute name="score" type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt;
-  *     &amp;lt;/restriction&amp;gt;
-  *   &amp;lt;/complexContent&amp;gt;
-  * &amp;lt;/complexType&amp;gt;
-  * &lt;/pre&gt;
 - * &lt;pre&gt; &amp;lt;complexType name="feature"&amp;gt;
 - * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
 - * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
 - * &amp;lt;sequence&amp;gt; &amp;lt;element name="otherData"
 - * maxOccurs="unbounded" minOccurs="0"&amp;gt; &amp;lt;complexType&amp;gt;
 - * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
 - * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attribute
 - * name="key" use="required" type="{http://www.w3.org/2001/XMLSchema}string"
 - * /&amp;gt; &amp;lt;attribute name="key2"
 - * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
 - * name="value" use="required" type="{http://www.w3.org/2001/XMLSchema}string"
 - * /&amp;gt; &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 - * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt;
 - * &amp;lt;/sequence&amp;gt; &amp;lt;attribute name="begin" use="required"
 - * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
 - * name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}int"
 - * /&amp;gt; &amp;lt;attribute name="type" use="required"
 - * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
 - * name="description" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
 - * &amp;lt;attribute name="status"
 - * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
 - * name="featureGroup" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
 - * &amp;lt;attribute name="score" type="{http://www.w3.org/2001/XMLSchema}float"
 - * /&amp;gt; &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 - * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
++ * <pre>
++ * &lt;complexType name="feature">
++ *   &lt;complexContent>
++ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++ *       &lt;sequence>
++ *         &lt;element name="otherData" maxOccurs="unbounded" minOccurs="0">
++ *           &lt;complexType>
++ *             &lt;complexContent>
++ *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++ *                 &lt;attribute name="key" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *                 &lt;attribute name="key2" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *                 &lt;attribute name="value" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *               &lt;/restriction>
++ *             &lt;/complexContent>
++ *           &lt;/complexType>
++ *         &lt;/element>
++ *       &lt;/sequence>
++ *       &lt;attribute name="begin" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
++ *       &lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
++ *       &lt;attribute name="type" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *       &lt;attribute name="description" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *       &lt;attribute name="status" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *       &lt;attribute name="featureGroup" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *       &lt;attribute name="score" type="{http://www.w3.org/2001/XMLSchema}float" />
++ *     &lt;/restriction>
++ *   &lt;/complexContent>
++ * &lt;/complexType>
++ * </pre>
   * 
   * 
   */
  @XmlAccessorType(XmlAccessType.FIELD)
 -@XmlType(
 -  name = "feature",
 -  namespace = "www.jalview.org",
 -  propOrder =
 -  { "otherData" })
 -public class Feature
 -{
 -
 -  protected List<Feature.OtherData> otherData;
 -
 -  @XmlAttribute(name = "begin", required = true)
 -  protected int begin;
 -
 -  @XmlAttribute(name = "end", required = true)
 -  protected int end;
 -
 -  @XmlAttribute(name = "type", required = true)
 -  protected String type;
 -
 -  @XmlAttribute(name = "description")
 -  protected String description;
 -
 -  @XmlAttribute(name = "status")
 -  protected String status;
 -
 -  @XmlAttribute(name = "featureGroup")
 -  protected String featureGroup;
 -
 -  @XmlAttribute(name = "score")
 -  protected Float score;
 -
 -  /**
 -   * Gets the value of the otherData property.
 -   * 
 -   * &lt;p&gt; 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
 -   * &lt;CODE&gt;set&lt;/CODE&gt; method for the otherData property.
 -   * 
 -   * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
 -   * getOtherData().add(newItem); &lt;/pre&gt;
 -   * 
 -   * 
 -   * &lt;p&gt; Objects of the following type(s) are allowed in the list
 -   * {@link Feature.OtherData }
 -   * 
 -   * 
 -   */
 -  public List<Feature.OtherData> getOtherData()
 -  {
 -    if (otherData == null)
 -    {
 -      otherData = new ArrayList<Feature.OtherData>();
 +@XmlType(name = "feature", namespace = "www.jalview.org", propOrder = {
 +    "otherData"
 +})
 +public class Feature {
 +
 +    protected List<Feature.OtherData> otherData;
 +    @XmlAttribute(name = "begin", required = true)
 +    protected int begin;
 +    @XmlAttribute(name = "end", required = true)
 +    protected int end;
 +    @XmlAttribute(name = "type", required = true)
 +    protected String type;
 +    @XmlAttribute(name = "description")
 +    protected String description;
 +    @XmlAttribute(name = "status")
 +    protected String status;
 +    @XmlAttribute(name = "featureGroup")
 +    protected String featureGroup;
 +    @XmlAttribute(name = "score")
 +    protected Float score;
 +
 +    /**
 +     * Gets the value of the otherData property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the otherData property.
++     * This is why there is not a <CODE>set</CODE> method for the otherData property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getOtherData().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link Feature.OtherData }
 +     * 
 +     * 
 +     */
 +    public List<Feature.OtherData> getOtherData() {
 +        if (otherData == null) {
 +            otherData = new ArrayList<Feature.OtherData>();
 +        }
 +        return this.otherData;
      }
 -    return this.otherData;
 -  }
 -
 -  /**
 -   * Gets the value of the begin property.
 -   * 
 -   */
 -  public int getBegin()
 -  {
 -    return begin;
 -  }
 -
 -  /**
 -   * Sets the value of the begin property.
 -   * 
 -   */
 -  public void setBegin(int value)
 -  {
 -    this.begin = value;
 -  }
 -
 -  /**
 -   * Gets the value of the end property.
 -   * 
 -   */
 -  public int getEnd()
 -  {
 -    return end;
 -  }
 -
 -  /**
 -   * Sets the value of the end property.
 -   * 
 -   */
 -  public void setEnd(int value)
 -  {
 -    this.end = value;
 -  }
 -
 -  /**
 -   * Gets the value of the type property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getType()
 -  {
 -    return type;
 -  }
 -
 -  /**
 -   * Sets the value of the type property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setType(String value)
 -  {
 -    this.type = value;
 -  }
 -
 -  /**
 -   * Gets the value of the description property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getDescription()
 -  {
 -    return description;
 -  }
 -
 -  /**
 -   * Sets the value of the description property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setDescription(String value)
 -  {
 -    this.description = value;
 -  }
 -
 -  /**
 -   * Gets the value of the status property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getStatus()
 -  {
 -    return status;
 -  }
 -
 -  /**
 -   * Sets the value of the status property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setStatus(String value)
 -  {
 -    this.status = value;
 -  }
 -
 -  /**
 -   * Gets the value of the featureGroup property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getFeatureGroup()
 -  {
 -    return featureGroup;
 -  }
 -
 -  /**
 -   * Sets the value of the featureGroup property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setFeatureGroup(String value)
 -  {
 -    this.featureGroup = value;
 -  }
 -
 -  /**
 -   * Gets the value of the score property.
 -   * 
 -   * @return possible object is {@link Float }
 -   * 
 -   */
 -  public Float getScore()
 -  {
 -    return score;
 -  }
 -
 -  /**
 -   * Sets the value of the score property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link Float }
 -   * 
 -   */
 -  public void setScore(Float value)
 -  {
 -    this.score = value;
 -  }
 -
 -  /**
 -   * &lt;p&gt;Java class for anonymous complex type.
 -   * 
 -   * &lt;p&gt;The following schema fragment specifies the expected content
 -   * contained within this class.
 -   * 
 -   * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
 -   * &amp;lt;restriction
 -   * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attribute
 -   * name="key" use="required" type="{http://www.w3.org/2001/XMLSchema}string"
 -   * /&amp;gt; &amp;lt;attribute name="key2"
 -   * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
 -   * name="value" use="required" type="{http://www.w3.org/2001/XMLSchema}string"
 -   * /&amp;gt; &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 -   * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
 -   * 
 -   * 
 -   */
 -  @XmlAccessorType(XmlAccessType.FIELD)
 -  @XmlType(name = "")
 -  public static class OtherData
 -  {
 -
 -    @XmlAttribute(name = "key", required = true)
 -    protected String key;
 -
 -    @XmlAttribute(name = "key2")
 -    protected String key2;
 -
 -    @XmlAttribute(name = "value", required = true)
 -    protected String value;
  
      /**
 -     * Gets the value of the key property.
 +     * Gets the value of the begin property.
       * 
 -     * @return possible object is {@link String }
 +     */
 +    public int getBegin() {
 +        return begin;
 +    }
 +
 +    /**
 +     * Sets the value of the begin property.
       * 
       */
 -    public String getKey()
 -    {
 -      return key;
 +    public void setBegin(int value) {
 +        this.begin = value;
      }
  
      /**
      }
  
      /**
 -     * Sets the value of the value property.
 +     * Sets the value of the featureGroup property.
       * 
       * @param value
 -     *          allowed object is {@link String }
 +     *     allowed object is
 +     *     {@link String }
 +     *     
 +     */
 +    public void setFeatureGroup(String value) {
 +        this.featureGroup = value;
 +    }
 +
 +    /**
 +     * Gets the value of the score property.
       * 
 +     * @return
 +     *     possible object is
 +     *     {@link Float }
 +     *     
       */
 -    public void setValue(String value)
 -    {
 -      this.value = value;
 +    public Float getScore() {
 +        return score;
      }
  
 -  }
 +    /**
 +     * Sets the value of the score property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link Float }
 +     *     
 +     */
 +    public void setScore(Float value) {
 +        this.score = value;
 +    }
 +
 +
 +    /**
-      * &lt;p&gt;Java class for anonymous complex type.
++     * <p>Java class for anonymous complex type.
 +     * 
-      * &lt;p&gt;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.
 +     * 
-      * &lt;pre&gt;
-      * &amp;lt;complexType&amp;gt;
-      *   &amp;lt;complexContent&amp;gt;
-      *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-      *       &amp;lt;attribute name="key" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-      *       &amp;lt;attribute name="key2" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-      *       &amp;lt;attribute name="value" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-      *     &amp;lt;/restriction&amp;gt;
-      *   &amp;lt;/complexContent&amp;gt;
-      * &amp;lt;/complexType&amp;gt;
-      * &lt;/pre&gt;
++     * <pre>
++     * &lt;complexType>
++     *   &lt;complexContent>
++     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++     *       &lt;attribute name="key" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
++     *       &lt;attribute name="key2" type="{http://www.w3.org/2001/XMLSchema}string" />
++     *       &lt;attribute name="value" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
++     *     &lt;/restriction>
++     *   &lt;/complexContent>
++     * &lt;/complexType>
++     * </pre>
 +     * 
 +     * 
 +     */
 +    @XmlAccessorType(XmlAccessType.FIELD)
 +    @XmlType(name = "")
 +    public static class OtherData {
 +
 +        @XmlAttribute(name = "key", required = true)
 +        protected String key;
 +        @XmlAttribute(name = "key2")
 +        protected String key2;
 +        @XmlAttribute(name = "value", required = true)
 +        protected String value;
 +
 +        /**
 +         * Gets the value of the key property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link String }
 +         *     
 +         */
 +        public String getKey() {
 +            return key;
 +        }
 +
 +        /**
 +         * Sets the value of the key property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link String }
 +         *     
 +         */
 +        public void setKey(String value) {
 +            this.key = value;
 +        }
 +
 +        /**
 +         * Gets the value of the key2 property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link String }
 +         *     
 +         */
 +        public String getKey2() {
 +            return key2;
 +        }
 +
 +        /**
 +         * Sets the value of the key2 property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link String }
 +         *     
 +         */
 +        public void setKey2(String value) {
 +            this.key2 = value;
 +        }
 +
 +        /**
 +         * Gets the value of the value property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link String }
 +         *     
 +         */
 +        public String getValue() {
 +            return value;
 +        }
 +
 +        /**
 +         * Sets the value of the value property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link String }
 +         *     
 +         */
 +        public void setValue(String value) {
 +            this.value = value;
 +        }
 +
 +    }
  
  }
@@@ -1,11 -1,10 +1,11 @@@
  //
--// This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
--// See https://eclipse-ee4j.github.io/jaxb-ri 
++// 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: 2022.02.07 at 04:44:47 PM GMT 
 -// Generated on: 2021.08.30 at 11:05:22 AM BST 
++// Generated on: 2023.01.31 at 04:07:08 PM GMT 
  //
  
 +
  package jalview.xml.binding.jalview;
  
  import java.util.ArrayList;
@@@ -16,145 -15,141 +16,145 @@@ import javax.xml.bind.annotation.XmlAtt
  import javax.xml.bind.annotation.XmlElement;
  import javax.xml.bind.annotation.XmlType;
  
 +
  /**
-- * &lt;p&gt;Java class for FeatureMatcher complex type.
++ * <p>Java class for FeatureMatcher complex type.
   * 
-  * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
 - * &lt;p&gt;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.
   * 
-  * &lt;pre&gt;
-  * &amp;lt;complexType name="FeatureMatcher"&amp;gt;
-  *   &amp;lt;complexContent&amp;gt;
-  *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *       &amp;lt;sequence&amp;gt;
-  *         &amp;lt;element name="attributeName" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="2" minOccurs="0"/&amp;gt;
-  *         &amp;lt;element name="condition" type="{http://www.w3.org/2001/XMLSchema}string"/&amp;gt;
-  *         &amp;lt;element name="value" type="{http://www.w3.org/2001/XMLSchema}string"/&amp;gt;
-  *       &amp;lt;/sequence&amp;gt;
-  *       &amp;lt;attribute name="by" type="{www.jalview.org/colours}FilterBy" /&amp;gt;
-  *     &amp;lt;/restriction&amp;gt;
-  *   &amp;lt;/complexContent&amp;gt;
-  * &amp;lt;/complexType&amp;gt;
-  * &lt;/pre&gt;
 - * &lt;pre&gt; &amp;lt;complexType name="FeatureMatcher"&amp;gt;
 - * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
 - * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
 - * &amp;lt;sequence&amp;gt; &amp;lt;element name="attributeName"
 - * type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="2"
 - * minOccurs="0"/&amp;gt; &amp;lt;element name="condition"
 - * type="{http://www.w3.org/2001/XMLSchema}string"/&amp;gt; &amp;lt;element
 - * name="value" type="{http://www.w3.org/2001/XMLSchema}string"/&amp;gt;
 - * &amp;lt;/sequence&amp;gt; &amp;lt;attribute name="by"
 - * type="{www.jalview.org/colours}FilterBy" /&amp;gt;
 - * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 - * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
++ * <pre>
++ * &lt;complexType name="FeatureMatcher">
++ *   &lt;complexContent>
++ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++ *       &lt;sequence>
++ *         &lt;element name="attributeName" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="2" minOccurs="0"/>
++ *         &lt;element name="condition" type="{http://www.w3.org/2001/XMLSchema}string"/>
++ *         &lt;element name="value" type="{http://www.w3.org/2001/XMLSchema}string"/>
++ *       &lt;/sequence>
++ *       &lt;attribute name="by" type="{www.jalview.org/colours}FilterBy" />
++ *     &lt;/restriction>
++ *   &lt;/complexContent>
++ * &lt;/complexType>
++ * </pre>
   * 
   * 
   */
  @XmlAccessorType(XmlAccessType.FIELD)
 -@XmlType(
 -  name = "FeatureMatcher",
 -  namespace = "www.jalview.org/colours",
 -  propOrder =
 -  { "attributeName", "condition", "value" })
 -public class FeatureMatcher
 -{
 -
 -  @XmlElement(namespace = "")
 -  protected List<String> attributeName;
 +@XmlType(name = "FeatureMatcher", namespace = "www.jalview.org/colours", propOrder = {
 +    "attributeName",
 +    "condition",
 +    "value"
 +})
 +public class FeatureMatcher {
  
 -  @XmlElement(namespace = "", required = true)
 -  protected String condition;
 +    @XmlElement(namespace = "")
 +    protected List<String> attributeName;
 +    @XmlElement(namespace = "", required = true)
 +    protected String condition;
 +    @XmlElement(namespace = "", required = true)
 +    protected String value;
 +    @XmlAttribute(name = "by")
 +    protected FilterBy by;
  
 -  @XmlElement(namespace = "", required = true)
 -  protected String value;
 -
 -  @XmlAttribute(name = "by")
 -  protected FilterBy by;
 -
 -  /**
 -   * Gets the value of the attributeName property.
 -   * 
 -   * &lt;p&gt; 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
 -   * &lt;CODE&gt;set&lt;/CODE&gt; method for the attributeName property.
 -   * 
 -   * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
 -   * getAttributeName().add(newItem); &lt;/pre&gt;
 -   * 
 -   * 
 -   * &lt;p&gt; Objects of the following type(s) are allowed in the list
 -   * {@link String }
 -   * 
 -   * 
 -   */
 -  public List<String> getAttributeName()
 -  {
 -    if (attributeName == null)
 -    {
 -      attributeName = new ArrayList<String>();
 +    /**
 +     * Gets the value of the attributeName property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the attributeName property.
++     * This is why there is not a <CODE>set</CODE> method for the attributeName property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getAttributeName().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link String }
 +     * 
 +     * 
 +     */
 +    public List<String> getAttributeName() {
 +        if (attributeName == null) {
 +            attributeName = new ArrayList<String>();
 +        }
 +        return this.attributeName;
      }
 -    return this.attributeName;
 -  }
  
 -  /**
 -   * Gets the value of the condition property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getCondition()
 -  {
 -    return condition;
 -  }
 +    /**
 +     * Gets the value of the condition property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link String }
 +     *     
 +     */
 +    public String getCondition() {
 +        return condition;
 +    }
  
 -  /**
 -   * Sets the value of the condition property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setCondition(String value)
 -  {
 -    this.condition = value;
 -  }
 +    /**
 +     * Sets the value of the condition property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link String }
 +     *     
 +     */
 +    public void setCondition(String value) {
 +        this.condition = value;
 +    }
  
 -  /**
 -   * Gets the value of the value property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getValue()
 -  {
 -    return value;
 -  }
 +    /**
 +     * Gets the value of the value property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link String }
 +     *     
 +     */
 +    public String getValue() {
 +        return value;
 +    }
  
 -  /**
 -   * Sets the value of the value property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setValue(String value)
 -  {
 -    this.value = value;
 -  }
 +    /**
 +     * Sets the value of the value property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link String }
 +     *     
 +     */
 +    public void setValue(String value) {
 +        this.value = value;
 +    }
  
 -  /**
 -   * Gets the value of the by property.
 -   * 
 -   * @return possible object is {@link FilterBy }
 -   * 
 -   */
 -  public FilterBy getBy()
 -  {
 -    return by;
 -  }
 +    /**
 +     * Gets the value of the by property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link FilterBy }
 +     *     
 +     */
 +    public FilterBy getBy() {
 +        return by;
 +    }
  
 -  /**
 -   * Sets the value of the by property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link FilterBy }
 -   * 
 -   */
 -  public void setBy(FilterBy value)
 -  {
 -    this.by = value;
 -  }
 +    /**
 +     * Sets the value of the by property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link FilterBy }
 +     *     
 +     */
 +    public void setBy(FilterBy value) {
 +        this.by = value;
 +    }
  
  }
@@@ -1,11 -1,10 +1,11 @@@
  //
--// This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
--// See https://eclipse-ee4j.github.io/jaxb-ri 
++// 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: 2022.02.07 at 04:44:47 PM GMT 
 -// Generated on: 2021.08.30 at 11:05:22 AM BST 
++// Generated on: 2023.01.31 at 04:07:08 PM GMT 
  //
  
 +
  package jalview.xml.binding.jalview;
  
  import java.util.ArrayList;
@@@ -20,33 -18,27 +20,33 @@@ import javax.xml.bind.annotation.XmlTyp
  /**
   * A feature match condition, which may be simple or compound
   * 
-- * &lt;p&gt;Java class for FeatureMatcherSet complex type.
++ * <p>Java class for FeatureMatcherSet complex type.
   * 
-  * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
 - * &lt;p&gt;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.
   * 
-  * &lt;pre&gt;
-  * &amp;lt;complexType name="FeatureMatcherSet"&amp;gt;
-  *   &amp;lt;complexContent&amp;gt;
-  *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *       &amp;lt;choice&amp;gt;
-  *         &amp;lt;element name="matchCondition" type="{www.jalview.org/colours}FeatureMatcher"/&amp;gt;
-  *         &amp;lt;element name="compoundMatcher"&amp;gt;
-  *           &amp;lt;complexType&amp;gt;
-  *             &amp;lt;complexContent&amp;gt;
-  *               &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *                 &amp;lt;sequence&amp;gt;
-  *                   &amp;lt;element name="matcherSet" type="{www.jalview.org/colours}FeatureMatcherSet" maxOccurs="2" minOccurs="2"/&amp;gt;
-  *                 &amp;lt;/sequence&amp;gt;
-  *                 &amp;lt;attribute name="and" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-  *               &amp;lt;/restriction&amp;gt;
-  *             &amp;lt;/complexContent&amp;gt;
-  *           &amp;lt;/complexType&amp;gt;
-  *         &amp;lt;/element&amp;gt;
-  *       &amp;lt;/choice&amp;gt;
-  *     &amp;lt;/restriction&amp;gt;
-  *   &amp;lt;/complexContent&amp;gt;
-  * &amp;lt;/complexType&amp;gt;
-  * &lt;/pre&gt;
 - * &lt;pre&gt; &amp;lt;complexType name="FeatureMatcherSet"&amp;gt;
 - * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
 - * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
 - * &amp;lt;choice&amp;gt; &amp;lt;element name="matchCondition"
 - * type="{www.jalview.org/colours}FeatureMatcher"/&amp;gt; &amp;lt;element
 - * name="compoundMatcher"&amp;gt; &amp;lt;complexType&amp;gt;
 - * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
 - * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
 - * &amp;lt;sequence&amp;gt; &amp;lt;element name="matcherSet"
 - * type="{www.jalview.org/colours}FeatureMatcherSet" maxOccurs="2"
 - * minOccurs="2"/&amp;gt; &amp;lt;/sequence&amp;gt; &amp;lt;attribute name="and"
 - * use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
 - * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 - * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt; &amp;lt;/choice&amp;gt;
 - * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 - * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
++ * <pre>
++ * &lt;complexType name="FeatureMatcherSet">
++ *   &lt;complexContent>
++ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++ *       &lt;choice>
++ *         &lt;element name="matchCondition" type="{www.jalview.org/colours}FeatureMatcher"/>
++ *         &lt;element name="compoundMatcher">
++ *           &lt;complexType>
++ *             &lt;complexContent>
++ *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++ *                 &lt;sequence>
++ *                   &lt;element name="matcherSet" type="{www.jalview.org/colours}FeatureMatcherSet" maxOccurs="2" minOccurs="2"/>
++ *                 &lt;/sequence>
++ *                 &lt;attribute name="and" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++ *               &lt;/restriction>
++ *             &lt;/complexContent>
++ *           &lt;/complexType>
++ *         &lt;/element>
++ *       &lt;/choice>
++ *     &lt;/restriction>
++ *   &lt;/complexContent>
++ * &lt;/complexType>
++ * </pre>
   * 
   * 
   */
@@@ -99,94 -168,14 +99,94 @@@ public class FeatureMatcherSet 
      }
  
      /**
 -     * Sets the value of the and property.
 +     * Sets the value of the compoundMatcher property.
       * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link FeatureMatcherSet.CompoundMatcher }
 +     *     
       */
 -    public void setAnd(boolean value)
 -    {
 -      this.and = value;
 +    public void setCompoundMatcher(FeatureMatcherSet.CompoundMatcher value) {
 +        this.compoundMatcher = value;
      }
  
 -  }
 +
 +    /**
-      * &lt;p&gt;Java class for anonymous complex type.
++     * <p>Java class for anonymous complex type.
 +     * 
-      * &lt;p&gt;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.
 +     * 
-      * &lt;pre&gt;
-      * &amp;lt;complexType&amp;gt;
-      *   &amp;lt;complexContent&amp;gt;
-      *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-      *       &amp;lt;sequence&amp;gt;
-      *         &amp;lt;element name="matcherSet" type="{www.jalview.org/colours}FeatureMatcherSet" maxOccurs="2" minOccurs="2"/&amp;gt;
-      *       &amp;lt;/sequence&amp;gt;
-      *       &amp;lt;attribute name="and" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-      *     &amp;lt;/restriction&amp;gt;
-      *   &amp;lt;/complexContent&amp;gt;
-      * &amp;lt;/complexType&amp;gt;
-      * &lt;/pre&gt;
++     * <pre>
++     * &lt;complexType>
++     *   &lt;complexContent>
++     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++     *       &lt;sequence>
++     *         &lt;element name="matcherSet" type="{www.jalview.org/colours}FeatureMatcherSet" maxOccurs="2" minOccurs="2"/>
++     *       &lt;/sequence>
++     *       &lt;attribute name="and" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++     *     &lt;/restriction>
++     *   &lt;/complexContent>
++     * &lt;/complexType>
++     * </pre>
 +     * 
 +     * 
 +     */
 +    @XmlAccessorType(XmlAccessType.FIELD)
 +    @XmlType(name = "", propOrder = {
 +        "matcherSet"
 +    })
 +    public static class CompoundMatcher {
 +
 +        @XmlElement(namespace = "", required = true)
 +        protected List<FeatureMatcherSet> matcherSet;
 +        @XmlAttribute(name = "and", required = true)
 +        protected boolean and;
 +
 +        /**
 +         * Gets the value of the matcherSet property.
 +         * 
-          * &lt;p&gt;
++         * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the matcherSet property.
++         * This is why there is not a <CODE>set</CODE> method for the matcherSet property.
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * For example, to add a new item, do as follows:
-          * &lt;pre&gt;
++         * <pre>
 +         *    getMatcherSet().add(newItem);
-          * &lt;/pre&gt;
++         * </pre>
 +         * 
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * Objects of the following type(s) are allowed in the list
 +         * {@link FeatureMatcherSet }
 +         * 
 +         * 
 +         */
 +        public List<FeatureMatcherSet> getMatcherSet() {
 +            if (matcherSet == null) {
 +                matcherSet = new ArrayList<FeatureMatcherSet>();
 +            }
 +            return this.matcherSet;
 +        }
 +
 +        /**
 +         * Gets the value of the and property.
 +         * 
 +         */
 +        public boolean isAnd() {
 +            return and;
 +        }
 +
 +        /**
 +         * Sets the value of the and property.
 +         * 
 +         */
 +        public void setAnd(boolean value) {
 +            this.and = value;
 +        }
 +
 +    }
  
  }
@@@ -1,31 -1,26 +1,32 @@@
  //
--// This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
--// See https://eclipse-ee4j.github.io/jaxb-ri 
++// 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: 2022.02.07 at 04:44:47 PM GMT 
 -// Generated on: 2021.08.30 at 11:05:22 AM BST 
++// Generated on: 2023.01.31 at 04:07:08 PM GMT 
  //
  
 +
  package jalview.xml.binding.jalview;
  
  import javax.xml.bind.annotation.XmlEnum;
  import javax.xml.bind.annotation.XmlEnumValue;
  import javax.xml.bind.annotation.XmlType;
  
 +
  /**
-- * &lt;p&gt;Java class for FilterBy.
++ * <p>Java class for FilterBy.
   * 
-  * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
-  * &lt;pre&gt;
-  * &amp;lt;simpleType name="FilterBy"&amp;gt;
-  *   &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&amp;gt;
-  *     &amp;lt;enumeration value="byLabel"/&amp;gt;
-  *     &amp;lt;enumeration value="byScore"/&amp;gt;
-  *     &amp;lt;enumeration value="byAttribute"/&amp;gt;
-  *   &amp;lt;/restriction&amp;gt;
-  * &amp;lt;/simpleType&amp;gt;
-  * &lt;/pre&gt;
 - * &lt;p&gt;The following schema fragment specifies the expected content
 - * contained within this class. &lt;pre&gt; &amp;lt;simpleType
 - * name="FilterBy"&amp;gt; &amp;lt;restriction
 - * base="{http://www.w3.org/2001/XMLSchema}string"&amp;gt; &amp;lt;enumeration
 - * value="byLabel"/&amp;gt; &amp;lt;enumeration value="byScore"/&amp;gt;
 - * &amp;lt;enumeration value="byAttribute"/&amp;gt; &amp;lt;/restriction&amp;gt;
 - * &amp;lt;/simpleType&amp;gt; &lt;/pre&gt;
++ * <p>The following schema fragment specifies the expected content contained within this class.
++ * <p>
++ * <pre>
++ * &lt;simpleType name="FilterBy">
++ *   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
++ *     &lt;enumeration value="byLabel"/>
++ *     &lt;enumeration value="byScore"/>
++ *     &lt;enumeration value="byAttribute"/>
++ *   &lt;/restriction>
++ * &lt;/simpleType>
++ * </pre>
   * 
   */
  @XmlType(name = "FilterBy", namespace = "www.jalview.org/colours")
@@@ -1,11 -1,10 +1,11 @@@
  //
--// This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
--// See https://eclipse-ee4j.github.io/jaxb-ri 
++// 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: 2022.02.07 at 04:44:47 PM GMT 
 -// Generated on: 2021.08.30 at 11:05:22 AM BST 
++// Generated on: 2023.01.31 at 04:07:08 PM GMT 
  //
  
 +
  package jalview.xml.binding.jalview;
  
  import java.util.ArrayList;
@@@ -22,357 -21,346 +22,357 @@@ import javax.xml.bind.annotation.adapte
  import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
  import javax.xml.datatype.XMLGregorianCalendar;
  
 +
  /**
-- * &lt;p&gt;Java class for JalviewModel complex type.
++ * <p>Java class for JalviewModel complex type.
   * 
-  * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
 - * &lt;p&gt;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.
   * 
-  * &lt;pre&gt;
-  * &amp;lt;complexType name="JalviewModel"&amp;gt;
-  *   &amp;lt;complexContent&amp;gt;
-  *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *       &amp;lt;sequence&amp;gt;
-  *         &amp;lt;element name="creationDate" type="{http://www.w3.org/2001/XMLSchema}dateTime"/&amp;gt;
-  *         &amp;lt;element name="version" type="{http://www.w3.org/2001/XMLSchema}string"/&amp;gt;
-  *         &amp;lt;element name="vamsasModel" type="{www.vamsas.ac.uk/jalview/version2}VAMSAS"/&amp;gt;
-  *         &amp;lt;sequence&amp;gt;
-  *           &amp;lt;element name="JSeq" maxOccurs="unbounded" minOccurs="0"&amp;gt;
-  *             &amp;lt;complexType&amp;gt;
-  *               &amp;lt;complexContent&amp;gt;
-  *                 &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *                   &amp;lt;sequence&amp;gt;
-  *                     &amp;lt;element name="features" type="{www.jalview.org}feature" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
-  *                     &amp;lt;element name="pdbids" maxOccurs="unbounded" minOccurs="0"&amp;gt;
-  *                       &amp;lt;complexType&amp;gt;
-  *                         &amp;lt;complexContent&amp;gt;
-  *                           &amp;lt;extension base="{www.jalview.org}pdbentry"&amp;gt;
-  *                             &amp;lt;sequence&amp;gt;
-  *                               &amp;lt;element name="structureState" maxOccurs="unbounded" minOccurs="0"&amp;gt;
-  *                                 &amp;lt;complexType&amp;gt;
-  *                                   &amp;lt;simpleContent&amp;gt;
-  *                                     &amp;lt;extension base="&amp;lt;http://www.w3.org/2001/XMLSchema&amp;gt;string"&amp;gt;
-  *                                       &amp;lt;attGroup ref="{www.jalview.org}swingwindow"/&amp;gt;
-  *                                       &amp;lt;attribute name="visible" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-  *                                       &amp;lt;attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *                                       &amp;lt;attribute name="alignwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
-  *                                       &amp;lt;attribute name="colourwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
-  *                                       &amp;lt;attribute name="colourByJmol" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
-  *                                       &amp;lt;attribute name="type" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *                                     &amp;lt;/extension&amp;gt;
-  *                                   &amp;lt;/simpleContent&amp;gt;
-  *                                 &amp;lt;/complexType&amp;gt;
-  *                               &amp;lt;/element&amp;gt;
-  *                             &amp;lt;/sequence&amp;gt;
-  *                           &amp;lt;/extension&amp;gt;
-  *                         &amp;lt;/complexContent&amp;gt;
-  *                       &amp;lt;/complexType&amp;gt;
-  *                     &amp;lt;/element&amp;gt;
-  *                     &amp;lt;element name="hiddenSequences" type="{http://www.w3.org/2001/XMLSchema}int" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
-  *                     &amp;lt;element name="rnaViewer" maxOccurs="unbounded" minOccurs="0"&amp;gt;
-  *                       &amp;lt;complexType&amp;gt;
-  *                         &amp;lt;complexContent&amp;gt;
-  *                           &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *                             &amp;lt;sequence&amp;gt;
-  *                               &amp;lt;element name="secondaryStructure" maxOccurs="unbounded"&amp;gt;
-  *                                 &amp;lt;complexType&amp;gt;
-  *                                   &amp;lt;complexContent&amp;gt;
-  *                                     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *                                       &amp;lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *                                       &amp;lt;attribute name="annotationId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *                                       &amp;lt;attribute name="gapped" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-  *                                       &amp;lt;attribute name="viewerState" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *                                     &amp;lt;/restriction&amp;gt;
-  *                                   &amp;lt;/complexContent&amp;gt;
-  *                                 &amp;lt;/complexType&amp;gt;
-  *                               &amp;lt;/element&amp;gt;
-  *                             &amp;lt;/sequence&amp;gt;
-  *                             &amp;lt;attGroup ref="{www.jalview.org}swingwindow"/&amp;gt;
-  *                             &amp;lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *                             &amp;lt;attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *                             &amp;lt;attribute name="dividerLocation" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-  *                             &amp;lt;attribute name="selectedRna" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-  *                           &amp;lt;/restriction&amp;gt;
-  *                         &amp;lt;/complexContent&amp;gt;
-  *                       &amp;lt;/complexType&amp;gt;
-  *                     &amp;lt;/element&amp;gt;
-  *                   &amp;lt;/sequence&amp;gt;
-  *                   &amp;lt;attribute name="colour" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-  *                   &amp;lt;attribute name="start" use="required" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-  *                   &amp;lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-  *                   &amp;lt;attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *                   &amp;lt;attribute name="hidden" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-  *                   &amp;lt;attribute name="viewreference" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-  *                 &amp;lt;/restriction&amp;gt;
-  *               &amp;lt;/complexContent&amp;gt;
-  *             &amp;lt;/complexType&amp;gt;
-  *           &amp;lt;/element&amp;gt;
-  *           &amp;lt;element name="JGroup" maxOccurs="unbounded" minOccurs="0"&amp;gt;
-  *             &amp;lt;complexType&amp;gt;
-  *               &amp;lt;complexContent&amp;gt;
-  *                 &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *                   &amp;lt;sequence&amp;gt;
-  *                     &amp;lt;element name="seq" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded"/&amp;gt;
-  *                     &amp;lt;element name="annotationColours" type="{www.jalview.org}AnnotationColourScheme" minOccurs="0"/&amp;gt;
-  *                   &amp;lt;/sequence&amp;gt;
-  *                   &amp;lt;attribute name="start" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-  *                   &amp;lt;attribute name="end" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-  *                   &amp;lt;attribute name="name" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *                   &amp;lt;attribute name="colour" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *                   &amp;lt;attribute name="consThreshold" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-  *                   &amp;lt;attribute name="pidThreshold" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-  *                   &amp;lt;attribute name="outlineColour" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-  *                   &amp;lt;attribute name="displayBoxes" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-  *                   &amp;lt;attribute name="displayText" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-  *                   &amp;lt;attribute name="colourText" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-  *                   &amp;lt;attribute name="textCol1" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-  *                   &amp;lt;attribute name="textCol2" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-  *                   &amp;lt;attribute name="textColThreshold" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-  *                   &amp;lt;attribute name="showUnconserved" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-  *                   &amp;lt;attribute name="ignoreGapsinConsensus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
-  *                   &amp;lt;attribute name="showConsensusHistogram" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
-  *                   &amp;lt;attribute name="showSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
-  *                   &amp;lt;attribute name="normaliseSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
-  *                   &amp;lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *                 &amp;lt;/restriction&amp;gt;
-  *               &amp;lt;/complexContent&amp;gt;
-  *             &amp;lt;/complexType&amp;gt;
-  *           &amp;lt;/element&amp;gt;
-  *           &amp;lt;element name="Viewport" maxOccurs="unbounded" minOccurs="0"&amp;gt;
-  *             &amp;lt;complexType&amp;gt;
-  *               &amp;lt;complexContent&amp;gt;
-  *                 &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *                   &amp;lt;sequence&amp;gt;
-  *                     &amp;lt;element name="AnnotationColours" type="{www.jalview.org}AnnotationColourScheme" minOccurs="0"/&amp;gt;
-  *                     &amp;lt;element name="hiddenColumns" maxOccurs="unbounded" minOccurs="0"&amp;gt;
-  *                       &amp;lt;complexType&amp;gt;
-  *                         &amp;lt;complexContent&amp;gt;
-  *                           &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *                             &amp;lt;attribute name="start" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-  *                             &amp;lt;attribute name="end" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-  *                           &amp;lt;/restriction&amp;gt;
-  *                         &amp;lt;/complexContent&amp;gt;
-  *                       &amp;lt;/complexType&amp;gt;
-  *                     &amp;lt;/element&amp;gt;
-  *                     &amp;lt;element name="calcIdParam" maxOccurs="unbounded" minOccurs="0"&amp;gt;
-  *                       &amp;lt;complexType&amp;gt;
-  *                         &amp;lt;complexContent&amp;gt;
-  *                           &amp;lt;extension base="{www.jalview.org/xml/wsparamset}WebServiceParameterSet"&amp;gt;
-  *                             &amp;lt;attribute name="calcId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *                             &amp;lt;attribute name="needsUpdate" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
-  *                             &amp;lt;attribute name="autoUpdate" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-  *                           &amp;lt;/extension&amp;gt;
-  *                         &amp;lt;/complexContent&amp;gt;
-  *                       &amp;lt;/complexType&amp;gt;
-  *                     &amp;lt;/element&amp;gt;
-  *                     &amp;lt;element name="overview" minOccurs="0"&amp;gt;
-  *                       &amp;lt;complexType&amp;gt;
-  *                         &amp;lt;complexContent&amp;gt;
-  *                           &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *                             &amp;lt;attGroup ref="{www.jalview.org}swingwindow"/&amp;gt;
-  *                             &amp;lt;attribute name="showHidden" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-  *                             &amp;lt;attribute name="residueColour" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-  *                             &amp;lt;attribute name="gapColour" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-  *                             &amp;lt;attribute name="hiddenColour" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-  *                             &amp;lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *                           &amp;lt;/restriction&amp;gt;
-  *                         &amp;lt;/complexContent&amp;gt;
-  *                       &amp;lt;/complexType&amp;gt;
-  *                     &amp;lt;/element&amp;gt;
-  *                   &amp;lt;/sequence&amp;gt;
-  *                   &amp;lt;attGroup ref="{www.jalview.org}swingwindow"/&amp;gt;
-  *                   &amp;lt;attribute name="conservationSelected" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-  *                   &amp;lt;attribute name="pidSelected" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-  *                   &amp;lt;attribute name="bgColour" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *                   &amp;lt;attribute name="consThreshold" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-  *                   &amp;lt;attribute name="pidThreshold" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-  *                   &amp;lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *                   &amp;lt;attribute name="showFullId" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-  *                   &amp;lt;attribute name="rightAlignIds" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-  *                   &amp;lt;attribute name="showText" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-  *                   &amp;lt;attribute name="showColourText" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-  *                   &amp;lt;attribute name="showUnconserved" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
-  *                   &amp;lt;attribute name="showBoxes" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-  *                   &amp;lt;attribute name="wrapAlignment" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-  *                   &amp;lt;attribute name="renderGaps" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-  *                   &amp;lt;attribute name="showSequenceFeatures" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-  *                   &amp;lt;attribute name="showNPfeatureTooltip" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-  *                   &amp;lt;attribute name="showDbRefTooltip" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-  *                   &amp;lt;attribute name="followHighlight" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
-  *                   &amp;lt;attribute name="followSelection" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
-  *                   &amp;lt;attribute name="showAnnotation" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-  *                   &amp;lt;attribute name="centreColumnLabels" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
-  *                   &amp;lt;attribute name="showGroupConservation" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
-  *                   &amp;lt;attribute name="showGroupConsensus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
-  *                   &amp;lt;attribute name="showConsensusHistogram" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
-  *                   &amp;lt;attribute name="showSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
-  *                   &amp;lt;attribute name="normaliseSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
-  *                   &amp;lt;attribute name="ignoreGapsinConsensus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
-  *                   &amp;lt;attribute name="startRes" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-  *                   &amp;lt;attribute name="startSeq" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-  *                   &amp;lt;attribute name="fontName" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *                   &amp;lt;attribute name="fontSize" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-  *                   &amp;lt;attribute name="fontStyle" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-  *                   &amp;lt;attribute name="scaleProteinAsCdna" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
-  *                   &amp;lt;attribute name="viewName" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *                   &amp;lt;attribute name="sequenceSetId" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *                   &amp;lt;attribute name="gatheredViews" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-  *                   &amp;lt;attribute name="textCol1" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-  *                   &amp;lt;attribute name="textCol2" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-  *                   &amp;lt;attribute name="textColThreshold" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-  *                   &amp;lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" /&amp;gt;
-  *                   &amp;lt;attribute name="complementId" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *                   &amp;lt;attribute name="showComplementFeatures" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
-  *                   &amp;lt;attribute name="showComplementFeaturesOnTop" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
-  *                 &amp;lt;/restriction&amp;gt;
-  *               &amp;lt;/complexContent&amp;gt;
-  *             &amp;lt;/complexType&amp;gt;
-  *           &amp;lt;/element&amp;gt;
-  *           &amp;lt;element name="UserColours" maxOccurs="unbounded" minOccurs="0"&amp;gt;
-  *             &amp;lt;complexType&amp;gt;
-  *               &amp;lt;complexContent&amp;gt;
-  *                 &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *                   &amp;lt;sequence&amp;gt;
-  *                     &amp;lt;element name="UserColourScheme" type="{www.jalview.org/colours}JalviewUserColours"/&amp;gt;
-  *                   &amp;lt;/sequence&amp;gt;
-  *                   &amp;lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *                 &amp;lt;/restriction&amp;gt;
-  *               &amp;lt;/complexContent&amp;gt;
-  *             &amp;lt;/complexType&amp;gt;
-  *           &amp;lt;/element&amp;gt;
-  *           &amp;lt;element name="tree" maxOccurs="unbounded" minOccurs="0"&amp;gt;
-  *             &amp;lt;complexType&amp;gt;
-  *               &amp;lt;complexContent&amp;gt;
-  *                 &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *                   &amp;lt;sequence minOccurs="0"&amp;gt;
-  *                     &amp;lt;element name="title" type="{http://www.w3.org/2001/XMLSchema}string"/&amp;gt;
-  *                     &amp;lt;element name="newick" type="{http://www.w3.org/2001/XMLSchema}string"/&amp;gt;
-  *                   &amp;lt;/sequence&amp;gt;
-  *                   &amp;lt;attGroup ref="{www.jalview.org}swingwindow"/&amp;gt;
-  *                   &amp;lt;attribute name="fontName" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *                   &amp;lt;attribute name="fontSize" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-  *                   &amp;lt;attribute name="fontStyle" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-  *                   &amp;lt;attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt;
-  *                   &amp;lt;attribute name="showBootstrap" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-  *                   &amp;lt;attribute name="showDistances" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-  *                   &amp;lt;attribute name="markUnlinked" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-  *                   &amp;lt;attribute name="fitToWindow" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-  *                   &amp;lt;attribute name="currentTree" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-  *                   &amp;lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" /&amp;gt;
-  *                   &amp;lt;attribute name="linkToAllViews" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
-  *                 &amp;lt;/restriction&amp;gt;
-  *               &amp;lt;/complexContent&amp;gt;
-  *             &amp;lt;/complexType&amp;gt;
-  *           &amp;lt;/element&amp;gt;
-  *           &amp;lt;element name="PcaViewer" maxOccurs="unbounded" minOccurs="0"&amp;gt;
-  *             &amp;lt;complexType&amp;gt;
-  *               &amp;lt;complexContent&amp;gt;
-  *                 &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *                   &amp;lt;sequence&amp;gt;
-  *                     &amp;lt;element name="sequencePoint" maxOccurs="unbounded"&amp;gt;
-  *                       &amp;lt;complexType&amp;gt;
-  *                         &amp;lt;complexContent&amp;gt;
-  *                           &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *                             &amp;lt;attGroup ref="{www.jalview.org}position"/&amp;gt;
-  *                             &amp;lt;attribute name="sequenceRef" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *                           &amp;lt;/restriction&amp;gt;
-  *                         &amp;lt;/complexContent&amp;gt;
-  *                       &amp;lt;/complexType&amp;gt;
-  *                     &amp;lt;/element&amp;gt;
-  *                     &amp;lt;element name="axis" maxOccurs="3" minOccurs="3"&amp;gt;
-  *                       &amp;lt;complexType&amp;gt;
-  *                         &amp;lt;complexContent&amp;gt;
-  *                           &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *                             &amp;lt;attGroup ref="{www.jalview.org}position"/&amp;gt;
-  *                           &amp;lt;/restriction&amp;gt;
-  *                         &amp;lt;/complexContent&amp;gt;
-  *                       &amp;lt;/complexType&amp;gt;
-  *                     &amp;lt;/element&amp;gt;
-  *                     &amp;lt;element name="seqPointMin"&amp;gt;
-  *                       &amp;lt;complexType&amp;gt;
-  *                         &amp;lt;complexContent&amp;gt;
-  *                           &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *                             &amp;lt;attGroup ref="{www.jalview.org}position"/&amp;gt;
-  *                           &amp;lt;/restriction&amp;gt;
-  *                         &amp;lt;/complexContent&amp;gt;
-  *                       &amp;lt;/complexType&amp;gt;
-  *                     &amp;lt;/element&amp;gt;
-  *                     &amp;lt;element name="seqPointMax"&amp;gt;
-  *                       &amp;lt;complexType&amp;gt;
-  *                         &amp;lt;complexContent&amp;gt;
-  *                           &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *                             &amp;lt;attGroup ref="{www.jalview.org}position"/&amp;gt;
-  *                           &amp;lt;/restriction&amp;gt;
-  *                         &amp;lt;/complexContent&amp;gt;
-  *                       &amp;lt;/complexType&amp;gt;
-  *                     &amp;lt;/element&amp;gt;
-  *                     &amp;lt;element name="pcaData" type="{www.jalview.org}PcaDataType"/&amp;gt;
-  *                   &amp;lt;/sequence&amp;gt;
-  *                   &amp;lt;attGroup ref="{www.jalview.org}swingwindow"/&amp;gt;
-  *                   &amp;lt;attGroup ref="{www.jalview.org}SimilarityParams"/&amp;gt;
-  *                   &amp;lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *                   &amp;lt;attribute name="scoreModelName" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *                   &amp;lt;attribute name="xDim" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-  *                   &amp;lt;attribute name="yDim" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-  *                   &amp;lt;attribute name="zDim" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-  *                   &amp;lt;attribute name="bgColour" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-  *                   &amp;lt;attribute name="scaleFactor" type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt;
-  *                   &amp;lt;attribute name="showLabels" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-  *                   &amp;lt;attribute name="linkToAllViews" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-  *                 &amp;lt;/restriction&amp;gt;
-  *               &amp;lt;/complexContent&amp;gt;
-  *             &amp;lt;/complexType&amp;gt;
-  *           &amp;lt;/element&amp;gt;
-  *           &amp;lt;element name="FeatureSettings" minOccurs="0"&amp;gt;
-  *             &amp;lt;complexType&amp;gt;
-  *               &amp;lt;complexContent&amp;gt;
-  *                 &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *                   &amp;lt;sequence&amp;gt;
-  *                     &amp;lt;element name="setting" maxOccurs="unbounded" minOccurs="0"&amp;gt;
-  *                       &amp;lt;complexType&amp;gt;
-  *                         &amp;lt;complexContent&amp;gt;
-  *                           &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *                             &amp;lt;sequence&amp;gt;
-  *                               &amp;lt;element name="attributeName" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="2" minOccurs="0"/&amp;gt;
-  *                               &amp;lt;element name="matcherSet" type="{www.jalview.org/colours}FeatureMatcherSet" minOccurs="0"/&amp;gt;
-  *                             &amp;lt;/sequence&amp;gt;
-  *                             &amp;lt;attribute name="type" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *                             &amp;lt;attribute name="colour" use="required" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-  *                             &amp;lt;attribute name="display" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-  *                             &amp;lt;attribute name="order" type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt;
-  *                             &amp;lt;attribute name="mincolour" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-  *                             &amp;lt;attribute name="noValueColour" type="{www.jalview.org/colours}NoValueColour" default="Min" /&amp;gt;
-  *                             &amp;lt;attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt;
-  *                             &amp;lt;attribute name="threshstate" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-  *                             &amp;lt;attribute name="max" type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt;
-  *                             &amp;lt;attribute name="min" type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt;
-  *                             &amp;lt;attribute name="colourByLabel" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-  *                             &amp;lt;attribute name="autoScale" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-  *                           &amp;lt;/restriction&amp;gt;
-  *                         &amp;lt;/complexContent&amp;gt;
-  *                       &amp;lt;/complexType&amp;gt;
-  *                     &amp;lt;/element&amp;gt;
-  *                     &amp;lt;element name="group" maxOccurs="unbounded" minOccurs="0"&amp;gt;
-  *                       &amp;lt;complexType&amp;gt;
-  *                         &amp;lt;complexContent&amp;gt;
-  *                           &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *                             &amp;lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *                             &amp;lt;attribute name="display" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-  *                           &amp;lt;/restriction&amp;gt;
-  *                         &amp;lt;/complexContent&amp;gt;
-  *                       &amp;lt;/complexType&amp;gt;
-  *                     &amp;lt;/element&amp;gt;
-  *                   &amp;lt;/sequence&amp;gt;
-  *                 &amp;lt;/restriction&amp;gt;
-  *               &amp;lt;/complexContent&amp;gt;
-  *             &amp;lt;/complexType&amp;gt;
-  *           &amp;lt;/element&amp;gt;
-  *         &amp;lt;/sequence&amp;gt;
-  *       &amp;lt;/sequence&amp;gt;
-  *     &amp;lt;/restriction&amp;gt;
-  *   &amp;lt;/complexContent&amp;gt;
-  * &amp;lt;/complexType&amp;gt;
-  * &lt;/pre&gt;
 - * &lt;pre&gt; &amp;lt;complexType name="JalviewModel"&amp;gt;
 - * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
 - * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
 - * &amp;lt;sequence&amp;gt; &amp;lt;element name="creationDate"
 - * type="{http://www.w3.org/2001/XMLSchema}dateTime"/&amp;gt; &amp;lt;element
 - * name="version" type="{http://www.w3.org/2001/XMLSchema}string"/&amp;gt;
 - * &amp;lt;element name="vamsasModel"
 - * type="{www.vamsas.ac.uk/jalview/version2}VAMSAS"/&amp;gt;
 - * &amp;lt;sequence&amp;gt; &amp;lt;element name="JSeq" maxOccurs="unbounded"
 - * minOccurs="0"&amp;gt; &amp;lt;complexType&amp;gt;
 - * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
 - * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
 - * &amp;lt;sequence&amp;gt; &amp;lt;element name="features"
 - * type="{www.jalview.org}feature" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
 - * &amp;lt;element name="pdbids" maxOccurs="unbounded" minOccurs="0"&amp;gt;
 - * &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt; &amp;lt;extension
 - * base="{www.jalview.org}pdbentry"&amp;gt; &amp;lt;sequence&amp;gt;
 - * &amp;lt;element name="structureState" maxOccurs="unbounded"
 - * minOccurs="0"&amp;gt; &amp;lt;complexType&amp;gt;
 - * &amp;lt;simpleContent&amp;gt; &amp;lt;extension
 - * base="&amp;lt;http://www.w3.org/2001/XMLSchema&amp;gt;string"&amp;gt;
 - * &amp;lt;attGroup ref="{www.jalview.org}swingwindow"/&amp;gt;
 - * &amp;lt;attribute name="visible"
 - * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt; &amp;lt;attribute
 - * name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
 - * &amp;lt;attribute name="alignwithAlignPanel"
 - * type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
 - * &amp;lt;attribute name="colourwithAlignPanel"
 - * type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
 - * &amp;lt;attribute name="colourByJmol"
 - * type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
 - * &amp;lt;attribute name="type" type="{http://www.w3.org/2001/XMLSchema}string"
 - * /&amp;gt; &amp;lt;/extension&amp;gt; &amp;lt;/simpleContent&amp;gt;
 - * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt;
 - * &amp;lt;/sequence&amp;gt; &amp;lt;/extension&amp;gt;
 - * &amp;lt;/complexContent&amp;gt; &amp;lt;/complexType&amp;gt;
 - * &amp;lt;/element&amp;gt; &amp;lt;element name="hiddenSequences"
 - * type="{http://www.w3.org/2001/XMLSchema}int" maxOccurs="unbounded"
 - * minOccurs="0"/&amp;gt; &amp;lt;element name="rnaViewer" maxOccurs="unbounded"
 - * minOccurs="0"&amp;gt; &amp;lt;complexType&amp;gt;
 - * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
 - * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
 - * &amp;lt;sequence&amp;gt; &amp;lt;element name="secondaryStructure"
 - * maxOccurs="unbounded"&amp;gt; &amp;lt;complexType&amp;gt;
 - * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
 - * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attribute
 - * name="title" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
 - * &amp;lt;attribute name="annotationId" use="required"
 - * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
 - * name="gapped" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
 - * &amp;lt;attribute name="viewerState"
 - * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
 - * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 - * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt;
 - * &amp;lt;/sequence&amp;gt; &amp;lt;attGroup
 - * ref="{www.jalview.org}swingwindow"/&amp;gt; &amp;lt;attribute name="title"
 - * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
 - * name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
 - * &amp;lt;attribute name="dividerLocation"
 - * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
 - * name="selectedRna" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
 - * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 - * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt;
 - * &amp;lt;/sequence&amp;gt; &amp;lt;attribute name="colour"
 - * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
 - * name="start" use="required" type="{http://www.w3.org/2001/XMLSchema}int"
 - * /&amp;gt; &amp;lt;attribute name="end" use="required"
 - * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
 - * name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}string"
 - * /&amp;gt; &amp;lt;attribute name="hidden"
 - * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt; &amp;lt;attribute
 - * name="viewreference" type="{http://www.w3.org/2001/XMLSchema}boolean"
 - * /&amp;gt; &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 - * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt; &amp;lt;element
 - * name="JGroup" maxOccurs="unbounded" minOccurs="0"&amp;gt;
 - * &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
 - * &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
 - * &amp;lt;sequence&amp;gt; &amp;lt;element name="seq"
 - * type="{http://www.w3.org/2001/XMLSchema}string"
 - * maxOccurs="unbounded"/&amp;gt; &amp;lt;element name="annotationColours"
 - * type="{www.jalview.org}AnnotationColourScheme" minOccurs="0"/&amp;gt;
 - * &amp;lt;/sequence&amp;gt; &amp;lt;attribute name="start"
 - * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
 - * name="end" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
 - * &amp;lt;attribute name="name" type="{http://www.w3.org/2001/XMLSchema}string"
 - * /&amp;gt; &amp;lt;attribute name="colour"
 - * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
 - * name="consThreshold" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
 - * &amp;lt;attribute name="pidThreshold"
 - * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
 - * name="outlineColour" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
 - * &amp;lt;attribute name="displayBoxes"
 - * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt; &amp;lt;attribute
 - * name="displayText" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
 - * &amp;lt;attribute name="colourText"
 - * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt; &amp;lt;attribute
 - * name="textCol1" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
 - * &amp;lt;attribute name="textCol2"
 - * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
 - * name="textColThreshold" type="{http://www.w3.org/2001/XMLSchema}int"
 - * /&amp;gt; &amp;lt;attribute name="showUnconserved"
 - * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt; &amp;lt;attribute
 - * name="ignoreGapsinConsensus" type="{http://www.w3.org/2001/XMLSchema}boolean"
 - * default="true" /&amp;gt; &amp;lt;attribute name="showConsensusHistogram"
 - * type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
 - * &amp;lt;attribute name="showSequenceLogo"
 - * type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
 - * &amp;lt;attribute name="normaliseSequenceLogo"
 - * type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
 - * &amp;lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string"
 - * /&amp;gt; &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 - * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt; &amp;lt;element
 - * name="Viewport" maxOccurs="unbounded" minOccurs="0"&amp;gt;
 - * &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
 - * &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
 - * &amp;lt;sequence&amp;gt; &amp;lt;element name="AnnotationColours"
 - * type="{www.jalview.org}AnnotationColourScheme" minOccurs="0"/&amp;gt;
 - * &amp;lt;element name="hiddenColumns" maxOccurs="unbounded"
 - * minOccurs="0"&amp;gt; &amp;lt;complexType&amp;gt;
 - * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
 - * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attribute
 - * name="start" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
 - * &amp;lt;attribute name="end" type="{http://www.w3.org/2001/XMLSchema}int"
 - * /&amp;gt; &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 - * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt; &amp;lt;element
 - * name="calcIdParam" maxOccurs="unbounded" minOccurs="0"&amp;gt;
 - * &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt; &amp;lt;extension
 - * base="{www.jalview.org/xml/wsparamset}WebServiceParameterSet"&amp;gt;
 - * &amp;lt;attribute name="calcId" use="required"
 - * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
 - * name="needsUpdate" type="{http://www.w3.org/2001/XMLSchema}boolean"
 - * default="false" /&amp;gt; &amp;lt;attribute name="autoUpdate" use="required"
 - * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
 - * &amp;lt;/extension&amp;gt; &amp;lt;/complexContent&amp;gt;
 - * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt;
 - * &amp;lt;/sequence&amp;gt; &amp;lt;attGroup
 - * ref="{www.jalview.org}swingwindow"/&amp;gt; &amp;lt;attribute
 - * name="conservationSelected" type="{http://www.w3.org/2001/XMLSchema}boolean"
 - * /&amp;gt; &amp;lt;attribute name="pidSelected"
 - * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt; &amp;lt;attribute
 - * name="bgColour" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
 - * &amp;lt;attribute name="consThreshold"
 - * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
 - * name="pidThreshold" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
 - * &amp;lt;attribute name="title"
 - * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
 - * name="showFullId" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
 - * &amp;lt;attribute name="rightAlignIds"
 - * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt; &amp;lt;attribute
 - * name="showText" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
 - * &amp;lt;attribute name="showColourText"
 - * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt; &amp;lt;attribute
 - * name="showUnconserved" type="{http://www.w3.org/2001/XMLSchema}boolean"
 - * default="false" /&amp;gt; &amp;lt;attribute name="showBoxes"
 - * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt; &amp;lt;attribute
 - * name="wrapAlignment" type="{http://www.w3.org/2001/XMLSchema}boolean"
 - * /&amp;gt; &amp;lt;attribute name="renderGaps"
 - * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt; &amp;lt;attribute
 - * name="showSequenceFeatures" type="{http://www.w3.org/2001/XMLSchema}boolean"
 - * /&amp;gt; &amp;lt;attribute name="showNPfeatureTooltip"
 - * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt; &amp;lt;attribute
 - * name="showDbRefTooltip" type="{http://www.w3.org/2001/XMLSchema}boolean"
 - * /&amp;gt; &amp;lt;attribute name="followHighlight"
 - * type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
 - * &amp;lt;attribute name="followSelection"
 - * type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
 - * &amp;lt;attribute name="showAnnotation"
 - * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt; &amp;lt;attribute
 - * name="centreColumnLabels" type="{http://www.w3.org/2001/XMLSchema}boolean"
 - * default="false" /&amp;gt; &amp;lt;attribute name="showGroupConservation"
 - * type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
 - * &amp;lt;attribute name="showGroupConsensus"
 - * type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
 - * &amp;lt;attribute name="showConsensusHistogram"
 - * type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
 - * &amp;lt;attribute name="showSequenceLogo"
 - * type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
 - * &amp;lt;attribute name="normaliseSequenceLogo"
 - * type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
 - * &amp;lt;attribute name="ignoreGapsinConsensus"
 - * type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
 - * &amp;lt;attribute name="startRes"
 - * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
 - * name="startSeq" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
 - * &amp;lt;attribute name="fontName"
 - * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
 - * name="fontSize" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
 - * &amp;lt;attribute name="fontStyle"
 - * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
 - * name="scaleProteinAsCdna" type="{http://www.w3.org/2001/XMLSchema}boolean"
 - * default="true" /&amp;gt; &amp;lt;attribute name="viewName"
 - * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
 - * name="sequenceSetId" type="{http://www.w3.org/2001/XMLSchema}string"
 - * /&amp;gt; &amp;lt;attribute name="gatheredViews"
 - * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt; &amp;lt;attribute
 - * name="textCol1" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
 - * &amp;lt;attribute name="textCol2"
 - * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
 - * name="textColThreshold" type="{http://www.w3.org/2001/XMLSchema}int"
 - * /&amp;gt; &amp;lt;attribute name="id"
 - * type="{http://www.w3.org/2001/XMLSchema}ID" /&amp;gt; &amp;lt;attribute
 - * name="complementId" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
 - * &amp;lt;attribute name="showComplementFeatures"
 - * type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
 - * &amp;lt;attribute name="showComplementFeaturesOnTop"
 - * type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
 - * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 - * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt; &amp;lt;element
 - * name="UserColours" maxOccurs="unbounded" minOccurs="0"&amp;gt;
 - * &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
 - * &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
 - * &amp;lt;sequence&amp;gt; &amp;lt;element name="UserColourScheme"
 - * type="{www.jalview.org/colours}JalviewUserColours"/&amp;gt;
 - * &amp;lt;/sequence&amp;gt; &amp;lt;attribute name="id"
 - * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
 - * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 - * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt; &amp;lt;element
 - * name="tree" maxOccurs="unbounded" minOccurs="0"&amp;gt;
 - * &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
 - * &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
 - * &amp;lt;sequence minOccurs="0"&amp;gt; &amp;lt;element name="title"
 - * type="{http://www.w3.org/2001/XMLSchema}string"/&amp;gt; &amp;lt;element
 - * name="newick" type="{http://www.w3.org/2001/XMLSchema}string"/&amp;gt;
 - * &amp;lt;/sequence&amp;gt; &amp;lt;attGroup
 - * ref="{www.jalview.org}swingwindow"/&amp;gt; &amp;lt;attribute name="fontName"
 - * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
 - * name="fontSize" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
 - * &amp;lt;attribute name="fontStyle"
 - * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
 - * name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt;
 - * &amp;lt;attribute name="showBootstrap"
 - * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt; &amp;lt;attribute
 - * name="showDistances" type="{http://www.w3.org/2001/XMLSchema}boolean"
 - * /&amp;gt; &amp;lt;attribute name="markUnlinked"
 - * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt; &amp;lt;attribute
 - * name="fitToWindow" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
 - * &amp;lt;attribute name="currentTree"
 - * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt; &amp;lt;attribute
 - * name="id" type="{http://www.w3.org/2001/XMLSchema}ID" /&amp;gt;
 - * &amp;lt;attribute name="linkToAllViews"
 - * type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
 - * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 - * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt; &amp;lt;element
 - * name="PcaViewer" maxOccurs="unbounded" minOccurs="0"&amp;gt;
 - * &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
 - * &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
 - * &amp;lt;sequence&amp;gt; &amp;lt;element name="sequencePoint"
 - * maxOccurs="unbounded"&amp;gt; &amp;lt;complexType&amp;gt;
 - * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
 - * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attGroup
 - * ref="{www.jalview.org}position"/&amp;gt; &amp;lt;attribute name="sequenceRef"
 - * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
 - * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 - * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt; &amp;lt;element
 - * name="axis" maxOccurs="3" minOccurs="3"&amp;gt; &amp;lt;complexType&amp;gt;
 - * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
 - * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attGroup
 - * ref="{www.jalview.org}position"/&amp;gt; &amp;lt;/restriction&amp;gt;
 - * &amp;lt;/complexContent&amp;gt; &amp;lt;/complexType&amp;gt;
 - * &amp;lt;/element&amp;gt; &amp;lt;element name="seqPointMin"&amp;gt;
 - * &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
 - * &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
 - * &amp;lt;attGroup ref="{www.jalview.org}position"/&amp;gt;
 - * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 - * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt; &amp;lt;element
 - * name="seqPointMax"&amp;gt; &amp;lt;complexType&amp;gt;
 - * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
 - * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attGroup
 - * ref="{www.jalview.org}position"/&amp;gt; &amp;lt;/restriction&amp;gt;
 - * &amp;lt;/complexContent&amp;gt; &amp;lt;/complexType&amp;gt;
 - * &amp;lt;/element&amp;gt; &amp;lt;element name="pcaData"
 - * type="{www.jalview.org}PcaDataType"/&amp;gt; &amp;lt;/sequence&amp;gt;
 - * &amp;lt;attGroup ref="{www.jalview.org}swingwindow"/&amp;gt; &amp;lt;attGroup
 - * ref="{www.jalview.org}SimilarityParams"/&amp;gt; &amp;lt;attribute
 - * name="title" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
 - * &amp;lt;attribute name="scoreModelName"
 - * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
 - * name="xDim" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
 - * &amp;lt;attribute name="yDim" type="{http://www.w3.org/2001/XMLSchema}int"
 - * /&amp;gt; &amp;lt;attribute name="zDim"
 - * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
 - * name="bgColour" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
 - * &amp;lt;attribute name="scaleFactor"
 - * type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt; &amp;lt;attribute
 - * name="showLabels" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
 - * &amp;lt;attribute name="linkToAllViews"
 - * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
 - * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 - * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt; &amp;lt;element
 - * name="FeatureSettings" minOccurs="0"&amp;gt; &amp;lt;complexType&amp;gt;
 - * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
 - * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
 - * &amp;lt;sequence&amp;gt; &amp;lt;element name="setting" maxOccurs="unbounded"
 - * minOccurs="0"&amp;gt; &amp;lt;complexType&amp;gt;
 - * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
 - * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
 - * &amp;lt;sequence&amp;gt; &amp;lt;element name="attributeName"
 - * type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="2"
 - * minOccurs="0"/&amp;gt; &amp;lt;element name="matcherSet"
 - * type="{www.jalview.org/colours}FeatureMatcherSet" minOccurs="0"/&amp;gt;
 - * &amp;lt;/sequence&amp;gt; &amp;lt;attribute name="type" use="required"
 - * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
 - * name="colour" use="required" type="{http://www.w3.org/2001/XMLSchema}int"
 - * /&amp;gt; &amp;lt;attribute name="display" use="required"
 - * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt; &amp;lt;attribute
 - * name="order" type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt;
 - * &amp;lt;attribute name="mincolour"
 - * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
 - * name="noValueColour" type="{www.jalview.org/colours}NoValueColour"
 - * default="Min" /&amp;gt; &amp;lt;attribute name="threshold"
 - * type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt; &amp;lt;attribute
 - * name="threshstate" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
 - * &amp;lt;attribute name="max" type="{http://www.w3.org/2001/XMLSchema}float"
 - * /&amp;gt; &amp;lt;attribute name="min"
 - * type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt; &amp;lt;attribute
 - * name="colourByLabel" type="{http://www.w3.org/2001/XMLSchema}boolean"
 - * /&amp;gt; &amp;lt;attribute name="autoScale"
 - * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
 - * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 - * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt; &amp;lt;element
 - * name="group" maxOccurs="unbounded" minOccurs="0"&amp;gt;
 - * &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
 - * &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
 - * &amp;lt;attribute name="name" use="required"
 - * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
 - * name="display" use="required"
 - * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
 - * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 - * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt;
 - * &amp;lt;/sequence&amp;gt; &amp;lt;/restriction&amp;gt;
 - * &amp;lt;/complexContent&amp;gt; &amp;lt;/complexType&amp;gt;
 - * &amp;lt;/element&amp;gt; &amp;lt;/sequence&amp;gt; &amp;lt;/sequence&amp;gt;
 - * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 - * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
++ * <pre>
++ * &lt;complexType name="JalviewModel">
++ *   &lt;complexContent>
++ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++ *       &lt;sequence>
++ *         &lt;element name="creationDate" type="{http://www.w3.org/2001/XMLSchema}dateTime"/>
++ *         &lt;element name="version" type="{http://www.w3.org/2001/XMLSchema}string"/>
++ *         &lt;element name="vamsasModel" type="{www.vamsas.ac.uk/jalview/version2}VAMSAS"/>
++ *         &lt;sequence>
++ *           &lt;element name="JSeq" maxOccurs="unbounded" minOccurs="0">
++ *             &lt;complexType>
++ *               &lt;complexContent>
++ *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++ *                   &lt;sequence>
++ *                     &lt;element name="features" type="{www.jalview.org}feature" maxOccurs="unbounded" minOccurs="0"/>
++ *                     &lt;element name="pdbids" maxOccurs="unbounded" minOccurs="0">
++ *                       &lt;complexType>
++ *                         &lt;complexContent>
++ *                           &lt;extension base="{www.jalview.org}pdbentry">
++ *                             &lt;sequence>
++ *                               &lt;element name="structureState" maxOccurs="unbounded" minOccurs="0">
++ *                                 &lt;complexType>
++ *                                   &lt;simpleContent>
++ *                                     &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
++ *                                       &lt;attGroup ref="{www.jalview.org}swingwindow"/>
++ *                                       &lt;attribute name="visible" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++ *                                       &lt;attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *                                       &lt;attribute name="alignwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
++ *                                       &lt;attribute name="colourwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
++ *                                       &lt;attribute name="colourByJmol" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
++ *                                       &lt;attribute name="type" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *                                     &lt;/extension>
++ *                                   &lt;/simpleContent>
++ *                                 &lt;/complexType>
++ *                               &lt;/element>
++ *                             &lt;/sequence>
++ *                           &lt;/extension>
++ *                         &lt;/complexContent>
++ *                       &lt;/complexType>
++ *                     &lt;/element>
++ *                     &lt;element name="hiddenSequences" type="{http://www.w3.org/2001/XMLSchema}int" maxOccurs="unbounded" minOccurs="0"/>
++ *                     &lt;element name="rnaViewer" maxOccurs="unbounded" minOccurs="0">
++ *                       &lt;complexType>
++ *                         &lt;complexContent>
++ *                           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++ *                             &lt;sequence>
++ *                               &lt;element name="secondaryStructure" maxOccurs="unbounded">
++ *                                 &lt;complexType>
++ *                                   &lt;complexContent>
++ *                                     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++ *                                       &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *                                       &lt;attribute name="annotationId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *                                       &lt;attribute name="gapped" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++ *                                       &lt;attribute name="viewerState" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *                                     &lt;/restriction>
++ *                                   &lt;/complexContent>
++ *                                 &lt;/complexType>
++ *                               &lt;/element>
++ *                             &lt;/sequence>
++ *                             &lt;attGroup ref="{www.jalview.org}swingwindow"/>
++ *                             &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *                             &lt;attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *                             &lt;attribute name="dividerLocation" type="{http://www.w3.org/2001/XMLSchema}int" />
++ *                             &lt;attribute name="selectedRna" type="{http://www.w3.org/2001/XMLSchema}int" />
++ *                           &lt;/restriction>
++ *                         &lt;/complexContent>
++ *                       &lt;/complexType>
++ *                     &lt;/element>
++ *                   &lt;/sequence>
++ *                   &lt;attribute name="colour" type="{http://www.w3.org/2001/XMLSchema}int" />
++ *                   &lt;attribute name="start" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
++ *                   &lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
++ *                   &lt;attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *                   &lt;attribute name="hidden" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++ *                   &lt;attribute name="viewreference" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++ *                 &lt;/restriction>
++ *               &lt;/complexContent>
++ *             &lt;/complexType>
++ *           &lt;/element>
++ *           &lt;element name="JGroup" maxOccurs="unbounded" minOccurs="0">
++ *             &lt;complexType>
++ *               &lt;complexContent>
++ *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++ *                   &lt;sequence>
++ *                     &lt;element name="seq" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded"/>
++ *                     &lt;element name="annotationColours" type="{www.jalview.org}AnnotationColourScheme" minOccurs="0"/>
++ *                   &lt;/sequence>
++ *                   &lt;attribute name="start" type="{http://www.w3.org/2001/XMLSchema}int" />
++ *                   &lt;attribute name="end" type="{http://www.w3.org/2001/XMLSchema}int" />
++ *                   &lt;attribute name="name" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *                   &lt;attribute name="colour" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *                   &lt;attribute name="consThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
++ *                   &lt;attribute name="pidThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
++ *                   &lt;attribute name="outlineColour" type="{http://www.w3.org/2001/XMLSchema}int" />
++ *                   &lt;attribute name="displayBoxes" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++ *                   &lt;attribute name="displayText" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++ *                   &lt;attribute name="colourText" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++ *                   &lt;attribute name="textCol1" type="{http://www.w3.org/2001/XMLSchema}int" />
++ *                   &lt;attribute name="textCol2" type="{http://www.w3.org/2001/XMLSchema}int" />
++ *                   &lt;attribute name="textColThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
++ *                   &lt;attribute name="showUnconserved" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++ *                   &lt;attribute name="ignoreGapsinConsensus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
++ *                   &lt;attribute name="showConsensusHistogram" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
++ *                   &lt;attribute name="showSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
++ *                   &lt;attribute name="normaliseSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
++ *                   &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *                 &lt;/restriction>
++ *               &lt;/complexContent>
++ *             &lt;/complexType>
++ *           &lt;/element>
++ *           &lt;element name="Viewport" maxOccurs="unbounded" minOccurs="0">
++ *             &lt;complexType>
++ *               &lt;complexContent>
++ *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++ *                   &lt;sequence>
++ *                     &lt;element name="AnnotationColours" type="{www.jalview.org}AnnotationColourScheme" minOccurs="0"/>
++ *                     &lt;element name="hiddenColumns" maxOccurs="unbounded" minOccurs="0">
++ *                       &lt;complexType>
++ *                         &lt;complexContent>
++ *                           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++ *                             &lt;attribute name="start" type="{http://www.w3.org/2001/XMLSchema}int" />
++ *                             &lt;attribute name="end" type="{http://www.w3.org/2001/XMLSchema}int" />
++ *                           &lt;/restriction>
++ *                         &lt;/complexContent>
++ *                       &lt;/complexType>
++ *                     &lt;/element>
++ *                     &lt;element name="calcIdParam" maxOccurs="unbounded" minOccurs="0">
++ *                       &lt;complexType>
++ *                         &lt;complexContent>
++ *                           &lt;extension base="{www.jalview.org/xml/wsparamset}WebServiceParameterSet">
++ *                             &lt;attribute name="calcId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *                             &lt;attribute name="needsUpdate" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
++ *                             &lt;attribute name="autoUpdate" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++ *                           &lt;/extension>
++ *                         &lt;/complexContent>
++ *                       &lt;/complexType>
++ *                     &lt;/element>
++ *                     &lt;element name="overview" minOccurs="0">
++ *                       &lt;complexType>
++ *                         &lt;complexContent>
++ *                           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++ *                             &lt;attGroup ref="{www.jalview.org}swingwindow"/>
++ *                             &lt;attribute name="showHidden" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++ *                             &lt;attribute name="residueColour" type="{http://www.w3.org/2001/XMLSchema}int" />
++ *                             &lt;attribute name="gapColour" type="{http://www.w3.org/2001/XMLSchema}int" />
++ *                             &lt;attribute name="hiddenColour" type="{http://www.w3.org/2001/XMLSchema}int" />
++ *                             &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *                           &lt;/restriction>
++ *                         &lt;/complexContent>
++ *                       &lt;/complexType>
++ *                     &lt;/element>
++ *                   &lt;/sequence>
++ *                   &lt;attGroup ref="{www.jalview.org}swingwindow"/>
++ *                   &lt;attribute name="conservationSelected" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++ *                   &lt;attribute name="pidSelected" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++ *                   &lt;attribute name="bgColour" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *                   &lt;attribute name="consThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
++ *                   &lt;attribute name="pidThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
++ *                   &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *                   &lt;attribute name="showFullId" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++ *                   &lt;attribute name="rightAlignIds" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++ *                   &lt;attribute name="showText" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++ *                   &lt;attribute name="showColourText" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++ *                   &lt;attribute name="showUnconserved" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
++ *                   &lt;attribute name="showBoxes" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++ *                   &lt;attribute name="wrapAlignment" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++ *                   &lt;attribute name="renderGaps" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++ *                   &lt;attribute name="showSequenceFeatures" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++ *                   &lt;attribute name="showNPfeatureTooltip" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++ *                   &lt;attribute name="showDbRefTooltip" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++ *                   &lt;attribute name="followHighlight" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
++ *                   &lt;attribute name="followSelection" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
++ *                   &lt;attribute name="showAnnotation" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++ *                   &lt;attribute name="centreColumnLabels" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
++ *                   &lt;attribute name="showGroupConservation" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
++ *                   &lt;attribute name="showGroupConsensus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
++ *                   &lt;attribute name="showConsensusHistogram" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
++ *                   &lt;attribute name="showSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
++ *                   &lt;attribute name="normaliseSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
++ *                   &lt;attribute name="ignoreGapsinConsensus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
++ *                   &lt;attribute name="startRes" type="{http://www.w3.org/2001/XMLSchema}int" />
++ *                   &lt;attribute name="startSeq" type="{http://www.w3.org/2001/XMLSchema}int" />
++ *                   &lt;attribute name="fontName" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *                   &lt;attribute name="fontSize" type="{http://www.w3.org/2001/XMLSchema}int" />
++ *                   &lt;attribute name="fontStyle" type="{http://www.w3.org/2001/XMLSchema}int" />
++ *                   &lt;attribute name="scaleProteinAsCdna" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
++ *                   &lt;attribute name="viewName" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *                   &lt;attribute name="sequenceSetId" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *                   &lt;attribute name="gatheredViews" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++ *                   &lt;attribute name="textCol1" type="{http://www.w3.org/2001/XMLSchema}int" />
++ *                   &lt;attribute name="textCol2" type="{http://www.w3.org/2001/XMLSchema}int" />
++ *                   &lt;attribute name="textColThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
++ *                   &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
++ *                   &lt;attribute name="complementId" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *                   &lt;attribute name="showComplementFeatures" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
++ *                   &lt;attribute name="showComplementFeaturesOnTop" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
++ *                 &lt;/restriction>
++ *               &lt;/complexContent>
++ *             &lt;/complexType>
++ *           &lt;/element>
++ *           &lt;element name="UserColours" maxOccurs="unbounded" minOccurs="0">
++ *             &lt;complexType>
++ *               &lt;complexContent>
++ *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++ *                   &lt;sequence>
++ *                     &lt;element name="UserColourScheme" type="{www.jalview.org/colours}JalviewUserColours"/>
++ *                   &lt;/sequence>
++ *                   &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *                 &lt;/restriction>
++ *               &lt;/complexContent>
++ *             &lt;/complexType>
++ *           &lt;/element>
++ *           &lt;element name="tree" maxOccurs="unbounded" minOccurs="0">
++ *             &lt;complexType>
++ *               &lt;complexContent>
++ *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++ *                   &lt;sequence minOccurs="0">
++ *                     &lt;element name="title" type="{http://www.w3.org/2001/XMLSchema}string"/>
++ *                     &lt;element name="newick" type="{http://www.w3.org/2001/XMLSchema}string"/>
++ *                   &lt;/sequence>
++ *                   &lt;attGroup ref="{www.jalview.org}swingwindow"/>
++ *                   &lt;attribute name="fontName" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *                   &lt;attribute name="fontSize" type="{http://www.w3.org/2001/XMLSchema}int" />
++ *                   &lt;attribute name="fontStyle" type="{http://www.w3.org/2001/XMLSchema}int" />
++ *                   &lt;attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" />
++ *                   &lt;attribute name="showBootstrap" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++ *                   &lt;attribute name="showDistances" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++ *                   &lt;attribute name="markUnlinked" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++ *                   &lt;attribute name="fitToWindow" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++ *                   &lt;attribute name="currentTree" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++ *                   &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
++ *                   &lt;attribute name="linkToAllViews" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
++ *                 &lt;/restriction>
++ *               &lt;/complexContent>
++ *             &lt;/complexType>
++ *           &lt;/element>
++ *           &lt;element name="PcaViewer" maxOccurs="unbounded" minOccurs="0">
++ *             &lt;complexType>
++ *               &lt;complexContent>
++ *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++ *                   &lt;sequence>
++ *                     &lt;element name="sequencePoint" maxOccurs="unbounded">
++ *                       &lt;complexType>
++ *                         &lt;complexContent>
++ *                           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++ *                             &lt;attGroup ref="{www.jalview.org}position"/>
++ *                             &lt;attribute name="sequenceRef" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *                           &lt;/restriction>
++ *                         &lt;/complexContent>
++ *                       &lt;/complexType>
++ *                     &lt;/element>
++ *                     &lt;element name="axis" maxOccurs="3" minOccurs="3">
++ *                       &lt;complexType>
++ *                         &lt;complexContent>
++ *                           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++ *                             &lt;attGroup ref="{www.jalview.org}position"/>
++ *                           &lt;/restriction>
++ *                         &lt;/complexContent>
++ *                       &lt;/complexType>
++ *                     &lt;/element>
++ *                     &lt;element name="seqPointMin">
++ *                       &lt;complexType>
++ *                         &lt;complexContent>
++ *                           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++ *                             &lt;attGroup ref="{www.jalview.org}position"/>
++ *                           &lt;/restriction>
++ *                         &lt;/complexContent>
++ *                       &lt;/complexType>
++ *                     &lt;/element>
++ *                     &lt;element name="seqPointMax">
++ *                       &lt;complexType>
++ *                         &lt;complexContent>
++ *                           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++ *                             &lt;attGroup ref="{www.jalview.org}position"/>
++ *                           &lt;/restriction>
++ *                         &lt;/complexContent>
++ *                       &lt;/complexType>
++ *                     &lt;/element>
++ *                     &lt;element name="pcaData" type="{www.jalview.org}PcaDataType"/>
++ *                   &lt;/sequence>
++ *                   &lt;attGroup ref="{www.jalview.org}SimilarityParams"/>
++ *                   &lt;attGroup ref="{www.jalview.org}swingwindow"/>
++ *                   &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *                   &lt;attribute name="scoreModelName" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *                   &lt;attribute name="xDim" type="{http://www.w3.org/2001/XMLSchema}int" />
++ *                   &lt;attribute name="yDim" type="{http://www.w3.org/2001/XMLSchema}int" />
++ *                   &lt;attribute name="zDim" type="{http://www.w3.org/2001/XMLSchema}int" />
++ *                   &lt;attribute name="bgColour" type="{http://www.w3.org/2001/XMLSchema}int" />
++ *                   &lt;attribute name="scaleFactor" type="{http://www.w3.org/2001/XMLSchema}float" />
++ *                   &lt;attribute name="showLabels" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++ *                   &lt;attribute name="linkToAllViews" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++ *                 &lt;/restriction>
++ *               &lt;/complexContent>
++ *             &lt;/complexType>
++ *           &lt;/element>
++ *           &lt;element name="FeatureSettings" minOccurs="0">
++ *             &lt;complexType>
++ *               &lt;complexContent>
++ *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++ *                   &lt;sequence>
++ *                     &lt;element name="setting" maxOccurs="unbounded" minOccurs="0">
++ *                       &lt;complexType>
++ *                         &lt;complexContent>
++ *                           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++ *                             &lt;sequence>
++ *                               &lt;element name="attributeName" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="2" minOccurs="0"/>
++ *                               &lt;element name="matcherSet" type="{www.jalview.org/colours}FeatureMatcherSet" minOccurs="0"/>
++ *                             &lt;/sequence>
++ *                             &lt;attribute name="type" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *                             &lt;attribute name="colour" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
++ *                             &lt;attribute name="display" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++ *                             &lt;attribute name="order" type="{http://www.w3.org/2001/XMLSchema}float" />
++ *                             &lt;attribute name="mincolour" type="{http://www.w3.org/2001/XMLSchema}int" />
++ *                             &lt;attribute name="noValueColour" type="{www.jalview.org/colours}NoValueColour" default="Min" />
++ *                             &lt;attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" />
++ *                             &lt;attribute name="threshstate" type="{http://www.w3.org/2001/XMLSchema}int" />
++ *                             &lt;attribute name="max" type="{http://www.w3.org/2001/XMLSchema}float" />
++ *                             &lt;attribute name="min" type="{http://www.w3.org/2001/XMLSchema}float" />
++ *                             &lt;attribute name="colourByLabel" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++ *                             &lt;attribute name="autoScale" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++ *                           &lt;/restriction>
++ *                         &lt;/complexContent>
++ *                       &lt;/complexType>
++ *                     &lt;/element>
++ *                     &lt;element name="group" maxOccurs="unbounded" minOccurs="0">
++ *                       &lt;complexType>
++ *                         &lt;complexContent>
++ *                           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++ *                             &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *                             &lt;attribute name="display" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++ *                           &lt;/restriction>
++ *                         &lt;/complexContent>
++ *                       &lt;/complexType>
++ *                     &lt;/element>
++ *                   &lt;/sequence>
++ *                 &lt;/restriction>
++ *               &lt;/complexContent>
++ *             &lt;/complexType>
++ *           &lt;/element>
++ *         &lt;/sequence>
++ *       &lt;/sequence>
++ *     &lt;/restriction>
++ *   &lt;/complexContent>
++ * &lt;/complexType>
++ * </pre>
   * 
   * 
   */
@@@ -485,177 -1465,210 +485,177 @@@ public class JalviewModel 
      }
  
      /**
 -     * Gets the value of the name property.
 +     * Gets the value of the jSeq property.
       * 
-      * &lt;p&gt;
 -     * @return possible object is {@link String }
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the jSeq property.
++     * This is why there is not a <CODE>set</CODE> method for the jSeq property.
       * 
-      * &lt;p&gt;
 -     */
 -    public String getName()
 -    {
 -      return name;
 -    }
 -
 -    /**
 -     * Sets the value of the name property.
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getJSeq().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
       * 
 -     * @param value
 -     *          allowed object is {@link String }
       * 
-      * &lt;p&gt;
 -     */
 -    public void setName(String value)
 -    {
 -      this.name = value;
 -    }
 -
 -    /**
 -     * Gets the value of the colour property.
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link JalviewModel.JSeq }
       * 
 -     * @return possible object is {@link String }
       * 
       */
 -    public String getColour()
 -    {
 -      return colour;
 +    public List<JalviewModel.JSeq> getJSeq() {
 +        if (jSeq == null) {
 +            jSeq = new ArrayList<JalviewModel.JSeq>();
 +        }
 +        return this.jSeq;
      }
  
      /**
 -     * Sets the value of the colour property.
 +     * Gets the value of the jGroup property.
       * 
-      * &lt;p&gt;
 -     * @param value
 -     *          allowed object is {@link String }
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the jGroup property.
++     * This is why there is not a <CODE>set</CODE> method for the jGroup property.
       * 
-      * &lt;p&gt;
 -     */
 -    public void setColour(String value)
 -    {
 -      this.colour = value;
 -    }
 -
 -    /**
 -     * Gets the value of the consThreshold property.
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getJGroup().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
       * 
 -     * @return possible object is {@link Integer }
       * 
-      * &lt;p&gt;
 -     */
 -    public Integer getConsThreshold()
 -    {
 -      return consThreshold;
 -    }
 -
 -    /**
 -     * Sets the value of the consThreshold property.
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link JalviewModel.JGroup }
       * 
 -     * @param value
 -     *          allowed object is {@link Integer }
       * 
       */
 -    public void setConsThreshold(Integer value)
 -    {
 -      this.consThreshold = value;
 +    public List<JalviewModel.JGroup> getJGroup() {
 +        if (jGroup == null) {
 +            jGroup = new ArrayList<JalviewModel.JGroup>();
 +        }
 +        return this.jGroup;
      }
  
      /**
 -     * Gets the value of the pidThreshold property.
 +     * Gets the value of the viewport property.
       * 
-      * &lt;p&gt;
 -     * @return possible object is {@link Integer }
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the viewport property.
++     * This is why there is not a <CODE>set</CODE> method for the viewport property.
       * 
-      * &lt;p&gt;
 -     */
 -    public Integer getPidThreshold()
 -    {
 -      return pidThreshold;
 -    }
 -
 -    /**
 -     * Sets the value of the pidThreshold property.
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getViewport().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
       * 
 -     * @param value
 -     *          allowed object is {@link Integer }
       * 
-      * &lt;p&gt;
 -     */
 -    public void setPidThreshold(Integer value)
 -    {
 -      this.pidThreshold = value;
 -    }
 -
 -    /**
 -     * Gets the value of the outlineColour property.
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link JalviewModel.Viewport }
       * 
 -     * @return possible object is {@link Integer }
       * 
       */
 -    public Integer getOutlineColour()
 -    {
 -      return outlineColour;
 +    public List<JalviewModel.Viewport> getViewport() {
 +        if (viewport == null) {
 +            viewport = new ArrayList<JalviewModel.Viewport>();
 +        }
 +        return this.viewport;
      }
  
      /**
 -     * Sets the value of the outlineColour property.
 +     * Gets the value of the userColours property.
       * 
-      * &lt;p&gt;
 -     * @param value
 -     *          allowed object is {@link Integer }
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the userColours property.
++     * This is why there is not a <CODE>set</CODE> method for the userColours property.
       * 
-      * &lt;p&gt;
 -     */
 -    public void setOutlineColour(Integer value)
 -    {
 -      this.outlineColour = value;
 -    }
 -
 -    /**
 -     * Gets the value of the displayBoxes property.
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getUserColours().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
       * 
 -     * @return possible object is {@link Boolean }
       * 
-      * &lt;p&gt;
 -     */
 -    public Boolean isDisplayBoxes()
 -    {
 -      return displayBoxes;
 -    }
 -
 -    /**
 -     * Sets the value of the displayBoxes property.
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link JalviewModel.UserColours }
       * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
       * 
       */
 -    public void setDisplayBoxes(Boolean value)
 -    {
 -      this.displayBoxes = value;
 +    public List<JalviewModel.UserColours> getUserColours() {
 +        if (userColours == null) {
 +            userColours = new ArrayList<JalviewModel.UserColours>();
 +        }
 +        return this.userColours;
      }
  
      /**
 -     * Gets the value of the displayText property.
 +     * Gets the value of the tree property.
       * 
-      * &lt;p&gt;
 -     * @return possible object is {@link Boolean }
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the tree property.
++     * This is why there is not a <CODE>set</CODE> method for the tree property.
       * 
-      * &lt;p&gt;
 -     */
 -    public Boolean isDisplayText()
 -    {
 -      return displayText;
 -    }
 -
 -    /**
 -     * Sets the value of the displayText property.
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getTree().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
       * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
       * 
-      * &lt;p&gt;
 -     */
 -    public void setDisplayText(Boolean value)
 -    {
 -      this.displayText = value;
 -    }
 -
 -    /**
 -     * Gets the value of the colourText property.
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link JalviewModel.Tree }
       * 
 -     * @return possible object is {@link Boolean }
       * 
       */
 -    public Boolean isColourText()
 -    {
 -      return colourText;
 +    public List<JalviewModel.Tree> getTree() {
 +        if (tree == null) {
 +            tree = new ArrayList<JalviewModel.Tree>();
 +        }
 +        return this.tree;
      }
  
      /**
 -     * Sets the value of the colourText property.
 +     * Gets the value of the pcaViewer property.
       * 
-      * &lt;p&gt;
 -     * @param value
 -     *          allowed object is {@link Boolean }
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the pcaViewer property.
++     * This is why there is not a <CODE>set</CODE> method for the pcaViewer property.
       * 
-      * &lt;p&gt;
 -     */
 -    public void setColourText(Boolean value)
 -    {
 -      this.colourText = value;
 -    }
 -
 -    /**
 -     * Gets the value of the textCol1 property.
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getPcaViewer().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
       * 
 -     * @return possible object is {@link Integer }
       * 
-      * &lt;p&gt;
 -     */
 -    public Integer getTextCol1()
 -    {
 -      return textCol1;
 -    }
 -
 -    /**
 -     * Sets the value of the textCol1 property.
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link JalviewModel.PcaViewer }
       * 
 -     * @param value
 -     *          allowed object is {@link Integer }
       * 
       */
 -    public void setTextCol1(Integer value)
 -    {
 -      this.textCol1 = value;
 +    public List<JalviewModel.PcaViewer> getPcaViewer() {
 +        if (pcaViewer == null) {
 +            pcaViewer = new ArrayList<JalviewModel.PcaViewer>();
 +        }
 +        return this.pcaViewer;
      }
  
      /**
      }
  
      /**
 -     * Sets the value of the textCol2 property.
 +     * Sets the value of the featureSettings property.
       * 
       * @param value
 -     *          allowed object is {@link Integer }
 -     * 
 -     */
 -    public void setTextCol2(Integer value)
 -    {
 -      this.textCol2 = value;
 -    }
 -
 -    /**
 -     * Gets the value of the textColThreshold property.
 +     *     allowed object is
 +     *     {@link JalviewModel.FeatureSettings }
 +     *     
 +     */
 +    public void setFeatureSettings(JalviewModel.FeatureSettings value) {
 +        this.featureSettings = value;
 +    }
 +
 +
 +    /**
-      * &lt;p&gt;Java class for anonymous complex type.
++     * <p>Java class for anonymous complex type.
 +     * 
-      * &lt;p&gt;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.
 +     * 
-      * &lt;pre&gt;
-      * &amp;lt;complexType&amp;gt;
-      *   &amp;lt;complexContent&amp;gt;
-      *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-      *       &amp;lt;sequence&amp;gt;
-      *         &amp;lt;element name="setting" maxOccurs="unbounded" minOccurs="0"&amp;gt;
-      *           &amp;lt;complexType&amp;gt;
-      *             &amp;lt;complexContent&amp;gt;
-      *               &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-      *                 &amp;lt;sequence&amp;gt;
-      *                   &amp;lt;element name="attributeName" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="2" minOccurs="0"/&amp;gt;
-      *                   &amp;lt;element name="matcherSet" type="{www.jalview.org/colours}FeatureMatcherSet" minOccurs="0"/&amp;gt;
-      *                 &amp;lt;/sequence&amp;gt;
-      *                 &amp;lt;attribute name="type" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-      *                 &amp;lt;attribute name="colour" use="required" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-      *                 &amp;lt;attribute name="display" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-      *                 &amp;lt;attribute name="order" type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt;
-      *                 &amp;lt;attribute name="mincolour" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-      *                 &amp;lt;attribute name="noValueColour" type="{www.jalview.org/colours}NoValueColour" default="Min" /&amp;gt;
-      *                 &amp;lt;attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt;
-      *                 &amp;lt;attribute name="threshstate" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-      *                 &amp;lt;attribute name="max" type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt;
-      *                 &amp;lt;attribute name="min" type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt;
-      *                 &amp;lt;attribute name="colourByLabel" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-      *                 &amp;lt;attribute name="autoScale" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-      *               &amp;lt;/restriction&amp;gt;
-      *             &amp;lt;/complexContent&amp;gt;
-      *           &amp;lt;/complexType&amp;gt;
-      *         &amp;lt;/element&amp;gt;
-      *         &amp;lt;element name="group" maxOccurs="unbounded" minOccurs="0"&amp;gt;
-      *           &amp;lt;complexType&amp;gt;
-      *             &amp;lt;complexContent&amp;gt;
-      *               &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-      *                 &amp;lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-      *                 &amp;lt;attribute name="display" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-      *               &amp;lt;/restriction&amp;gt;
-      *             &amp;lt;/complexContent&amp;gt;
-      *           &amp;lt;/complexType&amp;gt;
-      *         &amp;lt;/element&amp;gt;
-      *       &amp;lt;/sequence&amp;gt;
-      *     &amp;lt;/restriction&amp;gt;
-      *   &amp;lt;/complexContent&amp;gt;
-      * &amp;lt;/complexType&amp;gt;
-      * &lt;/pre&gt;
++     * <pre>
++     * &lt;complexType>
++     *   &lt;complexContent>
++     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++     *       &lt;sequence>
++     *         &lt;element name="setting" maxOccurs="unbounded" minOccurs="0">
++     *           &lt;complexType>
++     *             &lt;complexContent>
++     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++     *                 &lt;sequence>
++     *                   &lt;element name="attributeName" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="2" minOccurs="0"/>
++     *                   &lt;element name="matcherSet" type="{www.jalview.org/colours}FeatureMatcherSet" minOccurs="0"/>
++     *                 &lt;/sequence>
++     *                 &lt;attribute name="type" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
++     *                 &lt;attribute name="colour" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
++     *                 &lt;attribute name="display" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++     *                 &lt;attribute name="order" type="{http://www.w3.org/2001/XMLSchema}float" />
++     *                 &lt;attribute name="mincolour" type="{http://www.w3.org/2001/XMLSchema}int" />
++     *                 &lt;attribute name="noValueColour" type="{www.jalview.org/colours}NoValueColour" default="Min" />
++     *                 &lt;attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" />
++     *                 &lt;attribute name="threshstate" type="{http://www.w3.org/2001/XMLSchema}int" />
++     *                 &lt;attribute name="max" type="{http://www.w3.org/2001/XMLSchema}float" />
++     *                 &lt;attribute name="min" type="{http://www.w3.org/2001/XMLSchema}float" />
++     *                 &lt;attribute name="colourByLabel" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++     *                 &lt;attribute name="autoScale" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++     *               &lt;/restriction>
++     *             &lt;/complexContent>
++     *           &lt;/complexType>
++     *         &lt;/element>
++     *         &lt;element name="group" maxOccurs="unbounded" minOccurs="0">
++     *           &lt;complexType>
++     *             &lt;complexContent>
++     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++     *                 &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
++     *                 &lt;attribute name="display" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++     *               &lt;/restriction>
++     *             &lt;/complexContent>
++     *           &lt;/complexType>
++     *         &lt;/element>
++     *       &lt;/sequence>
++     *     &lt;/restriction>
++     *   &lt;/complexContent>
++     * &lt;/complexType>
++     * </pre>
       * 
 -     * @return possible object is {@link Integer }
       * 
       */
 -    public Integer getTextColThreshold()
 -    {
 -      return textColThreshold;
 -    }
 +    @XmlAccessorType(XmlAccessType.FIELD)
 +    @XmlType(name = "", propOrder = {
 +        "setting",
 +        "group"
 +    })
 +    public static class FeatureSettings {
  
 -    /**
 -     * Sets the value of the textColThreshold property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Integer }
 -     * 
 -     */
 -    public void setTextColThreshold(Integer value)
 -    {
 -      this.textColThreshold = value;
 -    }
 +        @XmlElement(namespace = "www.jalview.org")
 +        protected List<JalviewModel.FeatureSettings.Setting> setting;
 +        @XmlElement(namespace = "www.jalview.org")
 +        protected List<JalviewModel.FeatureSettings.Group> group;
  
 -    /**
 -     * Gets the value of the showUnconserved property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public Boolean isShowUnconserved()
 -    {
 -      return showUnconserved;
 -    }
 +        /**
 +         * Gets the value of the setting property.
 +         * 
-          * &lt;p&gt;
++         * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the setting property.
++         * This is why there is not a <CODE>set</CODE> method for the setting property.
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * For example, to add a new item, do as follows:
-          * &lt;pre&gt;
++         * <pre>
 +         *    getSetting().add(newItem);
-          * &lt;/pre&gt;
++         * </pre>
 +         * 
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * Objects of the following type(s) are allowed in the list
 +         * {@link JalviewModel.FeatureSettings.Setting }
 +         * 
 +         * 
 +         */
 +        public List<JalviewModel.FeatureSettings.Setting> getSetting() {
 +            if (setting == null) {
 +                setting = new ArrayList<JalviewModel.FeatureSettings.Setting>();
 +            }
 +            return this.setting;
 +        }
  
 -    /**
 -     * Sets the value of the showUnconserved property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setShowUnconserved(Boolean value)
 -    {
 -      this.showUnconserved = value;
 -    }
 +        /**
 +         * Gets the value of the group property.
 +         * 
-          * &lt;p&gt;
++         * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the group property.
++         * This is why there is not a <CODE>set</CODE> method for the group property.
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * For example, to add a new item, do as follows:
-          * &lt;pre&gt;
++         * <pre>
 +         *    getGroup().add(newItem);
-          * &lt;/pre&gt;
++         * </pre>
 +         * 
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * Objects of the following type(s) are allowed in the list
 +         * {@link JalviewModel.FeatureSettings.Group }
 +         * 
 +         * 
 +         */
 +        public List<JalviewModel.FeatureSettings.Group> getGroup() {
 +            if (group == null) {
 +                group = new ArrayList<JalviewModel.FeatureSettings.Group>();
 +            }
 +            return this.group;
 +        }
  
 -    /**
 -     * Gets the value of the ignoreGapsinConsensus property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public boolean isIgnoreGapsinConsensus()
 -    {
 -      if (ignoreGapsinConsensus == null)
 -      {
 -        return true;
 -      }
 -      else
 -      {
 -        return ignoreGapsinConsensus;
 -      }
 -    }
  
 -    /**
 -     * Sets the value of the ignoreGapsinConsensus property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setIgnoreGapsinConsensus(Boolean value)
 -    {
 -      this.ignoreGapsinConsensus = value;
 -    }
 +        /**
-          * &lt;p&gt;Java class for anonymous complex type.
++         * <p>Java class for anonymous complex type.
 +         * 
-          * &lt;p&gt;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.
 +         * 
-          * &lt;pre&gt;
-          * &amp;lt;complexType&amp;gt;
-          *   &amp;lt;complexContent&amp;gt;
-          *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-          *       &amp;lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-          *       &amp;lt;attribute name="display" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-          *     &amp;lt;/restriction&amp;gt;
-          *   &amp;lt;/complexContent&amp;gt;
-          * &amp;lt;/complexType&amp;gt;
-          * &lt;/pre&gt;
++         * <pre>
++         * &lt;complexType>
++         *   &lt;complexContent>
++         *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++         *       &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
++         *       &lt;attribute name="display" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++         *     &lt;/restriction>
++         *   &lt;/complexContent>
++         * &lt;/complexType>
++         * </pre>
 +         * 
 +         * 
 +         */
 +        @XmlAccessorType(XmlAccessType.FIELD)
 +        @XmlType(name = "")
 +        public static class Group {
 +
 +            @XmlAttribute(name = "name", required = true)
 +            protected String name;
 +            @XmlAttribute(name = "display", required = true)
 +            protected boolean display;
 +
 +            /**
 +             * Gets the value of the name property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link String }
 +             *     
 +             */
 +            public String getName() {
 +                return name;
 +            }
 +
 +            /**
 +             * Sets the value of the name property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link String }
 +             *     
 +             */
 +            public void setName(String value) {
 +                this.name = value;
 +            }
 +
 +            /**
 +             * Gets the value of the display property.
 +             * 
 +             */
 +            public boolean isDisplay() {
 +                return display;
 +            }
 +
 +            /**
 +             * Sets the value of the display property.
 +             * 
 +             */
 +            public void setDisplay(boolean value) {
 +                this.display = value;
 +            }
  
 -    /**
 -     * Gets the value of the showConsensusHistogram property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public boolean isShowConsensusHistogram()
 -    {
 -      if (showConsensusHistogram == null)
 -      {
 -        return true;
 -      }
 -      else
 -      {
 -        return showConsensusHistogram;
 -      }
 -    }
 +        }
  
 -    /**
 -     * Sets the value of the showConsensusHistogram property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setShowConsensusHistogram(Boolean value)
 -    {
 -      this.showConsensusHistogram = value;
 -    }
  
 -    /**
 -     * Gets the value of the showSequenceLogo property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public boolean isShowSequenceLogo()
 -    {
 -      if (showSequenceLogo == null)
 -      {
 -        return false;
 -      }
 -      else
 -      {
 -        return showSequenceLogo;
 -      }
 -    }
 +        /**
-          * &lt;p&gt;Java class for anonymous complex type.
++         * <p>Java class for anonymous complex type.
 +         * 
-          * &lt;p&gt;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.
 +         * 
-          * &lt;pre&gt;
-          * &amp;lt;complexType&amp;gt;
-          *   &amp;lt;complexContent&amp;gt;
-          *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-          *       &amp;lt;sequence&amp;gt;
-          *         &amp;lt;element name="attributeName" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="2" minOccurs="0"/&amp;gt;
-          *         &amp;lt;element name="matcherSet" type="{www.jalview.org/colours}FeatureMatcherSet" minOccurs="0"/&amp;gt;
-          *       &amp;lt;/sequence&amp;gt;
-          *       &amp;lt;attribute name="type" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-          *       &amp;lt;attribute name="colour" use="required" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-          *       &amp;lt;attribute name="display" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-          *       &amp;lt;attribute name="order" type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt;
-          *       &amp;lt;attribute name="mincolour" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-          *       &amp;lt;attribute name="noValueColour" type="{www.jalview.org/colours}NoValueColour" default="Min" /&amp;gt;
-          *       &amp;lt;attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt;
-          *       &amp;lt;attribute name="threshstate" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-          *       &amp;lt;attribute name="max" type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt;
-          *       &amp;lt;attribute name="min" type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt;
-          *       &amp;lt;attribute name="colourByLabel" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-          *       &amp;lt;attribute name="autoScale" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-          *     &amp;lt;/restriction&amp;gt;
-          *   &amp;lt;/complexContent&amp;gt;
-          * &amp;lt;/complexType&amp;gt;
-          * &lt;/pre&gt;
++         * <pre>
++         * &lt;complexType>
++         *   &lt;complexContent>
++         *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++         *       &lt;sequence>
++         *         &lt;element name="attributeName" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="2" minOccurs="0"/>
++         *         &lt;element name="matcherSet" type="{www.jalview.org/colours}FeatureMatcherSet" minOccurs="0"/>
++         *       &lt;/sequence>
++         *       &lt;attribute name="type" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
++         *       &lt;attribute name="colour" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
++         *       &lt;attribute name="display" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++         *       &lt;attribute name="order" type="{http://www.w3.org/2001/XMLSchema}float" />
++         *       &lt;attribute name="mincolour" type="{http://www.w3.org/2001/XMLSchema}int" />
++         *       &lt;attribute name="noValueColour" type="{www.jalview.org/colours}NoValueColour" default="Min" />
++         *       &lt;attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" />
++         *       &lt;attribute name="threshstate" type="{http://www.w3.org/2001/XMLSchema}int" />
++         *       &lt;attribute name="max" type="{http://www.w3.org/2001/XMLSchema}float" />
++         *       &lt;attribute name="min" type="{http://www.w3.org/2001/XMLSchema}float" />
++         *       &lt;attribute name="colourByLabel" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++         *       &lt;attribute name="autoScale" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++         *     &lt;/restriction>
++         *   &lt;/complexContent>
++         * &lt;/complexType>
++         * </pre>
 +         * 
 +         * 
 +         */
 +        @XmlAccessorType(XmlAccessType.FIELD)
 +        @XmlType(name = "", propOrder = {
 +            "attributeName",
 +            "matcherSet"
 +        })
 +        public static class Setting {
 +
 +            @XmlElement(namespace = "www.jalview.org")
 +            protected List<String> attributeName;
 +            @XmlElement(namespace = "www.jalview.org")
 +            protected FeatureMatcherSet matcherSet;
 +            @XmlAttribute(name = "type", required = true)
 +            protected String type;
 +            @XmlAttribute(name = "colour", required = true)
 +            protected int colour;
 +            @XmlAttribute(name = "display", required = true)
 +            protected boolean display;
 +            @XmlAttribute(name = "order")
 +            protected Float order;
 +            @XmlAttribute(name = "mincolour")
 +            protected Integer mincolour;
 +            @XmlAttribute(name = "noValueColour")
 +            protected NoValueColour noValueColour;
 +            @XmlAttribute(name = "threshold")
 +            protected Float threshold;
 +            @XmlAttribute(name = "threshstate")
 +            protected Integer threshstate;
 +            @XmlAttribute(name = "max")
 +            protected Float max;
 +            @XmlAttribute(name = "min")
 +            protected Float min;
 +            @XmlAttribute(name = "colourByLabel")
 +            protected Boolean colourByLabel;
 +            @XmlAttribute(name = "autoScale")
 +            protected Boolean autoScale;
 +
 +            /**
 +             * Gets the value of the attributeName property.
 +             * 
-              * &lt;p&gt;
++             * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the attributeName property.
++             * This is why there is not a <CODE>set</CODE> method for the attributeName property.
 +             * 
-              * &lt;p&gt;
++             * <p>
 +             * For example, to add a new item, do as follows:
-              * &lt;pre&gt;
++             * <pre>
 +             *    getAttributeName().add(newItem);
-              * &lt;/pre&gt;
++             * </pre>
 +             * 
 +             * 
-              * &lt;p&gt;
++             * <p>
 +             * Objects of the following type(s) are allowed in the list
 +             * {@link String }
 +             * 
 +             * 
 +             */
 +            public List<String> getAttributeName() {
 +                if (attributeName == null) {
 +                    attributeName = new ArrayList<String>();
 +                }
 +                return this.attributeName;
 +            }
 +
 +            /**
 +             * Gets the value of the matcherSet property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link FeatureMatcherSet }
 +             *     
 +             */
 +            public FeatureMatcherSet getMatcherSet() {
 +                return matcherSet;
 +            }
 +
 +            /**
 +             * Sets the value of the matcherSet property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link FeatureMatcherSet }
 +             *     
 +             */
 +            public void setMatcherSet(FeatureMatcherSet value) {
 +                this.matcherSet = value;
 +            }
 +
 +            /**
 +             * Gets the value of the type property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link String }
 +             *     
 +             */
 +            public String getType() {
 +                return type;
 +            }
 +
 +            /**
 +             * Sets the value of the type property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link String }
 +             *     
 +             */
 +            public void setType(String value) {
 +                this.type = value;
 +            }
 +
 +            /**
 +             * Gets the value of the colour property.
 +             * 
 +             */
 +            public int getColour() {
 +                return colour;
 +            }
 +
 +            /**
 +             * Sets the value of the colour property.
 +             * 
 +             */
 +            public void setColour(int value) {
 +                this.colour = value;
 +            }
 +
 +            /**
 +             * Gets the value of the display property.
 +             * 
 +             */
 +            public boolean isDisplay() {
 +                return display;
 +            }
 +
 +            /**
 +             * Sets the value of the display property.
 +             * 
 +             */
 +            public void setDisplay(boolean value) {
 +                this.display = value;
 +            }
 +
 +            /**
 +             * Gets the value of the order property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link Float }
 +             *     
 +             */
 +            public Float getOrder() {
 +                return order;
 +            }
 +
 +            /**
 +             * Sets the value of the order property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link Float }
 +             *     
 +             */
 +            public void setOrder(Float value) {
 +                this.order = value;
 +            }
 +
 +            /**
 +             * Gets the value of the mincolour property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link Integer }
 +             *     
 +             */
 +            public Integer getMincolour() {
 +                return mincolour;
 +            }
 +
 +            /**
 +             * Sets the value of the mincolour property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link Integer }
 +             *     
 +             */
 +            public void setMincolour(Integer value) {
 +                this.mincolour = value;
 +            }
 +
 +            /**
 +             * Gets the value of the noValueColour property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link NoValueColour }
 +             *     
 +             */
 +            public NoValueColour getNoValueColour() {
 +                if (noValueColour == null) {
 +                    return NoValueColour.MIN;
 +                } else {
 +                    return noValueColour;
 +                }
 +            }
 +
 +            /**
 +             * Sets the value of the noValueColour property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link NoValueColour }
 +             *     
 +             */
 +            public void setNoValueColour(NoValueColour value) {
 +                this.noValueColour = value;
 +            }
 +
 +            /**
 +             * Gets the value of the threshold property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link Float }
 +             *     
 +             */
 +            public Float getThreshold() {
 +                return threshold;
 +            }
 +
 +            /**
 +             * Sets the value of the threshold property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link Float }
 +             *     
 +             */
 +            public void setThreshold(Float value) {
 +                this.threshold = value;
 +            }
 +
 +            /**
 +             * Gets the value of the threshstate property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link Integer }
 +             *     
 +             */
 +            public Integer getThreshstate() {
 +                return threshstate;
 +            }
 +
 +            /**
 +             * Sets the value of the threshstate property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link Integer }
 +             *     
 +             */
 +            public void setThreshstate(Integer value) {
 +                this.threshstate = value;
 +            }
 +
 +            /**
 +             * Gets the value of the max property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link Float }
 +             *     
 +             */
 +            public Float getMax() {
 +                return max;
 +            }
 +
 +            /**
 +             * Sets the value of the max property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link Float }
 +             *     
 +             */
 +            public void setMax(Float value) {
 +                this.max = value;
 +            }
 +
 +            /**
 +             * Gets the value of the min property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link Float }
 +             *     
 +             */
 +            public Float getMin() {
 +                return min;
 +            }
 +
 +            /**
 +             * Sets the value of the min property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link Float }
 +             *     
 +             */
 +            public void setMin(Float value) {
 +                this.min = value;
 +            }
 +
 +            /**
 +             * Gets the value of the colourByLabel property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link Boolean }
 +             *     
 +             */
 +            public Boolean isColourByLabel() {
 +                return colourByLabel;
 +            }
 +
 +            /**
 +             * Sets the value of the colourByLabel property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link Boolean }
 +             *     
 +             */
 +            public void setColourByLabel(Boolean value) {
 +                this.colourByLabel = value;
 +            }
 +
 +            /**
 +             * Gets the value of the autoScale property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link Boolean }
 +             *     
 +             */
 +            public Boolean isAutoScale() {
 +                return autoScale;
 +            }
 +
 +            /**
 +             * Sets the value of the autoScale property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link Boolean }
 +             *     
 +             */
 +            public void setAutoScale(Boolean value) {
 +                this.autoScale = value;
 +            }
  
 -    /**
 -     * Sets the value of the showSequenceLogo property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setShowSequenceLogo(Boolean value)
 -    {
 -      this.showSequenceLogo = value;
 -    }
 +        }
  
 -    /**
 -     * Gets the value of the normaliseSequenceLogo property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public boolean isNormaliseSequenceLogo()
 -    {
 -      if (normaliseSequenceLogo == null)
 -      {
 -        return false;
 -      }
 -      else
 -      {
 -        return normaliseSequenceLogo;
 -      }
      }
  
 -    /**
 -     * Sets the value of the normaliseSequenceLogo property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setNormaliseSequenceLogo(Boolean value)
 -    {
 -      this.normaliseSequenceLogo = value;
 -    }
  
      /**
-      * &lt;p&gt;Java class for anonymous complex type.
 -     * Gets the value of the id property.
++     * <p>Java class for anonymous complex type.
       * 
-      * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
 -     * @return possible object is {@link String }
++     * <p>The following schema fragment specifies the expected content contained within this class.
       * 
-      * &lt;pre&gt;
-      * &amp;lt;complexType&amp;gt;
-      *   &amp;lt;complexContent&amp;gt;
-      *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-      *       &amp;lt;sequence&amp;gt;
-      *         &amp;lt;element name="seq" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded"/&amp;gt;
-      *         &amp;lt;element name="annotationColours" type="{www.jalview.org}AnnotationColourScheme" minOccurs="0"/&amp;gt;
-      *       &amp;lt;/sequence&amp;gt;
-      *       &amp;lt;attribute name="start" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-      *       &amp;lt;attribute name="end" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-      *       &amp;lt;attribute name="name" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-      *       &amp;lt;attribute name="colour" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-      *       &amp;lt;attribute name="consThreshold" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-      *       &amp;lt;attribute name="pidThreshold" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-      *       &amp;lt;attribute name="outlineColour" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-      *       &amp;lt;attribute name="displayBoxes" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-      *       &amp;lt;attribute name="displayText" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-      *       &amp;lt;attribute name="colourText" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-      *       &amp;lt;attribute name="textCol1" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-      *       &amp;lt;attribute name="textCol2" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-      *       &amp;lt;attribute name="textColThreshold" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-      *       &amp;lt;attribute name="showUnconserved" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-      *       &amp;lt;attribute name="ignoreGapsinConsensus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
-      *       &amp;lt;attribute name="showConsensusHistogram" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
-      *       &amp;lt;attribute name="showSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
-      *       &amp;lt;attribute name="normaliseSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
-      *       &amp;lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-      *     &amp;lt;/restriction&amp;gt;
-      *   &amp;lt;/complexContent&amp;gt;
-      * &amp;lt;/complexType&amp;gt;
-      * &lt;/pre&gt;
 -     */
 -    public String getId()
 -    {
 -      return id;
 -    }
 -
 -    /**
 -     * Sets the value of the id property.
++     * <pre>
++     * &lt;complexType>
++     *   &lt;complexContent>
++     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++     *       &lt;sequence>
++     *         &lt;element name="seq" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded"/>
++     *         &lt;element name="annotationColours" type="{www.jalview.org}AnnotationColourScheme" minOccurs="0"/>
++     *       &lt;/sequence>
++     *       &lt;attribute name="start" type="{http://www.w3.org/2001/XMLSchema}int" />
++     *       &lt;attribute name="end" type="{http://www.w3.org/2001/XMLSchema}int" />
++     *       &lt;attribute name="name" type="{http://www.w3.org/2001/XMLSchema}string" />
++     *       &lt;attribute name="colour" type="{http://www.w3.org/2001/XMLSchema}string" />
++     *       &lt;attribute name="consThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
++     *       &lt;attribute name="pidThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
++     *       &lt;attribute name="outlineColour" type="{http://www.w3.org/2001/XMLSchema}int" />
++     *       &lt;attribute name="displayBoxes" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++     *       &lt;attribute name="displayText" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++     *       &lt;attribute name="colourText" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++     *       &lt;attribute name="textCol1" type="{http://www.w3.org/2001/XMLSchema}int" />
++     *       &lt;attribute name="textCol2" type="{http://www.w3.org/2001/XMLSchema}int" />
++     *       &lt;attribute name="textColThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
++     *       &lt;attribute name="showUnconserved" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++     *       &lt;attribute name="ignoreGapsinConsensus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
++     *       &lt;attribute name="showConsensusHistogram" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
++     *       &lt;attribute name="showSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
++     *       &lt;attribute name="normaliseSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
++     *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string" />
++     *     &lt;/restriction>
++     *   &lt;/complexContent>
++     * &lt;/complexType>
++     * </pre>
       * 
 -     * @param value
 -     *          allowed object is {@link String }
       * 
       */
 -    public void setId(String value)
 -    {
 -      this.id = value;
 -    }
 +    @XmlAccessorType(XmlAccessType.FIELD)
 +    @XmlType(name = "", propOrder = {
 +        "seq",
 +        "annotationColours"
 +    })
 +    public static class JGroup {
 +
 +        @XmlElement(namespace = "www.jalview.org", required = true)
 +        protected List<String> seq;
 +        @XmlElement(namespace = "www.jalview.org")
 +        protected AnnotationColourScheme annotationColours;
 +        @XmlAttribute(name = "start")
 +        protected Integer start;
 +        @XmlAttribute(name = "end")
 +        protected Integer end;
 +        @XmlAttribute(name = "name")
 +        protected String name;
 +        @XmlAttribute(name = "colour")
 +        protected String colour;
 +        @XmlAttribute(name = "consThreshold")
 +        protected Integer consThreshold;
 +        @XmlAttribute(name = "pidThreshold")
 +        protected Integer pidThreshold;
 +        @XmlAttribute(name = "outlineColour")
 +        protected Integer outlineColour;
 +        @XmlAttribute(name = "displayBoxes")
 +        protected Boolean displayBoxes;
 +        @XmlAttribute(name = "displayText")
 +        protected Boolean displayText;
 +        @XmlAttribute(name = "colourText")
 +        protected Boolean colourText;
 +        @XmlAttribute(name = "textCol1")
 +        protected Integer textCol1;
 +        @XmlAttribute(name = "textCol2")
 +        protected Integer textCol2;
 +        @XmlAttribute(name = "textColThreshold")
 +        protected Integer textColThreshold;
 +        @XmlAttribute(name = "showUnconserved")
 +        protected Boolean showUnconserved;
 +        @XmlAttribute(name = "ignoreGapsinConsensus")
 +        protected Boolean ignoreGapsinConsensus;
 +        @XmlAttribute(name = "showConsensusHistogram")
 +        protected Boolean showConsensusHistogram;
 +        @XmlAttribute(name = "showSequenceLogo")
 +        protected Boolean showSequenceLogo;
 +        @XmlAttribute(name = "normaliseSequenceLogo")
 +        protected Boolean normaliseSequenceLogo;
 +        @XmlAttribute(name = "id")
 +        protected String id;
  
 -  }
 -
 -  /**
 -   * &lt;p&gt;Java class for anonymous complex type.
 -   * 
 -   * &lt;p&gt;The following schema fragment specifies the expected content
 -   * contained within this class.
 -   * 
 -   * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
 -   * &amp;lt;restriction
 -   * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
 -   * &amp;lt;sequence&amp;gt; &amp;lt;element name="features"
 -   * type="{www.jalview.org}feature" maxOccurs="unbounded"
 -   * minOccurs="0"/&amp;gt; &amp;lt;element name="pdbids" maxOccurs="unbounded"
 -   * minOccurs="0"&amp;gt; &amp;lt;complexType&amp;gt;
 -   * &amp;lt;complexContent&amp;gt; &amp;lt;extension
 -   * base="{www.jalview.org}pdbentry"&amp;gt; &amp;lt;sequence&amp;gt;
 -   * &amp;lt;element name="structureState" maxOccurs="unbounded"
 -   * minOccurs="0"&amp;gt; &amp;lt;complexType&amp;gt;
 -   * &amp;lt;simpleContent&amp;gt; &amp;lt;extension
 -   * base="&amp;lt;http://www.w3.org/2001/XMLSchema&amp;gt;string"&amp;gt;
 -   * &amp;lt;attGroup ref="{www.jalview.org}swingwindow"/&amp;gt;
 -   * &amp;lt;attribute name="visible"
 -   * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
 -   * &amp;lt;attribute name="viewId"
 -   * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
 -   * name="alignwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean"
 -   * default="true" /&amp;gt; &amp;lt;attribute name="colourwithAlignPanel"
 -   * type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
 -   * &amp;lt;attribute name="colourByJmol"
 -   * type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
 -   * &amp;lt;attribute name="type"
 -   * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
 -   * &amp;lt;/extension&amp;gt; &amp;lt;/simpleContent&amp;gt;
 -   * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt;
 -   * &amp;lt;/sequence&amp;gt; &amp;lt;/extension&amp;gt;
 -   * &amp;lt;/complexContent&amp;gt; &amp;lt;/complexType&amp;gt;
 -   * &amp;lt;/element&amp;gt; &amp;lt;element name="hiddenSequences"
 -   * type="{http://www.w3.org/2001/XMLSchema}int" maxOccurs="unbounded"
 -   * minOccurs="0"/&amp;gt; &amp;lt;element name="rnaViewer"
 -   * maxOccurs="unbounded" minOccurs="0"&amp;gt; &amp;lt;complexType&amp;gt;
 -   * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
 -   * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
 -   * &amp;lt;sequence&amp;gt; &amp;lt;element name="secondaryStructure"
 -   * maxOccurs="unbounded"&amp;gt; &amp;lt;complexType&amp;gt;
 -   * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
 -   * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attribute
 -   * name="title" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
 -   * &amp;lt;attribute name="annotationId" use="required"
 -   * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
 -   * name="gapped" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
 -   * &amp;lt;attribute name="viewerState"
 -   * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
 -   * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 -   * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt;
 -   * &amp;lt;/sequence&amp;gt; &amp;lt;attGroup
 -   * ref="{www.jalview.org}swingwindow"/&amp;gt; &amp;lt;attribute name="title"
 -   * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
 -   * name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
 -   * &amp;lt;attribute name="dividerLocation"
 -   * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
 -   * name="selectedRna" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
 -   * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 -   * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt;
 -   * &amp;lt;/sequence&amp;gt; &amp;lt;attribute name="colour"
 -   * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
 -   * name="start" use="required" type="{http://www.w3.org/2001/XMLSchema}int"
 -   * /&amp;gt; &amp;lt;attribute name="end" use="required"
 -   * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
 -   * name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}string"
 -   * /&amp;gt; &amp;lt;attribute name="hidden"
 -   * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
 -   * &amp;lt;attribute name="viewreference"
 -   * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
 -   * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 -   * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
 -   * 
 -   * 
 -   */
 -  @XmlAccessorType(XmlAccessType.FIELD)
 -  @XmlType(
 -    name = "",
 -    propOrder =
 -    { "features", "pdbids", "hiddenSequences", "rnaViewer" })
 -  public static class JSeq
 -  {
 -
 -    @XmlElement(namespace = "www.jalview.org")
 -    protected List<Feature> features;
 -
 -    @XmlElement(namespace = "www.jalview.org")
 -    protected List<JalviewModel.JSeq.Pdbids> pdbids;
 -
 -    @XmlElement(namespace = "www.jalview.org", type = Integer.class)
 -    protected List<Integer> hiddenSequences;
 -
 -    @XmlElement(namespace = "www.jalview.org")
 -    protected List<JalviewModel.JSeq.RnaViewer> rnaViewer;
 -
 -    @XmlAttribute(name = "colour")
 -    protected Integer colour;
 -
 -    @XmlAttribute(name = "start", required = true)
 -    protected int start;
 -
 -    @XmlAttribute(name = "end", required = true)
 -    protected int end;
 -
 -    @XmlAttribute(name = "id", required = true)
 -    protected String id;
 -
 -    @XmlAttribute(name = "hidden")
 -    protected Boolean hidden;
 -
 -    @XmlAttribute(name = "viewreference")
 -    protected Boolean viewreference;
 -
 -    /**
 -     * Gets the value of the features property.
 -     * 
 -     * &lt;p&gt; 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
 -     * &lt;CODE&gt;set&lt;/CODE&gt; method for the features property.
 -     * 
 -     * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
 -     * getFeatures().add(newItem); &lt;/pre&gt;
 -     * 
 -     * 
 -     * &lt;p&gt; Objects of the following type(s) are allowed in the list
 -     * {@link Feature }
 -     * 
 -     * 
 -     */
 -    public List<Feature> getFeatures()
 -    {
 -      if (features == null)
 -      {
 -        features = new ArrayList<Feature>();
 -      }
 -      return this.features;
 -    }
 -
 -    /**
 -     * Gets the value of the pdbids property.
 -     * 
 -     * &lt;p&gt; 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
 -     * &lt;CODE&gt;set&lt;/CODE&gt; method for the pdbids property.
 -     * 
 -     * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
 -     * getPdbids().add(newItem); &lt;/pre&gt;
 -     * 
 -     * 
 -     * &lt;p&gt; Objects of the following type(s) are allowed in the list
 -     * {@link JalviewModel.JSeq.Pdbids }
 -     * 
 -     * 
 -     */
 -    public List<JalviewModel.JSeq.Pdbids> getPdbids()
 -    {
 -      if (pdbids == null)
 -      {
 -        pdbids = new ArrayList<JalviewModel.JSeq.Pdbids>();
 -      }
 -      return this.pdbids;
 -    }
 -
 -    /**
 -     * Gets the value of the hiddenSequences property.
 -     * 
 -     * &lt;p&gt; 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
 -     * &lt;CODE&gt;set&lt;/CODE&gt; method for the hiddenSequences property.
 -     * 
 -     * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
 -     * getHiddenSequences().add(newItem); &lt;/pre&gt;
 -     * 
 -     * 
 -     * &lt;p&gt; Objects of the following type(s) are allowed in the list
 -     * {@link Integer }
 -     * 
 -     * 
 -     */
 -    public List<Integer> getHiddenSequences()
 -    {
 -      if (hiddenSequences == null)
 -      {
 -        hiddenSequences = new ArrayList<Integer>();
 -      }
 -      return this.hiddenSequences;
 -    }
 -
 -    /**
 -     * Gets the value of the rnaViewer property.
 -     * 
 -     * &lt;p&gt; 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
 -     * &lt;CODE&gt;set&lt;/CODE&gt; method for the rnaViewer property.
 -     * 
 -     * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
 -     * getRnaViewer().add(newItem); &lt;/pre&gt;
 -     * 
 -     * 
 -     * &lt;p&gt; Objects of the following type(s) are allowed in the list
 -     * {@link JalviewModel.JSeq.RnaViewer }
 -     * 
 -     * 
 -     */
 -    public List<JalviewModel.JSeq.RnaViewer> getRnaViewer()
 -    {
 -      if (rnaViewer == null)
 -      {
 -        rnaViewer = new ArrayList<JalviewModel.JSeq.RnaViewer>();
 -      }
 -      return this.rnaViewer;
 -    }
 -
 -    /**
 -     * Gets the value of the colour property.
 -     * 
 -     * @return possible object is {@link Integer }
 -     * 
 -     */
 -    public Integer getColour()
 -    {
 -      return colour;
 -    }
 -
 -    /**
 -     * Sets the value of the colour property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Integer }
 -     * 
 -     */
 -    public void setColour(Integer value)
 -    {
 -      this.colour = value;
 -    }
 -
 -    /**
 -     * Gets the value of the start property.
 -     * 
 -     */
 -    public int getStart()
 -    {
 -      return start;
 -    }
 -
 -    /**
 -     * Sets the value of the start property.
 -     * 
 -     */
 -    public void setStart(int value)
 -    {
 -      this.start = value;
 -    }
 -
 -    /**
 -     * Gets the value of the end property.
 -     * 
 -     */
 -    public int getEnd()
 -    {
 -      return end;
 -    }
 -
 -    /**
 -     * Sets the value of the end property.
 -     * 
 -     */
 -    public void setEnd(int value)
 -    {
 -      this.end = value;
 -    }
 -
 -    /**
 -     * Gets the value of the id property.
 -     * 
 -     * @return possible object is {@link String }
 -     * 
 -     */
 -    public String getId()
 -    {
 -      return id;
 -    }
 -
 -    /**
 -     * Sets the value of the id property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link String }
 -     * 
 -     */
 -    public void setId(String value)
 -    {
 -      this.id = value;
 -    }
 -
 -    /**
 -     * Gets the value of the hidden property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public Boolean isHidden()
 -    {
 -      return hidden;
 -    }
 -
 -    /**
 -     * Sets the value of the hidden property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setHidden(Boolean value)
 -    {
 -      this.hidden = value;
 -    }
 -
 -    /**
 -     * Gets the value of the viewreference property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public Boolean isViewreference()
 -    {
 -      return viewreference;
 -    }
 -
 -    /**
 -     * Sets the value of the viewreference property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setViewreference(Boolean value)
 -    {
 -      this.viewreference = value;
 -    }
 -
 -    /**
 -     * &lt;p&gt;Java class for anonymous complex type.
 -     * 
 -     * &lt;p&gt;The following schema fragment specifies the expected content
 -     * contained within this class.
 -     * 
 -     * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
 -     * &amp;lt;extension base="{www.jalview.org}pdbentry"&amp;gt;
 -     * &amp;lt;sequence&amp;gt; &amp;lt;element name="structureState"
 -     * maxOccurs="unbounded" minOccurs="0"&amp;gt; &amp;lt;complexType&amp;gt;
 -     * &amp;lt;simpleContent&amp;gt; &amp;lt;extension
 -     * base="&amp;lt;http://www.w3.org/2001/XMLSchema&amp;gt;string"&amp;gt;
 -     * &amp;lt;attGroup ref="{www.jalview.org}swingwindow"/&amp;gt;
 -     * &amp;lt;attribute name="visible"
 -     * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
 -     * &amp;lt;attribute name="viewId"
 -     * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
 -     * &amp;lt;attribute name="alignwithAlignPanel"
 -     * type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
 -     * &amp;lt;attribute name="colourwithAlignPanel"
 -     * type="{http://www.w3.org/2001/XMLSchema}boolean" default="false"
 -     * /&amp;gt; &amp;lt;attribute name="colourByJmol"
 -     * type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
 -     * &amp;lt;attribute name="type"
 -     * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
 -     * &amp;lt;/extension&amp;gt; &amp;lt;/simpleContent&amp;gt;
 -     * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt;
 -     * &amp;lt;/sequence&amp;gt; &amp;lt;/extension&amp;gt;
 -     * &amp;lt;/complexContent&amp;gt; &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
 -     * 
 -     * 
 -     */
 -    @XmlAccessorType(XmlAccessType.FIELD)
 -    @XmlType(name = "", propOrder = { "structureState" })
 -    public static class Pdbids extends Pdbentry
 -    {
 -
 -      @XmlElement(namespace = "www.jalview.org")
 -      protected List<JalviewModel.JSeq.Pdbids.StructureState> structureState;
 -
 -      /**
 -       * Gets the value of the structureState property.
 -       * 
 -       * &lt;p&gt; 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
 -       * &lt;CODE&gt;set&lt;/CODE&gt; method for the structureState property.
 -       * 
 -       * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
 -       * getStructureState().add(newItem); &lt;/pre&gt;
 -       * 
 -       * 
 -       * &lt;p&gt; Objects of the following type(s) are allowed in the list
 -       * {@link JalviewModel.JSeq.Pdbids.StructureState }
 -       * 
 -       * 
 -       */
 -      public List<JalviewModel.JSeq.Pdbids.StructureState> getStructureState()
 -      {
 -        if (structureState == null)
 -        {
 -          structureState = new ArrayList<JalviewModel.JSeq.Pdbids.StructureState>();
 -        }
 -        return this.structureState;
 -      }
 -
 -      /**
 -       * &lt;p&gt;Java class for anonymous complex type.
 -       * 
 -       * &lt;p&gt;The following schema fragment specifies the expected content
 -       * contained within this class.
 -       * 
 -       * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;simpleContent&amp;gt;
 -       * &amp;lt;extension
 -       * base="&amp;lt;http://www.w3.org/2001/XMLSchema&amp;gt;string"&amp;gt;
 -       * &amp;lt;attGroup ref="{www.jalview.org}swingwindow"/&amp;gt;
 -       * &amp;lt;attribute name="visible"
 -       * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
 -       * &amp;lt;attribute name="viewId"
 -       * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
 -       * &amp;lt;attribute name="alignwithAlignPanel"
 -       * type="{http://www.w3.org/2001/XMLSchema}boolean" default="true"
 -       * /&amp;gt; &amp;lt;attribute name="colourwithAlignPanel"
 -       * type="{http://www.w3.org/2001/XMLSchema}boolean" default="false"
 -       * /&amp;gt; &amp;lt;attribute name="colourByJmol"
 -       * type="{http://www.w3.org/2001/XMLSchema}boolean" default="true"
 -       * /&amp;gt; &amp;lt;attribute name="type"
 -       * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
 -       * &amp;lt;/extension&amp;gt; &amp;lt;/simpleContent&amp;gt;
 -       * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
 -       * 
 -       * 
 -       */
 -      @XmlAccessorType(XmlAccessType.FIELD)
 -      @XmlType(name = "", propOrder = { "value" })
 -      public static class StructureState
 -      {
 -
 -        @XmlValue
 -        protected String value;
 -
 -        @XmlAttribute(name = "visible")
 -        protected Boolean visible;
 -
 -        @XmlAttribute(name = "viewId")
 -        protected String viewId;
 -
 -        @XmlAttribute(name = "alignwithAlignPanel")
 -        protected Boolean alignwithAlignPanel;
 -
 -        @XmlAttribute(name = "colourwithAlignPanel")
 -        protected Boolean colourwithAlignPanel;
 -
 -        @XmlAttribute(name = "colourByJmol")
 -        protected Boolean colourByJmol;
 -
 -        @XmlAttribute(name = "type")
 -        protected String type;
 -
 -        @XmlAttribute(name = "width")
 -        protected Integer width;
 -
 -        @XmlAttribute(name = "height")
 -        protected Integer height;
 -
 -        @XmlAttribute(name = "xpos")
 -        protected Integer xpos;
 -
 -        @XmlAttribute(name = "ypos")
 -        protected Integer ypos;
 +        /**
 +         * Gets the value of the seq property.
 +         * 
-          * &lt;p&gt;
++         * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the seq property.
++         * This is why there is not a <CODE>set</CODE> method for the seq property.
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * For example, to add a new item, do as follows:
-          * &lt;pre&gt;
++         * <pre>
 +         *    getSeq().add(newItem);
-          * &lt;/pre&gt;
++         * </pre>
 +         * 
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * Objects of the following type(s) are allowed in the list
 +         * {@link String }
 +         * 
 +         * 
 +         */
 +        public List<String> getSeq() {
 +            if (seq == null) {
 +                seq = new ArrayList<String>();
 +            }
 +            return this.seq;
 +        }
  
          /**
 -         * Gets the value of the value property.
 -         * 
 -         * @return possible object is {@link String }
 +         * Gets the value of the annotationColours property.
           * 
 +         * @return
 +         *     possible object is
 +         *     {@link AnnotationColourScheme }
 +         *     
           */
 -        public String getValue()
 -        {
 -          return value;
 +        public AnnotationColourScheme getAnnotationColours() {
 +            return annotationColours;
          }
  
          /**
  
      }
  
 -  }
 -
 -  /**
 -   * &lt;p&gt;Java class for anonymous complex type.
 -   * 
 -   * &lt;p&gt;The following schema fragment specifies the expected content
 -   * contained within this class.
 -   * 
 -   * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
 -   * &amp;lt;restriction
 -   * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
 -   * &amp;lt;sequence&amp;gt; &amp;lt;element name="sequencePoint"
 -   * maxOccurs="unbounded"&amp;gt; &amp;lt;complexType&amp;gt;
 -   * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
 -   * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attGroup
 -   * ref="{www.jalview.org}position"/&amp;gt; &amp;lt;attribute
 -   * name="sequenceRef" type="{http://www.w3.org/2001/XMLSchema}string"
 -   * /&amp;gt; &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 -   * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt; &amp;lt;element
 -   * name="axis" maxOccurs="3" minOccurs="3"&amp;gt; &amp;lt;complexType&amp;gt;
 -   * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
 -   * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attGroup
 -   * ref="{www.jalview.org}position"/&amp;gt; &amp;lt;/restriction&amp;gt;
 -   * &amp;lt;/complexContent&amp;gt; &amp;lt;/complexType&amp;gt;
 -   * &amp;lt;/element&amp;gt; &amp;lt;element name="seqPointMin"&amp;gt;
 -   * &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
 -   * &amp;lt;restriction
 -   * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attGroup
 -   * ref="{www.jalview.org}position"/&amp;gt; &amp;lt;/restriction&amp;gt;
 -   * &amp;lt;/complexContent&amp;gt; &amp;lt;/complexType&amp;gt;
 -   * &amp;lt;/element&amp;gt; &amp;lt;element name="seqPointMax"&amp;gt;
 -   * &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
 -   * &amp;lt;restriction
 -   * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attGroup
 -   * ref="{www.jalview.org}position"/&amp;gt; &amp;lt;/restriction&amp;gt;
 -   * &amp;lt;/complexContent&amp;gt; &amp;lt;/complexType&amp;gt;
 -   * &amp;lt;/element&amp;gt; &amp;lt;element name="pcaData"
 -   * type="{www.jalview.org}PcaDataType"/&amp;gt; &amp;lt;/sequence&amp;gt;
 -   * &amp;lt;attGroup ref="{www.jalview.org}swingwindow"/&amp;gt;
 -   * &amp;lt;attGroup ref="{www.jalview.org}SimilarityParams"/&amp;gt;
 -   * &amp;lt;attribute name="title"
 -   * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
 -   * name="scoreModelName" type="{http://www.w3.org/2001/XMLSchema}string"
 -   * /&amp;gt; &amp;lt;attribute name="xDim"
 -   * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
 -   * name="yDim" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
 -   * &amp;lt;attribute name="zDim" type="{http://www.w3.org/2001/XMLSchema}int"
 -   * /&amp;gt; &amp;lt;attribute name="bgColour"
 -   * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
 -   * name="scaleFactor" type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt;
 -   * &amp;lt;attribute name="showLabels"
 -   * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
 -   * &amp;lt;attribute name="linkToAllViews"
 -   * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
 -   * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 -   * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
 -   * 
 -   * 
 -   */
 -  @XmlAccessorType(XmlAccessType.FIELD)
 -  @XmlType(
 -    name = "",
 -    propOrder =
 -    { "sequencePoint", "axis", "seqPointMin", "seqPointMax", "pcaData" })
 -  public static class PcaViewer
 -  {
 -
 -    @XmlElement(namespace = "www.jalview.org", required = true)
 -    protected List<JalviewModel.PcaViewer.SequencePoint> sequencePoint;
 -
 -    @XmlElement(namespace = "www.jalview.org", required = true)
 -    protected List<JalviewModel.PcaViewer.Axis> axis;
 -
 -    @XmlElement(namespace = "www.jalview.org", required = true)
 -    protected JalviewModel.PcaViewer.SeqPointMin seqPointMin;
 -
 -    @XmlElement(namespace = "www.jalview.org", required = true)
 -    protected JalviewModel.PcaViewer.SeqPointMax seqPointMax;
 -
 -    @XmlElement(namespace = "www.jalview.org", required = true)
 -    protected PcaDataType pcaData;
 -
 -    @XmlAttribute(name = "title")
 -    protected String title;
 -
 -    @XmlAttribute(name = "scoreModelName")
 -    protected String scoreModelName;
 -
 -    @XmlAttribute(name = "xDim")
 -    protected Integer xDim;
 -
 -    @XmlAttribute(name = "yDim")
 -    protected Integer yDim;
 -
 -    @XmlAttribute(name = "zDim")
 -    protected Integer zDim;
 -
 -    @XmlAttribute(name = "bgColour")
 -    protected Integer bgColour;
 -
 -    @XmlAttribute(name = "scaleFactor")
 -    protected Float scaleFactor;
 -
 -    @XmlAttribute(name = "showLabels")
 -    protected Boolean showLabels;
 -
 -    @XmlAttribute(name = "linkToAllViews")
 -    protected Boolean linkToAllViews;
 -
 -    @XmlAttribute(name = "width")
 -    protected Integer width;
 -
 -    @XmlAttribute(name = "height")
 -    protected Integer height;
 -
 -    @XmlAttribute(name = "xpos")
 -    protected Integer xpos;
 -
 -    @XmlAttribute(name = "ypos")
 -    protected Integer ypos;
 -
 -    @XmlAttribute(name = "includeGaps")
 -    protected Boolean includeGaps;
 -
 -    @XmlAttribute(name = "matchGaps")
 -    protected Boolean matchGaps;
 -
 -    @XmlAttribute(name = "includeGappedColumns")
 -    protected Boolean includeGappedColumns;
 -
 -    @XmlAttribute(name = "denominateByShortestLength")
 -    protected Boolean denominateByShortestLength;
  
      /**
-      * &lt;p&gt;Java class for anonymous complex type.
 -     * Gets the value of the sequencePoint property.
 -     * 
 -     * &lt;p&gt; 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
 -     * &lt;CODE&gt;set&lt;/CODE&gt; method for the sequencePoint property.
 -     * 
 -     * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
 -     * getSequencePoint().add(newItem); &lt;/pre&gt;
 -     * 
 -     * 
 -     * &lt;p&gt; Objects of the following type(s) are allowed in the list
 -     * {@link JalviewModel.PcaViewer.SequencePoint }
 -     * 
 -     * 
 -     */
 -    public List<JalviewModel.PcaViewer.SequencePoint> getSequencePoint()
 -    {
 -      if (sequencePoint == null)
 -      {
 -        sequencePoint = new ArrayList<JalviewModel.PcaViewer.SequencePoint>();
 -      }
 -      return this.sequencePoint;
 -    }
 -
 -    /**
 -     * Gets the value of the axis property.
 -     * 
 -     * &lt;p&gt; 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
 -     * &lt;CODE&gt;set&lt;/CODE&gt; method for the axis property.
 -     * 
 -     * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
 -     * getAxis().add(newItem); &lt;/pre&gt;
 -     * 
 -     * 
 -     * &lt;p&gt; Objects of the following type(s) are allowed in the list
 -     * {@link JalviewModel.PcaViewer.Axis }
++     * <p>Java class for anonymous complex type.
 +     * 
-      * &lt;p&gt;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.
 +     * 
-      * &lt;pre&gt;
-      * &amp;lt;complexType&amp;gt;
-      *   &amp;lt;complexContent&amp;gt;
-      *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-      *       &amp;lt;sequence&amp;gt;
-      *         &amp;lt;element name="features" type="{www.jalview.org}feature" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
-      *         &amp;lt;element name="pdbids" maxOccurs="unbounded" minOccurs="0"&amp;gt;
-      *           &amp;lt;complexType&amp;gt;
-      *             &amp;lt;complexContent&amp;gt;
-      *               &amp;lt;extension base="{www.jalview.org}pdbentry"&amp;gt;
-      *                 &amp;lt;sequence&amp;gt;
-      *                   &amp;lt;element name="structureState" maxOccurs="unbounded" minOccurs="0"&amp;gt;
-      *                     &amp;lt;complexType&amp;gt;
-      *                       &amp;lt;simpleContent&amp;gt;
-      *                         &amp;lt;extension base="&amp;lt;http://www.w3.org/2001/XMLSchema&amp;gt;string"&amp;gt;
-      *                           &amp;lt;attGroup ref="{www.jalview.org}swingwindow"/&amp;gt;
-      *                           &amp;lt;attribute name="visible" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-      *                           &amp;lt;attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-      *                           &amp;lt;attribute name="alignwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
-      *                           &amp;lt;attribute name="colourwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
-      *                           &amp;lt;attribute name="colourByJmol" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
-      *                           &amp;lt;attribute name="type" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-      *                         &amp;lt;/extension&amp;gt;
-      *                       &amp;lt;/simpleContent&amp;gt;
-      *                     &amp;lt;/complexType&amp;gt;
-      *                   &amp;lt;/element&amp;gt;
-      *                 &amp;lt;/sequence&amp;gt;
-      *               &amp;lt;/extension&amp;gt;
-      *             &amp;lt;/complexContent&amp;gt;
-      *           &amp;lt;/complexType&amp;gt;
-      *         &amp;lt;/element&amp;gt;
-      *         &amp;lt;element name="hiddenSequences" type="{http://www.w3.org/2001/XMLSchema}int" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
-      *         &amp;lt;element name="rnaViewer" maxOccurs="unbounded" minOccurs="0"&amp;gt;
-      *           &amp;lt;complexType&amp;gt;
-      *             &amp;lt;complexContent&amp;gt;
-      *               &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-      *                 &amp;lt;sequence&amp;gt;
-      *                   &amp;lt;element name="secondaryStructure" maxOccurs="unbounded"&amp;gt;
-      *                     &amp;lt;complexType&amp;gt;
-      *                       &amp;lt;complexContent&amp;gt;
-      *                         &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-      *                           &amp;lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-      *                           &amp;lt;attribute name="annotationId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-      *                           &amp;lt;attribute name="gapped" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-      *                           &amp;lt;attribute name="viewerState" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-      *                         &amp;lt;/restriction&amp;gt;
-      *                       &amp;lt;/complexContent&amp;gt;
-      *                     &amp;lt;/complexType&amp;gt;
-      *                   &amp;lt;/element&amp;gt;
-      *                 &amp;lt;/sequence&amp;gt;
-      *                 &amp;lt;attGroup ref="{www.jalview.org}swingwindow"/&amp;gt;
-      *                 &amp;lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-      *                 &amp;lt;attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-      *                 &amp;lt;attribute name="dividerLocation" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-      *                 &amp;lt;attribute name="selectedRna" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-      *               &amp;lt;/restriction&amp;gt;
-      *             &amp;lt;/complexContent&amp;gt;
-      *           &amp;lt;/complexType&amp;gt;
-      *         &amp;lt;/element&amp;gt;
-      *       &amp;lt;/sequence&amp;gt;
-      *       &amp;lt;attribute name="colour" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-      *       &amp;lt;attribute name="start" use="required" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-      *       &amp;lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-      *       &amp;lt;attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-      *       &amp;lt;attribute name="hidden" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-      *       &amp;lt;attribute name="viewreference" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-      *     &amp;lt;/restriction&amp;gt;
-      *   &amp;lt;/complexContent&amp;gt;
-      * &amp;lt;/complexType&amp;gt;
-      * &lt;/pre&gt;
++     * <pre>
++     * &lt;complexType>
++     *   &lt;complexContent>
++     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++     *       &lt;sequence>
++     *         &lt;element name="features" type="{www.jalview.org}feature" maxOccurs="unbounded" minOccurs="0"/>
++     *         &lt;element name="pdbids" maxOccurs="unbounded" minOccurs="0">
++     *           &lt;complexType>
++     *             &lt;complexContent>
++     *               &lt;extension base="{www.jalview.org}pdbentry">
++     *                 &lt;sequence>
++     *                   &lt;element name="structureState" maxOccurs="unbounded" minOccurs="0">
++     *                     &lt;complexType>
++     *                       &lt;simpleContent>
++     *                         &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
++     *                           &lt;attGroup ref="{www.jalview.org}swingwindow"/>
++     *                           &lt;attribute name="visible" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++     *                           &lt;attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" />
++     *                           &lt;attribute name="alignwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
++     *                           &lt;attribute name="colourwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
++     *                           &lt;attribute name="colourByJmol" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
++     *                           &lt;attribute name="type" type="{http://www.w3.org/2001/XMLSchema}string" />
++     *                         &lt;/extension>
++     *                       &lt;/simpleContent>
++     *                     &lt;/complexType>
++     *                   &lt;/element>
++     *                 &lt;/sequence>
++     *               &lt;/extension>
++     *             &lt;/complexContent>
++     *           &lt;/complexType>
++     *         &lt;/element>
++     *         &lt;element name="hiddenSequences" type="{http://www.w3.org/2001/XMLSchema}int" maxOccurs="unbounded" minOccurs="0"/>
++     *         &lt;element name="rnaViewer" maxOccurs="unbounded" minOccurs="0">
++     *           &lt;complexType>
++     *             &lt;complexContent>
++     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++     *                 &lt;sequence>
++     *                   &lt;element name="secondaryStructure" maxOccurs="unbounded">
++     *                     &lt;complexType>
++     *                       &lt;complexContent>
++     *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++     *                           &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
++     *                           &lt;attribute name="annotationId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
++     *                           &lt;attribute name="gapped" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++     *                           &lt;attribute name="viewerState" type="{http://www.w3.org/2001/XMLSchema}string" />
++     *                         &lt;/restriction>
++     *                       &lt;/complexContent>
++     *                     &lt;/complexType>
++     *                   &lt;/element>
++     *                 &lt;/sequence>
++     *                 &lt;attGroup ref="{www.jalview.org}swingwindow"/>
++     *                 &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
++     *                 &lt;attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" />
++     *                 &lt;attribute name="dividerLocation" type="{http://www.w3.org/2001/XMLSchema}int" />
++     *                 &lt;attribute name="selectedRna" type="{http://www.w3.org/2001/XMLSchema}int" />
++     *               &lt;/restriction>
++     *             &lt;/complexContent>
++     *           &lt;/complexType>
++     *         &lt;/element>
++     *       &lt;/sequence>
++     *       &lt;attribute name="colour" type="{http://www.w3.org/2001/XMLSchema}int" />
++     *       &lt;attribute name="start" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
++     *       &lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
++     *       &lt;attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
++     *       &lt;attribute name="hidden" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++     *       &lt;attribute name="viewreference" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++     *     &lt;/restriction>
++     *   &lt;/complexContent>
++     * &lt;/complexType>
++     * </pre>
       * 
       * 
       */
 -    public List<JalviewModel.PcaViewer.Axis> getAxis()
 -    {
 -      if (axis == null)
 -      {
 -        axis = new ArrayList<JalviewModel.PcaViewer.Axis>();
 -      }
 -      return this.axis;
 -    }
 +    @XmlAccessorType(XmlAccessType.FIELD)
 +    @XmlType(name = "", propOrder = {
 +        "features",
 +        "pdbids",
 +        "hiddenSequences",
 +        "rnaViewer"
 +    })
 +    public static class JSeq {
 +
 +        @XmlElement(namespace = "www.jalview.org")
 +        protected List<Feature> features;
 +        @XmlElement(namespace = "www.jalview.org")
 +        protected List<JalviewModel.JSeq.Pdbids> pdbids;
 +        @XmlElement(namespace = "www.jalview.org", type = Integer.class)
 +        protected List<Integer> hiddenSequences;
 +        @XmlElement(namespace = "www.jalview.org")
 +        protected List<JalviewModel.JSeq.RnaViewer> rnaViewer;
 +        @XmlAttribute(name = "colour")
 +        protected Integer colour;
 +        @XmlAttribute(name = "start", required = true)
 +        protected int start;
 +        @XmlAttribute(name = "end", required = true)
 +        protected int end;
 +        @XmlAttribute(name = "id", required = true)
 +        protected String id;
 +        @XmlAttribute(name = "hidden")
 +        protected Boolean hidden;
 +        @XmlAttribute(name = "viewreference")
 +        protected Boolean viewreference;
  
 -    /**
 -     * Gets the value of the seqPointMin property.
 -     * 
 -     * @return possible object is {@link JalviewModel.PcaViewer.SeqPointMin }
 -     * 
 -     */
 -    public JalviewModel.PcaViewer.SeqPointMin getSeqPointMin()
 -    {
 -      return seqPointMin;
 -    }
 +        /**
 +         * Gets the value of the features property.
 +         * 
-          * &lt;p&gt;
++         * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the features property.
++         * This is why there is not a <CODE>set</CODE> method for the features property.
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * For example, to add a new item, do as follows:
-          * &lt;pre&gt;
++         * <pre>
 +         *    getFeatures().add(newItem);
-          * &lt;/pre&gt;
++         * </pre>
 +         * 
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * Objects of the following type(s) are allowed in the list
 +         * {@link Feature }
 +         * 
 +         * 
 +         */
 +        public List<Feature> getFeatures() {
 +            if (features == null) {
 +                features = new ArrayList<Feature>();
 +            }
 +            return this.features;
 +        }
  
 -    /**
 -     * Sets the value of the seqPointMin property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link JalviewModel.PcaViewer.SeqPointMin }
 -     * 
 -     */
 -    public void setSeqPointMin(JalviewModel.PcaViewer.SeqPointMin value)
 -    {
 -      this.seqPointMin = value;
 -    }
 +        /**
 +         * Gets the value of the pdbids property.
 +         * 
-          * &lt;p&gt;
++         * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the pdbids property.
++         * This is why there is not a <CODE>set</CODE> method for the pdbids property.
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * For example, to add a new item, do as follows:
-          * &lt;pre&gt;
++         * <pre>
 +         *    getPdbids().add(newItem);
-          * &lt;/pre&gt;
++         * </pre>
 +         * 
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * Objects of the following type(s) are allowed in the list
 +         * {@link JalviewModel.JSeq.Pdbids }
 +         * 
 +         * 
 +         */
 +        public List<JalviewModel.JSeq.Pdbids> getPdbids() {
 +            if (pdbids == null) {
 +                pdbids = new ArrayList<JalviewModel.JSeq.Pdbids>();
 +            }
 +            return this.pdbids;
 +        }
  
 -    /**
 -     * Gets the value of the seqPointMax property.
 -     * 
 -     * @return possible object is {@link JalviewModel.PcaViewer.SeqPointMax }
 -     * 
 -     */
 -    public JalviewModel.PcaViewer.SeqPointMax getSeqPointMax()
 -    {
 -      return seqPointMax;
 -    }
 +        /**
 +         * Gets the value of the hiddenSequences property.
 +         * 
-          * &lt;p&gt;
++         * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the hiddenSequences property.
++         * This is why there is not a <CODE>set</CODE> method for the hiddenSequences property.
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * For example, to add a new item, do as follows:
-          * &lt;pre&gt;
++         * <pre>
 +         *    getHiddenSequences().add(newItem);
-          * &lt;/pre&gt;
++         * </pre>
 +         * 
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * Objects of the following type(s) are allowed in the list
 +         * {@link Integer }
 +         * 
 +         * 
 +         */
 +        public List<Integer> getHiddenSequences() {
 +            if (hiddenSequences == null) {
 +                hiddenSequences = new ArrayList<Integer>();
 +            }
 +            return this.hiddenSequences;
 +        }
  
 -    /**
 -     * Sets the value of the seqPointMax property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link JalviewModel.PcaViewer.SeqPointMax }
 -     * 
 -     */
 -    public void setSeqPointMax(JalviewModel.PcaViewer.SeqPointMax value)
 -    {
 -      this.seqPointMax = value;
 -    }
 +        /**
 +         * Gets the value of the rnaViewer property.
 +         * 
-          * &lt;p&gt;
++         * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the rnaViewer property.
++         * This is why there is not a <CODE>set</CODE> method for the rnaViewer property.
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * For example, to add a new item, do as follows:
-          * &lt;pre&gt;
++         * <pre>
 +         *    getRnaViewer().add(newItem);
-          * &lt;/pre&gt;
++         * </pre>
 +         * 
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * Objects of the following type(s) are allowed in the list
 +         * {@link JalviewModel.JSeq.RnaViewer }
 +         * 
 +         * 
 +         */
 +        public List<JalviewModel.JSeq.RnaViewer> getRnaViewer() {
 +            if (rnaViewer == null) {
 +                rnaViewer = new ArrayList<JalviewModel.JSeq.RnaViewer>();
 +            }
 +            return this.rnaViewer;
 +        }
  
 -    /**
 -     * Gets the value of the pcaData property.
 -     * 
 -     * @return possible object is {@link PcaDataType }
 -     * 
 -     */
 -    public PcaDataType getPcaData()
 -    {
 -      return pcaData;
 -    }
 +        /**
 +         * Gets the value of the colour property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Integer }
 +         *     
 +         */
 +        public Integer getColour() {
 +            return colour;
 +        }
  
 -    /**
 -     * Sets the value of the pcaData property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link PcaDataType }
 -     * 
 -     */
 -    public void setPcaData(PcaDataType value)
 -    {
 -      this.pcaData = value;
 -    }
 +        /**
 +         * Sets the value of the colour property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Integer }
 +         *     
 +         */
 +        public void setColour(Integer value) {
 +            this.colour = value;
 +        }
  
 -    /**
 -     * Gets the value of the title property.
 -     * 
 -     * @return possible object is {@link String }
 -     * 
 -     */
 -    public String getTitle()
 -    {
 -      return title;
 -    }
 +        /**
 +         * Gets the value of the start property.
 +         * 
 +         */
 +        public int getStart() {
 +            return start;
 +        }
  
 -    /**
 -     * Sets the value of the title property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link String }
 -     * 
 -     */
 -    public void setTitle(String value)
 -    {
 -      this.title = value;
 -    }
 +        /**
 +         * Sets the value of the start property.
 +         * 
 +         */
 +        public void setStart(int value) {
 +            this.start = value;
 +        }
  
 -    /**
 -     * Gets the value of the scoreModelName property.
 -     * 
 -     * @return possible object is {@link String }
 -     * 
 -     */
 -    public String getScoreModelName()
 -    {
 -      return scoreModelName;
 -    }
 +        /**
 +         * Gets the value of the end property.
 +         * 
 +         */
 +        public int getEnd() {
 +            return end;
 +        }
  
 -    /**
 -     * Sets the value of the scoreModelName property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link String }
 -     * 
 -     */
 -    public void setScoreModelName(String value)
 -    {
 -      this.scoreModelName = value;
 -    }
 +        /**
 +         * Sets the value of the end property.
 +         * 
 +         */
 +        public void setEnd(int value) {
 +            this.end = value;
 +        }
  
 -    /**
 -     * Gets the value of the xDim property.
 -     * 
 -     * @return possible object is {@link Integer }
 -     * 
 -     */
 -    public Integer getXDim()
 -    {
 -      return xDim;
 -    }
 +        /**
 +         * Gets the value of the id property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link String }
 +         *     
 +         */
 +        public String getId() {
 +            return id;
 +        }
  
 -    /**
 -     * Sets the value of the xDim property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Integer }
 -     * 
 -     */
 -    public void setXDim(Integer value)
 -    {
 -      this.xDim = value;
 -    }
 +        /**
 +         * Sets the value of the id property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link String }
 +         *     
 +         */
 +        public void setId(String value) {
 +            this.id = value;
 +        }
  
 -    /**
 -     * Gets the value of the yDim property.
 -     * 
 -     * @return possible object is {@link Integer }
 -     * 
 -     */
 -    public Integer getYDim()
 -    {
 -      return yDim;
 -    }
 +        /**
 +         * Gets the value of the hidden property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public Boolean isHidden() {
 +            return hidden;
 +        }
  
 -    /**
 -     * Sets the value of the yDim property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Integer }
 -     * 
 -     */
 -    public void setYDim(Integer value)
 -    {
 -      this.yDim = value;
 -    }
 +        /**
 +         * Sets the value of the hidden property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public void setHidden(Boolean value) {
 +            this.hidden = value;
 +        }
  
 -    /**
 -     * Gets the value of the zDim property.
 -     * 
 -     * @return possible object is {@link Integer }
 -     * 
 -     */
 -    public Integer getZDim()
 -    {
 -      return zDim;
 -    }
 +        /**
 +         * Gets the value of the viewreference property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public Boolean isViewreference() {
 +            return viewreference;
 +        }
  
 -    /**
 -     * Sets the value of the zDim property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Integer }
 -     * 
 -     */
 -    public void setZDim(Integer value)
 -    {
 -      this.zDim = value;
 -    }
 +        /**
 +         * Sets the value of the viewreference property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public void setViewreference(Boolean value) {
 +            this.viewreference = value;
 +        }
  
 -    /**
 -     * Gets the value of the bgColour property.
 -     * 
 -     * @return possible object is {@link Integer }
 -     * 
 -     */
 -    public Integer getBgColour()
 -    {
 -      return bgColour;
 -    }
  
 -    /**
 -     * Sets the value of the bgColour property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Integer }
 -     * 
 -     */
 -    public void setBgColour(Integer value)
 -    {
 -      this.bgColour = value;
 -    }
 +        /**
-          * &lt;p&gt;Java class for anonymous complex type.
++         * <p>Java class for anonymous complex type.
 +         * 
-          * &lt;p&gt;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.
 +         * 
-          * &lt;pre&gt;
-          * &amp;lt;complexType&amp;gt;
-          *   &amp;lt;complexContent&amp;gt;
-          *     &amp;lt;extension base="{www.jalview.org}pdbentry"&amp;gt;
-          *       &amp;lt;sequence&amp;gt;
-          *         &amp;lt;element name="structureState" maxOccurs="unbounded" minOccurs="0"&amp;gt;
-          *           &amp;lt;complexType&amp;gt;
-          *             &amp;lt;simpleContent&amp;gt;
-          *               &amp;lt;extension base="&amp;lt;http://www.w3.org/2001/XMLSchema&amp;gt;string"&amp;gt;
-          *                 &amp;lt;attGroup ref="{www.jalview.org}swingwindow"/&amp;gt;
-          *                 &amp;lt;attribute name="visible" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-          *                 &amp;lt;attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-          *                 &amp;lt;attribute name="alignwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
-          *                 &amp;lt;attribute name="colourwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
-          *                 &amp;lt;attribute name="colourByJmol" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
-          *                 &amp;lt;attribute name="type" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-          *               &amp;lt;/extension&amp;gt;
-          *             &amp;lt;/simpleContent&amp;gt;
-          *           &amp;lt;/complexType&amp;gt;
-          *         &amp;lt;/element&amp;gt;
-          *       &amp;lt;/sequence&amp;gt;
-          *     &amp;lt;/extension&amp;gt;
-          *   &amp;lt;/complexContent&amp;gt;
-          * &amp;lt;/complexType&amp;gt;
-          * &lt;/pre&gt;
++         * <pre>
++         * &lt;complexType>
++         *   &lt;complexContent>
++         *     &lt;extension base="{www.jalview.org}pdbentry">
++         *       &lt;sequence>
++         *         &lt;element name="structureState" maxOccurs="unbounded" minOccurs="0">
++         *           &lt;complexType>
++         *             &lt;simpleContent>
++         *               &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
++         *                 &lt;attGroup ref="{www.jalview.org}swingwindow"/>
++         *                 &lt;attribute name="visible" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++         *                 &lt;attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" />
++         *                 &lt;attribute name="alignwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
++         *                 &lt;attribute name="colourwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
++         *                 &lt;attribute name="colourByJmol" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
++         *                 &lt;attribute name="type" type="{http://www.w3.org/2001/XMLSchema}string" />
++         *               &lt;/extension>
++         *             &lt;/simpleContent>
++         *           &lt;/complexType>
++         *         &lt;/element>
++         *       &lt;/sequence>
++         *     &lt;/extension>
++         *   &lt;/complexContent>
++         * &lt;/complexType>
++         * </pre>
 +         * 
 +         * 
 +         */
 +        @XmlAccessorType(XmlAccessType.FIELD)
 +        @XmlType(name = "", propOrder = {
 +            "structureState"
 +        })
 +        public static class Pdbids
 +            extends Pdbentry
 +        {
  
 -    /**
 -     * Gets the value of the scaleFactor property.
 -     * 
 -     * @return possible object is {@link Float }
 -     * 
 -     */
 -    public Float getScaleFactor()
 -    {
 -      return scaleFactor;
 -    }
 +            @XmlElement(namespace = "www.jalview.org")
 +            protected List<JalviewModel.JSeq.Pdbids.StructureState> structureState;
 +
 +            /**
 +             * Gets the value of the structureState property.
 +             * 
-              * &lt;p&gt;
++             * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the structureState property.
++             * This is why there is not a <CODE>set</CODE> method for the structureState property.
 +             * 
-              * &lt;p&gt;
++             * <p>
 +             * For example, to add a new item, do as follows:
-              * &lt;pre&gt;
++             * <pre>
 +             *    getStructureState().add(newItem);
-              * &lt;/pre&gt;
++             * </pre>
 +             * 
 +             * 
-              * &lt;p&gt;
++             * <p>
 +             * Objects of the following type(s) are allowed in the list
 +             * {@link JalviewModel.JSeq.Pdbids.StructureState }
 +             * 
 +             * 
 +             */
 +            public List<JalviewModel.JSeq.Pdbids.StructureState> getStructureState() {
 +                if (structureState == null) {
 +                    structureState = new ArrayList<JalviewModel.JSeq.Pdbids.StructureState>();
 +                }
 +                return this.structureState;
 +            }
 +
 +
 +            /**
-              * &lt;p&gt;Java class for anonymous complex type.
++             * <p>Java class for anonymous complex type.
 +             * 
-              * &lt;p&gt;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.
 +             * 
-              * &lt;pre&gt;
-              * &amp;lt;complexType&amp;gt;
-              *   &amp;lt;simpleContent&amp;gt;
-              *     &amp;lt;extension base="&amp;lt;http://www.w3.org/2001/XMLSchema&amp;gt;string"&amp;gt;
-              *       &amp;lt;attGroup ref="{www.jalview.org}swingwindow"/&amp;gt;
-              *       &amp;lt;attribute name="visible" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-              *       &amp;lt;attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-              *       &amp;lt;attribute name="alignwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
-              *       &amp;lt;attribute name="colourwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
-              *       &amp;lt;attribute name="colourByJmol" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
-              *       &amp;lt;attribute name="type" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-              *     &amp;lt;/extension&amp;gt;
-              *   &amp;lt;/simpleContent&amp;gt;
-              * &amp;lt;/complexType&amp;gt;
-              * &lt;/pre&gt;
++             * <pre>
++             * &lt;complexType>
++             *   &lt;simpleContent>
++             *     &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
++             *       &lt;attGroup ref="{www.jalview.org}swingwindow"/>
++             *       &lt;attribute name="visible" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++             *       &lt;attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" />
++             *       &lt;attribute name="alignwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
++             *       &lt;attribute name="colourwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
++             *       &lt;attribute name="colourByJmol" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
++             *       &lt;attribute name="type" type="{http://www.w3.org/2001/XMLSchema}string" />
++             *     &lt;/extension>
++             *   &lt;/simpleContent>
++             * &lt;/complexType>
++             * </pre>
 +             * 
 +             * 
 +             */
 +            @XmlAccessorType(XmlAccessType.FIELD)
 +            @XmlType(name = "", propOrder = {
 +                "value"
 +            })
 +            public static class StructureState {
 +
 +                @XmlValue
 +                protected String value;
 +                @XmlAttribute(name = "visible")
 +                protected Boolean visible;
 +                @XmlAttribute(name = "viewId")
 +                protected String viewId;
 +                @XmlAttribute(name = "alignwithAlignPanel")
 +                protected Boolean alignwithAlignPanel;
 +                @XmlAttribute(name = "colourwithAlignPanel")
 +                protected Boolean colourwithAlignPanel;
 +                @XmlAttribute(name = "colourByJmol")
 +                protected Boolean colourByJmol;
 +                @XmlAttribute(name = "type")
 +                protected String type;
 +                @XmlAttribute(name = "width")
 +                protected Integer width;
 +                @XmlAttribute(name = "height")
 +                protected Integer height;
 +                @XmlAttribute(name = "xpos")
 +                protected Integer xpos;
 +                @XmlAttribute(name = "ypos")
 +                protected Integer ypos;
 +
 +                /**
 +                 * Gets the value of the value property.
 +                 * 
 +                 * @return
 +                 *     possible object is
 +                 *     {@link String }
 +                 *     
 +                 */
 +                public String getValue() {
 +                    return value;
 +                }
 +
 +                /**
 +                 * Sets the value of the value property.
 +                 * 
 +                 * @param value
 +                 *     allowed object is
 +                 *     {@link String }
 +                 *     
 +                 */
 +                public void setValue(String value) {
 +                    this.value = value;
 +                }
 +
 +                /**
 +                 * Gets the value of the visible property.
 +                 * 
 +                 * @return
 +                 *     possible object is
 +                 *     {@link Boolean }
 +                 *     
 +                 */
 +                public Boolean isVisible() {
 +                    return visible;
 +                }
 +
 +                /**
 +                 * Sets the value of the visible property.
 +                 * 
 +                 * @param value
 +                 *     allowed object is
 +                 *     {@link Boolean }
 +                 *     
 +                 */
 +                public void setVisible(Boolean value) {
 +                    this.visible = value;
 +                }
 +
 +                /**
 +                 * Gets the value of the viewId property.
 +                 * 
 +                 * @return
 +                 *     possible object is
 +                 *     {@link String }
 +                 *     
 +                 */
 +                public String getViewId() {
 +                    return viewId;
 +                }
 +
 +                /**
 +                 * Sets the value of the viewId property.
 +                 * 
 +                 * @param value
 +                 *     allowed object is
 +                 *     {@link String }
 +                 *     
 +                 */
 +                public void setViewId(String value) {
 +                    this.viewId = value;
 +                }
 +
 +                /**
 +                 * Gets the value of the alignwithAlignPanel property.
 +                 * 
 +                 * @return
 +                 *     possible object is
 +                 *     {@link Boolean }
 +                 *     
 +                 */
 +                public boolean isAlignwithAlignPanel() {
 +                    if (alignwithAlignPanel == null) {
 +                        return true;
 +                    } else {
 +                        return alignwithAlignPanel;
 +                    }
 +                }
 +
 +                /**
 +                 * Sets the value of the alignwithAlignPanel property.
 +                 * 
 +                 * @param value
 +                 *     allowed object is
 +                 *     {@link Boolean }
 +                 *     
 +                 */
 +                public void setAlignwithAlignPanel(Boolean value) {
 +                    this.alignwithAlignPanel = value;
 +                }
 +
 +                /**
 +                 * Gets the value of the colourwithAlignPanel property.
 +                 * 
 +                 * @return
 +                 *     possible object is
 +                 *     {@link Boolean }
 +                 *     
 +                 */
 +                public boolean isColourwithAlignPanel() {
 +                    if (colourwithAlignPanel == null) {
 +                        return false;
 +                    } else {
 +                        return colourwithAlignPanel;
 +                    }
 +                }
 +
 +                /**
 +                 * Sets the value of the colourwithAlignPanel property.
 +                 * 
 +                 * @param value
 +                 *     allowed object is
 +                 *     {@link Boolean }
 +                 *     
 +                 */
 +                public void setColourwithAlignPanel(Boolean value) {
 +                    this.colourwithAlignPanel = value;
 +                }
 +
 +                /**
 +                 * Gets the value of the colourByJmol property.
 +                 * 
 +                 * @return
 +                 *     possible object is
 +                 *     {@link Boolean }
 +                 *     
 +                 */
 +                public boolean isColourByJmol() {
 +                    if (colourByJmol == null) {
 +                        return true;
 +                    } else {
 +                        return colourByJmol;
 +                    }
 +                }
 +
 +                /**
 +                 * Sets the value of the colourByJmol property.
 +                 * 
 +                 * @param value
 +                 *     allowed object is
 +                 *     {@link Boolean }
 +                 *     
 +                 */
 +                public void setColourByJmol(Boolean value) {
 +                    this.colourByJmol = value;
 +                }
 +
 +                /**
 +                 * Gets the value of the type property.
 +                 * 
 +                 * @return
 +                 *     possible object is
 +                 *     {@link String }
 +                 *     
 +                 */
 +                public String getType() {
 +                    return type;
 +                }
 +
 +                /**
 +                 * Sets the value of the type property.
 +                 * 
 +                 * @param value
 +                 *     allowed object is
 +                 *     {@link String }
 +                 *     
 +                 */
 +                public void setType(String value) {
 +                    this.type = value;
 +                }
 +
 +                /**
 +                 * Gets the value of the width property.
 +                 * 
 +                 * @return
 +                 *     possible object is
 +                 *     {@link Integer }
 +                 *     
 +                 */
 +                public Integer getWidth() {
 +                    return width;
 +                }
 +
 +                /**
 +                 * Sets the value of the width property.
 +                 * 
 +                 * @param value
 +                 *     allowed object is
 +                 *     {@link Integer }
 +                 *     
 +                 */
 +                public void setWidth(Integer value) {
 +                    this.width = value;
 +                }
 +
 +                /**
 +                 * Gets the value of the height property.
 +                 * 
 +                 * @return
 +                 *     possible object is
 +                 *     {@link Integer }
 +                 *     
 +                 */
 +                public Integer getHeight() {
 +                    return height;
 +                }
 +
 +                /**
 +                 * Sets the value of the height property.
 +                 * 
 +                 * @param value
 +                 *     allowed object is
 +                 *     {@link Integer }
 +                 *     
 +                 */
 +                public void setHeight(Integer value) {
 +                    this.height = value;
 +                }
 +
 +                /**
 +                 * Gets the value of the xpos property.
 +                 * 
 +                 * @return
 +                 *     possible object is
 +                 *     {@link Integer }
 +                 *     
 +                 */
 +                public Integer getXpos() {
 +                    return xpos;
 +                }
 +
 +                /**
 +                 * Sets the value of the xpos property.
 +                 * 
 +                 * @param value
 +                 *     allowed object is
 +                 *     {@link Integer }
 +                 *     
 +                 */
 +                public void setXpos(Integer value) {
 +                    this.xpos = value;
 +                }
 +
 +                /**
 +                 * Gets the value of the ypos property.
 +                 * 
 +                 * @return
 +                 *     possible object is
 +                 *     {@link Integer }
 +                 *     
 +                 */
 +                public Integer getYpos() {
 +                    return ypos;
 +                }
 +
 +                /**
 +                 * Sets the value of the ypos property.
 +                 * 
 +                 * @param value
 +                 *     allowed object is
 +                 *     {@link Integer }
 +                 *     
 +                 */
 +                public void setYpos(Integer value) {
 +                    this.ypos = value;
 +                }
 +
 +            }
  
 -    /**
 -     * Sets the value of the scaleFactor property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Float }
 -     * 
 -     */
 -    public void setScaleFactor(Float value)
 -    {
 -      this.scaleFactor = value;
 -    }
 +        }
  
 -    /**
 -     * Gets the value of the showLabels property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public Boolean isShowLabels()
 -    {
 -      return showLabels;
 -    }
  
 -    /**
 -     * Sets the value of the showLabels property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setShowLabels(Boolean value)
 -    {
 -      this.showLabels = value;
 -    }
 +        /**
-          * &lt;p&gt;Java class for anonymous complex type.
++         * <p>Java class for anonymous complex type.
 +         * 
-          * &lt;p&gt;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.
 +         * 
-          * &lt;pre&gt;
-          * &amp;lt;complexType&amp;gt;
-          *   &amp;lt;complexContent&amp;gt;
-          *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-          *       &amp;lt;sequence&amp;gt;
-          *         &amp;lt;element name="secondaryStructure" maxOccurs="unbounded"&amp;gt;
-          *           &amp;lt;complexType&amp;gt;
-          *             &amp;lt;complexContent&amp;gt;
-          *               &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-          *                 &amp;lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-          *                 &amp;lt;attribute name="annotationId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-          *                 &amp;lt;attribute name="gapped" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-          *                 &amp;lt;attribute name="viewerState" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-          *               &amp;lt;/restriction&amp;gt;
-          *             &amp;lt;/complexContent&amp;gt;
-          *           &amp;lt;/complexType&amp;gt;
-          *         &amp;lt;/element&amp;gt;
-          *       &amp;lt;/sequence&amp;gt;
-          *       &amp;lt;attGroup ref="{www.jalview.org}swingwindow"/&amp;gt;
-          *       &amp;lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-          *       &amp;lt;attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-          *       &amp;lt;attribute name="dividerLocation" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-          *       &amp;lt;attribute name="selectedRna" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-          *     &amp;lt;/restriction&amp;gt;
-          *   &amp;lt;/complexContent&amp;gt;
-          * &amp;lt;/complexType&amp;gt;
-          * &lt;/pre&gt;
++         * <pre>
++         * &lt;complexType>
++         *   &lt;complexContent>
++         *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++         *       &lt;sequence>
++         *         &lt;element name="secondaryStructure" maxOccurs="unbounded">
++         *           &lt;complexType>
++         *             &lt;complexContent>
++         *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++         *                 &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
++         *                 &lt;attribute name="annotationId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
++         *                 &lt;attribute name="gapped" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++         *                 &lt;attribute name="viewerState" type="{http://www.w3.org/2001/XMLSchema}string" />
++         *               &lt;/restriction>
++         *             &lt;/complexContent>
++         *           &lt;/complexType>
++         *         &lt;/element>
++         *       &lt;/sequence>
++         *       &lt;attGroup ref="{www.jalview.org}swingwindow"/>
++         *       &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
++         *       &lt;attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" />
++         *       &lt;attribute name="dividerLocation" type="{http://www.w3.org/2001/XMLSchema}int" />
++         *       &lt;attribute name="selectedRna" type="{http://www.w3.org/2001/XMLSchema}int" />
++         *     &lt;/restriction>
++         *   &lt;/complexContent>
++         * &lt;/complexType>
++         * </pre>
 +         * 
 +         * 
 +         */
 +        @XmlAccessorType(XmlAccessType.FIELD)
 +        @XmlType(name = "", propOrder = {
 +            "secondaryStructure"
 +        })
 +        public static class RnaViewer {
 +
 +            @XmlElement(namespace = "www.jalview.org", required = true)
 +            protected List<JalviewModel.JSeq.RnaViewer.SecondaryStructure> secondaryStructure;
 +            @XmlAttribute(name = "title")
 +            protected String title;
 +            @XmlAttribute(name = "viewId")
 +            protected String viewId;
 +            @XmlAttribute(name = "dividerLocation")
 +            protected Integer dividerLocation;
 +            @XmlAttribute(name = "selectedRna")
 +            protected Integer selectedRna;
 +            @XmlAttribute(name = "width")
 +            protected Integer width;
 +            @XmlAttribute(name = "height")
 +            protected Integer height;
 +            @XmlAttribute(name = "xpos")
 +            protected Integer xpos;
 +            @XmlAttribute(name = "ypos")
 +            protected Integer ypos;
 +
 +            /**
 +             * Gets the value of the secondaryStructure property.
 +             * 
-              * &lt;p&gt;
++             * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the secondaryStructure property.
++             * This is why there is not a <CODE>set</CODE> method for the secondaryStructure property.
 +             * 
-              * &lt;p&gt;
++             * <p>
 +             * For example, to add a new item, do as follows:
-              * &lt;pre&gt;
++             * <pre>
 +             *    getSecondaryStructure().add(newItem);
-              * &lt;/pre&gt;
++             * </pre>
 +             * 
 +             * 
-              * &lt;p&gt;
++             * <p>
 +             * Objects of the following type(s) are allowed in the list
 +             * {@link JalviewModel.JSeq.RnaViewer.SecondaryStructure }
 +             * 
 +             * 
 +             */
 +            public List<JalviewModel.JSeq.RnaViewer.SecondaryStructure> getSecondaryStructure() {
 +                if (secondaryStructure == null) {
 +                    secondaryStructure = new ArrayList<JalviewModel.JSeq.RnaViewer.SecondaryStructure>();
 +                }
 +                return this.secondaryStructure;
 +            }
 +
 +            /**
 +             * Gets the value of the title property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link String }
 +             *     
 +             */
 +            public String getTitle() {
 +                return title;
 +            }
 +
 +            /**
 +             * Sets the value of the title property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link String }
 +             *     
 +             */
 +            public void setTitle(String value) {
 +                this.title = value;
 +            }
 +
 +            /**
 +             * Gets the value of the viewId property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link String }
 +             *     
 +             */
 +            public String getViewId() {
 +                return viewId;
 +            }
 +
 +            /**
 +             * Sets the value of the viewId property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link String }
 +             *     
 +             */
 +            public void setViewId(String value) {
 +                this.viewId = value;
 +            }
 +
 +            /**
 +             * Gets the value of the dividerLocation property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link Integer }
 +             *     
 +             */
 +            public Integer getDividerLocation() {
 +                return dividerLocation;
 +            }
 +
 +            /**
 +             * Sets the value of the dividerLocation property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link Integer }
 +             *     
 +             */
 +            public void setDividerLocation(Integer value) {
 +                this.dividerLocation = value;
 +            }
 +
 +            /**
 +             * Gets the value of the selectedRna property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link Integer }
 +             *     
 +             */
 +            public Integer getSelectedRna() {
 +                return selectedRna;
 +            }
 +
 +            /**
 +             * Sets the value of the selectedRna property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link Integer }
 +             *     
 +             */
 +            public void setSelectedRna(Integer value) {
 +                this.selectedRna = value;
 +            }
 +
 +            /**
 +             * Gets the value of the width property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link Integer }
 +             *     
 +             */
 +            public Integer getWidth() {
 +                return width;
 +            }
 +
 +            /**
 +             * Sets the value of the width property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link Integer }
 +             *     
 +             */
 +            public void setWidth(Integer value) {
 +                this.width = value;
 +            }
 +
 +            /**
 +             * Gets the value of the height property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link Integer }
 +             *     
 +             */
 +            public Integer getHeight() {
 +                return height;
 +            }
 +
 +            /**
 +             * Sets the value of the height property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link Integer }
 +             *     
 +             */
 +            public void setHeight(Integer value) {
 +                this.height = value;
 +            }
 +
 +            /**
 +             * Gets the value of the xpos property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link Integer }
 +             *     
 +             */
 +            public Integer getXpos() {
 +                return xpos;
 +            }
 +
 +            /**
 +             * Sets the value of the xpos property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link Integer }
 +             *     
 +             */
 +            public void setXpos(Integer value) {
 +                this.xpos = value;
 +            }
 +
 +            /**
 +             * Gets the value of the ypos property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link Integer }
 +             *     
 +             */
 +            public Integer getYpos() {
 +                return ypos;
 +            }
 +
 +            /**
 +             * Sets the value of the ypos property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link Integer }
 +             *     
 +             */
 +            public void setYpos(Integer value) {
 +                this.ypos = value;
 +            }
 +
 +
 +            /**
-              * &lt;p&gt;Java class for anonymous complex type.
++             * <p>Java class for anonymous complex type.
 +             * 
-              * &lt;p&gt;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.
 +             * 
-              * &lt;pre&gt;
-              * &amp;lt;complexType&amp;gt;
-              *   &amp;lt;complexContent&amp;gt;
-              *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-              *       &amp;lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-              *       &amp;lt;attribute name="annotationId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-              *       &amp;lt;attribute name="gapped" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-              *       &amp;lt;attribute name="viewerState" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-              *     &amp;lt;/restriction&amp;gt;
-              *   &amp;lt;/complexContent&amp;gt;
-              * &amp;lt;/complexType&amp;gt;
-              * &lt;/pre&gt;
++             * <pre>
++             * &lt;complexType>
++             *   &lt;complexContent>
++             *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++             *       &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
++             *       &lt;attribute name="annotationId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
++             *       &lt;attribute name="gapped" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++             *       &lt;attribute name="viewerState" type="{http://www.w3.org/2001/XMLSchema}string" />
++             *     &lt;/restriction>
++             *   &lt;/complexContent>
++             * &lt;/complexType>
++             * </pre>
 +             * 
 +             * 
 +             */
 +            @XmlAccessorType(XmlAccessType.FIELD)
 +            @XmlType(name = "")
 +            public static class SecondaryStructure {
 +
 +                @XmlAttribute(name = "title")
 +                protected String title;
 +                @XmlAttribute(name = "annotationId", required = true)
 +                protected String annotationId;
 +                @XmlAttribute(name = "gapped")
 +                protected Boolean gapped;
 +                @XmlAttribute(name = "viewerState")
 +                protected String viewerState;
 +
 +                /**
 +                 * Gets the value of the title property.
 +                 * 
 +                 * @return
 +                 *     possible object is
 +                 *     {@link String }
 +                 *     
 +                 */
 +                public String getTitle() {
 +                    return title;
 +                }
 +
 +                /**
 +                 * Sets the value of the title property.
 +                 * 
 +                 * @param value
 +                 *     allowed object is
 +                 *     {@link String }
 +                 *     
 +                 */
 +                public void setTitle(String value) {
 +                    this.title = value;
 +                }
 +
 +                /**
 +                 * Gets the value of the annotationId property.
 +                 * 
 +                 * @return
 +                 *     possible object is
 +                 *     {@link String }
 +                 *     
 +                 */
 +                public String getAnnotationId() {
 +                    return annotationId;
 +                }
 +
 +                /**
 +                 * Sets the value of the annotationId property.
 +                 * 
 +                 * @param value
 +                 *     allowed object is
 +                 *     {@link String }
 +                 *     
 +                 */
 +                public void setAnnotationId(String value) {
 +                    this.annotationId = value;
 +                }
 +
 +                /**
 +                 * Gets the value of the gapped property.
 +                 * 
 +                 * @return
 +                 *     possible object is
 +                 *     {@link Boolean }
 +                 *     
 +                 */
 +                public Boolean isGapped() {
 +                    return gapped;
 +                }
 +
 +                /**
 +                 * Sets the value of the gapped property.
 +                 * 
 +                 * @param value
 +                 *     allowed object is
 +                 *     {@link Boolean }
 +                 *     
 +                 */
 +                public void setGapped(Boolean value) {
 +                    this.gapped = value;
 +                }
 +
 +                /**
 +                 * Gets the value of the viewerState property.
 +                 * 
 +                 * @return
 +                 *     possible object is
 +                 *     {@link String }
 +                 *     
 +                 */
 +                public String getViewerState() {
 +                    return viewerState;
 +                }
 +
 +                /**
 +                 * Sets the value of the viewerState property.
 +                 * 
 +                 * @param value
 +                 *     allowed object is
 +                 *     {@link String }
 +                 *     
 +                 */
 +                public void setViewerState(String value) {
 +                    this.viewerState = value;
 +                }
 +
 +            }
  
 -    /**
 -     * Gets the value of the linkToAllViews property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public Boolean isLinkToAllViews()
 -    {
 -      return linkToAllViews;
 -    }
 +        }
  
 -    /**
 -     * Sets the value of the linkToAllViews property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setLinkToAllViews(Boolean value)
 -    {
 -      this.linkToAllViews = value;
      }
  
 -    /**
 -     * Gets the value of the width property.
 -     * 
 -     * @return possible object is {@link Integer }
 -     * 
 -     */
 -    public Integer getWidth()
 -    {
 -      return width;
 -    }
  
      /**
-      * &lt;p&gt;Java class for anonymous complex type.
 -     * Sets the value of the width property.
++     * <p>Java class for anonymous complex type.
 +     * 
-      * &lt;p&gt;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.
 +     * 
-      * &lt;pre&gt;
-      * &amp;lt;complexType&amp;gt;
-      *   &amp;lt;complexContent&amp;gt;
-      *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-      *       &amp;lt;sequence&amp;gt;
-      *         &amp;lt;element name="sequencePoint" maxOccurs="unbounded"&amp;gt;
-      *           &amp;lt;complexType&amp;gt;
-      *             &amp;lt;complexContent&amp;gt;
-      *               &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-      *                 &amp;lt;attGroup ref="{www.jalview.org}position"/&amp;gt;
-      *                 &amp;lt;attribute name="sequenceRef" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-      *               &amp;lt;/restriction&amp;gt;
-      *             &amp;lt;/complexContent&amp;gt;
-      *           &amp;lt;/complexType&amp;gt;
-      *         &amp;lt;/element&amp;gt;
-      *         &amp;lt;element name="axis" maxOccurs="3" minOccurs="3"&amp;gt;
-      *           &amp;lt;complexType&amp;gt;
-      *             &amp;lt;complexContent&amp;gt;
-      *               &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-      *                 &amp;lt;attGroup ref="{www.jalview.org}position"/&amp;gt;
-      *               &amp;lt;/restriction&amp;gt;
-      *             &amp;lt;/complexContent&amp;gt;
-      *           &amp;lt;/complexType&amp;gt;
-      *         &amp;lt;/element&amp;gt;
-      *         &amp;lt;element name="seqPointMin"&amp;gt;
-      *           &amp;lt;complexType&amp;gt;
-      *             &amp;lt;complexContent&amp;gt;
-      *               &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-      *                 &amp;lt;attGroup ref="{www.jalview.org}position"/&amp;gt;
-      *               &amp;lt;/restriction&amp;gt;
-      *             &amp;lt;/complexContent&amp;gt;
-      *           &amp;lt;/complexType&amp;gt;
-      *         &amp;lt;/element&amp;gt;
-      *         &amp;lt;element name="seqPointMax"&amp;gt;
-      *           &amp;lt;complexType&amp;gt;
-      *             &amp;lt;complexContent&amp;gt;
-      *               &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-      *                 &amp;lt;attGroup ref="{www.jalview.org}position"/&amp;gt;
-      *               &amp;lt;/restriction&amp;gt;
-      *             &amp;lt;/complexContent&amp;gt;
-      *           &amp;lt;/complexType&amp;gt;
-      *         &amp;lt;/element&amp;gt;
-      *         &amp;lt;element name="pcaData" type="{www.jalview.org}PcaDataType"/&amp;gt;
-      *       &amp;lt;/sequence&amp;gt;
-      *       &amp;lt;attGroup ref="{www.jalview.org}swingwindow"/&amp;gt;
-      *       &amp;lt;attGroup ref="{www.jalview.org}SimilarityParams"/&amp;gt;
-      *       &amp;lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-      *       &amp;lt;attribute name="scoreModelName" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-      *       &amp;lt;attribute name="xDim" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-      *       &amp;lt;attribute name="yDim" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-      *       &amp;lt;attribute name="zDim" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-      *       &amp;lt;attribute name="bgColour" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-      *       &amp;lt;attribute name="scaleFactor" type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt;
-      *       &amp;lt;attribute name="showLabels" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-      *       &amp;lt;attribute name="linkToAllViews" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-      *     &amp;lt;/restriction&amp;gt;
-      *   &amp;lt;/complexContent&amp;gt;
-      * &amp;lt;/complexType&amp;gt;
-      * &lt;/pre&gt;
++     * <pre>
++     * &lt;complexType>
++     *   &lt;complexContent>
++     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++     *       &lt;sequence>
++     *         &lt;element name="sequencePoint" maxOccurs="unbounded">
++     *           &lt;complexType>
++     *             &lt;complexContent>
++     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++     *                 &lt;attGroup ref="{www.jalview.org}position"/>
++     *                 &lt;attribute name="sequenceRef" type="{http://www.w3.org/2001/XMLSchema}string" />
++     *               &lt;/restriction>
++     *             &lt;/complexContent>
++     *           &lt;/complexType>
++     *         &lt;/element>
++     *         &lt;element name="axis" maxOccurs="3" minOccurs="3">
++     *           &lt;complexType>
++     *             &lt;complexContent>
++     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++     *                 &lt;attGroup ref="{www.jalview.org}position"/>
++     *               &lt;/restriction>
++     *             &lt;/complexContent>
++     *           &lt;/complexType>
++     *         &lt;/element>
++     *         &lt;element name="seqPointMin">
++     *           &lt;complexType>
++     *             &lt;complexContent>
++     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++     *                 &lt;attGroup ref="{www.jalview.org}position"/>
++     *               &lt;/restriction>
++     *             &lt;/complexContent>
++     *           &lt;/complexType>
++     *         &lt;/element>
++     *         &lt;element name="seqPointMax">
++     *           &lt;complexType>
++     *             &lt;complexContent>
++     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++     *                 &lt;attGroup ref="{www.jalview.org}position"/>
++     *               &lt;/restriction>
++     *             &lt;/complexContent>
++     *           &lt;/complexType>
++     *         &lt;/element>
++     *         &lt;element name="pcaData" type="{www.jalview.org}PcaDataType"/>
++     *       &lt;/sequence>
++     *       &lt;attGroup ref="{www.jalview.org}SimilarityParams"/>
++     *       &lt;attGroup ref="{www.jalview.org}swingwindow"/>
++     *       &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
++     *       &lt;attribute name="scoreModelName" type="{http://www.w3.org/2001/XMLSchema}string" />
++     *       &lt;attribute name="xDim" type="{http://www.w3.org/2001/XMLSchema}int" />
++     *       &lt;attribute name="yDim" type="{http://www.w3.org/2001/XMLSchema}int" />
++     *       &lt;attribute name="zDim" type="{http://www.w3.org/2001/XMLSchema}int" />
++     *       &lt;attribute name="bgColour" type="{http://www.w3.org/2001/XMLSchema}int" />
++     *       &lt;attribute name="scaleFactor" type="{http://www.w3.org/2001/XMLSchema}float" />
++     *       &lt;attribute name="showLabels" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++     *       &lt;attribute name="linkToAllViews" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++     *     &lt;/restriction>
++     *   &lt;/complexContent>
++     * &lt;/complexType>
++     * </pre>
       * 
 -     * @param value
 -     *          allowed object is {@link Integer }
       * 
       */
 -    public void setWidth(Integer value)
 -    {
 -      this.width = value;
 -    }
 +    @XmlAccessorType(XmlAccessType.FIELD)
 +    @XmlType(name = "", propOrder = {
 +        "sequencePoint",
 +        "axis",
 +        "seqPointMin",
 +        "seqPointMax",
 +        "pcaData"
 +    })
 +    public static class PcaViewer {
 +
 +        @XmlElement(namespace = "www.jalview.org", required = true)
 +        protected List<JalviewModel.PcaViewer.SequencePoint> sequencePoint;
 +        @XmlElement(namespace = "www.jalview.org", required = true)
 +        protected List<JalviewModel.PcaViewer.Axis> axis;
 +        @XmlElement(namespace = "www.jalview.org", required = true)
 +        protected JalviewModel.PcaViewer.SeqPointMin seqPointMin;
 +        @XmlElement(namespace = "www.jalview.org", required = true)
 +        protected JalviewModel.PcaViewer.SeqPointMax seqPointMax;
 +        @XmlElement(namespace = "www.jalview.org", required = true)
 +        protected PcaDataType pcaData;
 +        @XmlAttribute(name = "title")
 +        protected String title;
 +        @XmlAttribute(name = "scoreModelName")
 +        protected String scoreModelName;
 +        @XmlAttribute(name = "xDim")
 +        protected Integer xDim;
 +        @XmlAttribute(name = "yDim")
 +        protected Integer yDim;
 +        @XmlAttribute(name = "zDim")
 +        protected Integer zDim;
 +        @XmlAttribute(name = "bgColour")
 +        protected Integer bgColour;
 +        @XmlAttribute(name = "scaleFactor")
 +        protected Float scaleFactor;
 +        @XmlAttribute(name = "showLabels")
 +        protected Boolean showLabels;
 +        @XmlAttribute(name = "linkToAllViews")
 +        protected Boolean linkToAllViews;
-         @XmlAttribute(name = "width")
-         protected Integer width;
-         @XmlAttribute(name = "height")
-         protected Integer height;
-         @XmlAttribute(name = "xpos")
-         protected Integer xpos;
-         @XmlAttribute(name = "ypos")
-         protected Integer ypos;
 +        @XmlAttribute(name = "includeGaps")
 +        protected Boolean includeGaps;
 +        @XmlAttribute(name = "matchGaps")
 +        protected Boolean matchGaps;
 +        @XmlAttribute(name = "includeGappedColumns")
 +        protected Boolean includeGappedColumns;
 +        @XmlAttribute(name = "denominateByShortestLength")
 +        protected Boolean denominateByShortestLength;
++        @XmlAttribute(name = "width")
++        protected Integer width;
++        @XmlAttribute(name = "height")
++        protected Integer height;
++        @XmlAttribute(name = "xpos")
++        protected Integer xpos;
++        @XmlAttribute(name = "ypos")
++        protected Integer ypos;
  
 -    /**
 -     * Gets the value of the height property.
 -     * 
 -     * @return possible object is {@link Integer }
 -     * 
 -     */
 -    public Integer getHeight()
 -    {
 -      return height;
 -    }
 +        /**
 +         * Gets the value of the sequencePoint property.
 +         * 
-          * &lt;p&gt;
++         * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the sequencePoint property.
++         * This is why there is not a <CODE>set</CODE> method for the sequencePoint property.
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * For example, to add a new item, do as follows:
-          * &lt;pre&gt;
++         * <pre>
 +         *    getSequencePoint().add(newItem);
-          * &lt;/pre&gt;
++         * </pre>
 +         * 
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * Objects of the following type(s) are allowed in the list
 +         * {@link JalviewModel.PcaViewer.SequencePoint }
 +         * 
 +         * 
 +         */
 +        public List<JalviewModel.PcaViewer.SequencePoint> getSequencePoint() {
 +            if (sequencePoint == null) {
 +                sequencePoint = new ArrayList<JalviewModel.PcaViewer.SequencePoint>();
 +            }
 +            return this.sequencePoint;
 +        }
  
 -    /**
 -     * Sets the value of the height property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Integer }
 -     * 
 -     */
 -    public void setHeight(Integer value)
 -    {
 -      this.height = value;
 -    }
 +        /**
 +         * Gets the value of the axis property.
 +         * 
-          * &lt;p&gt;
++         * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the axis property.
++         * This is why there is not a <CODE>set</CODE> method for the axis property.
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * For example, to add a new item, do as follows:
-          * &lt;pre&gt;
++         * <pre>
 +         *    getAxis().add(newItem);
-          * &lt;/pre&gt;
++         * </pre>
 +         * 
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * Objects of the following type(s) are allowed in the list
 +         * {@link JalviewModel.PcaViewer.Axis }
 +         * 
 +         * 
 +         */
 +        public List<JalviewModel.PcaViewer.Axis> getAxis() {
 +            if (axis == null) {
 +                axis = new ArrayList<JalviewModel.PcaViewer.Axis>();
 +            }
 +            return this.axis;
 +        }
  
 -    /**
 -     * Gets the value of the xpos property.
 -     * 
 -     * @return possible object is {@link Integer }
 -     * 
 -     */
 -    public Integer getXpos()
 -    {
 -      return xpos;
 -    }
 +        /**
 +         * Gets the value of the seqPointMin property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link JalviewModel.PcaViewer.SeqPointMin }
 +         *     
 +         */
 +        public JalviewModel.PcaViewer.SeqPointMin getSeqPointMin() {
 +            return seqPointMin;
 +        }
  
 -    /**
 -     * Sets the value of the xpos property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Integer }
 -     * 
 -     */
 -    public void setXpos(Integer value)
 -    {
 -      this.xpos = value;
 -    }
 +        /**
 +         * Sets the value of the seqPointMin property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link JalviewModel.PcaViewer.SeqPointMin }
 +         *     
 +         */
 +        public void setSeqPointMin(JalviewModel.PcaViewer.SeqPointMin value) {
 +            this.seqPointMin = value;
 +        }
  
 -    /**
 -     * Gets the value of the ypos property.
 -     * 
 -     * @return possible object is {@link Integer }
 -     * 
 -     */
 -    public Integer getYpos()
 -    {
 -      return ypos;
 -    }
 +        /**
 +         * Gets the value of the seqPointMax property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link JalviewModel.PcaViewer.SeqPointMax }
 +         *     
 +         */
 +        public JalviewModel.PcaViewer.SeqPointMax getSeqPointMax() {
 +            return seqPointMax;
 +        }
  
 -    /**
 -     * Sets the value of the ypos property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Integer }
 -     * 
 -     */
 -    public void setYpos(Integer value)
 -    {
 -      this.ypos = value;
 -    }
 +        /**
 +         * Sets the value of the seqPointMax property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link JalviewModel.PcaViewer.SeqPointMax }
 +         *     
 +         */
 +        public void setSeqPointMax(JalviewModel.PcaViewer.SeqPointMax value) {
 +            this.seqPointMax = value;
 +        }
  
 -    /**
 -     * Gets the value of the includeGaps property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public Boolean isIncludeGaps()
 -    {
 -      return includeGaps;
 -    }
 +        /**
 +         * Gets the value of the pcaData property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link PcaDataType }
 +         *     
 +         */
 +        public PcaDataType getPcaData() {
 +            return pcaData;
 +        }
  
 -    /**
 -     * Sets the value of the includeGaps property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setIncludeGaps(Boolean value)
 -    {
 -      this.includeGaps = value;
 -    }
 +        /**
 +         * Sets the value of the pcaData property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link PcaDataType }
 +         *     
 +         */
 +        public void setPcaData(PcaDataType value) {
 +            this.pcaData = value;
 +        }
  
 -    /**
 -     * Gets the value of the matchGaps property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public Boolean isMatchGaps()
 -    {
 -      return matchGaps;
 -    }
 +        /**
 +         * Gets the value of the title property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link String }
 +         *     
 +         */
 +        public String getTitle() {
 +            return title;
 +        }
  
 -    /**
 -     * Sets the value of the matchGaps property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setMatchGaps(Boolean value)
 -    {
 -      this.matchGaps = value;
 -    }
 +        /**
 +         * Sets the value of the title property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link String }
 +         *     
 +         */
 +        public void setTitle(String value) {
 +            this.title = value;
 +        }
  
 -    /**
 -     * Gets the value of the includeGappedColumns property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public Boolean isIncludeGappedColumns()
 -    {
 -      return includeGappedColumns;
 -    }
 +        /**
 +         * Gets the value of the scoreModelName property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link String }
 +         *     
 +         */
 +        public String getScoreModelName() {
 +            return scoreModelName;
 +        }
  
 -    /**
 -     * Sets the value of the includeGappedColumns property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setIncludeGappedColumns(Boolean value)
 -    {
 -      this.includeGappedColumns = value;
 -    }
 +        /**
 +         * Sets the value of the scoreModelName property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link String }
 +         *     
 +         */
 +        public void setScoreModelName(String value) {
 +            this.scoreModelName = value;
 +        }
  
 -    /**
 -     * Gets the value of the denominateByShortestLength property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public Boolean isDenominateByShortestLength()
 -    {
 -      return denominateByShortestLength;
 -    }
 +        /**
 +         * Gets the value of the xDim property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Integer }
 +         *     
 +         */
 +        public Integer getXDim() {
 +            return xDim;
 +        }
  
 -    /**
 -     * Sets the value of the denominateByShortestLength property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setDenominateByShortestLength(Boolean value)
 -    {
 -      this.denominateByShortestLength = value;
 -    }
 +        /**
 +         * Sets the value of the xDim property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Integer }
 +         *     
 +         */
 +        public void setXDim(Integer value) {
 +            this.xDim = value;
 +        }
  
 -    /**
 -     * &lt;p&gt;Java class for anonymous complex type.
 -     * 
 -     * &lt;p&gt;The following schema fragment specifies the expected content
 -     * contained within this class.
 -     * 
 -     * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
 -     * &amp;lt;restriction
 -     * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attGroup
 -     * ref="{www.jalview.org}position"/&amp;gt; &amp;lt;/restriction&amp;gt;
 -     * &amp;lt;/complexContent&amp;gt; &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
 -     * 
 -     * 
 -     */
 -    @XmlAccessorType(XmlAccessType.FIELD)
 -    @XmlType(name = "")
 -    public static class Axis
 -    {
 -
 -      @XmlAttribute(name = "xPos")
 -      protected Float xPos;
 -
 -      @XmlAttribute(name = "yPos")
 -      protected Float yPos;
 -
 -      @XmlAttribute(name = "zPos")
 -      protected Float zPos;
 -
 -      /**
 -       * Gets the value of the xPos property.
 -       * 
 -       * @return possible object is {@link Float }
 -       * 
 -       */
 -      public Float getXPos()
 -      {
 -        return xPos;
 -      }
 -
 -      /**
 -       * Sets the value of the xPos property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link Float }
 -       * 
 -       */
 -      public void setXPos(Float value)
 -      {
 -        this.xPos = value;
 -      }
 -
 -      /**
 -       * Gets the value of the yPos property.
 -       * 
 -       * @return possible object is {@link Float }
 -       * 
 -       */
 -      public Float getYPos()
 -      {
 -        return yPos;
 -      }
 -
 -      /**
 -       * Sets the value of the yPos property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link Float }
 -       * 
 -       */
 -      public void setYPos(Float value)
 -      {
 -        this.yPos = value;
 -      }
 -
 -      /**
 -       * Gets the value of the zPos property.
 -       * 
 -       * @return possible object is {@link Float }
 -       * 
 -       */
 -      public Float getZPos()
 -      {
 -        return zPos;
 -      }
 -
 -      /**
 -       * Sets the value of the zPos property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link Float }
 -       * 
 -       */
 -      public void setZPos(Float value)
 -      {
 -        this.zPos = value;
 -      }
 +        /**
 +         * Gets the value of the yDim property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Integer }
 +         *     
 +         */
 +        public Integer getYDim() {
 +            return yDim;
 +        }
  
 -    }
 +        /**
 +         * Sets the value of the yDim property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Integer }
 +         *     
 +         */
 +        public void setYDim(Integer value) {
 +            this.yDim = value;
 +        }
  
 -    /**
 -     * &lt;p&gt;Java class for anonymous complex type.
 -     * 
 -     * &lt;p&gt;The following schema fragment specifies the expected content
 -     * contained within this class.
 -     * 
 -     * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
 -     * &amp;lt;restriction
 -     * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attGroup
 -     * ref="{www.jalview.org}position"/&amp;gt; &amp;lt;/restriction&amp;gt;
 -     * &amp;lt;/complexContent&amp;gt; &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
 -     * 
 -     * 
 -     */
 -    @XmlAccessorType(XmlAccessType.FIELD)
 -    @XmlType(name = "")
 -    public static class SeqPointMax
 -    {
 -
 -      @XmlAttribute(name = "xPos")
 -      protected Float xPos;
 -
 -      @XmlAttribute(name = "yPos")
 -      protected Float yPos;
 -
 -      @XmlAttribute(name = "zPos")
 -      protected Float zPos;
 -
 -      /**
 -       * Gets the value of the xPos property.
 -       * 
 -       * @return possible object is {@link Float }
 -       * 
 -       */
 -      public Float getXPos()
 -      {
 -        return xPos;
 -      }
 -
 -      /**
 -       * Sets the value of the xPos property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link Float }
 -       * 
 -       */
 -      public void setXPos(Float value)
 -      {
 -        this.xPos = value;
 -      }
 -
 -      /**
 -       * Gets the value of the yPos property.
 -       * 
 -       * @return possible object is {@link Float }
 -       * 
 -       */
 -      public Float getYPos()
 -      {
 -        return yPos;
 -      }
 -
 -      /**
 -       * Sets the value of the yPos property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link Float }
 -       * 
 -       */
 -      public void setYPos(Float value)
 -      {
 -        this.yPos = value;
 -      }
 -
 -      /**
 -       * Gets the value of the zPos property.
 -       * 
 -       * @return possible object is {@link Float }
 -       * 
 -       */
 -      public Float getZPos()
 -      {
 -        return zPos;
 -      }
 -
 -      /**
 -       * Sets the value of the zPos property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link Float }
 -       * 
 -       */
 -      public void setZPos(Float value)
 -      {
 -        this.zPos = value;
 -      }
 +        /**
 +         * Gets the value of the zDim property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Integer }
 +         *     
 +         */
 +        public Integer getZDim() {
 +            return zDim;
 +        }
  
 -    }
 +        /**
 +         * Sets the value of the zDim property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Integer }
 +         *     
 +         */
 +        public void setZDim(Integer value) {
 +            this.zDim = value;
 +        }
  
 -    /**
 -     * &lt;p&gt;Java class for anonymous complex type.
 -     * 
 -     * &lt;p&gt;The following schema fragment specifies the expected content
 -     * contained within this class.
 -     * 
 -     * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
 -     * &amp;lt;restriction
 -     * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attGroup
 -     * ref="{www.jalview.org}position"/&amp;gt; &amp;lt;/restriction&amp;gt;
 -     * &amp;lt;/complexContent&amp;gt; &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
 -     * 
 -     * 
 -     */
 -    @XmlAccessorType(XmlAccessType.FIELD)
 -    @XmlType(name = "")
 -    public static class SeqPointMin
 -    {
 -
 -      @XmlAttribute(name = "xPos")
 -      protected Float xPos;
 -
 -      @XmlAttribute(name = "yPos")
 -      protected Float yPos;
 -
 -      @XmlAttribute(name = "zPos")
 -      protected Float zPos;
 -
 -      /**
 -       * Gets the value of the xPos property.
 -       * 
 -       * @return possible object is {@link Float }
 -       * 
 -       */
 -      public Float getXPos()
 -      {
 -        return xPos;
 -      }
 -
 -      /**
 -       * Sets the value of the xPos property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link Float }
 -       * 
 -       */
 -      public void setXPos(Float value)
 -      {
 -        this.xPos = value;
 -      }
 -
 -      /**
 -       * Gets the value of the yPos property.
 -       * 
 -       * @return possible object is {@link Float }
 -       * 
 -       */
 -      public Float getYPos()
 -      {
 -        return yPos;
 -      }
 -
 -      /**
 -       * Sets the value of the yPos property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link Float }
 -       * 
 -       */
 -      public void setYPos(Float value)
 -      {
 -        this.yPos = value;
 -      }
 -
 -      /**
 -       * Gets the value of the zPos property.
 -       * 
 -       * @return possible object is {@link Float }
 -       * 
 -       */
 -      public Float getZPos()
 -      {
 -        return zPos;
 -      }
 -
 -      /**
 -       * Sets the value of the zPos property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link Float }
 -       * 
 -       */
 -      public void setZPos(Float value)
 -      {
 -        this.zPos = value;
 -      }
 +        /**
 +         * Gets the value of the bgColour property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Integer }
 +         *     
 +         */
 +        public Integer getBgColour() {
 +            return bgColour;
 +        }
  
 -    }
 +        /**
 +         * Sets the value of the bgColour property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Integer }
 +         *     
 +         */
 +        public void setBgColour(Integer value) {
 +            this.bgColour = value;
 +        }
  
 -    /**
 -     * &lt;p&gt;Java class for anonymous complex type.
 -     * 
 -     * &lt;p&gt;The following schema fragment specifies the expected content
 -     * contained within this class.
 -     * 
 -     * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
 -     * &amp;lt;restriction
 -     * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attGroup
 -     * ref="{www.jalview.org}position"/&amp;gt; &amp;lt;attribute
 -     * name="sequenceRef" type="{http://www.w3.org/2001/XMLSchema}string"
 -     * /&amp;gt; &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 -     * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
 -     * 
 -     * 
 -     */
 -    @XmlAccessorType(XmlAccessType.FIELD)
 -    @XmlType(name = "")
 -    public static class SequencePoint
 -    {
 -
 -      @XmlAttribute(name = "sequenceRef")
 -      protected String sequenceRef;
 -
 -      @XmlAttribute(name = "xPos")
 -      protected Float xPos;
 -
 -      @XmlAttribute(name = "yPos")
 -      protected Float yPos;
 -
 -      @XmlAttribute(name = "zPos")
 -      protected Float zPos;
 -
 -      /**
 -       * Gets the value of the sequenceRef property.
 -       * 
 -       * @return possible object is {@link String }
 -       * 
 -       */
 -      public String getSequenceRef()
 -      {
 -        return sequenceRef;
 -      }
 -
 -      /**
 -       * Sets the value of the sequenceRef property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link String }
 -       * 
 -       */
 -      public void setSequenceRef(String value)
 -      {
 -        this.sequenceRef = value;
 -      }
 -
 -      /**
 -       * Gets the value of the xPos property.
 -       * 
 -       * @return possible object is {@link Float }
 -       * 
 -       */
 -      public Float getXPos()
 -      {
 -        return xPos;
 -      }
 -
 -      /**
 -       * Sets the value of the xPos property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link Float }
 -       * 
 -       */
 -      public void setXPos(Float value)
 -      {
 -        this.xPos = value;
 -      }
 -
 -      /**
 -       * Gets the value of the yPos property.
 -       * 
 -       * @return possible object is {@link Float }
 -       * 
 -       */
 -      public Float getYPos()
 -      {
 -        return yPos;
 -      }
 -
 -      /**
 -       * Sets the value of the yPos property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link Float }
 -       * 
 -       */
 -      public void setYPos(Float value)
 -      {
 -        this.yPos = value;
 -      }
 -
 -      /**
 -       * Gets the value of the zPos property.
 -       * 
 -       * @return possible object is {@link Float }
 -       * 
 -       */
 -      public Float getZPos()
 -      {
 -        return zPos;
 -      }
 -
 -      /**
 -       * Sets the value of the zPos property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link Float }
 -       * 
 -       */
 -      public void setZPos(Float value)
 -      {
 -        this.zPos = value;
 -      }
 +        /**
 +         * Gets the value of the scaleFactor property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Float }
 +         *     
 +         */
 +        public Float getScaleFactor() {
 +            return scaleFactor;
 +        }
  
 -    }
 +        /**
 +         * Sets the value of the scaleFactor property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Float }
 +         *     
 +         */
 +        public void setScaleFactor(Float value) {
 +            this.scaleFactor = value;
 +        }
  
 -  }
 -
 -  /**
 -   * &lt;p&gt;Java class for anonymous complex type.
 -   * 
 -   * &lt;p&gt;The following schema fragment specifies the expected content
 -   * contained within this class.
 -   * 
 -   * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
 -   * &amp;lt;restriction
 -   * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;sequence
 -   * minOccurs="0"&amp;gt; &amp;lt;element name="title"
 -   * type="{http://www.w3.org/2001/XMLSchema}string"/&amp;gt; &amp;lt;element
 -   * name="newick" type="{http://www.w3.org/2001/XMLSchema}string"/&amp;gt;
 -   * &amp;lt;/sequence&amp;gt; &amp;lt;attGroup
 -   * ref="{www.jalview.org}swingwindow"/&amp;gt; &amp;lt;attribute
 -   * name="fontName" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
 -   * &amp;lt;attribute name="fontSize"
 -   * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
 -   * name="fontStyle" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
 -   * &amp;lt;attribute name="threshold"
 -   * type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt; &amp;lt;attribute
 -   * name="showBootstrap" type="{http://www.w3.org/2001/XMLSchema}boolean"
 -   * /&amp;gt; &amp;lt;attribute name="showDistances"
 -   * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
 -   * &amp;lt;attribute name="markUnlinked"
 -   * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
 -   * &amp;lt;attribute name="fitToWindow"
 -   * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
 -   * &amp;lt;attribute name="currentTree"
 -   * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
 -   * &amp;lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID"
 -   * /&amp;gt; &amp;lt;attribute name="linkToAllViews"
 -   * type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
 -   * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 -   * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
 -   * 
 -   * 
 -   */
 -  @XmlAccessorType(XmlAccessType.FIELD)
 -  @XmlType(name = "", propOrder = { "title", "newick" })
 -  public static class Tree
 -  {
 -
 -    @XmlElement(namespace = "www.jalview.org")
 -    protected String title;
 -
 -    @XmlElement(namespace = "www.jalview.org")
 -    protected String newick;
 -
 -    @XmlAttribute(name = "fontName")
 -    protected String fontName;
 -
 -    @XmlAttribute(name = "fontSize")
 -    protected Integer fontSize;
 -
 -    @XmlAttribute(name = "fontStyle")
 -    protected Integer fontStyle;
 -
 -    @XmlAttribute(name = "threshold")
 -    protected Float threshold;
 -
 -    @XmlAttribute(name = "showBootstrap")
 -    protected Boolean showBootstrap;
 -
 -    @XmlAttribute(name = "showDistances")
 -    protected Boolean showDistances;
 -
 -    @XmlAttribute(name = "markUnlinked")
 -    protected Boolean markUnlinked;
 -
 -    @XmlAttribute(name = "fitToWindow")
 -    protected Boolean fitToWindow;
 -
 -    @XmlAttribute(name = "currentTree")
 -    protected Boolean currentTree;
 -
 -    @XmlAttribute(name = "id")
 -    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
 -    @XmlID
 -    @XmlSchemaType(name = "ID")
 -    protected String id;
 -
 -    @XmlAttribute(name = "linkToAllViews")
 -    protected Boolean linkToAllViews;
 -
 -    @XmlAttribute(name = "width")
 -    protected Integer width;
 -
 -    @XmlAttribute(name = "height")
 -    protected Integer height;
 -
 -    @XmlAttribute(name = "xpos")
 -    protected Integer xpos;
 -
 -    @XmlAttribute(name = "ypos")
 -    protected Integer ypos;
 +        /**
 +         * Gets the value of the showLabels property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public Boolean isShowLabels() {
 +            return showLabels;
 +        }
  
 -    /**
 -     * Gets the value of the title property.
 -     * 
 -     * @return possible object is {@link String }
 -     * 
 -     */
 -    public String getTitle()
 -    {
 -      return title;
 -    }
 +        /**
 +         * Sets the value of the showLabels property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public void setShowLabels(Boolean value) {
 +            this.showLabels = value;
 +        }
  
 -    /**
 -     * Sets the value of the title property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link String }
 -     * 
 -     */
 -    public void setTitle(String value)
 -    {
 -      this.title = value;
 -    }
 +        /**
 +         * Gets the value of the linkToAllViews property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public Boolean isLinkToAllViews() {
 +            return linkToAllViews;
 +        }
  
 -    /**
 -     * Gets the value of the newick property.
 -     * 
 -     * @return possible object is {@link String }
 -     * 
 -     */
 -    public String getNewick()
 -    {
 -      return newick;
 -    }
 +        /**
 +         * Sets the value of the linkToAllViews property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public void setLinkToAllViews(Boolean value) {
 +            this.linkToAllViews = value;
 +        }
  
 -    /**
 -     * Sets the value of the newick property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link String }
 -     * 
 -     */
 -    public void setNewick(String value)
 -    {
 -      this.newick = value;
 -    }
 +        /**
-          * Gets the value of the width property.
++         * Gets the value of the includeGaps property.
 +         * 
 +         * @return
 +         *     possible object is
-          *     {@link Integer }
++         *     {@link Boolean }
 +         *     
 +         */
-         public Integer getWidth() {
-             return width;
++        public Boolean isIncludeGaps() {
++            return includeGaps;
 +        }
  
 -    /**
 -     * Gets the value of the fontName property.
 -     * 
 -     * @return possible object is {@link String }
 -     * 
 -     */
 -    public String getFontName()
 -    {
 -      return fontName;
 -    }
 +        /**
-          * Sets the value of the width property.
++         * Sets the value of the includeGaps property.
 +         * 
 +         * @param value
 +         *     allowed object is
-          *     {@link Integer }
++         *     {@link Boolean }
 +         *     
 +         */
-         public void setWidth(Integer value) {
-             this.width = value;
++        public void setIncludeGaps(Boolean value) {
++            this.includeGaps = value;
 +        }
  
 -    /**
 -     * Sets the value of the fontName property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link String }
 -     * 
 -     */
 -    public void setFontName(String value)
 -    {
 -      this.fontName = value;
 -    }
 +        /**
-          * Gets the value of the height property.
++         * Gets the value of the matchGaps property.
 +         * 
 +         * @return
 +         *     possible object is
-          *     {@link Integer }
++         *     {@link Boolean }
 +         *     
 +         */
-         public Integer getHeight() {
-             return height;
++        public Boolean isMatchGaps() {
++            return matchGaps;
 +        }
  
 -    /**
 -     * Gets the value of the fontSize property.
 -     * 
 -     * @return possible object is {@link Integer }
 -     * 
 -     */
 -    public Integer getFontSize()
 -    {
 -      return fontSize;
 -    }
 +        /**
-          * Sets the value of the height property.
++         * Sets the value of the matchGaps property.
 +         * 
 +         * @param value
 +         *     allowed object is
-          *     {@link Integer }
++         *     {@link Boolean }
 +         *     
 +         */
-         public void setHeight(Integer value) {
-             this.height = value;
++        public void setMatchGaps(Boolean value) {
++            this.matchGaps = value;
 +        }
  
 -    /**
 -     * Sets the value of the fontSize property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Integer }
 -     * 
 -     */
 -    public void setFontSize(Integer value)
 -    {
 -      this.fontSize = value;
 -    }
 +        /**
-          * Gets the value of the xpos property.
++         * Gets the value of the includeGappedColumns property.
 +         * 
 +         * @return
 +         *     possible object is
-          *     {@link Integer }
++         *     {@link Boolean }
 +         *     
 +         */
-         public Integer getXpos() {
-             return xpos;
++        public Boolean isIncludeGappedColumns() {
++            return includeGappedColumns;
 +        }
  
 -    /**
 -     * Gets the value of the fontStyle property.
 -     * 
 -     * @return possible object is {@link Integer }
 -     * 
 -     */
 -    public Integer getFontStyle()
 -    {
 -      return fontStyle;
 -    }
 +        /**
-          * Sets the value of the xpos property.
++         * Sets the value of the includeGappedColumns property.
 +         * 
 +         * @param value
 +         *     allowed object is
-          *     {@link Integer }
++         *     {@link Boolean }
 +         *     
 +         */
-         public void setXpos(Integer value) {
-             this.xpos = value;
++        public void setIncludeGappedColumns(Boolean value) {
++            this.includeGappedColumns = value;
 +        }
  
 -    /**
 -     * Sets the value of the fontStyle property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Integer }
 -     * 
 -     */
 -    public void setFontStyle(Integer value)
 -    {
 -      this.fontStyle = value;
 -    }
 +        /**
-          * Gets the value of the ypos property.
++         * Gets the value of the denominateByShortestLength property.
 +         * 
 +         * @return
 +         *     possible object is
-          *     {@link Integer }
++         *     {@link Boolean }
 +         *     
 +         */
-         public Integer getYpos() {
-             return ypos;
++        public Boolean isDenominateByShortestLength() {
++            return denominateByShortestLength;
 +        }
  
 -    /**
 -     * Gets the value of the threshold property.
 -     * 
 -     * @return possible object is {@link Float }
 -     * 
 -     */
 -    public Float getThreshold()
 -    {
 -      return threshold;
 -    }
 +        /**
-          * Sets the value of the ypos property.
++         * Sets the value of the denominateByShortestLength property.
 +         * 
 +         * @param value
 +         *     allowed object is
-          *     {@link Integer }
++         *     {@link Boolean }
 +         *     
 +         */
-         public void setYpos(Integer value) {
-             this.ypos = value;
++        public void setDenominateByShortestLength(Boolean value) {
++            this.denominateByShortestLength = value;
 +        }
  
 -    /**
 -     * Sets the value of the threshold property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Float }
 -     * 
 -     */
 -    public void setThreshold(Float value)
 -    {
 -      this.threshold = value;
 -    }
 +        /**
-          * Gets the value of the includeGaps property.
++         * Gets the value of the width property.
 +         * 
 +         * @return
 +         *     possible object is
-          *     {@link Boolean }
++         *     {@link Integer }
 +         *     
 +         */
-         public Boolean isIncludeGaps() {
-             return includeGaps;
++        public Integer getWidth() {
++            return width;
 +        }
  
 -    /**
 -     * Gets the value of the showBootstrap property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public Boolean isShowBootstrap()
 -    {
 -      return showBootstrap;
 -    }
 +        /**
-          * Sets the value of the includeGaps property.
++         * Sets the value of the width property.
 +         * 
 +         * @param value
 +         *     allowed object is
-          *     {@link Boolean }
++         *     {@link Integer }
 +         *     
 +         */
-         public void setIncludeGaps(Boolean value) {
-             this.includeGaps = value;
++        public void setWidth(Integer value) {
++            this.width = value;
 +        }
  
 -    /**
 -     * Sets the value of the showBootstrap property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setShowBootstrap(Boolean value)
 -    {
 -      this.showBootstrap = value;
 -    }
 +        /**
-          * Gets the value of the matchGaps property.
++         * Gets the value of the height property.
 +         * 
 +         * @return
 +         *     possible object is
-          *     {@link Boolean }
++         *     {@link Integer }
 +         *     
 +         */
-         public Boolean isMatchGaps() {
-             return matchGaps;
++        public Integer getHeight() {
++            return height;
 +        }
  
 -    /**
 -     * Gets the value of the showDistances property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public Boolean isShowDistances()
 -    {
 -      return showDistances;
 -    }
 +        /**
-          * Sets the value of the matchGaps property.
++         * Sets the value of the height property.
 +         * 
 +         * @param value
 +         *     allowed object is
-          *     {@link Boolean }
++         *     {@link Integer }
 +         *     
 +         */
-         public void setMatchGaps(Boolean value) {
-             this.matchGaps = value;
++        public void setHeight(Integer value) {
++            this.height = value;
 +        }
  
 -    /**
 -     * Sets the value of the showDistances property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setShowDistances(Boolean value)
 -    {
 -      this.showDistances = value;
 -    }
 +        /**
-          * Gets the value of the includeGappedColumns property.
++         * Gets the value of the xpos property.
 +         * 
 +         * @return
 +         *     possible object is
-          *     {@link Boolean }
++         *     {@link Integer }
 +         *     
 +         */
-         public Boolean isIncludeGappedColumns() {
-             return includeGappedColumns;
++        public Integer getXpos() {
++            return xpos;
 +        }
  
 -    /**
 -     * Gets the value of the markUnlinked property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public Boolean isMarkUnlinked()
 -    {
 -      return markUnlinked;
 -    }
 +        /**
-          * Sets the value of the includeGappedColumns property.
++         * Sets the value of the xpos property.
 +         * 
 +         * @param value
 +         *     allowed object is
-          *     {@link Boolean }
++         *     {@link Integer }
 +         *     
 +         */
-         public void setIncludeGappedColumns(Boolean value) {
-             this.includeGappedColumns = value;
++        public void setXpos(Integer value) {
++            this.xpos = value;
 +        }
  
 -    /**
 -     * Sets the value of the markUnlinked property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setMarkUnlinked(Boolean value)
 -    {
 -      this.markUnlinked = value;
 -    }
 +        /**
-          * Gets the value of the denominateByShortestLength property.
++         * Gets the value of the ypos property.
 +         * 
 +         * @return
 +         *     possible object is
-          *     {@link Boolean }
++         *     {@link Integer }
 +         *     
 +         */
-         public Boolean isDenominateByShortestLength() {
-             return denominateByShortestLength;
++        public Integer getYpos() {
++            return ypos;
 +        }
  
 -    /**
 -     * Gets the value of the fitToWindow property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public Boolean isFitToWindow()
 -    {
 -      return fitToWindow;
 -    }
 +        /**
-          * Sets the value of the denominateByShortestLength property.
++         * Sets the value of the ypos property.
 +         * 
 +         * @param value
 +         *     allowed object is
-          *     {@link Boolean }
++         *     {@link Integer }
 +         *     
 +         */
-         public void setDenominateByShortestLength(Boolean value) {
-             this.denominateByShortestLength = value;
++        public void setYpos(Integer value) {
++            this.ypos = value;
 +        }
  
 -    /**
 -     * Sets the value of the fitToWindow property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setFitToWindow(Boolean value)
 -    {
 -      this.fitToWindow = value;
 -    }
  
 -    /**
 -     * Gets the value of the currentTree property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public Boolean isCurrentTree()
 -    {
 -      return currentTree;
 -    }
 +        /**
-          * &lt;p&gt;Java class for anonymous complex type.
++         * <p>Java class for anonymous complex type.
 +         * 
-          * &lt;p&gt;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.
 +         * 
-          * &lt;pre&gt;
-          * &amp;lt;complexType&amp;gt;
-          *   &amp;lt;complexContent&amp;gt;
-          *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-          *       &amp;lt;attGroup ref="{www.jalview.org}position"/&amp;gt;
-          *     &amp;lt;/restriction&amp;gt;
-          *   &amp;lt;/complexContent&amp;gt;
-          * &amp;lt;/complexType&amp;gt;
-          * &lt;/pre&gt;
++         * <pre>
++         * &lt;complexType>
++         *   &lt;complexContent>
++         *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++         *       &lt;attGroup ref="{www.jalview.org}position"/>
++         *     &lt;/restriction>
++         *   &lt;/complexContent>
++         * &lt;/complexType>
++         * </pre>
 +         * 
 +         * 
 +         */
 +        @XmlAccessorType(XmlAccessType.FIELD)
 +        @XmlType(name = "")
 +        public static class Axis {
 +
 +            @XmlAttribute(name = "xPos")
 +            protected Float xPos;
 +            @XmlAttribute(name = "yPos")
 +            protected Float yPos;
 +            @XmlAttribute(name = "zPos")
 +            protected Float zPos;
 +
 +            /**
 +             * Gets the value of the xPos property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link Float }
 +             *     
 +             */
 +            public Float getXPos() {
 +                return xPos;
 +            }
 +
 +            /**
 +             * Sets the value of the xPos property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link Float }
 +             *     
 +             */
 +            public void setXPos(Float value) {
 +                this.xPos = value;
 +            }
 +
 +            /**
 +             * Gets the value of the yPos property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link Float }
 +             *     
 +             */
 +            public Float getYPos() {
 +                return yPos;
 +            }
 +
 +            /**
 +             * Sets the value of the yPos property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link Float }
 +             *     
 +             */
 +            public void setYPos(Float value) {
 +                this.yPos = value;
 +            }
 +
 +            /**
 +             * Gets the value of the zPos property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link Float }
 +             *     
 +             */
 +            public Float getZPos() {
 +                return zPos;
 +            }
 +
 +            /**
 +             * Sets the value of the zPos property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link Float }
 +             *     
 +             */
 +            public void setZPos(Float value) {
 +                this.zPos = value;
 +            }
  
 -    /**
 -     * Sets the value of the currentTree property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setCurrentTree(Boolean value)
 -    {
 -      this.currentTree = value;
 -    }
 +        }
  
 -    /**
 -     * Gets the value of the id property.
 -     * 
 -     * @return possible object is {@link String }
 -     * 
 -     */
 -    public String getId()
 -    {
 -      return id;
 -    }
  
 -    /**
 -     * Sets the value of the id property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link String }
 -     * 
 -     */
 -    public void setId(String value)
 -    {
 -      this.id = value;
 -    }
 +        /**
-          * &lt;p&gt;Java class for anonymous complex type.
++         * <p>Java class for anonymous complex type.
 +         * 
-          * &lt;p&gt;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.
 +         * 
-          * &lt;pre&gt;
-          * &amp;lt;complexType&amp;gt;
-          *   &amp;lt;complexContent&amp;gt;
-          *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-          *       &amp;lt;attGroup ref="{www.jalview.org}position"/&amp;gt;
-          *     &amp;lt;/restriction&amp;gt;
-          *   &amp;lt;/complexContent&amp;gt;
-          * &amp;lt;/complexType&amp;gt;
-          * &lt;/pre&gt;
++         * <pre>
++         * &lt;complexType>
++         *   &lt;complexContent>
++         *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++         *       &lt;attGroup ref="{www.jalview.org}position"/>
++         *     &lt;/restriction>
++         *   &lt;/complexContent>
++         * &lt;/complexType>
++         * </pre>
 +         * 
 +         * 
 +         */
 +        @XmlAccessorType(XmlAccessType.FIELD)
 +        @XmlType(name = "")
 +        public static class SeqPointMax {
 +
 +            @XmlAttribute(name = "xPos")
 +            protected Float xPos;
 +            @XmlAttribute(name = "yPos")
 +            protected Float yPos;
 +            @XmlAttribute(name = "zPos")
 +            protected Float zPos;
 +
 +            /**
 +             * Gets the value of the xPos property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link Float }
 +             *     
 +             */
 +            public Float getXPos() {
 +                return xPos;
 +            }
 +
 +            /**
 +             * Sets the value of the xPos property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link Float }
 +             *     
 +             */
 +            public void setXPos(Float value) {
 +                this.xPos = value;
 +            }
 +
 +            /**
 +             * Gets the value of the yPos property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link Float }
 +             *     
 +             */
 +            public Float getYPos() {
 +                return yPos;
 +            }
 +
 +            /**
 +             * Sets the value of the yPos property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link Float }
 +             *     
 +             */
 +            public void setYPos(Float value) {
 +                this.yPos = value;
 +            }
 +
 +            /**
 +             * Gets the value of the zPos property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link Float }
 +             *     
 +             */
 +            public Float getZPos() {
 +                return zPos;
 +            }
 +
 +            /**
 +             * Sets the value of the zPos property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link Float }
 +             *     
 +             */
 +            public void setZPos(Float value) {
 +                this.zPos = value;
 +            }
  
 -    /**
 -     * Gets the value of the linkToAllViews property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public boolean isLinkToAllViews()
 -    {
 -      if (linkToAllViews == null)
 -      {
 -        return false;
 -      }
 -      else
 -      {
 -        return linkToAllViews;
 -      }
 -    }
 +        }
 +
 +
 +        /**
-          * &lt;p&gt;Java class for anonymous complex type.
++         * <p>Java class for anonymous complex type.
 +         * 
-          * &lt;p&gt;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.
 +         * 
-          * &lt;pre&gt;
-          * &amp;lt;complexType&amp;gt;
-          *   &amp;lt;complexContent&amp;gt;
-          *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-          *       &amp;lt;attGroup ref="{www.jalview.org}position"/&amp;gt;
-          *     &amp;lt;/restriction&amp;gt;
-          *   &amp;lt;/complexContent&amp;gt;
-          * &amp;lt;/complexType&amp;gt;
-          * &lt;/pre&gt;
++         * <pre>
++         * &lt;complexType>
++         *   &lt;complexContent>
++         *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++         *       &lt;attGroup ref="{www.jalview.org}position"/>
++         *     &lt;/restriction>
++         *   &lt;/complexContent>
++         * &lt;/complexType>
++         * </pre>
 +         * 
 +         * 
 +         */
 +        @XmlAccessorType(XmlAccessType.FIELD)
 +        @XmlType(name = "")
 +        public static class SeqPointMin {
 +
 +            @XmlAttribute(name = "xPos")
 +            protected Float xPos;
 +            @XmlAttribute(name = "yPos")
 +            protected Float yPos;
 +            @XmlAttribute(name = "zPos")
 +            protected Float zPos;
 +
 +            /**
 +             * Gets the value of the xPos property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link Float }
 +             *     
 +             */
 +            public Float getXPos() {
 +                return xPos;
 +            }
 +
 +            /**
 +             * Sets the value of the xPos property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link Float }
 +             *     
 +             */
 +            public void setXPos(Float value) {
 +                this.xPos = value;
 +            }
 +
 +            /**
 +             * Gets the value of the yPos property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link Float }
 +             *     
 +             */
 +            public Float getYPos() {
 +                return yPos;
 +            }
 +
 +            /**
 +             * Sets the value of the yPos property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link Float }
 +             *     
 +             */
 +            public void setYPos(Float value) {
 +                this.yPos = value;
 +            }
 +
 +            /**
 +             * Gets the value of the zPos property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link Float }
 +             *     
 +             */
 +            public Float getZPos() {
 +                return zPos;
 +            }
 +
 +            /**
 +             * Sets the value of the zPos property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link Float }
 +             *     
 +             */
 +            public void setZPos(Float value) {
 +                this.zPos = value;
 +            }
 +
 +        }
 +
 +
 +        /**
-          * &lt;p&gt;Java class for anonymous complex type.
++         * <p>Java class for anonymous complex type.
 +         * 
-          * &lt;p&gt;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.
 +         * 
-          * &lt;pre&gt;
-          * &amp;lt;complexType&amp;gt;
-          *   &amp;lt;complexContent&amp;gt;
-          *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-          *       &amp;lt;attGroup ref="{www.jalview.org}position"/&amp;gt;
-          *       &amp;lt;attribute name="sequenceRef" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-          *     &amp;lt;/restriction&amp;gt;
-          *   &amp;lt;/complexContent&amp;gt;
-          * &amp;lt;/complexType&amp;gt;
-          * &lt;/pre&gt;
++         * <pre>
++         * &lt;complexType>
++         *   &lt;complexContent>
++         *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++         *       &lt;attGroup ref="{www.jalview.org}position"/>
++         *       &lt;attribute name="sequenceRef" type="{http://www.w3.org/2001/XMLSchema}string" />
++         *     &lt;/restriction>
++         *   &lt;/complexContent>
++         * &lt;/complexType>
++         * </pre>
 +         * 
 +         * 
 +         */
 +        @XmlAccessorType(XmlAccessType.FIELD)
 +        @XmlType(name = "")
 +        public static class SequencePoint {
 +
 +            @XmlAttribute(name = "sequenceRef")
 +            protected String sequenceRef;
 +            @XmlAttribute(name = "xPos")
 +            protected Float xPos;
 +            @XmlAttribute(name = "yPos")
 +            protected Float yPos;
 +            @XmlAttribute(name = "zPos")
 +            protected Float zPos;
 +
 +            /**
 +             * Gets the value of the sequenceRef property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link String }
 +             *     
 +             */
 +            public String getSequenceRef() {
 +                return sequenceRef;
 +            }
 +
 +            /**
 +             * Sets the value of the sequenceRef property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link String }
 +             *     
 +             */
 +            public void setSequenceRef(String value) {
 +                this.sequenceRef = value;
 +            }
 +
 +            /**
 +             * Gets the value of the xPos property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link Float }
 +             *     
 +             */
 +            public Float getXPos() {
 +                return xPos;
 +            }
 +
 +            /**
 +             * Sets the value of the xPos property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link Float }
 +             *     
 +             */
 +            public void setXPos(Float value) {
 +                this.xPos = value;
 +            }
 +
 +            /**
 +             * Gets the value of the yPos property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link Float }
 +             *     
 +             */
 +            public Float getYPos() {
 +                return yPos;
 +            }
 +
 +            /**
 +             * Sets the value of the yPos property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link Float }
 +             *     
 +             */
 +            public void setYPos(Float value) {
 +                this.yPos = value;
 +            }
 +
 +            /**
 +             * Gets the value of the zPos property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link Float }
 +             *     
 +             */
 +            public Float getZPos() {
 +                return zPos;
 +            }
 +
 +            /**
 +             * Sets the value of the zPos property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link Float }
 +             *     
 +             */
 +            public void setZPos(Float value) {
 +                this.zPos = value;
 +            }
 +
 +        }
  
 -    /**
 -     * Sets the value of the linkToAllViews property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setLinkToAllViews(Boolean value)
 -    {
 -      this.linkToAllViews = value;
      }
  
 +
      /**
-      * &lt;p&gt;Java class for anonymous complex type.
 -     * Gets the value of the width property.
++     * <p>Java class for anonymous complex type.
       * 
-      * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
 -     * @return possible object is {@link Integer }
++     * <p>The following schema fragment specifies the expected content contained within this class.
       * 
-      * &lt;pre&gt;
-      * &amp;lt;complexType&amp;gt;
-      *   &amp;lt;complexContent&amp;gt;
-      *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-      *       &amp;lt;sequence minOccurs="0"&amp;gt;
-      *         &amp;lt;element name="title" type="{http://www.w3.org/2001/XMLSchema}string"/&amp;gt;
-      *         &amp;lt;element name="newick" type="{http://www.w3.org/2001/XMLSchema}string"/&amp;gt;
-      *       &amp;lt;/sequence&amp;gt;
-      *       &amp;lt;attGroup ref="{www.jalview.org}swingwindow"/&amp;gt;
-      *       &amp;lt;attribute name="fontName" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-      *       &amp;lt;attribute name="fontSize" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-      *       &amp;lt;attribute name="fontStyle" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-      *       &amp;lt;attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt;
-      *       &amp;lt;attribute name="showBootstrap" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-      *       &amp;lt;attribute name="showDistances" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-      *       &amp;lt;attribute name="markUnlinked" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-      *       &amp;lt;attribute name="fitToWindow" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-      *       &amp;lt;attribute name="currentTree" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-      *       &amp;lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" /&amp;gt;
-      *       &amp;lt;attribute name="linkToAllViews" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
-      *     &amp;lt;/restriction&amp;gt;
-      *   &amp;lt;/complexContent&amp;gt;
-      * &amp;lt;/complexType&amp;gt;
-      * &lt;/pre&gt;
 -     */
 -    public Integer getWidth()
 -    {
 -      return width;
 -    }
 -
 -    /**
 -     * Sets the value of the width property.
++     * <pre>
++     * &lt;complexType>
++     *   &lt;complexContent>
++     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++     *       &lt;sequence minOccurs="0">
++     *         &lt;element name="title" type="{http://www.w3.org/2001/XMLSchema}string"/>
++     *         &lt;element name="newick" type="{http://www.w3.org/2001/XMLSchema}string"/>
++     *       &lt;/sequence>
++     *       &lt;attGroup ref="{www.jalview.org}swingwindow"/>
++     *       &lt;attribute name="fontName" type="{http://www.w3.org/2001/XMLSchema}string" />
++     *       &lt;attribute name="fontSize" type="{http://www.w3.org/2001/XMLSchema}int" />
++     *       &lt;attribute name="fontStyle" type="{http://www.w3.org/2001/XMLSchema}int" />
++     *       &lt;attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" />
++     *       &lt;attribute name="showBootstrap" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++     *       &lt;attribute name="showDistances" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++     *       &lt;attribute name="markUnlinked" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++     *       &lt;attribute name="fitToWindow" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++     *       &lt;attribute name="currentTree" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++     *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
++     *       &lt;attribute name="linkToAllViews" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
++     *     &lt;/restriction>
++     *   &lt;/complexContent>
++     * &lt;/complexType>
++     * </pre>
       * 
 -     * @param value
 -     *          allowed object is {@link Integer }
       * 
       */
 -    public void setWidth(Integer value)
 -    {
 -      this.width = value;
 -    }
 +    @XmlAccessorType(XmlAccessType.FIELD)
 +    @XmlType(name = "", propOrder = {
 +        "title",
 +        "newick"
 +    })
 +    public static class Tree {
  
 -    /**
 -     * Gets the value of the height property.
 -     * 
 -     * @return possible object is {@link Integer }
 -     * 
 -     */
 -    public Integer getHeight()
 -    {
 -      return height;
 -    }
 +        @XmlElement(namespace = "www.jalview.org")
 +        protected String title;
 +        @XmlElement(namespace = "www.jalview.org")
 +        protected String newick;
 +        @XmlAttribute(name = "fontName")
 +        protected String fontName;
 +        @XmlAttribute(name = "fontSize")
 +        protected Integer fontSize;
 +        @XmlAttribute(name = "fontStyle")
 +        protected Integer fontStyle;
 +        @XmlAttribute(name = "threshold")
 +        protected Float threshold;
 +        @XmlAttribute(name = "showBootstrap")
 +        protected Boolean showBootstrap;
 +        @XmlAttribute(name = "showDistances")
 +        protected Boolean showDistances;
 +        @XmlAttribute(name = "markUnlinked")
 +        protected Boolean markUnlinked;
 +        @XmlAttribute(name = "fitToWindow")
 +        protected Boolean fitToWindow;
 +        @XmlAttribute(name = "currentTree")
 +        protected Boolean currentTree;
 +        @XmlAttribute(name = "id")
 +        @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
 +        @XmlID
 +        @XmlSchemaType(name = "ID")
 +        protected String id;
 +        @XmlAttribute(name = "linkToAllViews")
 +        protected Boolean linkToAllViews;
 +        @XmlAttribute(name = "width")
 +        protected Integer width;
 +        @XmlAttribute(name = "height")
 +        protected Integer height;
 +        @XmlAttribute(name = "xpos")
 +        protected Integer xpos;
 +        @XmlAttribute(name = "ypos")
 +        protected Integer ypos;
  
 -    /**
 -     * Sets the value of the height property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Integer }
 -     * 
 -     */
 -    public void setHeight(Integer value)
 -    {
 -      this.height = value;
 -    }
 +        /**
 +         * Gets the value of the title property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link String }
 +         *     
 +         */
 +        public String getTitle() {
 +            return title;
 +        }
  
 -    /**
 -     * Gets the value of the xpos property.
 -     * 
 -     * @return possible object is {@link Integer }
 -     * 
 -     */
 -    public Integer getXpos()
 -    {
 -      return xpos;
 -    }
 +        /**
 +         * Sets the value of the title property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link String }
 +         *     
 +         */
 +        public void setTitle(String value) {
 +            this.title = value;
 +        }
  
 -    /**
 -     * Sets the value of the xpos property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Integer }
 -     * 
 -     */
 -    public void setXpos(Integer value)
 -    {
 -      this.xpos = value;
 -    }
 +        /**
 +         * Gets the value of the newick property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link String }
 +         *     
 +         */
 +        public String getNewick() {
 +            return newick;
 +        }
  
 -    /**
 -     * Gets the value of the ypos property.
 -     * 
 -     * @return possible object is {@link Integer }
 -     * 
 -     */
 -    public Integer getYpos()
 -    {
 -      return ypos;
 -    }
 +        /**
 +         * Sets the value of the newick property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link String }
 +         *     
 +         */
 +        public void setNewick(String value) {
 +            this.newick = value;
 +        }
  
 -    /**
 -     * Sets the value of the ypos property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Integer }
 -     * 
 -     */
 -    public void setYpos(Integer value)
 -    {
 -      this.ypos = value;
 -    }
 +        /**
 +         * Gets the value of the fontName property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link String }
 +         *     
 +         */
 +        public String getFontName() {
 +            return fontName;
 +        }
  
 -  }
 -
 -  /**
 -   * &lt;p&gt;Java class for anonymous complex type.
 -   * 
 -   * &lt;p&gt;The following schema fragment specifies the expected content
 -   * contained within this class.
 -   * 
 -   * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
 -   * &amp;lt;restriction
 -   * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
 -   * &amp;lt;sequence&amp;gt; &amp;lt;element name="UserColourScheme"
 -   * type="{www.jalview.org/colours}JalviewUserColours"/&amp;gt;
 -   * &amp;lt;/sequence&amp;gt; &amp;lt;attribute name="id"
 -   * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
 -   * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 -   * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
 -   * 
 -   * 
 -   */
 -  @XmlAccessorType(XmlAccessType.FIELD)
 -  @XmlType(name = "", propOrder = { "userColourScheme" })
 -  public static class UserColours
 -  {
 -
 -    @XmlElement(
 -      name = "UserColourScheme",
 -      namespace = "www.jalview.org",
 -      required = true)
 -    protected JalviewUserColours userColourScheme;
 -
 -    @XmlAttribute(name = "id")
 -    protected String id;
 +        /**
 +         * Sets the value of the fontName property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link String }
 +         *     
 +         */
 +        public void setFontName(String value) {
 +            this.fontName = value;
 +        }
  
 -    /**
 -     * Gets the value of the userColourScheme property.
 -     * 
 -     * @return possible object is {@link JalviewUserColours }
 -     * 
 -     */
 -    public JalviewUserColours getUserColourScheme()
 -    {
 -      return userColourScheme;
 -    }
 +        /**
 +         * Gets the value of the fontSize property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Integer }
 +         *     
 +         */
 +        public Integer getFontSize() {
 +            return fontSize;
 +        }
  
 -    /**
 -     * Sets the value of the userColourScheme property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link JalviewUserColours }
 -     * 
 -     */
 -    public void setUserColourScheme(JalviewUserColours value)
 -    {
 -      this.userColourScheme = value;
 -    }
 +        /**
 +         * Sets the value of the fontSize property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Integer }
 +         *     
 +         */
 +        public void setFontSize(Integer value) {
 +            this.fontSize = value;
 +        }
  
 -    /**
 -     * Gets the value of the id property.
 -     * 
 -     * @return possible object is {@link String }
 -     * 
 -     */
 -    public String getId()
 -    {
 -      return id;
 -    }
 +        /**
 +         * Gets the value of the fontStyle property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Integer }
 +         *     
 +         */
 +        public Integer getFontStyle() {
 +            return fontStyle;
 +        }
  
 -    /**
 -     * Sets the value of the id property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link String }
 -     * 
 -     */
 -    public void setId(String value)
 -    {
 -      this.id = value;
 -    }
 +        /**
 +         * Sets the value of the fontStyle property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Integer }
 +         *     
 +         */
 +        public void setFontStyle(Integer value) {
 +            this.fontStyle = value;
 +        }
  
 -  }
 -
 -  /**
 -   * &lt;p&gt;Java class for anonymous complex type.
 -   * 
 -   * &lt;p&gt;The following schema fragment specifies the expected content
 -   * contained within this class.
 -   * 
 -   * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
 -   * &amp;lt;restriction
 -   * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
 -   * &amp;lt;sequence&amp;gt; &amp;lt;element name="AnnotationColours"
 -   * type="{www.jalview.org}AnnotationColourScheme" minOccurs="0"/&amp;gt;
 -   * &amp;lt;element name="hiddenColumns" maxOccurs="unbounded"
 -   * minOccurs="0"&amp;gt; &amp;lt;complexType&amp;gt;
 -   * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
 -   * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attribute
 -   * name="start" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
 -   * &amp;lt;attribute name="end" type="{http://www.w3.org/2001/XMLSchema}int"
 -   * /&amp;gt; &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 -   * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt; &amp;lt;element
 -   * name="calcIdParam" maxOccurs="unbounded" minOccurs="0"&amp;gt;
 -   * &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
 -   * &amp;lt;extension
 -   * base="{www.jalview.org/xml/wsparamset}WebServiceParameterSet"&amp;gt;
 -   * &amp;lt;attribute name="calcId" use="required"
 -   * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
 -   * name="needsUpdate" type="{http://www.w3.org/2001/XMLSchema}boolean"
 -   * default="false" /&amp;gt; &amp;lt;attribute name="autoUpdate"
 -   * use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
 -   * &amp;lt;/extension&amp;gt; &amp;lt;/complexContent&amp;gt;
 -   * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt;
 -   * &amp;lt;/sequence&amp;gt; &amp;lt;attGroup
 -   * ref="{www.jalview.org}swingwindow"/&amp;gt; &amp;lt;attribute
 -   * name="conservationSelected"
 -   * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
 -   * &amp;lt;attribute name="pidSelected"
 -   * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
 -   * &amp;lt;attribute name="bgColour"
 -   * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
 -   * name="consThreshold" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
 -   * &amp;lt;attribute name="pidThreshold"
 -   * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
 -   * name="title" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
 -   * &amp;lt;attribute name="showFullId"
 -   * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
 -   * &amp;lt;attribute name="rightAlignIds"
 -   * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
 -   * &amp;lt;attribute name="showText"
 -   * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
 -   * &amp;lt;attribute name="showColourText"
 -   * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
 -   * &amp;lt;attribute name="showUnconserved"
 -   * type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
 -   * &amp;lt;attribute name="showBoxes"
 -   * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
 -   * &amp;lt;attribute name="wrapAlignment"
 -   * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
 -   * &amp;lt;attribute name="renderGaps"
 -   * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
 -   * &amp;lt;attribute name="showSequenceFeatures"
 -   * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
 -   * &amp;lt;attribute name="showNPfeatureTooltip"
 -   * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
 -   * &amp;lt;attribute name="showDbRefTooltip"
 -   * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
 -   * &amp;lt;attribute name="followHighlight"
 -   * type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
 -   * &amp;lt;attribute name="followSelection"
 -   * type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
 -   * &amp;lt;attribute name="showAnnotation"
 -   * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
 -   * &amp;lt;attribute name="centreColumnLabels"
 -   * type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
 -   * &amp;lt;attribute name="showGroupConservation"
 -   * type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
 -   * &amp;lt;attribute name="showGroupConsensus"
 -   * type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
 -   * &amp;lt;attribute name="showConsensusHistogram"
 -   * type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
 -   * &amp;lt;attribute name="showSequenceLogo"
 -   * type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
 -   * &amp;lt;attribute name="normaliseSequenceLogo"
 -   * type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
 -   * &amp;lt;attribute name="ignoreGapsinConsensus"
 -   * type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
 -   * &amp;lt;attribute name="startRes"
 -   * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
 -   * name="startSeq" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
 -   * &amp;lt;attribute name="fontName"
 -   * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
 -   * name="fontSize" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
 -   * &amp;lt;attribute name="fontStyle"
 -   * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
 -   * name="scaleProteinAsCdna" type="{http://www.w3.org/2001/XMLSchema}boolean"
 -   * default="true" /&amp;gt; &amp;lt;attribute name="viewName"
 -   * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
 -   * name="sequenceSetId" type="{http://www.w3.org/2001/XMLSchema}string"
 -   * /&amp;gt; &amp;lt;attribute name="gatheredViews"
 -   * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
 -   * &amp;lt;attribute name="textCol1"
 -   * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
 -   * name="textCol2" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
 -   * &amp;lt;attribute name="textColThreshold"
 -   * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
 -   * name="id" type="{http://www.w3.org/2001/XMLSchema}ID" /&amp;gt;
 -   * &amp;lt;attribute name="complementId"
 -   * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
 -   * name="showComplementFeatures"
 -   * type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
 -   * &amp;lt;attribute name="showComplementFeaturesOnTop"
 -   * type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
 -   * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 -   * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
 -   * 
 -   * 
 -   */
 -  @XmlAccessorType(XmlAccessType.FIELD)
 -  @XmlType(
 -    name = "",
 -    propOrder =
 -    { "annotationColours", "hiddenColumns", "calcIdParam" })
 -  public static class Viewport
 -  {
 -
 -    @XmlElement(name = "AnnotationColours", namespace = "www.jalview.org")
 -    protected AnnotationColourScheme annotationColours;
 -
 -    @XmlElement(namespace = "www.jalview.org")
 -    protected List<JalviewModel.Viewport.HiddenColumns> hiddenColumns;
 -
 -    @XmlElement(namespace = "www.jalview.org")
 -    protected List<JalviewModel.Viewport.CalcIdParam> calcIdParam;
 -
 -    @XmlAttribute(name = "conservationSelected")
 -    protected Boolean conservationSelected;
 -
 -    @XmlAttribute(name = "pidSelected")
 -    protected Boolean pidSelected;
 -
 -    @XmlAttribute(name = "bgColour")
 -    protected String bgColour;
 -
 -    @XmlAttribute(name = "consThreshold")
 -    protected Integer consThreshold;
 -
 -    @XmlAttribute(name = "pidThreshold")
 -    protected Integer pidThreshold;
 -
 -    @XmlAttribute(name = "title")
 -    protected String title;
 -
 -    @XmlAttribute(name = "showFullId")
 -    protected Boolean showFullId;
 -
 -    @XmlAttribute(name = "rightAlignIds")
 -    protected Boolean rightAlignIds;
 -
 -    @XmlAttribute(name = "showText")
 -    protected Boolean showText;
 -
 -    @XmlAttribute(name = "showColourText")
 -    protected Boolean showColourText;
 -
 -    @XmlAttribute(name = "showUnconserved")
 -    protected Boolean showUnconserved;
 -
 -    @XmlAttribute(name = "showBoxes")
 -    protected Boolean showBoxes;
 -
 -    @XmlAttribute(name = "wrapAlignment")
 -    protected Boolean wrapAlignment;
 -
 -    @XmlAttribute(name = "renderGaps")
 -    protected Boolean renderGaps;
 +        /**
 +         * Gets the value of the threshold property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Float }
 +         *     
 +         */
 +        public Float getThreshold() {
 +            return threshold;
 +        }
  
 -    @XmlAttribute(name = "showSequenceFeatures")
 -    protected Boolean showSequenceFeatures;
 +        /**
 +         * Sets the value of the threshold property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Float }
 +         *     
 +         */
 +        public void setThreshold(Float value) {
 +            this.threshold = value;
 +        }
  
 -    @XmlAttribute(name = "showNPfeatureTooltip")
 -    protected Boolean showNPfeatureTooltip;
 +        /**
 +         * Gets the value of the showBootstrap property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public Boolean isShowBootstrap() {
 +            return showBootstrap;
 +        }
  
 -    @XmlAttribute(name = "showDbRefTooltip")
 -    protected Boolean showDbRefTooltip;
 +        /**
 +         * Sets the value of the showBootstrap property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public void setShowBootstrap(Boolean value) {
 +            this.showBootstrap = value;
 +        }
  
 -    @XmlAttribute(name = "followHighlight")
 -    protected Boolean followHighlight;
 +        /**
 +         * Gets the value of the showDistances property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public Boolean isShowDistances() {
 +            return showDistances;
 +        }
  
 -    @XmlAttribute(name = "followSelection")
 -    protected Boolean followSelection;
 +        /**
 +         * Sets the value of the showDistances property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public void setShowDistances(Boolean value) {
 +            this.showDistances = value;
 +        }
  
 -    @XmlAttribute(name = "showAnnotation")
 -    protected Boolean showAnnotation;
 +        /**
 +         * Gets the value of the markUnlinked property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public Boolean isMarkUnlinked() {
 +            return markUnlinked;
 +        }
  
 -    @XmlAttribute(name = "centreColumnLabels")
 -    protected Boolean centreColumnLabels;
 +        /**
 +         * Sets the value of the markUnlinked property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public void setMarkUnlinked(Boolean value) {
 +            this.markUnlinked = value;
 +        }
  
 -    @XmlAttribute(name = "showGroupConservation")
 -    protected Boolean showGroupConservation;
 +        /**
 +         * Gets the value of the fitToWindow property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public Boolean isFitToWindow() {
 +            return fitToWindow;
 +        }
  
 -    @XmlAttribute(name = "showGroupConsensus")
 -    protected Boolean showGroupConsensus;
 +        /**
 +         * Sets the value of the fitToWindow property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public void setFitToWindow(Boolean value) {
 +            this.fitToWindow = value;
 +        }
  
 -    @XmlAttribute(name = "showConsensusHistogram")
 -    protected Boolean showConsensusHistogram;
 +        /**
 +         * Gets the value of the currentTree property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public Boolean isCurrentTree() {
 +            return currentTree;
 +        }
  
 -    @XmlAttribute(name = "showSequenceLogo")
 -    protected Boolean showSequenceLogo;
 +        /**
 +         * Sets the value of the currentTree property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public void setCurrentTree(Boolean value) {
 +            this.currentTree = value;
 +        }
  
 -    @XmlAttribute(name = "normaliseSequenceLogo")
 -    protected Boolean normaliseSequenceLogo;
 +        /**
 +         * Gets the value of the id property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link String }
 +         *     
 +         */
 +        public String getId() {
 +            return id;
 +        }
  
 -    @XmlAttribute(name = "ignoreGapsinConsensus")
 -    protected Boolean ignoreGapsinConsensus;
 +        /**
 +         * Sets the value of the id property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link String }
 +         *     
 +         */
 +        public void setId(String value) {
 +            this.id = value;
 +        }
  
 -    @XmlAttribute(name = "startRes")
 -    protected Integer startRes;
 +        /**
 +         * Gets the value of the linkToAllViews property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public boolean isLinkToAllViews() {
 +            if (linkToAllViews == null) {
 +                return false;
 +            } else {
 +                return linkToAllViews;
 +            }
 +        }
  
 -    @XmlAttribute(name = "startSeq")
 -    protected Integer startSeq;
 +        /**
 +         * Sets the value of the linkToAllViews property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public void setLinkToAllViews(Boolean value) {
 +            this.linkToAllViews = value;
 +        }
  
 -    @XmlAttribute(name = "fontName")
 -    protected String fontName;
 +        /**
 +         * Gets the value of the width property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Integer }
 +         *     
 +         */
 +        public Integer getWidth() {
 +            return width;
 +        }
  
 -    @XmlAttribute(name = "fontSize")
 -    protected Integer fontSize;
 +        /**
 +         * Sets the value of the width property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Integer }
 +         *     
 +         */
 +        public void setWidth(Integer value) {
 +            this.width = value;
 +        }
  
 -    @XmlAttribute(name = "fontStyle")
 -    protected Integer fontStyle;
 +        /**
 +         * Gets the value of the height property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Integer }
 +         *     
 +         */
 +        public Integer getHeight() {
 +            return height;
 +        }
  
 -    @XmlAttribute(name = "scaleProteinAsCdna")
 -    protected Boolean scaleProteinAsCdna;
 +        /**
 +         * Sets the value of the height property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Integer }
 +         *     
 +         */
 +        public void setHeight(Integer value) {
 +            this.height = value;
 +        }
  
 -    @XmlAttribute(name = "viewName")
 -    protected String viewName;
 +        /**
 +         * Gets the value of the xpos property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Integer }
 +         *     
 +         */
 +        public Integer getXpos() {
 +            return xpos;
 +        }
  
 -    @XmlAttribute(name = "sequenceSetId")
 -    protected String sequenceSetId;
 +        /**
 +         * Sets the value of the xpos property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Integer }
 +         *     
 +         */
 +        public void setXpos(Integer value) {
 +            this.xpos = value;
 +        }
  
 -    @XmlAttribute(name = "gatheredViews")
 -    protected Boolean gatheredViews;
 +        /**
 +         * Gets the value of the ypos property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Integer }
 +         *     
 +         */
 +        public Integer getYpos() {
 +            return ypos;
 +        }
  
 -    @XmlAttribute(name = "textCol1")
 -    protected Integer textCol1;
 +        /**
 +         * Sets the value of the ypos property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Integer }
 +         *     
 +         */
 +        public void setYpos(Integer value) {
 +            this.ypos = value;
 +        }
  
 -    @XmlAttribute(name = "textCol2")
 -    protected Integer textCol2;
 +    }
  
 -    @XmlAttribute(name = "textColThreshold")
 -    protected Integer textColThreshold;
  
 -    @XmlAttribute(name = "id")
 -    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
 -    @XmlID
 -    @XmlSchemaType(name = "ID")
 -    protected String id;
 +    /**
-      * &lt;p&gt;Java class for anonymous complex type.
++     * <p>Java class for anonymous complex type.
 +     * 
-      * &lt;p&gt;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.
 +     * 
-      * &lt;pre&gt;
-      * &amp;lt;complexType&amp;gt;
-      *   &amp;lt;complexContent&amp;gt;
-      *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-      *       &amp;lt;sequence&amp;gt;
-      *         &amp;lt;element name="UserColourScheme" type="{www.jalview.org/colours}JalviewUserColours"/&amp;gt;
-      *       &amp;lt;/sequence&amp;gt;
-      *       &amp;lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-      *     &amp;lt;/restriction&amp;gt;
-      *   &amp;lt;/complexContent&amp;gt;
-      * &amp;lt;/complexType&amp;gt;
-      * &lt;/pre&gt;
++     * <pre>
++     * &lt;complexType>
++     *   &lt;complexContent>
++     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++     *       &lt;sequence>
++     *         &lt;element name="UserColourScheme" type="{www.jalview.org/colours}JalviewUserColours"/>
++     *       &lt;/sequence>
++     *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string" />
++     *     &lt;/restriction>
++     *   &lt;/complexContent>
++     * &lt;/complexType>
++     * </pre>
 +     * 
 +     * 
 +     */
 +    @XmlAccessorType(XmlAccessType.FIELD)
 +    @XmlType(name = "", propOrder = {
 +        "userColourScheme"
 +    })
 +    public static class UserColours {
  
 -    @XmlAttribute(name = "complementId")
 -    protected String complementId;
 +        @XmlElement(name = "UserColourScheme", namespace = "www.jalview.org", required = true)
 +        protected JalviewUserColours userColourScheme;
 +        @XmlAttribute(name = "id")
 +        protected String id;
  
 -    @XmlAttribute(name = "showComplementFeatures")
 -    protected Boolean showComplementFeatures;
 +        /**
 +         * Gets the value of the userColourScheme property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link JalviewUserColours }
 +         *     
 +         */
 +        public JalviewUserColours getUserColourScheme() {
 +            return userColourScheme;
 +        }
  
 -    @XmlAttribute(name = "showComplementFeaturesOnTop")
 -    protected Boolean showComplementFeaturesOnTop;
 +        /**
 +         * Sets the value of the userColourScheme property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link JalviewUserColours }
 +         *     
 +         */
 +        public void setUserColourScheme(JalviewUserColours value) {
 +            this.userColourScheme = value;
 +        }
  
 -    @XmlAttribute(name = "width")
 -    protected Integer width;
 +        /**
 +         * Gets the value of the id property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link String }
 +         *     
 +         */
 +        public String getId() {
 +            return id;
 +        }
  
 -    @XmlAttribute(name = "height")
 -    protected Integer height;
 +        /**
 +         * Sets the value of the id property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link String }
 +         *     
 +         */
 +        public void setId(String value) {
 +            this.id = value;
 +        }
  
 -    @XmlAttribute(name = "xpos")
 -    protected Integer xpos;
 +    }
  
 -    @XmlAttribute(name = "ypos")
 -    protected Integer ypos;
  
      /**
-      * &lt;p&gt;Java class for anonymous complex type.
 -     * Gets the value of the annotationColours property.
++     * <p>Java class for anonymous complex type.
 +     * 
-      * &lt;p&gt;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.
 +     * 
-      * &lt;pre&gt;
-      * &amp;lt;complexType&amp;gt;
-      *   &amp;lt;complexContent&amp;gt;
-      *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-      *       &amp;lt;sequence&amp;gt;
-      *         &amp;lt;element name="AnnotationColours" type="{www.jalview.org}AnnotationColourScheme" minOccurs="0"/&amp;gt;
-      *         &amp;lt;element name="hiddenColumns" maxOccurs="unbounded" minOccurs="0"&amp;gt;
-      *           &amp;lt;complexType&amp;gt;
-      *             &amp;lt;complexContent&amp;gt;
-      *               &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-      *                 &amp;lt;attribute name="start" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-      *                 &amp;lt;attribute name="end" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-      *               &amp;lt;/restriction&amp;gt;
-      *             &amp;lt;/complexContent&amp;gt;
-      *           &amp;lt;/complexType&amp;gt;
-      *         &amp;lt;/element&amp;gt;
-      *         &amp;lt;element name="calcIdParam" maxOccurs="unbounded" minOccurs="0"&amp;gt;
-      *           &amp;lt;complexType&amp;gt;
-      *             &amp;lt;complexContent&amp;gt;
-      *               &amp;lt;extension base="{www.jalview.org/xml/wsparamset}WebServiceParameterSet"&amp;gt;
-      *                 &amp;lt;attribute name="calcId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-      *                 &amp;lt;attribute name="needsUpdate" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
-      *                 &amp;lt;attribute name="autoUpdate" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-      *               &amp;lt;/extension&amp;gt;
-      *             &amp;lt;/complexContent&amp;gt;
-      *           &amp;lt;/complexType&amp;gt;
-      *         &amp;lt;/element&amp;gt;
-      *         &amp;lt;element name="overview" minOccurs="0"&amp;gt;
-      *           &amp;lt;complexType&amp;gt;
-      *             &amp;lt;complexContent&amp;gt;
-      *               &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-      *                 &amp;lt;attGroup ref="{www.jalview.org}swingwindow"/&amp;gt;
-      *                 &amp;lt;attribute name="showHidden" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-      *                 &amp;lt;attribute name="residueColour" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-      *                 &amp;lt;attribute name="gapColour" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-      *                 &amp;lt;attribute name="hiddenColour" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-      *                 &amp;lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-      *               &amp;lt;/restriction&amp;gt;
-      *             &amp;lt;/complexContent&amp;gt;
-      *           &amp;lt;/complexType&amp;gt;
-      *         &amp;lt;/element&amp;gt;
-      *       &amp;lt;/sequence&amp;gt;
-      *       &amp;lt;attGroup ref="{www.jalview.org}swingwindow"/&amp;gt;
-      *       &amp;lt;attribute name="conservationSelected" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-      *       &amp;lt;attribute name="pidSelected" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-      *       &amp;lt;attribute name="bgColour" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-      *       &amp;lt;attribute name="consThreshold" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-      *       &amp;lt;attribute name="pidThreshold" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-      *       &amp;lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-      *       &amp;lt;attribute name="showFullId" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-      *       &amp;lt;attribute name="rightAlignIds" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-      *       &amp;lt;attribute name="showText" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-      *       &amp;lt;attribute name="showColourText" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-      *       &amp;lt;attribute name="showUnconserved" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
-      *       &amp;lt;attribute name="showBoxes" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-      *       &amp;lt;attribute name="wrapAlignment" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-      *       &amp;lt;attribute name="renderGaps" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-      *       &amp;lt;attribute name="showSequenceFeatures" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-      *       &amp;lt;attribute name="showNPfeatureTooltip" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-      *       &amp;lt;attribute name="showDbRefTooltip" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-      *       &amp;lt;attribute name="followHighlight" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
-      *       &amp;lt;attribute name="followSelection" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
-      *       &amp;lt;attribute name="showAnnotation" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-      *       &amp;lt;attribute name="centreColumnLabels" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
-      *       &amp;lt;attribute name="showGroupConservation" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
-      *       &amp;lt;attribute name="showGroupConsensus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
-      *       &amp;lt;attribute name="showConsensusHistogram" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
-      *       &amp;lt;attribute name="showSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
-      *       &amp;lt;attribute name="normaliseSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
-      *       &amp;lt;attribute name="ignoreGapsinConsensus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
-      *       &amp;lt;attribute name="startRes" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-      *       &amp;lt;attribute name="startSeq" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-      *       &amp;lt;attribute name="fontName" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-      *       &amp;lt;attribute name="fontSize" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-      *       &amp;lt;attribute name="fontStyle" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-      *       &amp;lt;attribute name="scaleProteinAsCdna" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&amp;gt;
-      *       &amp;lt;attribute name="viewName" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-      *       &amp;lt;attribute name="sequenceSetId" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-      *       &amp;lt;attribute name="gatheredViews" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-      *       &amp;lt;attribute name="textCol1" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-      *       &amp;lt;attribute name="textCol2" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-      *       &amp;lt;attribute name="textColThreshold" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-      *       &amp;lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" /&amp;gt;
-      *       &amp;lt;attribute name="complementId" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-      *       &amp;lt;attribute name="showComplementFeatures" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
-      *       &amp;lt;attribute name="showComplementFeaturesOnTop" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
-      *     &amp;lt;/restriction&amp;gt;
-      *   &amp;lt;/complexContent&amp;gt;
-      * &amp;lt;/complexType&amp;gt;
-      * &lt;/pre&gt;
++     * <pre>
++     * &lt;complexType>
++     *   &lt;complexContent>
++     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++     *       &lt;sequence>
++     *         &lt;element name="AnnotationColours" type="{www.jalview.org}AnnotationColourScheme" minOccurs="0"/>
++     *         &lt;element name="hiddenColumns" maxOccurs="unbounded" minOccurs="0">
++     *           &lt;complexType>
++     *             &lt;complexContent>
++     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++     *                 &lt;attribute name="start" type="{http://www.w3.org/2001/XMLSchema}int" />
++     *                 &lt;attribute name="end" type="{http://www.w3.org/2001/XMLSchema}int" />
++     *               &lt;/restriction>
++     *             &lt;/complexContent>
++     *           &lt;/complexType>
++     *         &lt;/element>
++     *         &lt;element name="calcIdParam" maxOccurs="unbounded" minOccurs="0">
++     *           &lt;complexType>
++     *             &lt;complexContent>
++     *               &lt;extension base="{www.jalview.org/xml/wsparamset}WebServiceParameterSet">
++     *                 &lt;attribute name="calcId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
++     *                 &lt;attribute name="needsUpdate" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
++     *                 &lt;attribute name="autoUpdate" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++     *               &lt;/extension>
++     *             &lt;/complexContent>
++     *           &lt;/complexType>
++     *         &lt;/element>
++     *         &lt;element name="overview" minOccurs="0">
++     *           &lt;complexType>
++     *             &lt;complexContent>
++     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++     *                 &lt;attGroup ref="{www.jalview.org}swingwindow"/>
++     *                 &lt;attribute name="showHidden" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++     *                 &lt;attribute name="residueColour" type="{http://www.w3.org/2001/XMLSchema}int" />
++     *                 &lt;attribute name="gapColour" type="{http://www.w3.org/2001/XMLSchema}int" />
++     *                 &lt;attribute name="hiddenColour" type="{http://www.w3.org/2001/XMLSchema}int" />
++     *                 &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
++     *               &lt;/restriction>
++     *             &lt;/complexContent>
++     *           &lt;/complexType>
++     *         &lt;/element>
++     *       &lt;/sequence>
++     *       &lt;attGroup ref="{www.jalview.org}swingwindow"/>
++     *       &lt;attribute name="conservationSelected" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++     *       &lt;attribute name="pidSelected" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++     *       &lt;attribute name="bgColour" type="{http://www.w3.org/2001/XMLSchema}string" />
++     *       &lt;attribute name="consThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
++     *       &lt;attribute name="pidThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
++     *       &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
++     *       &lt;attribute name="showFullId" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++     *       &lt;attribute name="rightAlignIds" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++     *       &lt;attribute name="showText" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++     *       &lt;attribute name="showColourText" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++     *       &lt;attribute name="showUnconserved" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
++     *       &lt;attribute name="showBoxes" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++     *       &lt;attribute name="wrapAlignment" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++     *       &lt;attribute name="renderGaps" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++     *       &lt;attribute name="showSequenceFeatures" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++     *       &lt;attribute name="showNPfeatureTooltip" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++     *       &lt;attribute name="showDbRefTooltip" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++     *       &lt;attribute name="followHighlight" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
++     *       &lt;attribute name="followSelection" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
++     *       &lt;attribute name="showAnnotation" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++     *       &lt;attribute name="centreColumnLabels" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
++     *       &lt;attribute name="showGroupConservation" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
++     *       &lt;attribute name="showGroupConsensus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
++     *       &lt;attribute name="showConsensusHistogram" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
++     *       &lt;attribute name="showSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
++     *       &lt;attribute name="normaliseSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
++     *       &lt;attribute name="ignoreGapsinConsensus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
++     *       &lt;attribute name="startRes" type="{http://www.w3.org/2001/XMLSchema}int" />
++     *       &lt;attribute name="startSeq" type="{http://www.w3.org/2001/XMLSchema}int" />
++     *       &lt;attribute name="fontName" type="{http://www.w3.org/2001/XMLSchema}string" />
++     *       &lt;attribute name="fontSize" type="{http://www.w3.org/2001/XMLSchema}int" />
++     *       &lt;attribute name="fontStyle" type="{http://www.w3.org/2001/XMLSchema}int" />
++     *       &lt;attribute name="scaleProteinAsCdna" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
++     *       &lt;attribute name="viewName" type="{http://www.w3.org/2001/XMLSchema}string" />
++     *       &lt;attribute name="sequenceSetId" type="{http://www.w3.org/2001/XMLSchema}string" />
++     *       &lt;attribute name="gatheredViews" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++     *       &lt;attribute name="textCol1" type="{http://www.w3.org/2001/XMLSchema}int" />
++     *       &lt;attribute name="textCol2" type="{http://www.w3.org/2001/XMLSchema}int" />
++     *       &lt;attribute name="textColThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
++     *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
++     *       &lt;attribute name="complementId" type="{http://www.w3.org/2001/XMLSchema}string" />
++     *       &lt;attribute name="showComplementFeatures" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
++     *       &lt;attribute name="showComplementFeaturesOnTop" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
++     *     &lt;/restriction>
++     *   &lt;/complexContent>
++     * &lt;/complexType>
++     * </pre>
       * 
 -     * @return possible object is {@link AnnotationColourScheme }
       * 
       */
 -    public AnnotationColourScheme getAnnotationColours()
 -    {
 -      return annotationColours;
 -    }
 +    @XmlAccessorType(XmlAccessType.FIELD)
 +    @XmlType(name = "", propOrder = {
 +        "annotationColours",
 +        "hiddenColumns",
 +        "calcIdParam",
 +        "overview"
 +    })
 +    public static class Viewport {
 +
 +        @XmlElement(name = "AnnotationColours", namespace = "www.jalview.org")
 +        protected AnnotationColourScheme annotationColours;
 +        @XmlElement(namespace = "www.jalview.org")
 +        protected List<JalviewModel.Viewport.HiddenColumns> hiddenColumns;
 +        @XmlElement(namespace = "www.jalview.org")
 +        protected List<JalviewModel.Viewport.CalcIdParam> calcIdParam;
 +        @XmlElement(namespace = "www.jalview.org")
 +        protected JalviewModel.Viewport.Overview overview;
 +        @XmlAttribute(name = "conservationSelected")
 +        protected Boolean conservationSelected;
 +        @XmlAttribute(name = "pidSelected")
 +        protected Boolean pidSelected;
 +        @XmlAttribute(name = "bgColour")
 +        protected String bgColour;
 +        @XmlAttribute(name = "consThreshold")
 +        protected Integer consThreshold;
 +        @XmlAttribute(name = "pidThreshold")
 +        protected Integer pidThreshold;
 +        @XmlAttribute(name = "title")
 +        protected String title;
 +        @XmlAttribute(name = "showFullId")
 +        protected Boolean showFullId;
 +        @XmlAttribute(name = "rightAlignIds")
 +        protected Boolean rightAlignIds;
 +        @XmlAttribute(name = "showText")
 +        protected Boolean showText;
 +        @XmlAttribute(name = "showColourText")
 +        protected Boolean showColourText;
 +        @XmlAttribute(name = "showUnconserved")
 +        protected Boolean showUnconserved;
 +        @XmlAttribute(name = "showBoxes")
 +        protected Boolean showBoxes;
 +        @XmlAttribute(name = "wrapAlignment")
 +        protected Boolean wrapAlignment;
 +        @XmlAttribute(name = "renderGaps")
 +        protected Boolean renderGaps;
 +        @XmlAttribute(name = "showSequenceFeatures")
 +        protected Boolean showSequenceFeatures;
 +        @XmlAttribute(name = "showNPfeatureTooltip")
 +        protected Boolean showNPfeatureTooltip;
 +        @XmlAttribute(name = "showDbRefTooltip")
 +        protected Boolean showDbRefTooltip;
 +        @XmlAttribute(name = "followHighlight")
 +        protected Boolean followHighlight;
 +        @XmlAttribute(name = "followSelection")
 +        protected Boolean followSelection;
 +        @XmlAttribute(name = "showAnnotation")
 +        protected Boolean showAnnotation;
 +        @XmlAttribute(name = "centreColumnLabels")
 +        protected Boolean centreColumnLabels;
 +        @XmlAttribute(name = "showGroupConservation")
 +        protected Boolean showGroupConservation;
 +        @XmlAttribute(name = "showGroupConsensus")
 +        protected Boolean showGroupConsensus;
 +        @XmlAttribute(name = "showConsensusHistogram")
 +        protected Boolean showConsensusHistogram;
 +        @XmlAttribute(name = "showSequenceLogo")
 +        protected Boolean showSequenceLogo;
 +        @XmlAttribute(name = "normaliseSequenceLogo")
 +        protected Boolean normaliseSequenceLogo;
 +        @XmlAttribute(name = "ignoreGapsinConsensus")
 +        protected Boolean ignoreGapsinConsensus;
 +        @XmlAttribute(name = "startRes")
 +        protected Integer startRes;
 +        @XmlAttribute(name = "startSeq")
 +        protected Integer startSeq;
 +        @XmlAttribute(name = "fontName")
 +        protected String fontName;
 +        @XmlAttribute(name = "fontSize")
 +        protected Integer fontSize;
 +        @XmlAttribute(name = "fontStyle")
 +        protected Integer fontStyle;
 +        @XmlAttribute(name = "scaleProteinAsCdna")
 +        protected Boolean scaleProteinAsCdna;
 +        @XmlAttribute(name = "viewName")
 +        protected String viewName;
 +        @XmlAttribute(name = "sequenceSetId")
 +        protected String sequenceSetId;
 +        @XmlAttribute(name = "gatheredViews")
 +        protected Boolean gatheredViews;
 +        @XmlAttribute(name = "textCol1")
 +        protected Integer textCol1;
 +        @XmlAttribute(name = "textCol2")
 +        protected Integer textCol2;
 +        @XmlAttribute(name = "textColThreshold")
 +        protected Integer textColThreshold;
 +        @XmlAttribute(name = "id")
 +        @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
 +        @XmlID
 +        @XmlSchemaType(name = "ID")
 +        protected String id;
 +        @XmlAttribute(name = "complementId")
 +        protected String complementId;
 +        @XmlAttribute(name = "showComplementFeatures")
 +        protected Boolean showComplementFeatures;
 +        @XmlAttribute(name = "showComplementFeaturesOnTop")
 +        protected Boolean showComplementFeaturesOnTop;
 +        @XmlAttribute(name = "width")
 +        protected Integer width;
 +        @XmlAttribute(name = "height")
 +        protected Integer height;
 +        @XmlAttribute(name = "xpos")
 +        protected Integer xpos;
 +        @XmlAttribute(name = "ypos")
 +        protected Integer ypos;
  
 -    /**
 -     * Sets the value of the annotationColours property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link AnnotationColourScheme }
 -     * 
 -     */
 -    public void setAnnotationColours(AnnotationColourScheme value)
 -    {
 -      this.annotationColours = value;
 -    }
 +        /**
 +         * Gets the value of the annotationColours property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link AnnotationColourScheme }
 +         *     
 +         */
 +        public AnnotationColourScheme getAnnotationColours() {
 +            return annotationColours;
 +        }
  
 -    /**
 -     * Gets the value of the hiddenColumns property.
 -     * 
 -     * &lt;p&gt; 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
 -     * &lt;CODE&gt;set&lt;/CODE&gt; method for the hiddenColumns property.
 -     * 
 -     * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
 -     * getHiddenColumns().add(newItem); &lt;/pre&gt;
 -     * 
 -     * 
 -     * &lt;p&gt; Objects of the following type(s) are allowed in the list
 -     * {@link JalviewModel.Viewport.HiddenColumns }
 -     * 
 -     * 
 -     */
 -    public List<JalviewModel.Viewport.HiddenColumns> getHiddenColumns()
 -    {
 -      if (hiddenColumns == null)
 -      {
 -        hiddenColumns = new ArrayList<JalviewModel.Viewport.HiddenColumns>();
 -      }
 -      return this.hiddenColumns;
 -    }
 +        /**
 +         * Sets the value of the annotationColours property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link AnnotationColourScheme }
 +         *     
 +         */
 +        public void setAnnotationColours(AnnotationColourScheme value) {
 +            this.annotationColours = value;
 +        }
  
 -    /**
 -     * Gets the value of the calcIdParam property.
 -     * 
 -     * &lt;p&gt; 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
 -     * &lt;CODE&gt;set&lt;/CODE&gt; method for the calcIdParam property.
 -     * 
 -     * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
 -     * getCalcIdParam().add(newItem); &lt;/pre&gt;
 -     * 
 -     * 
 -     * &lt;p&gt; Objects of the following type(s) are allowed in the list
 -     * {@link JalviewModel.Viewport.CalcIdParam }
 -     * 
 -     * 
 -     */
 -    public List<JalviewModel.Viewport.CalcIdParam> getCalcIdParam()
 -    {
 -      if (calcIdParam == null)
 -      {
 -        calcIdParam = new ArrayList<JalviewModel.Viewport.CalcIdParam>();
 -      }
 -      return this.calcIdParam;
 -    }
 +        /**
 +         * Gets the value of the hiddenColumns property.
 +         * 
-          * &lt;p&gt;
++         * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the hiddenColumns property.
++         * This is why there is not a <CODE>set</CODE> method for the hiddenColumns property.
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * For example, to add a new item, do as follows:
-          * &lt;pre&gt;
++         * <pre>
 +         *    getHiddenColumns().add(newItem);
-          * &lt;/pre&gt;
++         * </pre>
 +         * 
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * Objects of the following type(s) are allowed in the list
 +         * {@link JalviewModel.Viewport.HiddenColumns }
 +         * 
 +         * 
 +         */
 +        public List<JalviewModel.Viewport.HiddenColumns> getHiddenColumns() {
 +            if (hiddenColumns == null) {
 +                hiddenColumns = new ArrayList<JalviewModel.Viewport.HiddenColumns>();
 +            }
 +            return this.hiddenColumns;
 +        }
  
 -    /**
 -     * Gets the value of the conservationSelected property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public Boolean isConservationSelected()
 -    {
 -      return conservationSelected;
 -    }
 +        /**
 +         * Gets the value of the calcIdParam property.
 +         * 
-          * &lt;p&gt;
++         * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the calcIdParam property.
++         * This is why there is not a <CODE>set</CODE> method for the calcIdParam property.
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * For example, to add a new item, do as follows:
-          * &lt;pre&gt;
++         * <pre>
 +         *    getCalcIdParam().add(newItem);
-          * &lt;/pre&gt;
++         * </pre>
 +         * 
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * Objects of the following type(s) are allowed in the list
 +         * {@link JalviewModel.Viewport.CalcIdParam }
 +         * 
 +         * 
 +         */
 +        public List<JalviewModel.Viewport.CalcIdParam> getCalcIdParam() {
 +            if (calcIdParam == null) {
 +                calcIdParam = new ArrayList<JalviewModel.Viewport.CalcIdParam>();
 +            }
 +            return this.calcIdParam;
 +        }
  
 -    /**
 -     * Sets the value of the conservationSelected property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setConservationSelected(Boolean value)
 -    {
 -      this.conservationSelected = value;
 -    }
 +        /**
 +         * Gets the value of the overview property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link JalviewModel.Viewport.Overview }
 +         *     
 +         */
 +        public JalviewModel.Viewport.Overview getOverview() {
 +            return overview;
 +        }
  
 -    /**
 -     * Gets the value of the pidSelected property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public Boolean isPidSelected()
 -    {
 -      return pidSelected;
 -    }
 +        /**
 +         * Sets the value of the overview property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link JalviewModel.Viewport.Overview }
 +         *     
 +         */
 +        public void setOverview(JalviewModel.Viewport.Overview value) {
 +            this.overview = value;
 +        }
  
 -    /**
 -     * Sets the value of the pidSelected property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setPidSelected(Boolean value)
 -    {
 -      this.pidSelected = value;
 -    }
 +        /**
 +         * Gets the value of the conservationSelected property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public Boolean isConservationSelected() {
 +            return conservationSelected;
 +        }
  
 -    /**
 -     * Gets the value of the bgColour property.
 -     * 
 -     * @return possible object is {@link String }
 -     * 
 -     */
 -    public String getBgColour()
 -    {
 -      return bgColour;
 -    }
 +        /**
 +         * Sets the value of the conservationSelected property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public void setConservationSelected(Boolean value) {
 +            this.conservationSelected = value;
 +        }
  
 -    /**
 -     * Sets the value of the bgColour property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link String }
 -     * 
 -     */
 -    public void setBgColour(String value)
 -    {
 -      this.bgColour = value;
 -    }
 +        /**
 +         * Gets the value of the pidSelected property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public Boolean isPidSelected() {
 +            return pidSelected;
 +        }
  
 -    /**
 -     * Gets the value of the consThreshold property.
 -     * 
 -     * @return possible object is {@link Integer }
 -     * 
 -     */
 -    public Integer getConsThreshold()
 -    {
 -      return consThreshold;
 -    }
 +        /**
 +         * Sets the value of the pidSelected property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public void setPidSelected(Boolean value) {
 +            this.pidSelected = value;
 +        }
  
 -    /**
 -     * Sets the value of the consThreshold property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Integer }
 -     * 
 -     */
 -    public void setConsThreshold(Integer value)
 -    {
 -      this.consThreshold = value;
 -    }
 +        /**
 +         * Gets the value of the bgColour property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link String }
 +         *     
 +         */
 +        public String getBgColour() {
 +            return bgColour;
 +        }
  
 -    /**
 -     * Gets the value of the pidThreshold property.
 -     * 
 -     * @return possible object is {@link Integer }
 -     * 
 -     */
 -    public Integer getPidThreshold()
 -    {
 -      return pidThreshold;
 -    }
 +        /**
 +         * Sets the value of the bgColour property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link String }
 +         *     
 +         */
 +        public void setBgColour(String value) {
 +            this.bgColour = value;
 +        }
  
 -    /**
 -     * Sets the value of the pidThreshold property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Integer }
 -     * 
 -     */
 -    public void setPidThreshold(Integer value)
 -    {
 -      this.pidThreshold = value;
 -    }
 +        /**
 +         * Gets the value of the consThreshold property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Integer }
 +         *     
 +         */
 +        public Integer getConsThreshold() {
 +            return consThreshold;
 +        }
  
 -    /**
 -     * Gets the value of the title property.
 -     * 
 -     * @return possible object is {@link String }
 -     * 
 -     */
 -    public String getTitle()
 -    {
 -      return title;
 -    }
 +        /**
 +         * Sets the value of the consThreshold property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Integer }
 +         *     
 +         */
 +        public void setConsThreshold(Integer value) {
 +            this.consThreshold = value;
 +        }
  
 -    /**
 -     * Sets the value of the title property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link String }
 -     * 
 -     */
 -    public void setTitle(String value)
 -    {
 -      this.title = value;
 -    }
 +        /**
 +         * Gets the value of the pidThreshold property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Integer }
 +         *     
 +         */
 +        public Integer getPidThreshold() {
 +            return pidThreshold;
 +        }
  
 -    /**
 -     * Gets the value of the showFullId property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public Boolean isShowFullId()
 -    {
 -      return showFullId;
 -    }
 +        /**
 +         * Sets the value of the pidThreshold property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Integer }
 +         *     
 +         */
 +        public void setPidThreshold(Integer value) {
 +            this.pidThreshold = value;
 +        }
  
 -    /**
 -     * Sets the value of the showFullId property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setShowFullId(Boolean value)
 -    {
 -      this.showFullId = value;
 -    }
 +        /**
 +         * Gets the value of the title property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link String }
 +         *     
 +         */
 +        public String getTitle() {
 +            return title;
 +        }
  
 -    /**
 -     * Gets the value of the rightAlignIds property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public Boolean isRightAlignIds()
 -    {
 -      return rightAlignIds;
 -    }
 +        /**
 +         * Sets the value of the title property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link String }
 +         *     
 +         */
 +        public void setTitle(String value) {
 +            this.title = value;
 +        }
  
 -    /**
 -     * Sets the value of the rightAlignIds property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setRightAlignIds(Boolean value)
 -    {
 -      this.rightAlignIds = value;
 -    }
 +        /**
 +         * Gets the value of the showFullId property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public Boolean isShowFullId() {
 +            return showFullId;
 +        }
  
 -    /**
 -     * Gets the value of the showText property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public Boolean isShowText()
 -    {
 -      return showText;
 -    }
 +        /**
 +         * Sets the value of the showFullId property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public void setShowFullId(Boolean value) {
 +            this.showFullId = value;
 +        }
  
 -    /**
 -     * Sets the value of the showText property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setShowText(Boolean value)
 -    {
 -      this.showText = value;
 -    }
 +        /**
 +         * Gets the value of the rightAlignIds property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public Boolean isRightAlignIds() {
 +            return rightAlignIds;
 +        }
  
 -    /**
 -     * Gets the value of the showColourText property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public Boolean isShowColourText()
 -    {
 -      return showColourText;
 -    }
 +        /**
 +         * Sets the value of the rightAlignIds property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public void setRightAlignIds(Boolean value) {
 +            this.rightAlignIds = value;
 +        }
  
 -    /**
 -     * Sets the value of the showColourText property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setShowColourText(Boolean value)
 -    {
 -      this.showColourText = value;
 -    }
 +        /**
 +         * Gets the value of the showText property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public Boolean isShowText() {
 +            return showText;
 +        }
 +
 +        /**
 +         * Sets the value of the showText property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public void setShowText(Boolean value) {
 +            this.showText = value;
 +        }
 +
 +        /**
 +         * Gets the value of the showColourText property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public Boolean isShowColourText() {
 +            return showColourText;
 +        }
 +
 +        /**
 +         * Sets the value of the showColourText property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public void setShowColourText(Boolean value) {
 +            this.showColourText = value;
 +        }
 +
 +        /**
 +         * Gets the value of the showUnconserved property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public boolean isShowUnconserved() {
 +            if (showUnconserved == null) {
 +                return false;
 +            } else {
 +                return showUnconserved;
 +            }
 +        }
 +
 +        /**
 +         * Sets the value of the showUnconserved property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public void setShowUnconserved(Boolean value) {
 +            this.showUnconserved = value;
 +        }
 +
 +        /**
 +         * Gets the value of the showBoxes property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public Boolean isShowBoxes() {
 +            return showBoxes;
 +        }
 +
 +        /**
 +         * Sets the value of the showBoxes property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public void setShowBoxes(Boolean value) {
 +            this.showBoxes = value;
 +        }
 +
 +        /**
 +         * Gets the value of the wrapAlignment property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public Boolean isWrapAlignment() {
 +            return wrapAlignment;
 +        }
  
 -    /**
 -     * Gets the value of the showUnconserved property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public boolean isShowUnconserved()
 -    {
 -      if (showUnconserved == null)
 -      {
 -        return false;
 -      }
 -      else
 -      {
 -        return showUnconserved;
 -      }
 -    }
 +        /**
 +         * Sets the value of the wrapAlignment property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public void setWrapAlignment(Boolean value) {
 +            this.wrapAlignment = value;
 +        }
  
 -    /**
 -     * Sets the value of the showUnconserved property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setShowUnconserved(Boolean value)
 -    {
 -      this.showUnconserved = value;
 -    }
 +        /**
 +         * Gets the value of the renderGaps property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public Boolean isRenderGaps() {
 +            return renderGaps;
 +        }
  
 -    /**
 -     * Gets the value of the showBoxes property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public Boolean isShowBoxes()
 -    {
 -      return showBoxes;
 -    }
 +        /**
 +         * Sets the value of the renderGaps property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public void setRenderGaps(Boolean value) {
 +            this.renderGaps = value;
 +        }
  
 -    /**
 -     * Sets the value of the showBoxes property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setShowBoxes(Boolean value)
 -    {
 -      this.showBoxes = value;
 -    }
 +        /**
 +         * Gets the value of the showSequenceFeatures property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public Boolean isShowSequenceFeatures() {
 +            return showSequenceFeatures;
 +        }
  
 -    /**
 -     * Gets the value of the wrapAlignment property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public Boolean isWrapAlignment()
 -    {
 -      return wrapAlignment;
 -    }
 +        /**
 +         * Sets the value of the showSequenceFeatures property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public void setShowSequenceFeatures(Boolean value) {
 +            this.showSequenceFeatures = value;
 +        }
  
 -    /**
 -     * Sets the value of the wrapAlignment property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setWrapAlignment(Boolean value)
 -    {
 -      this.wrapAlignment = value;
 -    }
 +        /**
 +         * Gets the value of the showNPfeatureTooltip property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public Boolean isShowNPfeatureTooltip() {
 +            return showNPfeatureTooltip;
 +        }
  
 -    /**
 -     * Gets the value of the renderGaps property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public Boolean isRenderGaps()
 -    {
 -      return renderGaps;
 -    }
 +        /**
 +         * Sets the value of the showNPfeatureTooltip property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public void setShowNPfeatureTooltip(Boolean value) {
 +            this.showNPfeatureTooltip = value;
 +        }
  
 -    /**
 -     * Sets the value of the renderGaps property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setRenderGaps(Boolean value)
 -    {
 -      this.renderGaps = value;
 -    }
 +        /**
 +         * Gets the value of the showDbRefTooltip property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public Boolean isShowDbRefTooltip() {
 +            return showDbRefTooltip;
 +        }
  
 -    /**
 -     * Gets the value of the showSequenceFeatures property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public Boolean isShowSequenceFeatures()
 -    {
 -      return showSequenceFeatures;
 -    }
 +        /**
 +         * Sets the value of the showDbRefTooltip property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public void setShowDbRefTooltip(Boolean value) {
 +            this.showDbRefTooltip = value;
 +        }
  
 -    /**
 -     * Sets the value of the showSequenceFeatures property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setShowSequenceFeatures(Boolean value)
 -    {
 -      this.showSequenceFeatures = value;
 -    }
 +        /**
 +         * Gets the value of the followHighlight property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public boolean isFollowHighlight() {
 +            if (followHighlight == null) {
 +                return true;
 +            } else {
 +                return followHighlight;
 +            }
 +        }
  
 -    /**
 -     * Gets the value of the showNPfeatureTooltip property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public Boolean isShowNPfeatureTooltip()
 -    {
 -      return showNPfeatureTooltip;
 -    }
 +        /**
 +         * Sets the value of the followHighlight property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public void setFollowHighlight(Boolean value) {
 +            this.followHighlight = value;
 +        }
  
 -    /**
 -     * Sets the value of the showNPfeatureTooltip property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setShowNPfeatureTooltip(Boolean value)
 -    {
 -      this.showNPfeatureTooltip = value;
 -    }
 +        /**
 +         * Gets the value of the followSelection property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public boolean isFollowSelection() {
 +            if (followSelection == null) {
 +                return true;
 +            } else {
 +                return followSelection;
 +            }
 +        }
  
 -    /**
 -     * Gets the value of the showDbRefTooltip property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public Boolean isShowDbRefTooltip()
 -    {
 -      return showDbRefTooltip;
 -    }
 +        /**
 +         * Sets the value of the followSelection property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public void setFollowSelection(Boolean value) {
 +            this.followSelection = value;
 +        }
  
 -    /**
 -     * Sets the value of the showDbRefTooltip property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setShowDbRefTooltip(Boolean value)
 -    {
 -      this.showDbRefTooltip = value;
 -    }
 +        /**
 +         * Gets the value of the showAnnotation property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public Boolean isShowAnnotation() {
 +            return showAnnotation;
 +        }
  
 -    /**
 -     * Gets the value of the followHighlight property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public boolean isFollowHighlight()
 -    {
 -      if (followHighlight == null)
 -      {
 -        return true;
 -      }
 -      else
 -      {
 -        return followHighlight;
 -      }
 -    }
 +        /**
 +         * Sets the value of the showAnnotation property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public void setShowAnnotation(Boolean value) {
 +            this.showAnnotation = value;
 +        }
  
 -    /**
 -     * Sets the value of the followHighlight property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setFollowHighlight(Boolean value)
 -    {
 -      this.followHighlight = value;
 -    }
 +        /**
 +         * Gets the value of the centreColumnLabels property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public boolean isCentreColumnLabels() {
 +            if (centreColumnLabels == null) {
 +                return false;
 +            } else {
 +                return centreColumnLabels;
 +            }
 +        }
  
 -    /**
 -     * Gets the value of the followSelection property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public boolean isFollowSelection()
 -    {
 -      if (followSelection == null)
 -      {
 -        return true;
 -      }
 -      else
 -      {
 -        return followSelection;
 -      }
 -    }
 +        /**
 +         * Sets the value of the centreColumnLabels property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public void setCentreColumnLabels(Boolean value) {
 +            this.centreColumnLabels = value;
 +        }
  
 -    /**
 -     * Sets the value of the followSelection property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setFollowSelection(Boolean value)
 -    {
 -      this.followSelection = value;
 -    }
 +        /**
 +         * Gets the value of the showGroupConservation property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public boolean isShowGroupConservation() {
 +            if (showGroupConservation == null) {
 +                return false;
 +            } else {
 +                return showGroupConservation;
 +            }
 +        }
  
 -    /**
 -     * Gets the value of the showAnnotation property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public Boolean isShowAnnotation()
 -    {
 -      return showAnnotation;
 -    }
 +        /**
 +         * Sets the value of the showGroupConservation property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public void setShowGroupConservation(Boolean value) {
 +            this.showGroupConservation = value;
 +        }
  
 -    /**
 -     * Sets the value of the showAnnotation property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setShowAnnotation(Boolean value)
 -    {
 -      this.showAnnotation = value;
 -    }
 +        /**
 +         * Gets the value of the showGroupConsensus property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public boolean isShowGroupConsensus() {
 +            if (showGroupConsensus == null) {
 +                return false;
 +            } else {
 +                return showGroupConsensus;
 +            }
 +        }
  
 -    /**
 -     * Gets the value of the centreColumnLabels property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public boolean isCentreColumnLabels()
 -    {
 -      if (centreColumnLabels == null)
 -      {
 -        return false;
 -      }
 -      else
 -      {
 -        return centreColumnLabels;
 -      }
 -    }
 +        /**
 +         * Sets the value of the showGroupConsensus property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public void setShowGroupConsensus(Boolean value) {
 +            this.showGroupConsensus = value;
 +        }
  
 -    /**
 -     * Sets the value of the centreColumnLabels property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setCentreColumnLabels(Boolean value)
 -    {
 -      this.centreColumnLabels = value;
 -    }
 +        /**
 +         * Gets the value of the showConsensusHistogram property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public boolean isShowConsensusHistogram() {
 +            if (showConsensusHistogram == null) {
 +                return true;
 +            } else {
 +                return showConsensusHistogram;
 +            }
 +        }
  
 -    /**
 -     * Gets the value of the showGroupConservation property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public boolean isShowGroupConservation()
 -    {
 -      if (showGroupConservation == null)
 -      {
 -        return false;
 -      }
 -      else
 -      {
 -        return showGroupConservation;
 -      }
 -    }
 +        /**
 +         * Sets the value of the showConsensusHistogram property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public void setShowConsensusHistogram(Boolean value) {
 +            this.showConsensusHistogram = value;
 +        }
  
 -    /**
 -     * Sets the value of the showGroupConservation property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setShowGroupConservation(Boolean value)
 -    {
 -      this.showGroupConservation = value;
 -    }
 +        /**
 +         * Gets the value of the showSequenceLogo property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public boolean isShowSequenceLogo() {
 +            if (showSequenceLogo == null) {
 +                return false;
 +            } else {
 +                return showSequenceLogo;
 +            }
 +        }
  
 -    /**
 -     * Gets the value of the showGroupConsensus property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public boolean isShowGroupConsensus()
 -    {
 -      if (showGroupConsensus == null)
 -      {
 -        return false;
 -      }
 -      else
 -      {
 -        return showGroupConsensus;
 -      }
 -    }
 +        /**
 +         * Sets the value of the showSequenceLogo property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public void setShowSequenceLogo(Boolean value) {
 +            this.showSequenceLogo = value;
 +        }
 +
 +        /**
 +         * Gets the value of the normaliseSequenceLogo property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public boolean isNormaliseSequenceLogo() {
 +            if (normaliseSequenceLogo == null) {
 +                return false;
 +            } else {
 +                return normaliseSequenceLogo;
 +            }
 +        }
  
 -    /**
 -     * Sets the value of the showGroupConsensus property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setShowGroupConsensus(Boolean value)
 -    {
 -      this.showGroupConsensus = value;
 -    }
 +        /**
 +         * Sets the value of the normaliseSequenceLogo property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public void setNormaliseSequenceLogo(Boolean value) {
 +            this.normaliseSequenceLogo = value;
 +        }
  
 -    /**
 -     * Gets the value of the showConsensusHistogram property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public boolean isShowConsensusHistogram()
 -    {
 -      if (showConsensusHistogram == null)
 -      {
 -        return true;
 -      }
 -      else
 -      {
 -        return showConsensusHistogram;
 -      }
 -    }
 +        /**
 +         * Gets the value of the ignoreGapsinConsensus property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public boolean isIgnoreGapsinConsensus() {
 +            if (ignoreGapsinConsensus == null) {
 +                return true;
 +            } else {
 +                return ignoreGapsinConsensus;
 +            }
 +        }
  
 -    /**
 -     * Sets the value of the showConsensusHistogram property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setShowConsensusHistogram(Boolean value)
 -    {
 -      this.showConsensusHistogram = value;
 -    }
 +        /**
 +         * Sets the value of the ignoreGapsinConsensus property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public void setIgnoreGapsinConsensus(Boolean value) {
 +            this.ignoreGapsinConsensus = value;
 +        }
  
 -    /**
 -     * Gets the value of the showSequenceLogo property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public boolean isShowSequenceLogo()
 -    {
 -      if (showSequenceLogo == null)
 -      {
 -        return false;
 -      }
 -      else
 -      {
 -        return showSequenceLogo;
 -      }
 -    }
 +        /**
 +         * Gets the value of the startRes property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Integer }
 +         *     
 +         */
 +        public Integer getStartRes() {
 +            return startRes;
 +        }
  
 -    /**
 -     * Sets the value of the showSequenceLogo property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setShowSequenceLogo(Boolean value)
 -    {
 -      this.showSequenceLogo = value;
 -    }
 +        /**
 +         * Sets the value of the startRes property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Integer }
 +         *     
 +         */
 +        public void setStartRes(Integer value) {
 +            this.startRes = value;
 +        }
  
 -    /**
 -     * Gets the value of the normaliseSequenceLogo property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public boolean isNormaliseSequenceLogo()
 -    {
 -      if (normaliseSequenceLogo == null)
 -      {
 -        return false;
 -      }
 -      else
 -      {
 -        return normaliseSequenceLogo;
 -      }
 -    }
 +        /**
 +         * Gets the value of the startSeq property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Integer }
 +         *     
 +         */
 +        public Integer getStartSeq() {
 +            return startSeq;
 +        }
  
 -    /**
 -     * Sets the value of the normaliseSequenceLogo property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setNormaliseSequenceLogo(Boolean value)
 -    {
 -      this.normaliseSequenceLogo = value;
 -    }
 +        /**
 +         * Sets the value of the startSeq property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Integer }
 +         *     
 +         */
 +        public void setStartSeq(Integer value) {
 +            this.startSeq = value;
 +        }
  
 -    /**
 -     * Gets the value of the ignoreGapsinConsensus property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public boolean isIgnoreGapsinConsensus()
 -    {
 -      if (ignoreGapsinConsensus == null)
 -      {
 -        return true;
 -      }
 -      else
 -      {
 -        return ignoreGapsinConsensus;
 -      }
 -    }
 +        /**
 +         * Gets the value of the fontName property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link String }
 +         *     
 +         */
 +        public String getFontName() {
 +            return fontName;
 +        }
  
 -    /**
 -     * Sets the value of the ignoreGapsinConsensus property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setIgnoreGapsinConsensus(Boolean value)
 -    {
 -      this.ignoreGapsinConsensus = value;
 -    }
 +        /**
 +         * Sets the value of the fontName property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link String }
 +         *     
 +         */
 +        public void setFontName(String value) {
 +            this.fontName = value;
 +        }
  
 -    /**
 -     * Gets the value of the startRes property.
 -     * 
 -     * @return possible object is {@link Integer }
 -     * 
 -     */
 -    public Integer getStartRes()
 -    {
 -      return startRes;
 -    }
 +        /**
 +         * Gets the value of the fontSize property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Integer }
 +         *     
 +         */
 +        public Integer getFontSize() {
 +            return fontSize;
 +        }
  
 -    /**
 -     * Sets the value of the startRes property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Integer }
 -     * 
 -     */
 -    public void setStartRes(Integer value)
 -    {
 -      this.startRes = value;
 -    }
 +        /**
 +         * Sets the value of the fontSize property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Integer }
 +         *     
 +         */
 +        public void setFontSize(Integer value) {
 +            this.fontSize = value;
 +        }
  
 -    /**
 -     * Gets the value of the startSeq property.
 -     * 
 -     * @return possible object is {@link Integer }
 -     * 
 -     */
 -    public Integer getStartSeq()
 -    {
 -      return startSeq;
 -    }
 +        /**
 +         * Gets the value of the fontStyle property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Integer }
 +         *     
 +         */
 +        public Integer getFontStyle() {
 +            return fontStyle;
 +        }
  
 -    /**
 -     * Sets the value of the startSeq property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Integer }
 -     * 
 -     */
 -    public void setStartSeq(Integer value)
 -    {
 -      this.startSeq = value;
 -    }
 +        /**
 +         * Sets the value of the fontStyle property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Integer }
 +         *     
 +         */
 +        public void setFontStyle(Integer value) {
 +            this.fontStyle = value;
 +        }
  
 -    /**
 -     * Gets the value of the fontName property.
 -     * 
 -     * @return possible object is {@link String }
 -     * 
 -     */
 -    public String getFontName()
 -    {
 -      return fontName;
 -    }
 +        /**
 +         * Gets the value of the scaleProteinAsCdna property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public boolean isScaleProteinAsCdna() {
 +            if (scaleProteinAsCdna == null) {
 +                return true;
 +            } else {
 +                return scaleProteinAsCdna;
 +            }
 +        }
  
 -    /**
 -     * Sets the value of the fontName property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link String }
 -     * 
 -     */
 -    public void setFontName(String value)
 -    {
 -      this.fontName = value;
 -    }
 +        /**
 +         * Sets the value of the scaleProteinAsCdna property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public void setScaleProteinAsCdna(Boolean value) {
 +            this.scaleProteinAsCdna = value;
 +        }
  
 -    /**
 -     * Gets the value of the fontSize property.
 -     * 
 -     * @return possible object is {@link Integer }
 -     * 
 -     */
 -    public Integer getFontSize()
 -    {
 -      return fontSize;
 -    }
 +        /**
 +         * Gets the value of the viewName property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link String }
 +         *     
 +         */
 +        public String getViewName() {
 +            return viewName;
 +        }
  
 -    /**
 -     * Sets the value of the fontSize property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Integer }
 -     * 
 -     */
 -    public void setFontSize(Integer value)
 -    {
 -      this.fontSize = value;
 -    }
 +        /**
 +         * Sets the value of the viewName property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link String }
 +         *     
 +         */
 +        public void setViewName(String value) {
 +            this.viewName = value;
 +        }
  
 -    /**
 -     * Gets the value of the fontStyle property.
 -     * 
 -     * @return possible object is {@link Integer }
 -     * 
 -     */
 -    public Integer getFontStyle()
 -    {
 -      return fontStyle;
 -    }
 +        /**
 +         * Gets the value of the sequenceSetId property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link String }
 +         *     
 +         */
 +        public String getSequenceSetId() {
 +            return sequenceSetId;
 +        }
  
 -    /**
 -     * Sets the value of the fontStyle property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Integer }
 -     * 
 -     */
 -    public void setFontStyle(Integer value)
 -    {
 -      this.fontStyle = value;
 -    }
 +        /**
 +         * Sets the value of the sequenceSetId property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link String }
 +         *     
 +         */
 +        public void setSequenceSetId(String value) {
 +            this.sequenceSetId = value;
 +        }
  
 -    /**
 -     * Gets the value of the scaleProteinAsCdna property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public boolean isScaleProteinAsCdna()
 -    {
 -      if (scaleProteinAsCdna == null)
 -      {
 -        return true;
 -      }
 -      else
 -      {
 -        return scaleProteinAsCdna;
 -      }
 -    }
 +        /**
 +         * Gets the value of the gatheredViews property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public Boolean isGatheredViews() {
 +            return gatheredViews;
 +        }
  
 -    /**
 -     * Sets the value of the scaleProteinAsCdna property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setScaleProteinAsCdna(Boolean value)
 -    {
 -      this.scaleProteinAsCdna = value;
 -    }
 +        /**
 +         * Sets the value of the gatheredViews property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public void setGatheredViews(Boolean value) {
 +            this.gatheredViews = value;
 +        }
  
 -    /**
 -     * Gets the value of the viewName property.
 -     * 
 -     * @return possible object is {@link String }
 -     * 
 -     */
 -    public String getViewName()
 -    {
 -      return viewName;
 -    }
 +        /**
 +         * Gets the value of the textCol1 property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Integer }
 +         *     
 +         */
 +        public Integer getTextCol1() {
 +            return textCol1;
 +        }
  
 -    /**
 -     * Sets the value of the viewName property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link String }
 -     * 
 -     */
 -    public void setViewName(String value)
 -    {
 -      this.viewName = value;
 -    }
 +        /**
 +         * Sets the value of the textCol1 property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Integer }
 +         *     
 +         */
 +        public void setTextCol1(Integer value) {
 +            this.textCol1 = value;
 +        }
  
 -    /**
 -     * Gets the value of the sequenceSetId property.
 -     * 
 -     * @return possible object is {@link String }
 -     * 
 -     */
 -    public String getSequenceSetId()
 -    {
 -      return sequenceSetId;
 -    }
 +        /**
 +         * Gets the value of the textCol2 property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Integer }
 +         *     
 +         */
 +        public Integer getTextCol2() {
 +            return textCol2;
 +        }
  
 -    /**
 -     * Sets the value of the sequenceSetId property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link String }
 -     * 
 -     */
 -    public void setSequenceSetId(String value)
 -    {
 -      this.sequenceSetId = value;
 -    }
 +        /**
 +         * Sets the value of the textCol2 property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Integer }
 +         *     
 +         */
 +        public void setTextCol2(Integer value) {
 +            this.textCol2 = value;
 +        }
  
 -    /**
 -     * Gets the value of the gatheredViews property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public Boolean isGatheredViews()
 -    {
 -      return gatheredViews;
 -    }
 +        /**
 +         * Gets the value of the textColThreshold property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Integer }
 +         *     
 +         */
 +        public Integer getTextColThreshold() {
 +            return textColThreshold;
 +        }
  
 -    /**
 -     * Sets the value of the gatheredViews property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setGatheredViews(Boolean value)
 -    {
 -      this.gatheredViews = value;
 -    }
 +        /**
 +         * Sets the value of the textColThreshold property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Integer }
 +         *     
 +         */
 +        public void setTextColThreshold(Integer value) {
 +            this.textColThreshold = value;
 +        }
  
 -    /**
 -     * Gets the value of the textCol1 property.
 -     * 
 -     * @return possible object is {@link Integer }
 -     * 
 -     */
 -    public Integer getTextCol1()
 -    {
 -      return textCol1;
 -    }
 +        /**
 +         * Gets the value of the id property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link String }
 +         *     
 +         */
 +        public String getId() {
 +            return id;
 +        }
  
 -    /**
 -     * Sets the value of the textCol1 property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Integer }
 -     * 
 -     */
 -    public void setTextCol1(Integer value)
 -    {
 -      this.textCol1 = value;
 -    }
 +        /**
 +         * Sets the value of the id property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link String }
 +         *     
 +         */
 +        public void setId(String value) {
 +            this.id = value;
 +        }
  
 -    /**
 -     * Gets the value of the textCol2 property.
 -     * 
 -     * @return possible object is {@link Integer }
 -     * 
 -     */
 -    public Integer getTextCol2()
 -    {
 -      return textCol2;
 -    }
 +        /**
 +         * Gets the value of the complementId property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link String }
 +         *     
 +         */
 +        public String getComplementId() {
 +            return complementId;
 +        }
  
 -    /**
 -     * Sets the value of the textCol2 property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Integer }
 -     * 
 -     */
 -    public void setTextCol2(Integer value)
 -    {
 -      this.textCol2 = value;
 -    }
 +        /**
 +         * Sets the value of the complementId property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link String }
 +         *     
 +         */
 +        public void setComplementId(String value) {
 +            this.complementId = value;
 +        }
  
 -    /**
 -     * Gets the value of the textColThreshold property.
 -     * 
 -     * @return possible object is {@link Integer }
 -     * 
 -     */
 -    public Integer getTextColThreshold()
 -    {
 -      return textColThreshold;
 -    }
 +        /**
 +         * Gets the value of the showComplementFeatures property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public boolean isShowComplementFeatures() {
 +            if (showComplementFeatures == null) {
 +                return false;
 +            } else {
 +                return showComplementFeatures;
 +            }
 +        }
  
 -    /**
 -     * Sets the value of the textColThreshold property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Integer }
 -     * 
 -     */
 -    public void setTextColThreshold(Integer value)
 -    {
 -      this.textColThreshold = value;
 -    }
 +        /**
 +         * Sets the value of the showComplementFeatures property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public void setShowComplementFeatures(Boolean value) {
 +            this.showComplementFeatures = value;
 +        }
  
 -    /**
 -     * Gets the value of the id property.
 -     * 
 -     * @return possible object is {@link String }
 -     * 
 -     */
 -    public String getId()
 -    {
 -      return id;
 -    }
 +        /**
 +         * Gets the value of the showComplementFeaturesOnTop property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public boolean isShowComplementFeaturesOnTop() {
 +            if (showComplementFeaturesOnTop == null) {
 +                return false;
 +            } else {
 +                return showComplementFeaturesOnTop;
 +            }
 +        }
  
 -    /**
 -     * Sets the value of the id property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link String }
 -     * 
 -     */
 -    public void setId(String value)
 -    {
 -      this.id = value;
 -    }
 +        /**
 +         * Sets the value of the showComplementFeaturesOnTop property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public void setShowComplementFeaturesOnTop(Boolean value) {
 +            this.showComplementFeaturesOnTop = value;
 +        }
  
 -    /**
 -     * Gets the value of the complementId property.
 -     * 
 -     * @return possible object is {@link String }
 -     * 
 -     */
 -    public String getComplementId()
 -    {
 -      return complementId;
 -    }
 +        /**
 +         * Gets the value of the width property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Integer }
 +         *     
 +         */
 +        public Integer getWidth() {
 +            return width;
 +        }
  
 -    /**
 -     * Sets the value of the complementId property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link String }
 -     * 
 -     */
 -    public void setComplementId(String value)
 -    {
 -      this.complementId = value;
 -    }
 +        /**
 +         * Sets the value of the width property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Integer }
 +         *     
 +         */
 +        public void setWidth(Integer value) {
 +            this.width = value;
 +        }
  
 -    /**
 -     * Gets the value of the showComplementFeatures property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public boolean isShowComplementFeatures()
 -    {
 -      if (showComplementFeatures == null)
 -      {
 -        return false;
 -      }
 -      else
 -      {
 -        return showComplementFeatures;
 -      }
 -    }
 +        /**
 +         * Gets the value of the height property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Integer }
 +         *     
 +         */
 +        public Integer getHeight() {
 +            return height;
 +        }
  
 -    /**
 -     * Sets the value of the showComplementFeatures property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setShowComplementFeatures(Boolean value)
 -    {
 -      this.showComplementFeatures = value;
 -    }
 +        /**
 +         * Sets the value of the height property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Integer }
 +         *     
 +         */
 +        public void setHeight(Integer value) {
 +            this.height = value;
 +        }
  
 -    /**
 -     * Gets the value of the showComplementFeaturesOnTop property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public boolean isShowComplementFeaturesOnTop()
 -    {
 -      if (showComplementFeaturesOnTop == null)
 -      {
 -        return false;
 -      }
 -      else
 -      {
 -        return showComplementFeaturesOnTop;
 -      }
 -    }
 +        /**
 +         * Gets the value of the xpos property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Integer }
 +         *     
 +         */
 +        public Integer getXpos() {
 +            return xpos;
 +        }
  
 -    /**
 -     * Sets the value of the showComplementFeaturesOnTop property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setShowComplementFeaturesOnTop(Boolean value)
 -    {
 -      this.showComplementFeaturesOnTop = value;
 -    }
 +        /**
 +         * Sets the value of the xpos property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Integer }
 +         *     
 +         */
 +        public void setXpos(Integer value) {
 +            this.xpos = value;
 +        }
  
 -    /**
 -     * Gets the value of the width property.
 -     * 
 -     * @return possible object is {@link Integer }
 -     * 
 -     */
 -    public Integer getWidth()
 -    {
 -      return width;
 -    }
 +        /**
 +         * Gets the value of the ypos property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Integer }
 +         *     
 +         */
 +        public Integer getYpos() {
 +            return ypos;
 +        }
  
 -    /**
 -     * Sets the value of the width property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Integer }
 -     * 
 -     */
 -    public void setWidth(Integer value)
 -    {
 -      this.width = value;
 -    }
 +        /**
 +         * Sets the value of the ypos property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Integer }
 +         *     
 +         */
 +        public void setYpos(Integer value) {
 +            this.ypos = value;
 +        }
  
 -    /**
 -     * Gets the value of the height property.
 -     * 
 -     * @return possible object is {@link Integer }
 -     * 
 -     */
 -    public Integer getHeight()
 -    {
 -      return height;
 -    }
  
 -    /**
 -     * Sets the value of the height property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Integer }
 -     * 
 -     */
 -    public void setHeight(Integer value)
 -    {
 -      this.height = value;
 -    }
 +        /**
-          * &lt;p&gt;Java class for anonymous complex type.
++         * <p>Java class for anonymous complex type.
 +         * 
-          * &lt;p&gt;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.
 +         * 
-          * &lt;pre&gt;
-          * &amp;lt;complexType&amp;gt;
-          *   &amp;lt;complexContent&amp;gt;
-          *     &amp;lt;extension base="{www.jalview.org/xml/wsparamset}WebServiceParameterSet"&amp;gt;
-          *       &amp;lt;attribute name="calcId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-          *       &amp;lt;attribute name="needsUpdate" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
-          *       &amp;lt;attribute name="autoUpdate" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-          *     &amp;lt;/extension&amp;gt;
-          *   &amp;lt;/complexContent&amp;gt;
-          * &amp;lt;/complexType&amp;gt;
-          * &lt;/pre&gt;
++         * <pre>
++         * &lt;complexType>
++         *   &lt;complexContent>
++         *     &lt;extension base="{www.jalview.org/xml/wsparamset}WebServiceParameterSet">
++         *       &lt;attribute name="calcId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
++         *       &lt;attribute name="needsUpdate" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
++         *       &lt;attribute name="autoUpdate" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++         *     &lt;/extension>
++         *   &lt;/complexContent>
++         * &lt;/complexType>
++         * </pre>
 +         * 
 +         * 
 +         */
 +        @XmlAccessorType(XmlAccessType.FIELD)
 +        @XmlType(name = "")
 +        public static class CalcIdParam
 +            extends WebServiceParameterSet
 +        {
  
 -    /**
 -     * Gets the value of the xpos property.
 -     * 
 -     * @return possible object is {@link Integer }
 -     * 
 -     */
 -    public Integer getXpos()
 -    {
 -      return xpos;
 -    }
 +            @XmlAttribute(name = "calcId", required = true)
 +            protected String calcId;
 +            @XmlAttribute(name = "needsUpdate")
 +            protected Boolean needsUpdate;
 +            @XmlAttribute(name = "autoUpdate", required = true)
 +            protected boolean autoUpdate;
 +
 +            /**
 +             * Gets the value of the calcId property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link String }
 +             *     
 +             */
 +            public String getCalcId() {
 +                return calcId;
 +            }
 +
 +            /**
 +             * Sets the value of the calcId property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link String }
 +             *     
 +             */
 +            public void setCalcId(String value) {
 +                this.calcId = value;
 +            }
 +
 +            /**
 +             * Gets the value of the needsUpdate property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link Boolean }
 +             *     
 +             */
 +            public boolean isNeedsUpdate() {
 +                if (needsUpdate == null) {
 +                    return false;
 +                } else {
 +                    return needsUpdate;
 +                }
 +            }
 +
 +            /**
 +             * Sets the value of the needsUpdate property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link Boolean }
 +             *     
 +             */
 +            public void setNeedsUpdate(Boolean value) {
 +                this.needsUpdate = value;
 +            }
 +
 +            /**
 +             * Gets the value of the autoUpdate property.
 +             * 
 +             */
 +            public boolean isAutoUpdate() {
 +                return autoUpdate;
 +            }
 +
 +            /**
 +             * Sets the value of the autoUpdate property.
 +             * 
 +             */
 +            public void setAutoUpdate(boolean value) {
 +                this.autoUpdate = value;
 +            }
  
 -    /**
 -     * Sets the value of the xpos property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Integer }
 -     * 
 -     */
 -    public void setXpos(Integer value)
 -    {
 -      this.xpos = value;
 -    }
 +        }
  
 -    /**
 -     * Gets the value of the ypos property.
 -     * 
 -     * @return possible object is {@link Integer }
 -     * 
 -     */
 -    public Integer getYpos()
 -    {
 -      return ypos;
 -    }
  
 -    /**
 -     * Sets the value of the ypos property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Integer }
 -     * 
 -     */
 -    public void setYpos(Integer value)
 -    {
 -      this.ypos = value;
 -    }
 +        /**
-          * &lt;p&gt;Java class for anonymous complex type.
++         * <p>Java class for anonymous complex type.
 +         * 
-          * &lt;p&gt;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.
 +         * 
-          * &lt;pre&gt;
-          * &amp;lt;complexType&amp;gt;
-          *   &amp;lt;complexContent&amp;gt;
-          *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-          *       &amp;lt;attribute name="start" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-          *       &amp;lt;attribute name="end" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-          *     &amp;lt;/restriction&amp;gt;
-          *   &amp;lt;/complexContent&amp;gt;
-          * &amp;lt;/complexType&amp;gt;
-          * &lt;/pre&gt;
++         * <pre>
++         * &lt;complexType>
++         *   &lt;complexContent>
++         *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++         *       &lt;attribute name="start" type="{http://www.w3.org/2001/XMLSchema}int" />
++         *       &lt;attribute name="end" type="{http://www.w3.org/2001/XMLSchema}int" />
++         *     &lt;/restriction>
++         *   &lt;/complexContent>
++         * &lt;/complexType>
++         * </pre>
 +         * 
 +         * 
 +         */
 +        @XmlAccessorType(XmlAccessType.FIELD)
 +        @XmlType(name = "")
 +        public static class HiddenColumns {
 +
 +            @XmlAttribute(name = "start")
 +            protected Integer start;
 +            @XmlAttribute(name = "end")
 +            protected Integer end;
 +
 +            /**
 +             * Gets the value of the start property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link Integer }
 +             *     
 +             */
 +            public Integer getStart() {
 +                return start;
 +            }
 +
 +            /**
 +             * Sets the value of the start property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link Integer }
 +             *     
 +             */
 +            public void setStart(Integer value) {
 +                this.start = value;
 +            }
 +
 +            /**
 +             * Gets the value of the end property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link Integer }
 +             *     
 +             */
 +            public Integer getEnd() {
 +                return end;
 +            }
 +
 +            /**
 +             * Sets the value of the end property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link Integer }
 +             *     
 +             */
 +            public void setEnd(Integer value) {
 +                this.end = value;
 +            }
  
 -    /**
 -     * &lt;p&gt;Java class for anonymous complex type.
 -     * 
 -     * &lt;p&gt;The following schema fragment specifies the expected content
 -     * contained within this class.
 -     * 
 -     * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
 -     * &amp;lt;extension
 -     * base="{www.jalview.org/xml/wsparamset}WebServiceParameterSet"&amp;gt;
 -     * &amp;lt;attribute name="calcId" use="required"
 -     * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
 -     * &amp;lt;attribute name="needsUpdate"
 -     * type="{http://www.w3.org/2001/XMLSchema}boolean" default="false"
 -     * /&amp;gt; &amp;lt;attribute name="autoUpdate" use="required"
 -     * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
 -     * &amp;lt;/extension&amp;gt; &amp;lt;/complexContent&amp;gt;
 -     * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
 -     * 
 -     * 
 -     */
 -    @XmlAccessorType(XmlAccessType.FIELD)
 -    @XmlType(name = "")
 -    public static class CalcIdParam extends WebServiceParameterSet
 -    {
 -
 -      @XmlAttribute(name = "calcId", required = true)
 -      protected String calcId;
 -
 -      @XmlAttribute(name = "needsUpdate")
 -      protected Boolean needsUpdate;
 -
 -      @XmlAttribute(name = "autoUpdate", required = true)
 -      protected boolean autoUpdate;
 -
 -      /**
 -       * Gets the value of the calcId property.
 -       * 
 -       * @return possible object is {@link String }
 -       * 
 -       */
 -      public String getCalcId()
 -      {
 -        return calcId;
 -      }
 -
 -      /**
 -       * Sets the value of the calcId property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link String }
 -       * 
 -       */
 -      public void setCalcId(String value)
 -      {
 -        this.calcId = value;
 -      }
 -
 -      /**
 -       * Gets the value of the needsUpdate property.
 -       * 
 -       * @return possible object is {@link Boolean }
 -       * 
 -       */
 -      public boolean isNeedsUpdate()
 -      {
 -        if (needsUpdate == null)
 -        {
 -          return false;
          }
 -        else
 -        {
 -          return needsUpdate;
 -        }
 -      }
 -
 -      /**
 -       * Sets the value of the needsUpdate property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link Boolean }
 -       * 
 -       */
 -      public void setNeedsUpdate(Boolean value)
 -      {
 -        this.needsUpdate = value;
 -      }
 -
 -      /**
 -       * Gets the value of the autoUpdate property.
 -       * 
 -       */
 -      public boolean isAutoUpdate()
 -      {
 -        return autoUpdate;
 -      }
 -
 -      /**
 -       * Sets the value of the autoUpdate property.
 -       * 
 -       */
 -      public void setAutoUpdate(boolean value)
 -      {
 -        this.autoUpdate = value;
 -      }
  
 -    }
  
 -    /**
 -     * &lt;p&gt;Java class for anonymous complex type.
 -     * 
 -     * &lt;p&gt;The following schema fragment specifies the expected content
 -     * contained within this class.
 -     * 
 -     * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
 -     * &amp;lt;restriction
 -     * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
 -     * &amp;lt;attribute name="start"
 -     * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
 -     * name="end" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
 -     * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 -     * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
 -     * 
 -     * 
 -     */
 -    @XmlAccessorType(XmlAccessType.FIELD)
 -    @XmlType(name = "")
 -    public static class HiddenColumns
 -    {
 -
 -      @XmlAttribute(name = "start")
 -      protected Integer start;
 -
 -      @XmlAttribute(name = "end")
 -      protected Integer end;
 -
 -      /**
 -       * Gets the value of the start property.
 -       * 
 -       * @return possible object is {@link Integer }
 -       * 
 -       */
 -      public Integer getStart()
 -      {
 -        return start;
 -      }
 -
 -      /**
 -       * Sets the value of the start property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link Integer }
 -       * 
 -       */
 -      public void setStart(Integer value)
 -      {
 -        this.start = value;
 -      }
 -
 -      /**
 -       * Gets the value of the end property.
 -       * 
 -       * @return possible object is {@link Integer }
 -       * 
 -       */
 -      public Integer getEnd()
 -      {
 -        return end;
 -      }
 -
 -      /**
 -       * Sets the value of the end property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link Integer }
 -       * 
 -       */
 -      public void setEnd(Integer value)
 -      {
 -        this.end = value;
 -      }
 +        /**
-          * &lt;p&gt;Java class for anonymous complex type.
++         * <p>Java class for anonymous complex type.
 +         * 
-          * &lt;p&gt;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.
 +         * 
-          * &lt;pre&gt;
-          * &amp;lt;complexType&amp;gt;
-          *   &amp;lt;complexContent&amp;gt;
-          *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-          *       &amp;lt;attGroup ref="{www.jalview.org}swingwindow"/&amp;gt;
-          *       &amp;lt;attribute name="showHidden" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-          *       &amp;lt;attribute name="residueColour" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-          *       &amp;lt;attribute name="gapColour" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-          *       &amp;lt;attribute name="hiddenColour" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-          *       &amp;lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-          *     &amp;lt;/restriction&amp;gt;
-          *   &amp;lt;/complexContent&amp;gt;
-          * &amp;lt;/complexType&amp;gt;
-          * &lt;/pre&gt;
++         * <pre>
++         * &lt;complexType>
++         *   &lt;complexContent>
++         *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++         *       &lt;attGroup ref="{www.jalview.org}swingwindow"/>
++         *       &lt;attribute name="showHidden" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++         *       &lt;attribute name="residueColour" type="{http://www.w3.org/2001/XMLSchema}int" />
++         *       &lt;attribute name="gapColour" type="{http://www.w3.org/2001/XMLSchema}int" />
++         *       &lt;attribute name="hiddenColour" type="{http://www.w3.org/2001/XMLSchema}int" />
++         *       &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
++         *     &lt;/restriction>
++         *   &lt;/complexContent>
++         * &lt;/complexType>
++         * </pre>
 +         * 
 +         * 
 +         */
 +        @XmlAccessorType(XmlAccessType.FIELD)
 +        @XmlType(name = "")
 +        public static class Overview {
 +
 +            @XmlAttribute(name = "showHidden")
 +            protected Boolean showHidden;
 +            @XmlAttribute(name = "residueColour")
 +            protected Integer residueColour;
 +            @XmlAttribute(name = "gapColour")
 +            protected Integer gapColour;
 +            @XmlAttribute(name = "hiddenColour")
 +            protected Integer hiddenColour;
 +            @XmlAttribute(name = "title")
 +            protected String title;
 +            @XmlAttribute(name = "width")
 +            protected Integer width;
 +            @XmlAttribute(name = "height")
 +            protected Integer height;
 +            @XmlAttribute(name = "xpos")
 +            protected Integer xpos;
 +            @XmlAttribute(name = "ypos")
 +            protected Integer ypos;
 +
 +            /**
 +             * Gets the value of the showHidden property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link Boolean }
 +             *     
 +             */
 +            public Boolean isShowHidden() {
 +                return showHidden;
 +            }
 +
 +            /**
 +             * Sets the value of the showHidden property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link Boolean }
 +             *     
 +             */
 +            public void setShowHidden(Boolean value) {
 +                this.showHidden = value;
 +            }
 +
 +            /**
 +             * Gets the value of the residueColour property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link Integer }
 +             *     
 +             */
 +            public Integer getResidueColour() {
 +                return residueColour;
 +            }
 +
 +            /**
 +             * Sets the value of the residueColour property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link Integer }
 +             *     
 +             */
 +            public void setResidueColour(Integer value) {
 +                this.residueColour = value;
 +            }
 +
 +            /**
 +             * Gets the value of the gapColour property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link Integer }
 +             *     
 +             */
 +            public Integer getGapColour() {
 +                return gapColour;
 +            }
 +
 +            /**
 +             * Sets the value of the gapColour property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link Integer }
 +             *     
 +             */
 +            public void setGapColour(Integer value) {
 +                this.gapColour = value;
 +            }
 +
 +            /**
 +             * Gets the value of the hiddenColour property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link Integer }
 +             *     
 +             */
 +            public Integer getHiddenColour() {
 +                return hiddenColour;
 +            }
 +
 +            /**
 +             * Sets the value of the hiddenColour property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link Integer }
 +             *     
 +             */
 +            public void setHiddenColour(Integer value) {
 +                this.hiddenColour = value;
 +            }
 +
 +            /**
 +             * Gets the value of the title property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link String }
 +             *     
 +             */
 +            public String getTitle() {
 +                return title;
 +            }
 +
 +            /**
 +             * Sets the value of the title property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link String }
 +             *     
 +             */
 +            public void setTitle(String value) {
 +                this.title = value;
 +            }
 +
 +            /**
 +             * Gets the value of the width property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link Integer }
 +             *     
 +             */
 +            public Integer getWidth() {
 +                return width;
 +            }
 +
 +            /**
 +             * Sets the value of the width property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link Integer }
 +             *     
 +             */
 +            public void setWidth(Integer value) {
 +                this.width = value;
 +            }
 +
 +            /**
 +             * Gets the value of the height property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link Integer }
 +             *     
 +             */
 +            public Integer getHeight() {
 +                return height;
 +            }
 +
 +            /**
 +             * Sets the value of the height property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link Integer }
 +             *     
 +             */
 +            public void setHeight(Integer value) {
 +                this.height = value;
 +            }
 +
 +            /**
 +             * Gets the value of the xpos property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link Integer }
 +             *     
 +             */
 +            public Integer getXpos() {
 +                return xpos;
 +            }
 +
 +            /**
 +             * Sets the value of the xpos property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link Integer }
 +             *     
 +             */
 +            public void setXpos(Integer value) {
 +                this.xpos = value;
 +            }
 +
 +            /**
 +             * Gets the value of the ypos property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link Integer }
 +             *     
 +             */
 +            public Integer getYpos() {
 +                return ypos;
 +            }
 +
 +            /**
 +             * Sets the value of the ypos property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link Integer }
 +             *     
 +             */
 +            public void setYpos(Integer value) {
 +                this.ypos = value;
 +            }
  
 -    }
 +        }
  
 -  }
 +    }
  
  }
diff --cc src/jalview/xml/binding/jalview/JalviewModelType.java
index f084bc3,0541d7a..0000000
deleted file mode 100644,100644
+++ /dev/null
@@@ -1,5090 -1,5233 +1,0 @@@
--//
--// 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: 2018.09.18 at 01:33:02 PM BST 
--//
--
--package jalview.xml.binding.jalview;
--
--import java.util.ArrayList;
--import java.util.List;
--import javax.xml.bind.annotation.XmlAccessType;
--import javax.xml.bind.annotation.XmlAccessorType;
--import javax.xml.bind.annotation.XmlAttribute;
--import javax.xml.bind.annotation.XmlElement;
--import javax.xml.bind.annotation.XmlID;
--import javax.xml.bind.annotation.XmlSchemaType;
--import javax.xml.bind.annotation.XmlType;
--import javax.xml.bind.annotation.XmlValue;
--import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
--import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
--import javax.xml.datatype.XMLGregorianCalendar;
--
--/**
-  * <p>Java class for JalviewModelType complex type.
-  * 
-  * <p>The following schema fragment specifies the expected content contained within this class.
-  * 
-  * <pre>
-  * &lt;complexType name="JalviewModelType">
-  *   &lt;complexContent>
-  *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-  *       &lt;sequence>
-  *         &lt;element name="creationDate" type="{http://www.w3.org/2001/XMLSchema}dateTime"/>
-  *         &lt;element name="version" type="{http://www.w3.org/2001/XMLSchema}string"/>
-  *         &lt;element name="vamsasModel" type="{www.vamsas.ac.uk/jalview/version2}VAMSAS"/>
-  *         &lt;sequence>
-  *           &lt;element name="JSeq" maxOccurs="unbounded" minOccurs="0">
-  *             &lt;complexType>
-  *               &lt;complexContent>
-  *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-  *                   &lt;sequence>
-  *                     &lt;element name="features" type="{www.jalview.org}feature" maxOccurs="unbounded" minOccurs="0"/>
-  *                     &lt;element name="pdbids" maxOccurs="unbounded" minOccurs="0">
-  *                       &lt;complexType>
-  *                         &lt;complexContent>
-  *                           &lt;extension base="{www.jalview.org}pdbentry">
-  *                             &lt;sequence>
-  *                               &lt;element name="structureState" maxOccurs="unbounded" minOccurs="0">
-  *                                 &lt;complexType>
-  *                                   &lt;simpleContent>
-  *                                     &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
-  *                                       &lt;attGroup ref="{www.jalview.org}swingwindow"/>
-  *                                       &lt;attribute name="visible" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-  *                                       &lt;attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" />
-  *                                       &lt;attribute name="alignwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
-  *                                       &lt;attribute name="colourwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
-  *                                       &lt;attribute name="colourByJmol" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
-  *                                       &lt;attribute name="type" type="{http://www.w3.org/2001/XMLSchema}string" />
-  *                                     &lt;/extension>
-  *                                   &lt;/simpleContent>
-  *                                 &lt;/complexType>
-  *                               &lt;/element>
-  *                             &lt;/sequence>
-  *                           &lt;/extension>
-  *                         &lt;/complexContent>
-  *                       &lt;/complexType>
-  *                     &lt;/element>
-  *                     &lt;element name="hiddenSequences" type="{http://www.w3.org/2001/XMLSchema}int" maxOccurs="unbounded" minOccurs="0"/>
-  *                     &lt;element name="rnaViewer" maxOccurs="unbounded" minOccurs="0">
-  *                       &lt;complexType>
-  *                         &lt;complexContent>
-  *                           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-  *                             &lt;sequence>
-  *                               &lt;element name="secondaryStructure" maxOccurs="unbounded">
-  *                                 &lt;complexType>
-  *                                   &lt;complexContent>
-  *                                     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-  *                                       &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
-  *                                       &lt;attribute name="annotationId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
-  *                                       &lt;attribute name="gapped" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-  *                                       &lt;attribute name="viewerState" type="{http://www.w3.org/2001/XMLSchema}string" />
-  *                                     &lt;/restriction>
-  *                                   &lt;/complexContent>
-  *                                 &lt;/complexType>
-  *                               &lt;/element>
-  *                             &lt;/sequence>
-  *                             &lt;attGroup ref="{www.jalview.org}swingwindow"/>
-  *                             &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
-  *                             &lt;attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" />
-  *                             &lt;attribute name="dividerLocation" type="{http://www.w3.org/2001/XMLSchema}int" />
-  *                             &lt;attribute name="selectedRna" type="{http://www.w3.org/2001/XMLSchema}int" />
-  *                           &lt;/restriction>
-  *                         &lt;/complexContent>
-  *                       &lt;/complexType>
-  *                     &lt;/element>
-  *                   &lt;/sequence>
-  *                   &lt;attribute name="colour" type="{http://www.w3.org/2001/XMLSchema}int" />
-  *                   &lt;attribute name="start" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
-  *                   &lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
-  *                   &lt;attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
-  *                   &lt;attribute name="hidden" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-  *                   &lt;attribute name="viewreference" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-  *                 &lt;/restriction>
-  *               &lt;/complexContent>
-  *             &lt;/complexType>
-  *           &lt;/element>
-  *           &lt;element name="JGroup" maxOccurs="unbounded" minOccurs="0">
-  *             &lt;complexType>
-  *               &lt;complexContent>
-  *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-  *                   &lt;sequence>
-  *                     &lt;element name="seq" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded"/>
-  *                     &lt;element name="annotationColours" type="{www.jalview.org}AnnotationColourScheme" minOccurs="0"/>
-  *                   &lt;/sequence>
-  *                   &lt;attribute name="start" type="{http://www.w3.org/2001/XMLSchema}int" />
-  *                   &lt;attribute name="end" type="{http://www.w3.org/2001/XMLSchema}int" />
-  *                   &lt;attribute name="name" type="{http://www.w3.org/2001/XMLSchema}string" />
-  *                   &lt;attribute name="colour" type="{http://www.w3.org/2001/XMLSchema}string" />
-  *                   &lt;attribute name="consThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
-  *                   &lt;attribute name="pidThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
-  *                   &lt;attribute name="outlineColour" type="{http://www.w3.org/2001/XMLSchema}int" />
-  *                   &lt;attribute name="displayBoxes" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-  *                   &lt;attribute name="displayText" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-  *                   &lt;attribute name="colourText" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-  *                   &lt;attribute name="textCol1" type="{http://www.w3.org/2001/XMLSchema}int" />
-  *                   &lt;attribute name="textCol2" type="{http://www.w3.org/2001/XMLSchema}int" />
-  *                   &lt;attribute name="textColThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
-  *                   &lt;attribute name="showUnconserved" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-  *                   &lt;attribute name="ignoreGapsinConsensus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
-  *                   &lt;attribute name="showConsensusHistogram" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
-  *                   &lt;attribute name="showSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
-  *                   &lt;attribute name="normaliseSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
-  *                   &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string" />
-  *                 &lt;/restriction>
-  *               &lt;/complexContent>
-  *             &lt;/complexType>
-  *           &lt;/element>
-  *           &lt;element name="Viewport" maxOccurs="unbounded" minOccurs="0">
-  *             &lt;complexType>
-  *               &lt;complexContent>
-  *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-  *                   &lt;sequence>
-  *                     &lt;element name="AnnotationColours" type="{www.jalview.org}AnnotationColourScheme" minOccurs="0"/>
-  *                     &lt;element name="hiddenColumns" maxOccurs="unbounded" minOccurs="0">
-  *                       &lt;complexType>
-  *                         &lt;complexContent>
-  *                           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-  *                             &lt;attribute name="start" type="{http://www.w3.org/2001/XMLSchema}int" />
-  *                             &lt;attribute name="end" type="{http://www.w3.org/2001/XMLSchema}int" />
-  *                           &lt;/restriction>
-  *                         &lt;/complexContent>
-  *                       &lt;/complexType>
-  *                     &lt;/element>
-  *                     &lt;element name="calcIdParam" maxOccurs="unbounded" minOccurs="0">
-  *                       &lt;complexType>
-  *                         &lt;complexContent>
-  *                           &lt;extension base="{www.jalview.org/xml/wsparamset}WebServiceParameterSet">
-  *                             &lt;attribute name="calcId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
-  *                             &lt;attribute name="needsUpdate" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
-  *                             &lt;attribute name="autoUpdate" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-  *                           &lt;/extension>
-  *                         &lt;/complexContent>
-  *                       &lt;/complexType>
-  *                     &lt;/element>
-  *                   &lt;/sequence>
-  *                   &lt;attGroup ref="{www.jalview.org}swingwindow"/>
-  *                   &lt;attribute name="conservationSelected" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-  *                   &lt;attribute name="pidSelected" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-  *                   &lt;attribute name="bgColour" type="{http://www.w3.org/2001/XMLSchema}string" />
-  *                   &lt;attribute name="consThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
-  *                   &lt;attribute name="pidThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
-  *                   &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
-  *                   &lt;attribute name="showFullId" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-  *                   &lt;attribute name="rightAlignIds" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-  *                   &lt;attribute name="showText" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-  *                   &lt;attribute name="showColourText" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-  *                   &lt;attribute name="showUnconserved" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
-  *                   &lt;attribute name="showBoxes" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-  *                   &lt;attribute name="wrapAlignment" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-  *                   &lt;attribute name="renderGaps" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-  *                   &lt;attribute name="showSequenceFeatures" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-  *                   &lt;attribute name="showNPfeatureTooltip" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-  *                   &lt;attribute name="showDbRefTooltip" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-  *                   &lt;attribute name="followHighlight" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
-  *                   &lt;attribute name="followSelection" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
-  *                   &lt;attribute name="showAnnotation" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-  *                   &lt;attribute name="centreColumnLabels" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
-  *                   &lt;attribute name="showGroupConservation" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
-  *                   &lt;attribute name="showGroupConsensus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
-  *                   &lt;attribute name="showConsensusHistogram" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
-  *                   &lt;attribute name="showSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
-  *                   &lt;attribute name="normaliseSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
-  *                   &lt;attribute name="ignoreGapsinConsensus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
-  *                   &lt;attribute name="startRes" type="{http://www.w3.org/2001/XMLSchema}int" />
-  *                   &lt;attribute name="startSeq" type="{http://www.w3.org/2001/XMLSchema}int" />
-  *                   &lt;attribute name="fontName" type="{http://www.w3.org/2001/XMLSchema}string" />
-  *                   &lt;attribute name="fontSize" type="{http://www.w3.org/2001/XMLSchema}int" />
-  *                   &lt;attribute name="fontStyle" type="{http://www.w3.org/2001/XMLSchema}int" />
-  *                   &lt;attribute name="scaleProteinAsCdna" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
-  *                   &lt;attribute name="viewName" type="{http://www.w3.org/2001/XMLSchema}string" />
-  *                   &lt;attribute name="sequenceSetId" type="{http://www.w3.org/2001/XMLSchema}string" />
-  *                   &lt;attribute name="gatheredViews" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-  *                   &lt;attribute name="textCol1" type="{http://www.w3.org/2001/XMLSchema}int" />
-  *                   &lt;attribute name="textCol2" type="{http://www.w3.org/2001/XMLSchema}int" />
-  *                   &lt;attribute name="textColThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
-  *                   &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
-  *                   &lt;attribute name="complementId" type="{http://www.w3.org/2001/XMLSchema}string" />
-  *                 &lt;/restriction>
-  *               &lt;/complexContent>
-  *             &lt;/complexType>
-  *           &lt;/element>
-  *           &lt;element name="UserColours" maxOccurs="unbounded" minOccurs="0">
-  *             &lt;complexType>
-  *               &lt;complexContent>
-  *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-  *                   &lt;sequence>
-  *                     &lt;element name="UserColourScheme" type="{www.jalview.org/colours}JalviewUserColours"/>
-  *                   &lt;/sequence>
-  *                   &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string" />
-  *                 &lt;/restriction>
-  *               &lt;/complexContent>
-  *             &lt;/complexType>
-  *           &lt;/element>
-  *           &lt;element name="tree" maxOccurs="unbounded" minOccurs="0">
-  *             &lt;complexType>
-  *               &lt;complexContent>
-  *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-  *                   &lt;sequence minOccurs="0">
-  *                     &lt;element name="title" type="{http://www.w3.org/2001/XMLSchema}string"/>
-  *                     &lt;element name="newick" type="{http://www.w3.org/2001/XMLSchema}string"/>
-  *                   &lt;/sequence>
-  *                   &lt;attGroup ref="{www.jalview.org}swingwindow"/>
-  *                   &lt;attribute name="fontName" type="{http://www.w3.org/2001/XMLSchema}string" />
-  *                   &lt;attribute name="fontSize" type="{http://www.w3.org/2001/XMLSchema}int" />
-  *                   &lt;attribute name="fontStyle" type="{http://www.w3.org/2001/XMLSchema}int" />
-  *                   &lt;attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" />
-  *                   &lt;attribute name="showBootstrap" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-  *                   &lt;attribute name="showDistances" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-  *                   &lt;attribute name="markUnlinked" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-  *                   &lt;attribute name="fitToWindow" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-  *                   &lt;attribute name="currentTree" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-  *                   &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
-  *                 &lt;/restriction>
-  *               &lt;/complexContent>
-  *             &lt;/complexType>
-  *           &lt;/element>
-  *           &lt;element name="FeatureSettings" minOccurs="0">
-  *             &lt;complexType>
-  *               &lt;complexContent>
-  *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-  *                   &lt;sequence>
-  *                     &lt;element name="setting" maxOccurs="unbounded" minOccurs="0">
-  *                       &lt;complexType>
-  *                         &lt;complexContent>
-  *                           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-  *                             &lt;sequence>
-  *                               &lt;element name="attributeName" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="2" minOccurs="0"/>
-  *                               &lt;element name="matcherSet" type="{www.jalview.org/colours}FeatureMatcherSet" minOccurs="0"/>
-  *                             &lt;/sequence>
-  *                             &lt;attribute name="type" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
-  *                             &lt;attribute name="colour" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
-  *                             &lt;attribute name="display" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-  *                             &lt;attribute name="order" type="{http://www.w3.org/2001/XMLSchema}float" />
-  *                             &lt;attribute name="mincolour" type="{http://www.w3.org/2001/XMLSchema}int" />
-  *                             &lt;attribute name="noValueColour" type="{www.jalview.org/colours}NoValueColour" default="Min" />
-  *                             &lt;attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" />
-  *                             &lt;attribute name="threshstate" type="{http://www.w3.org/2001/XMLSchema}int" />
-  *                             &lt;attribute name="max" type="{http://www.w3.org/2001/XMLSchema}float" />
-  *                             &lt;attribute name="min" type="{http://www.w3.org/2001/XMLSchema}float" />
-  *                             &lt;attribute name="colourByLabel" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-  *                             &lt;attribute name="autoScale" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-  *                           &lt;/restriction>
-  *                         &lt;/complexContent>
-  *                       &lt;/complexType>
-  *                     &lt;/element>
-  *                     &lt;element name="group" maxOccurs="unbounded" minOccurs="0">
-  *                       &lt;complexType>
-  *                         &lt;complexContent>
-  *                           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-  *                             &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
-  *                             &lt;attribute name="display" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-  *                           &lt;/restriction>
-  *                         &lt;/complexContent>
-  *                       &lt;/complexType>
-  *                     &lt;/element>
-  *                   &lt;/sequence>
-  *                 &lt;/restriction>
-  *               &lt;/complexContent>
-  *             &lt;/complexType>
-  *           &lt;/element>
-  *         &lt;/sequence>
-  *       &lt;/sequence>
-  *     &lt;/restriction>
-  *   &lt;/complexContent>
-  * &lt;/complexType>
-  * </pre>
-  * 
-  * 
-  */
- @XmlAccessorType(XmlAccessType.FIELD)
- @XmlType(name = "JalviewModelType", namespace = "www.jalview.org", propOrder = {
-     "creationDate",
-     "version",
-     "vamsasModel",
-     "jSeq",
-     "jGroup",
-     "viewport",
-     "userColours",
-     "tree",
-     "featureSettings"
- })
- public class JalviewModelType {
-     @XmlElement(required = true)
-     @XmlSchemaType(name = "dateTime")
-     protected XMLGregorianCalendar creationDate;
-     @XmlElement(required = true)
-     protected String version;
-     @XmlElement(required = true)
-     protected VAMSAS vamsasModel;
-     @XmlElement(name = "JSeq")
-     protected List<JalviewModelType.JSeq> jSeq;
-     @XmlElement(name = "JGroup")
-     protected List<JalviewModelType.JGroup> jGroup;
-     @XmlElement(name = "Viewport")
-     protected List<JalviewModelType.Viewport> viewport;
-     @XmlElement(name = "UserColours")
-     protected List<JalviewModelType.UserColours> userColours;
-     protected List<JalviewModelType.Tree> tree;
-     @XmlElement(name = "FeatureSettings")
-     protected JalviewModelType.FeatureSettings featureSettings;
-     /**
-      * Gets the value of the creationDate property.
-      * 
-      * @return
-      *     possible object is
-      *     {@link XMLGregorianCalendar }
-      *     
-      */
-     public XMLGregorianCalendar getCreationDate() {
-         return creationDate;
-     }
-     /**
-      * Sets the value of the creationDate property.
-      * 
-      * @param value
-      *     allowed object is
-      *     {@link XMLGregorianCalendar }
-      *     
-      */
-     public void setCreationDate(XMLGregorianCalendar value) {
-         this.creationDate = value;
-     }
-     /**
-      * Gets the value of the version property.
-      * 
-      * @return
-      *     possible object is
-      *     {@link String }
-      *     
-      */
-     public String getVersion() {
-         return version;
-     }
-     /**
-      * Sets the value of the version property.
-      * 
-      * @param value
-      *     allowed object is
-      *     {@link String }
-      *     
-      */
-     public void setVersion(String value) {
-         this.version = value;
-     }
-     /**
-      * Gets the value of the vamsasModel property.
-      * 
-      * @return
-      *     possible object is
-      *     {@link VAMSAS }
-      *     
-      */
-     public VAMSAS getVamsasModel() {
-         return vamsasModel;
-     }
-     /**
-      * Sets the value of the vamsasModel property.
-      * 
-      * @param value
-      *     allowed object is
-      *     {@link VAMSAS }
-      *     
-      */
-     public void setVamsasModel(VAMSAS value) {
-         this.vamsasModel = value;
-     }
-     /**
-      * Gets the value of the jSeq 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 jSeq property.
-      * 
-      * <p>
-      * For example, to add a new item, do as follows:
-      * <pre>
-      *    getJSeq().add(newItem);
-      * </pre>
-      * 
-      * 
-      * <p>
-      * Objects of the following type(s) are allowed in the list
-      * {@link JalviewModelType.JSeq }
-      * 
-      * 
-      */
-     public List<JalviewModelType.JSeq> getJSeq() {
-         if (jSeq == null) {
-             jSeq = new ArrayList<JalviewModelType.JSeq>();
-         }
-         return this.jSeq;
-     }
-     /**
-      * Gets the value of the jGroup 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 jGroup property.
-      * 
-      * <p>
-      * For example, to add a new item, do as follows:
-      * <pre>
-      *    getJGroup().add(newItem);
-      * </pre>
-      * 
-      * 
-      * <p>
-      * Objects of the following type(s) are allowed in the list
-      * {@link JalviewModelType.JGroup }
-      * 
-      * 
-      */
-     public List<JalviewModelType.JGroup> getJGroup() {
-         if (jGroup == null) {
-             jGroup = new ArrayList<JalviewModelType.JGroup>();
-         }
-         return this.jGroup;
-     }
-     /**
-      * Gets the value of the viewport 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 viewport property.
-      * 
-      * <p>
-      * For example, to add a new item, do as follows:
-      * <pre>
-      *    getViewport().add(newItem);
-      * </pre>
-      * 
-      * 
-      * <p>
-      * Objects of the following type(s) are allowed in the list
-      * {@link JalviewModelType.Viewport }
-      * 
-      * 
-      */
-     public List<JalviewModelType.Viewport> getViewport() {
-         if (viewport == null) {
-             viewport = new ArrayList<JalviewModelType.Viewport>();
-         }
-         return this.viewport;
-     }
-     /**
-      * Gets the value of the userColours 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 userColours property.
-      * 
-      * <p>
-      * For example, to add a new item, do as follows:
-      * <pre>
-      *    getUserColours().add(newItem);
-      * </pre>
-      * 
-      * 
-      * <p>
-      * Objects of the following type(s) are allowed in the list
-      * {@link JalviewModelType.UserColours }
-      * 
-      * 
-      */
-     public List<JalviewModelType.UserColours> getUserColours() {
-         if (userColours == null) {
-             userColours = new ArrayList<JalviewModelType.UserColours>();
-         }
-         return this.userColours;
-     }
-     /**
-      * Gets the value of the tree 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 tree property.
-      * 
-      * <p>
-      * For example, to add a new item, do as follows:
-      * <pre>
-      *    getTree().add(newItem);
-      * </pre>
-      * 
-      * 
-      * <p>
-      * Objects of the following type(s) are allowed in the list
-      * {@link JalviewModelType.Tree }
-      * 
-      * 
-      */
-     public List<JalviewModelType.Tree> getTree() {
-         if (tree == null) {
-             tree = new ArrayList<JalviewModelType.Tree>();
-         }
-         return this.tree;
-     }
-     /**
-      * Gets the value of the featureSettings property.
-      * 
-      * @return
-      *     possible object is
-      *     {@link JalviewModelType.FeatureSettings }
-      *     
-      */
-     public JalviewModelType.FeatureSettings getFeatureSettings() {
-         return featureSettings;
-     }
-     /**
-      * Sets the value of the featureSettings property.
-      * 
-      * @param value
-      *     allowed object is
-      *     {@link JalviewModelType.FeatureSettings }
-      *     
-      */
-     public void setFeatureSettings(JalviewModelType.FeatureSettings value) {
-         this.featureSettings = value;
-     }
-     /**
-      * <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="setting" maxOccurs="unbounded" minOccurs="0">
-      *           &lt;complexType>
-      *             &lt;complexContent>
-      *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-      *                 &lt;sequence>
-      *                   &lt;element name="attributeName" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="2" minOccurs="0"/>
-      *                   &lt;element name="matcherSet" type="{www.jalview.org/colours}FeatureMatcherSet" minOccurs="0"/>
-      *                 &lt;/sequence>
-      *                 &lt;attribute name="type" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
-      *                 &lt;attribute name="colour" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
-      *                 &lt;attribute name="display" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-      *                 &lt;attribute name="order" type="{http://www.w3.org/2001/XMLSchema}float" />
-      *                 &lt;attribute name="mincolour" type="{http://www.w3.org/2001/XMLSchema}int" />
-      *                 &lt;attribute name="noValueColour" type="{www.jalview.org/colours}NoValueColour" default="Min" />
-      *                 &lt;attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" />
-      *                 &lt;attribute name="threshstate" type="{http://www.w3.org/2001/XMLSchema}int" />
-      *                 &lt;attribute name="max" type="{http://www.w3.org/2001/XMLSchema}float" />
-      *                 &lt;attribute name="min" type="{http://www.w3.org/2001/XMLSchema}float" />
-      *                 &lt;attribute name="colourByLabel" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-      *                 &lt;attribute name="autoScale" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-      *               &lt;/restriction>
-      *             &lt;/complexContent>
-      *           &lt;/complexType>
-      *         &lt;/element>
-      *         &lt;element name="group" maxOccurs="unbounded" minOccurs="0">
-      *           &lt;complexType>
-      *             &lt;complexContent>
-      *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-      *                 &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
-      *                 &lt;attribute name="display" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-      *               &lt;/restriction>
-      *             &lt;/complexContent>
-      *           &lt;/complexType>
-      *         &lt;/element>
-      *       &lt;/sequence>
-      *     &lt;/restriction>
-      *   &lt;/complexContent>
-      * &lt;/complexType>
-      * </pre>
-      * 
-      * 
-      */
-     @XmlAccessorType(XmlAccessType.FIELD)
-     @XmlType(name = "", propOrder = {
-         "setting",
-         "group"
-     })
-     public static class FeatureSettings {
-         @XmlElement(namespace = "www.jalview.org")
-         protected List<JalviewModelType.FeatureSettings.Setting> setting;
-         @XmlElement(namespace = "www.jalview.org")
-         protected List<JalviewModelType.FeatureSettings.Group> group;
-         /**
-          * Gets the value of the setting 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 setting property.
-          * 
-          * <p>
-          * For example, to add a new item, do as follows:
-          * <pre>
-          *    getSetting().add(newItem);
-          * </pre>
-          * 
-          * 
-          * <p>
-          * Objects of the following type(s) are allowed in the list
-          * {@link JalviewModelType.FeatureSettings.Setting }
-          * 
-          * 
-          */
-         public List<JalviewModelType.FeatureSettings.Setting> getSetting() {
-             if (setting == null) {
-                 setting = new ArrayList<JalviewModelType.FeatureSettings.Setting>();
-             }
-             return this.setting;
-         }
-         /**
-          * Gets the value of the group 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 group property.
-          * 
-          * <p>
-          * For example, to add a new item, do as follows:
-          * <pre>
-          *    getGroup().add(newItem);
-          * </pre>
-          * 
-          * 
-          * <p>
-          * Objects of the following type(s) are allowed in the list
-          * {@link JalviewModelType.FeatureSettings.Group }
-          * 
-          * 
-          */
-         public List<JalviewModelType.FeatureSettings.Group> getGroup() {
-             if (group == null) {
-                 group = new ArrayList<JalviewModelType.FeatureSettings.Group>();
-             }
-             return this.group;
-         }
-         /**
-          * <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;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
-          *       &lt;attribute name="display" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-          *     &lt;/restriction>
-          *   &lt;/complexContent>
-          * &lt;/complexType>
-          * </pre>
-          * 
-          * 
-          */
-         @XmlAccessorType(XmlAccessType.FIELD)
-         @XmlType(name = "")
-         public static class Group {
-             @XmlAttribute(name = "name", required = true)
-             protected String name;
-             @XmlAttribute(name = "display", required = true)
-             protected boolean display;
-             /**
-              * Gets the value of the name property.
-              * 
-              * @return
-              *     possible object is
-              *     {@link String }
-              *     
-              */
-             public String getName() {
-                 return name;
-             }
-             /**
-              * Sets the value of the name property.
-              * 
-              * @param value
-              *     allowed object is
-              *     {@link String }
-              *     
-              */
-             public void setName(String value) {
-                 this.name = value;
-             }
-             /**
-              * Gets the value of the display property.
-              * 
-              */
-             public boolean isDisplay() {
-                 return display;
-             }
-             /**
-              * Sets the value of the display property.
-              * 
-              */
-             public void setDisplay(boolean value) {
-                 this.display = value;
-             }
-         }
-         /**
-          * <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="attributeName" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="2" minOccurs="0"/>
-          *         &lt;element name="matcherSet" type="{www.jalview.org/colours}FeatureMatcherSet" minOccurs="0"/>
-          *       &lt;/sequence>
-          *       &lt;attribute name="type" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
-          *       &lt;attribute name="colour" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
-          *       &lt;attribute name="display" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-          *       &lt;attribute name="order" type="{http://www.w3.org/2001/XMLSchema}float" />
-          *       &lt;attribute name="mincolour" type="{http://www.w3.org/2001/XMLSchema}int" />
-          *       &lt;attribute name="noValueColour" type="{www.jalview.org/colours}NoValueColour" default="Min" />
-          *       &lt;attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" />
-          *       &lt;attribute name="threshstate" type="{http://www.w3.org/2001/XMLSchema}int" />
-          *       &lt;attribute name="max" type="{http://www.w3.org/2001/XMLSchema}float" />
-          *       &lt;attribute name="min" type="{http://www.w3.org/2001/XMLSchema}float" />
-          *       &lt;attribute name="colourByLabel" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-          *       &lt;attribute name="autoScale" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-          *     &lt;/restriction>
-          *   &lt;/complexContent>
-          * &lt;/complexType>
-          * </pre>
-          * 
-          * 
-          */
-         @XmlAccessorType(XmlAccessType.FIELD)
-         @XmlType(name = "", propOrder = {
-             "attributeName",
-             "matcherSet"
-         })
-         public static class Setting {
-             @XmlElement(namespace = "www.jalview.org")
-             protected List<String> attributeName;
-             @XmlElement(namespace = "www.jalview.org")
-             protected FeatureMatcherSet matcherSet;
-             @XmlAttribute(name = "type", required = true)
-             protected String type;
-             @XmlAttribute(name = "colour", required = true)
-             protected int colour;
-             @XmlAttribute(name = "display", required = true)
-             protected boolean display;
-             @XmlAttribute(name = "order")
-             protected Float order;
-             @XmlAttribute(name = "mincolour")
-             protected Integer mincolour;
-             @XmlAttribute(name = "noValueColour")
-             protected NoValueColour noValueColour;
-             @XmlAttribute(name = "threshold")
-             protected Float threshold;
-             @XmlAttribute(name = "threshstate")
-             protected Integer threshstate;
-             @XmlAttribute(name = "max")
-             protected Float max;
-             @XmlAttribute(name = "min")
-             protected Float min;
-             @XmlAttribute(name = "colourByLabel")
-             protected Boolean colourByLabel;
-             @XmlAttribute(name = "autoScale")
-             protected Boolean autoScale;
-             /**
-              * Gets the value of the attributeName 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 attributeName property.
-              * 
-              * <p>
-              * For example, to add a new item, do as follows:
-              * <pre>
-              *    getAttributeName().add(newItem);
-              * </pre>
-              * 
-              * 
-              * <p>
-              * Objects of the following type(s) are allowed in the list
-              * {@link String }
-              * 
-              * 
-              */
-             public List<String> getAttributeName() {
-                 if (attributeName == null) {
-                     attributeName = new ArrayList<String>();
-                 }
-                 return this.attributeName;
-             }
-             /**
-              * Gets the value of the matcherSet property.
-              * 
-              * @return
-              *     possible object is
-              *     {@link FeatureMatcherSet }
-              *     
-              */
-             public FeatureMatcherSet getMatcherSet() {
-                 return matcherSet;
-             }
-             /**
-              * Sets the value of the matcherSet property.
-              * 
-              * @param value
-              *     allowed object is
-              *     {@link FeatureMatcherSet }
-              *     
-              */
-             public void setMatcherSet(FeatureMatcherSet value) {
-                 this.matcherSet = value;
-             }
-             /**
-              * Gets the value of the type property.
-              * 
-              * @return
-              *     possible object is
-              *     {@link String }
-              *     
-              */
-             public String getType() {
-                 return type;
-             }
-             /**
-              * Sets the value of the type property.
-              * 
-              * @param value
-              *     allowed object is
-              *     {@link String }
-              *     
-              */
-             public void setType(String value) {
-                 this.type = value;
-             }
-             /**
-              * Gets the value of the colour property.
-              * 
-              */
-             public int getColour() {
-                 return colour;
-             }
-             /**
-              * Sets the value of the colour property.
-              * 
-              */
-             public void setColour(int value) {
-                 this.colour = value;
-             }
-             /**
-              * Gets the value of the display property.
-              * 
-              */
-             public boolean isDisplay() {
-                 return display;
-             }
-             /**
-              * Sets the value of the display property.
-              * 
-              */
-             public void setDisplay(boolean value) {
-                 this.display = value;
-             }
-             /**
-              * Gets the value of the order property.
-              * 
-              * @return
-              *     possible object is
-              *     {@link Float }
-              *     
-              */
-             public Float getOrder() {
-                 return order;
-             }
-             /**
-              * Sets the value of the order property.
-              * 
-              * @param value
-              *     allowed object is
-              *     {@link Float }
-              *     
-              */
-             public void setOrder(Float value) {
-                 this.order = value;
-             }
-             /**
-              * Gets the value of the mincolour property.
-              * 
-              * @return
-              *     possible object is
-              *     {@link Integer }
-              *     
-              */
-             public Integer getMincolour() {
-                 return mincolour;
-             }
-             /**
-              * Sets the value of the mincolour property.
-              * 
-              * @param value
-              *     allowed object is
-              *     {@link Integer }
-              *     
-              */
-             public void setMincolour(Integer value) {
-                 this.mincolour = value;
-             }
-             /**
-              * Gets the value of the noValueColour property.
-              * 
-              * @return
-              *     possible object is
-              *     {@link NoValueColour }
-              *     
-              */
-             public NoValueColour getNoValueColour() {
-                 if (noValueColour == null) {
-                     return NoValueColour.MIN;
-                 } else {
-                     return noValueColour;
-                 }
-             }
-             /**
-              * Sets the value of the noValueColour property.
-              * 
-              * @param value
-              *     allowed object is
-              *     {@link NoValueColour }
-              *     
-              */
-             public void setNoValueColour(NoValueColour value) {
-                 this.noValueColour = value;
-             }
-             /**
-              * Gets the value of the threshold property.
-              * 
-              * @return
-              *     possible object is
-              *     {@link Float }
-              *     
-              */
-             public Float getThreshold() {
-                 return threshold;
-             }
-             /**
-              * Sets the value of the threshold property.
-              * 
-              * @param value
-              *     allowed object is
-              *     {@link Float }
-              *     
-              */
-             public void setThreshold(Float value) {
-                 this.threshold = value;
-             }
-             /**
-              * Gets the value of the threshstate property.
-              * 
-              * @return
-              *     possible object is
-              *     {@link Integer }
-              *     
-              */
-             public Integer getThreshstate() {
-                 return threshstate;
-             }
-             /**
-              * Sets the value of the threshstate property.
-              * 
-              * @param value
-              *     allowed object is
-              *     {@link Integer }
-              *     
-              */
-             public void setThreshstate(Integer value) {
-                 this.threshstate = value;
-             }
-             /**
-              * Gets the value of the max property.
-              * 
-              * @return
-              *     possible object is
-              *     {@link Float }
-              *     
-              */
-             public Float getMax() {
-                 return max;
-             }
-             /**
-              * Sets the value of the max property.
-              * 
-              * @param value
-              *     allowed object is
-              *     {@link Float }
-              *     
-              */
-             public void setMax(Float value) {
-                 this.max = value;
-             }
-             /**
-              * Gets the value of the min property.
-              * 
-              * @return
-              *     possible object is
-              *     {@link Float }
-              *     
-              */
-             public Float getMin() {
-                 return min;
-             }
-             /**
-              * Sets the value of the min property.
-              * 
-              * @param value
-              *     allowed object is
-              *     {@link Float }
-              *     
-              */
-             public void setMin(Float value) {
-                 this.min = value;
-             }
-             /**
-              * Gets the value of the colourByLabel property.
-              * 
-              * @return
-              *     possible object is
-              *     {@link Boolean }
-              *     
-              */
-             public Boolean isColourByLabel() {
-                 return colourByLabel;
-             }
-             /**
-              * Sets the value of the colourByLabel property.
-              * 
-              * @param value
-              *     allowed object is
-              *     {@link Boolean }
-              *     
-              */
-             public void setColourByLabel(Boolean value) {
-                 this.colourByLabel = value;
-             }
-             /**
-              * Gets the value of the autoScale property.
-              * 
-              * @return
-              *     possible object is
-              *     {@link Boolean }
-              *     
-              */
-             public Boolean isAutoScale() {
-                 return autoScale;
-             }
-             /**
-              * Sets the value of the autoScale property.
-              * 
-              * @param value
-              *     allowed object is
-              *     {@link Boolean }
-              *     
-              */
-             public void setAutoScale(Boolean value) {
-                 this.autoScale = value;
-             }
-         }
-     }
-     /**
-      * <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="seq" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded"/>
-      *         &lt;element name="annotationColours" type="{www.jalview.org}AnnotationColourScheme" minOccurs="0"/>
-      *       &lt;/sequence>
-      *       &lt;attribute name="start" type="{http://www.w3.org/2001/XMLSchema}int" />
-      *       &lt;attribute name="end" type="{http://www.w3.org/2001/XMLSchema}int" />
-      *       &lt;attribute name="name" type="{http://www.w3.org/2001/XMLSchema}string" />
-      *       &lt;attribute name="colour" type="{http://www.w3.org/2001/XMLSchema}string" />
-      *       &lt;attribute name="consThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
-      *       &lt;attribute name="pidThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
-      *       &lt;attribute name="outlineColour" type="{http://www.w3.org/2001/XMLSchema}int" />
-      *       &lt;attribute name="displayBoxes" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-      *       &lt;attribute name="displayText" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-      *       &lt;attribute name="colourText" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-      *       &lt;attribute name="textCol1" type="{http://www.w3.org/2001/XMLSchema}int" />
-      *       &lt;attribute name="textCol2" type="{http://www.w3.org/2001/XMLSchema}int" />
-      *       &lt;attribute name="textColThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
-      *       &lt;attribute name="showUnconserved" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-      *       &lt;attribute name="ignoreGapsinConsensus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
-      *       &lt;attribute name="showConsensusHistogram" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
-      *       &lt;attribute name="showSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
-      *       &lt;attribute name="normaliseSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
-      *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string" />
-      *     &lt;/restriction>
-      *   &lt;/complexContent>
-      * &lt;/complexType>
-      * </pre>
-      * 
-      * 
-      */
-     @XmlAccessorType(XmlAccessType.FIELD)
-     @XmlType(name = "", propOrder = {
-         "seq",
-         "annotationColours"
-     })
-     public static class JGroup {
-         @XmlElement(namespace = "www.jalview.org", required = true)
-         protected List<String> seq;
-         @XmlElement(namespace = "www.jalview.org")
-         protected AnnotationColourScheme annotationColours;
-         @XmlAttribute(name = "start")
-         protected Integer start;
-         @XmlAttribute(name = "end")
-         protected Integer end;
-         @XmlAttribute(name = "name")
-         protected String name;
-         @XmlAttribute(name = "colour")
-         protected String colour;
-         @XmlAttribute(name = "consThreshold")
-         protected Integer consThreshold;
-         @XmlAttribute(name = "pidThreshold")
-         protected Integer pidThreshold;
-         @XmlAttribute(name = "outlineColour")
-         protected Integer outlineColour;
-         @XmlAttribute(name = "displayBoxes")
-         protected Boolean displayBoxes;
-         @XmlAttribute(name = "displayText")
-         protected Boolean displayText;
-         @XmlAttribute(name = "colourText")
-         protected Boolean colourText;
-         @XmlAttribute(name = "textCol1")
-         protected Integer textCol1;
-         @XmlAttribute(name = "textCol2")
-         protected Integer textCol2;
-         @XmlAttribute(name = "textColThreshold")
-         protected Integer textColThreshold;
-         @XmlAttribute(name = "showUnconserved")
-         protected Boolean showUnconserved;
-         @XmlAttribute(name = "ignoreGapsinConsensus")
-         protected Boolean ignoreGapsinConsensus;
-         @XmlAttribute(name = "showConsensusHistogram")
-         protected Boolean showConsensusHistogram;
-         @XmlAttribute(name = "showSequenceLogo")
-         protected Boolean showSequenceLogo;
-         @XmlAttribute(name = "normaliseSequenceLogo")
-         protected Boolean normaliseSequenceLogo;
-         @XmlAttribute(name = "id")
-         protected String id;
-         /**
-          * Gets the value of the seq 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 seq property.
-          * 
-          * <p>
-          * For example, to add a new item, do as follows:
-          * <pre>
-          *    getSeq().add(newItem);
-          * </pre>
-          * 
-          * 
-          * <p>
-          * Objects of the following type(s) are allowed in the list
-          * {@link String }
-          * 
-          * 
-          */
-         public List<String> getSeq() {
-             if (seq == null) {
-                 seq = new ArrayList<String>();
-             }
-             return this.seq;
-         }
-         /**
-          * Gets the value of the annotationColours property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link AnnotationColourScheme }
-          *     
-          */
-         public AnnotationColourScheme getAnnotationColours() {
-             return annotationColours;
-         }
-         /**
-          * Sets the value of the annotationColours property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link AnnotationColourScheme }
-          *     
-          */
-         public void setAnnotationColours(AnnotationColourScheme value) {
-             this.annotationColours = value;
-         }
-         /**
-          * Gets the value of the start property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Integer }
-          *     
-          */
-         public Integer getStart() {
-             return start;
-         }
-         /**
-          * Sets the value of the start property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Integer }
-          *     
-          */
-         public void setStart(Integer value) {
-             this.start = value;
-         }
-         /**
-          * Gets the value of the end property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Integer }
-          *     
-          */
-         public Integer getEnd() {
-             return end;
-         }
-         /**
-          * Sets the value of the end property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Integer }
-          *     
-          */
-         public void setEnd(Integer value) {
-             this.end = value;
-         }
-         /**
-          * Gets the value of the name property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link String }
-          *     
-          */
-         public String getName() {
-             return name;
-         }
-         /**
-          * Sets the value of the name property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link String }
-          *     
-          */
-         public void setName(String value) {
-             this.name = value;
-         }
-         /**
-          * Gets the value of the colour property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link String }
-          *     
-          */
-         public String getColour() {
-             return colour;
-         }
-         /**
-          * Sets the value of the colour property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link String }
-          *     
-          */
-         public void setColour(String value) {
-             this.colour = value;
-         }
-         /**
-          * Gets the value of the consThreshold property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Integer }
-          *     
-          */
-         public Integer getConsThreshold() {
-             return consThreshold;
-         }
-         /**
-          * Sets the value of the consThreshold property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Integer }
-          *     
-          */
-         public void setConsThreshold(Integer value) {
-             this.consThreshold = value;
-         }
-         /**
-          * Gets the value of the pidThreshold property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Integer }
-          *     
-          */
-         public Integer getPidThreshold() {
-             return pidThreshold;
-         }
-         /**
-          * Sets the value of the pidThreshold property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Integer }
-          *     
-          */
-         public void setPidThreshold(Integer value) {
-             this.pidThreshold = value;
-         }
-         /**
-          * Gets the value of the outlineColour property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Integer }
-          *     
-          */
-         public Integer getOutlineColour() {
-             return outlineColour;
-         }
-         /**
-          * Sets the value of the outlineColour property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Integer }
-          *     
-          */
-         public void setOutlineColour(Integer value) {
-             this.outlineColour = value;
-         }
-         /**
-          * Gets the value of the displayBoxes property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Boolean }
-          *     
-          */
-         public Boolean isDisplayBoxes() {
-             return displayBoxes;
-         }
-         /**
-          * Sets the value of the displayBoxes property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Boolean }
-          *     
-          */
-         public void setDisplayBoxes(Boolean value) {
-             this.displayBoxes = value;
-         }
-         /**
-          * Gets the value of the displayText property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Boolean }
-          *     
-          */
-         public Boolean isDisplayText() {
-             return displayText;
-         }
-         /**
-          * Sets the value of the displayText property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Boolean }
-          *     
-          */
-         public void setDisplayText(Boolean value) {
-             this.displayText = value;
-         }
-         /**
-          * Gets the value of the colourText property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Boolean }
-          *     
-          */
-         public Boolean isColourText() {
-             return colourText;
-         }
-         /**
-          * Sets the value of the colourText property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Boolean }
-          *     
-          */
-         public void setColourText(Boolean value) {
-             this.colourText = value;
-         }
-         /**
-          * Gets the value of the textCol1 property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Integer }
-          *     
-          */
-         public Integer getTextCol1() {
-             return textCol1;
-         }
-         /**
-          * Sets the value of the textCol1 property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Integer }
-          *     
-          */
-         public void setTextCol1(Integer value) {
-             this.textCol1 = value;
-         }
-         /**
-          * Gets the value of the textCol2 property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Integer }
-          *     
-          */
-         public Integer getTextCol2() {
-             return textCol2;
-         }
-         /**
-          * Sets the value of the textCol2 property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Integer }
-          *     
-          */
-         public void setTextCol2(Integer value) {
-             this.textCol2 = value;
-         }
-         /**
-          * Gets the value of the textColThreshold property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Integer }
-          *     
-          */
-         public Integer getTextColThreshold() {
-             return textColThreshold;
-         }
-         /**
-          * Sets the value of the textColThreshold property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Integer }
-          *     
-          */
-         public void setTextColThreshold(Integer value) {
-             this.textColThreshold = value;
-         }
-         /**
-          * Gets the value of the showUnconserved property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Boolean }
-          *     
-          */
-         public Boolean isShowUnconserved() {
-             return showUnconserved;
-         }
-         /**
-          * Sets the value of the showUnconserved property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Boolean }
-          *     
-          */
-         public void setShowUnconserved(Boolean value) {
-             this.showUnconserved = value;
-         }
-         /**
-          * Gets the value of the ignoreGapsinConsensus property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Boolean }
-          *     
-          */
-         public boolean isIgnoreGapsinConsensus() {
-             if (ignoreGapsinConsensus == null) {
-                 return true;
-             } else {
-                 return ignoreGapsinConsensus;
-             }
-         }
-         /**
-          * Sets the value of the ignoreGapsinConsensus property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Boolean }
-          *     
-          */
-         public void setIgnoreGapsinConsensus(Boolean value) {
-             this.ignoreGapsinConsensus = value;
-         }
-         /**
-          * Gets the value of the showConsensusHistogram property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Boolean }
-          *     
-          */
-         public boolean isShowConsensusHistogram() {
-             if (showConsensusHistogram == null) {
-                 return true;
-             } else {
-                 return showConsensusHistogram;
-             }
-         }
-         /**
-          * Sets the value of the showConsensusHistogram property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Boolean }
-          *     
-          */
-         public void setShowConsensusHistogram(Boolean value) {
-             this.showConsensusHistogram = value;
-         }
-         /**
-          * Gets the value of the showSequenceLogo property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Boolean }
-          *     
-          */
-         public boolean isShowSequenceLogo() {
-             if (showSequenceLogo == null) {
-                 return false;
-             } else {
-                 return showSequenceLogo;
-             }
-         }
-         /**
-          * Sets the value of the showSequenceLogo property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Boolean }
-          *     
-          */
-         public void setShowSequenceLogo(Boolean value) {
-             this.showSequenceLogo = value;
-         }
-         /**
-          * Gets the value of the normaliseSequenceLogo property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Boolean }
-          *     
-          */
-         public boolean isNormaliseSequenceLogo() {
-             if (normaliseSequenceLogo == null) {
-                 return false;
-             } else {
-                 return normaliseSequenceLogo;
-             }
-         }
-         /**
-          * Sets the value of the normaliseSequenceLogo property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Boolean }
-          *     
-          */
-         public void setNormaliseSequenceLogo(Boolean value) {
-             this.normaliseSequenceLogo = value;
-         }
-         /**
-          * Gets the value of the id property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link String }
-          *     
-          */
-         public String getId() {
-             return id;
-         }
-         /**
-          * Sets the value of the id property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link String }
-          *     
-          */
-         public void setId(String value) {
-             this.id = value;
-         }
-     }
-     /**
-      * <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="features" type="{www.jalview.org}feature" maxOccurs="unbounded" minOccurs="0"/>
-      *         &lt;element name="pdbids" maxOccurs="unbounded" minOccurs="0">
-      *           &lt;complexType>
-      *             &lt;complexContent>
-      *               &lt;extension base="{www.jalview.org}pdbentry">
-      *                 &lt;sequence>
-      *                   &lt;element name="structureState" maxOccurs="unbounded" minOccurs="0">
-      *                     &lt;complexType>
-      *                       &lt;simpleContent>
-      *                         &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
-      *                           &lt;attGroup ref="{www.jalview.org}swingwindow"/>
-      *                           &lt;attribute name="visible" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-      *                           &lt;attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" />
-      *                           &lt;attribute name="alignwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
-      *                           &lt;attribute name="colourwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
-      *                           &lt;attribute name="colourByJmol" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
-      *                           &lt;attribute name="type" type="{http://www.w3.org/2001/XMLSchema}string" />
-      *                         &lt;/extension>
-      *                       &lt;/simpleContent>
-      *                     &lt;/complexType>
-      *                   &lt;/element>
-      *                 &lt;/sequence>
-      *               &lt;/extension>
-      *             &lt;/complexContent>
-      *           &lt;/complexType>
-      *         &lt;/element>
-      *         &lt;element name="hiddenSequences" type="{http://www.w3.org/2001/XMLSchema}int" maxOccurs="unbounded" minOccurs="0"/>
-      *         &lt;element name="rnaViewer" maxOccurs="unbounded" minOccurs="0">
-      *           &lt;complexType>
-      *             &lt;complexContent>
-      *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-      *                 &lt;sequence>
-      *                   &lt;element name="secondaryStructure" maxOccurs="unbounded">
-      *                     &lt;complexType>
-      *                       &lt;complexContent>
-      *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-      *                           &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
-      *                           &lt;attribute name="annotationId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
-      *                           &lt;attribute name="gapped" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-      *                           &lt;attribute name="viewerState" type="{http://www.w3.org/2001/XMLSchema}string" />
-      *                         &lt;/restriction>
-      *                       &lt;/complexContent>
-      *                     &lt;/complexType>
-      *                   &lt;/element>
-      *                 &lt;/sequence>
-      *                 &lt;attGroup ref="{www.jalview.org}swingwindow"/>
-      *                 &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
-      *                 &lt;attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" />
-      *                 &lt;attribute name="dividerLocation" type="{http://www.w3.org/2001/XMLSchema}int" />
-      *                 &lt;attribute name="selectedRna" type="{http://www.w3.org/2001/XMLSchema}int" />
-      *               &lt;/restriction>
-      *             &lt;/complexContent>
-      *           &lt;/complexType>
-      *         &lt;/element>
-      *       &lt;/sequence>
-      *       &lt;attribute name="colour" type="{http://www.w3.org/2001/XMLSchema}int" />
-      *       &lt;attribute name="start" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
-      *       &lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
-      *       &lt;attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
-      *       &lt;attribute name="hidden" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-      *       &lt;attribute name="viewreference" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-      *     &lt;/restriction>
-      *   &lt;/complexContent>
-      * &lt;/complexType>
-      * </pre>
-      * 
-      * 
-      */
-     @XmlAccessorType(XmlAccessType.FIELD)
-     @XmlType(name = "", propOrder = {
-         "features",
-         "pdbids",
-         "hiddenSequences",
-         "rnaViewer"
-     })
-     public static class JSeq {
-         @XmlElement(namespace = "www.jalview.org")
-         protected List<Feature> features;
-         @XmlElement(namespace = "www.jalview.org")
-         protected List<JalviewModelType.JSeq.Pdbids> pdbids;
-         @XmlElement(namespace = "www.jalview.org", type = Integer.class)
-         protected List<Integer> hiddenSequences;
-         @XmlElement(namespace = "www.jalview.org")
-         protected List<JalviewModelType.JSeq.RnaViewer> rnaViewer;
-         @XmlAttribute(name = "colour")
-         protected Integer colour;
-         @XmlAttribute(name = "start", required = true)
-         protected int start;
-         @XmlAttribute(name = "end", required = true)
-         protected int end;
-         @XmlAttribute(name = "id", required = true)
-         protected String id;
-         @XmlAttribute(name = "hidden")
-         protected Boolean hidden;
-         @XmlAttribute(name = "viewreference")
-         protected Boolean viewreference;
-         /**
-          * Gets the value of the features 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 features property.
-          * 
-          * <p>
-          * For example, to add a new item, do as follows:
-          * <pre>
-          *    getFeatures().add(newItem);
-          * </pre>
-          * 
-          * 
-          * <p>
-          * Objects of the following type(s) are allowed in the list
-          * {@link Feature }
-          * 
-          * 
-          */
-         public List<Feature> getFeatures() {
-             if (features == null) {
-                 features = new ArrayList<Feature>();
-             }
-             return this.features;
-         }
-         /**
-          * Gets the value of the pdbids 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 pdbids property.
-          * 
-          * <p>
-          * For example, to add a new item, do as follows:
-          * <pre>
-          *    getPdbids().add(newItem);
-          * </pre>
-          * 
-          * 
-          * <p>
-          * Objects of the following type(s) are allowed in the list
-          * {@link JalviewModelType.JSeq.Pdbids }
-          * 
-          * 
-          */
-         public List<JalviewModelType.JSeq.Pdbids> getPdbids() {
-             if (pdbids == null) {
-                 pdbids = new ArrayList<JalviewModelType.JSeq.Pdbids>();
-             }
-             return this.pdbids;
-         }
-         /**
-          * Gets the value of the hiddenSequences 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 hiddenSequences property.
-          * 
-          * <p>
-          * For example, to add a new item, do as follows:
-          * <pre>
-          *    getHiddenSequences().add(newItem);
-          * </pre>
-          * 
-          * 
-          * <p>
-          * Objects of the following type(s) are allowed in the list
-          * {@link Integer }
-          * 
-          * 
-          */
-         public List<Integer> getHiddenSequences() {
-             if (hiddenSequences == null) {
-                 hiddenSequences = new ArrayList<Integer>();
-             }
-             return this.hiddenSequences;
-         }
-         /**
-          * Gets the value of the rnaViewer 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 rnaViewer property.
-          * 
-          * <p>
-          * For example, to add a new item, do as follows:
-          * <pre>
-          *    getRnaViewer().add(newItem);
-          * </pre>
-          * 
-          * 
-          * <p>
-          * Objects of the following type(s) are allowed in the list
-          * {@link JalviewModelType.JSeq.RnaViewer }
-          * 
-          * 
-          */
-         public List<JalviewModelType.JSeq.RnaViewer> getRnaViewer() {
-             if (rnaViewer == null) {
-                 rnaViewer = new ArrayList<JalviewModelType.JSeq.RnaViewer>();
-             }
-             return this.rnaViewer;
-         }
-         /**
-          * Gets the value of the colour property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Integer }
-          *     
-          */
-         public Integer getColour() {
-             return colour;
-         }
-         /**
-          * Sets the value of the colour property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Integer }
-          *     
-          */
-         public void setColour(Integer value) {
-             this.colour = value;
-         }
-         /**
-          * Gets the value of the start property.
-          * 
-          */
-         public int getStart() {
-             return start;
-         }
-         /**
-          * Sets the value of the start property.
-          * 
-          */
-         public void setStart(int value) {
-             this.start = value;
-         }
-         /**
-          * Gets the value of the end property.
-          * 
-          */
-         public int getEnd() {
-             return end;
-         }
-         /**
-          * Sets the value of the end property.
-          * 
-          */
-         public void setEnd(int value) {
-             this.end = value;
-         }
-         /**
-          * Gets the value of the id property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link String }
-          *     
-          */
-         public String getId() {
-             return id;
-         }
-         /**
-          * Sets the value of the id property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link String }
-          *     
-          */
-         public void setId(String value) {
-             this.id = value;
-         }
-         /**
-          * Gets the value of the hidden property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Boolean }
-          *     
-          */
-         public Boolean isHidden() {
-             return hidden;
-         }
-         /**
-          * Sets the value of the hidden property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Boolean }
-          *     
-          */
-         public void setHidden(Boolean value) {
-             this.hidden = value;
-         }
-         /**
-          * Gets the value of the viewreference property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Boolean }
-          *     
-          */
-         public Boolean isViewreference() {
-             return viewreference;
-         }
-         /**
-          * Sets the value of the viewreference property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Boolean }
-          *     
-          */
-         public void setViewreference(Boolean value) {
-             this.viewreference = value;
-         }
-         /**
-          * <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;extension base="{www.jalview.org}pdbentry">
-          *       &lt;sequence>
-          *         &lt;element name="structureState" maxOccurs="unbounded" minOccurs="0">
-          *           &lt;complexType>
-          *             &lt;simpleContent>
-          *               &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
-          *                 &lt;attGroup ref="{www.jalview.org}swingwindow"/>
-          *                 &lt;attribute name="visible" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-          *                 &lt;attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" />
-          *                 &lt;attribute name="alignwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
-          *                 &lt;attribute name="colourwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
-          *                 &lt;attribute name="colourByJmol" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
-          *                 &lt;attribute name="type" type="{http://www.w3.org/2001/XMLSchema}string" />
-          *               &lt;/extension>
-          *             &lt;/simpleContent>
-          *           &lt;/complexType>
-          *         &lt;/element>
-          *       &lt;/sequence>
-          *     &lt;/extension>
-          *   &lt;/complexContent>
-          * &lt;/complexType>
-          * </pre>
-          * 
-          * 
-          */
-         @XmlAccessorType(XmlAccessType.FIELD)
-         @XmlType(name = "", propOrder = {
-             "structureState"
-         })
-         public static class Pdbids
-             extends Pdbentry
-         {
-             @XmlElement(namespace = "www.jalview.org")
-             protected List<JalviewModelType.JSeq.Pdbids.StructureState> structureState;
-             /**
-              * Gets the value of the structureState 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 structureState property.
-              * 
-              * <p>
-              * For example, to add a new item, do as follows:
-              * <pre>
-              *    getStructureState().add(newItem);
-              * </pre>
-              * 
-              * 
-              * <p>
-              * Objects of the following type(s) are allowed in the list
-              * {@link JalviewModelType.JSeq.Pdbids.StructureState }
-              * 
-              * 
-              */
-             public List<JalviewModelType.JSeq.Pdbids.StructureState> getStructureState() {
-                 if (structureState == null) {
-                     structureState = new ArrayList<JalviewModelType.JSeq.Pdbids.StructureState>();
-                 }
-                 return this.structureState;
-             }
-             /**
-              * <p>Java class for anonymous complex type.
-              * 
-              * <p>The following schema fragment specifies the expected content contained within this class.
-              * 
-              * <pre>
-              * &lt;complexType>
-              *   &lt;simpleContent>
-              *     &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
-              *       &lt;attGroup ref="{www.jalview.org}swingwindow"/>
-              *       &lt;attribute name="visible" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-              *       &lt;attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" />
-              *       &lt;attribute name="alignwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
-              *       &lt;attribute name="colourwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
-              *       &lt;attribute name="colourByJmol" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
-              *       &lt;attribute name="type" type="{http://www.w3.org/2001/XMLSchema}string" />
-              *     &lt;/extension>
-              *   &lt;/simpleContent>
-              * &lt;/complexType>
-              * </pre>
-              * 
-              * 
-              */
-             @XmlAccessorType(XmlAccessType.FIELD)
-             @XmlType(name = "", propOrder = {
-                 "value"
-             })
-             public static class StructureState {
-                 @XmlValue
-                 protected String value;
-                 @XmlAttribute(name = "visible")
-                 protected Boolean visible;
-                 @XmlAttribute(name = "viewId")
-                 protected String viewId;
-                 @XmlAttribute(name = "alignwithAlignPanel")
-                 protected Boolean alignwithAlignPanel;
-                 @XmlAttribute(name = "colourwithAlignPanel")
-                 protected Boolean colourwithAlignPanel;
-                 @XmlAttribute(name = "colourByJmol")
-                 protected Boolean colourByJmol;
-                 @XmlAttribute(name = "type")
-                 protected String type;
-                 @XmlAttribute(name = "width")
-                 protected Integer width;
-                 @XmlAttribute(name = "height")
-                 protected Integer height;
-                 @XmlAttribute(name = "xpos")
-                 protected Integer xpos;
-                 @XmlAttribute(name = "ypos")
-                 protected Integer ypos;
-                 /**
-                  * Gets the value of the value property.
-                  * 
-                  * @return
-                  *     possible object is
-                  *     {@link String }
-                  *     
-                  */
-                 public String getValue() {
-                     return value;
-                 }
-                 /**
-                  * Sets the value of the value property.
-                  * 
-                  * @param value
-                  *     allowed object is
-                  *     {@link String }
-                  *     
-                  */
-                 public void setValue(String value) {
-                     this.value = value;
-                 }
-                 /**
-                  * Gets the value of the visible property.
-                  * 
-                  * @return
-                  *     possible object is
-                  *     {@link Boolean }
-                  *     
-                  */
-                 public Boolean isVisible() {
-                     return visible;
-                 }
-                 /**
-                  * Sets the value of the visible property.
-                  * 
-                  * @param value
-                  *     allowed object is
-                  *     {@link Boolean }
-                  *     
-                  */
-                 public void setVisible(Boolean value) {
-                     this.visible = value;
-                 }
-                 /**
-                  * Gets the value of the viewId property.
-                  * 
-                  * @return
-                  *     possible object is
-                  *     {@link String }
-                  *     
-                  */
-                 public String getViewId() {
-                     return viewId;
-                 }
-                 /**
-                  * Sets the value of the viewId property.
-                  * 
-                  * @param value
-                  *     allowed object is
-                  *     {@link String }
-                  *     
-                  */
-                 public void setViewId(String value) {
-                     this.viewId = value;
-                 }
-                 /**
-                  * Gets the value of the alignwithAlignPanel property.
-                  * 
-                  * @return
-                  *     possible object is
-                  *     {@link Boolean }
-                  *     
-                  */
-                 public boolean isAlignwithAlignPanel() {
-                     if (alignwithAlignPanel == null) {
-                         return true;
-                     } else {
-                         return alignwithAlignPanel;
-                     }
-                 }
-                 /**
-                  * Sets the value of the alignwithAlignPanel property.
-                  * 
-                  * @param value
-                  *     allowed object is
-                  *     {@link Boolean }
-                  *     
-                  */
-                 public void setAlignwithAlignPanel(Boolean value) {
-                     this.alignwithAlignPanel = value;
-                 }
-                 /**
-                  * Gets the value of the colourwithAlignPanel property.
-                  * 
-                  * @return
-                  *     possible object is
-                  *     {@link Boolean }
-                  *     
-                  */
-                 public boolean isColourwithAlignPanel() {
-                     if (colourwithAlignPanel == null) {
-                         return false;
-                     } else {
-                         return colourwithAlignPanel;
-                     }
-                 }
-                 /**
-                  * Sets the value of the colourwithAlignPanel property.
-                  * 
-                  * @param value
-                  *     allowed object is
-                  *     {@link Boolean }
-                  *     
-                  */
-                 public void setColourwithAlignPanel(Boolean value) {
-                     this.colourwithAlignPanel = value;
-                 }
-                 /**
-                  * Gets the value of the colourByJmol property.
-                  * 
-                  * @return
-                  *     possible object is
-                  *     {@link Boolean }
-                  *     
-                  */
-                 public boolean isColourByJmol() {
-                     if (colourByJmol == null) {
-                         return true;
-                     } else {
-                         return colourByJmol;
-                     }
-                 }
-                 /**
-                  * Sets the value of the colourByJmol property.
-                  * 
-                  * @param value
-                  *     allowed object is
-                  *     {@link Boolean }
-                  *     
-                  */
-                 public void setColourByJmol(Boolean value) {
-                     this.colourByJmol = value;
-                 }
-                 /**
-                  * Gets the value of the type property.
-                  * 
-                  * @return
-                  *     possible object is
-                  *     {@link String }
-                  *     
-                  */
-                 public String getType() {
-                     return type;
-                 }
-                 /**
-                  * Sets the value of the type property.
-                  * 
-                  * @param value
-                  *     allowed object is
-                  *     {@link String }
-                  *     
-                  */
-                 public void setType(String value) {
-                     this.type = value;
-                 }
-                 /**
-                  * Gets the value of the width property.
-                  * 
-                  * @return
-                  *     possible object is
-                  *     {@link Integer }
-                  *     
-                  */
-                 public Integer getWidth() {
-                     return width;
-                 }
-                 /**
-                  * Sets the value of the width property.
-                  * 
-                  * @param value
-                  *     allowed object is
-                  *     {@link Integer }
-                  *     
-                  */
-                 public void setWidth(Integer value) {
-                     this.width = value;
-                 }
-                 /**
-                  * Gets the value of the height property.
-                  * 
-                  * @return
-                  *     possible object is
-                  *     {@link Integer }
-                  *     
-                  */
-                 public Integer getHeight() {
-                     return height;
-                 }
-                 /**
-                  * Sets the value of the height property.
-                  * 
-                  * @param value
-                  *     allowed object is
-                  *     {@link Integer }
-                  *     
-                  */
-                 public void setHeight(Integer value) {
-                     this.height = value;
-                 }
-                 /**
-                  * Gets the value of the xpos property.
-                  * 
-                  * @return
-                  *     possible object is
-                  *     {@link Integer }
-                  *     
-                  */
-                 public Integer getXpos() {
-                     return xpos;
-                 }
-                 /**
-                  * Sets the value of the xpos property.
-                  * 
-                  * @param value
-                  *     allowed object is
-                  *     {@link Integer }
-                  *     
-                  */
-                 public void setXpos(Integer value) {
-                     this.xpos = value;
-                 }
-                 /**
-                  * Gets the value of the ypos property.
-                  * 
-                  * @return
-                  *     possible object is
-                  *     {@link Integer }
-                  *     
-                  */
-                 public Integer getYpos() {
-                     return ypos;
-                 }
-                 /**
-                  * Sets the value of the ypos property.
-                  * 
-                  * @param value
-                  *     allowed object is
-                  *     {@link Integer }
-                  *     
-                  */
-                 public void setYpos(Integer value) {
-                     this.ypos = value;
-                 }
-             }
-         }
-         /**
-          * <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="secondaryStructure" maxOccurs="unbounded">
-          *           &lt;complexType>
-          *             &lt;complexContent>
-          *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-          *                 &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
-          *                 &lt;attribute name="annotationId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
-          *                 &lt;attribute name="gapped" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-          *                 &lt;attribute name="viewerState" type="{http://www.w3.org/2001/XMLSchema}string" />
-          *               &lt;/restriction>
-          *             &lt;/complexContent>
-          *           &lt;/complexType>
-          *         &lt;/element>
-          *       &lt;/sequence>
-          *       &lt;attGroup ref="{www.jalview.org}swingwindow"/>
-          *       &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
-          *       &lt;attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" />
-          *       &lt;attribute name="dividerLocation" type="{http://www.w3.org/2001/XMLSchema}int" />
-          *       &lt;attribute name="selectedRna" type="{http://www.w3.org/2001/XMLSchema}int" />
-          *     &lt;/restriction>
-          *   &lt;/complexContent>
-          * &lt;/complexType>
-          * </pre>
-          * 
-          * 
-          */
-         @XmlAccessorType(XmlAccessType.FIELD)
-         @XmlType(name = "", propOrder = {
-             "secondaryStructure"
-         })
-         public static class RnaViewer {
-             @XmlElement(namespace = "www.jalview.org", required = true)
-             protected List<JalviewModelType.JSeq.RnaViewer.SecondaryStructure> secondaryStructure;
-             @XmlAttribute(name = "title")
-             protected String title;
-             @XmlAttribute(name = "viewId")
-             protected String viewId;
-             @XmlAttribute(name = "dividerLocation")
-             protected Integer dividerLocation;
-             @XmlAttribute(name = "selectedRna")
-             protected Integer selectedRna;
-             @XmlAttribute(name = "width")
-             protected Integer width;
-             @XmlAttribute(name = "height")
-             protected Integer height;
-             @XmlAttribute(name = "xpos")
-             protected Integer xpos;
-             @XmlAttribute(name = "ypos")
-             protected Integer ypos;
-             /**
-              * Gets the value of the secondaryStructure 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 secondaryStructure property.
-              * 
-              * <p>
-              * For example, to add a new item, do as follows:
-              * <pre>
-              *    getSecondaryStructure().add(newItem);
-              * </pre>
-              * 
-              * 
-              * <p>
-              * Objects of the following type(s) are allowed in the list
-              * {@link JalviewModelType.JSeq.RnaViewer.SecondaryStructure }
-              * 
-              * 
-              */
-             public List<JalviewModelType.JSeq.RnaViewer.SecondaryStructure> getSecondaryStructure() {
-                 if (secondaryStructure == null) {
-                     secondaryStructure = new ArrayList<JalviewModelType.JSeq.RnaViewer.SecondaryStructure>();
-                 }
-                 return this.secondaryStructure;
-             }
-             /**
-              * Gets the value of the title property.
-              * 
-              * @return
-              *     possible object is
-              *     {@link String }
-              *     
-              */
-             public String getTitle() {
-                 return title;
-             }
-             /**
-              * Sets the value of the title property.
-              * 
-              * @param value
-              *     allowed object is
-              *     {@link String }
-              *     
-              */
-             public void setTitle(String value) {
-                 this.title = value;
-             }
-             /**
-              * Gets the value of the viewId property.
-              * 
-              * @return
-              *     possible object is
-              *     {@link String }
-              *     
-              */
-             public String getViewId() {
-                 return viewId;
-             }
-             /**
-              * Sets the value of the viewId property.
-              * 
-              * @param value
-              *     allowed object is
-              *     {@link String }
-              *     
-              */
-             public void setViewId(String value) {
-                 this.viewId = value;
-             }
-             /**
-              * Gets the value of the dividerLocation property.
-              * 
-              * @return
-              *     possible object is
-              *     {@link Integer }
-              *     
-              */
-             public Integer getDividerLocation() {
-                 return dividerLocation;
-             }
-             /**
-              * Sets the value of the dividerLocation property.
-              * 
-              * @param value
-              *     allowed object is
-              *     {@link Integer }
-              *     
-              */
-             public void setDividerLocation(Integer value) {
-                 this.dividerLocation = value;
-             }
-             /**
-              * Gets the value of the selectedRna property.
-              * 
-              * @return
-              *     possible object is
-              *     {@link Integer }
-              *     
-              */
-             public Integer getSelectedRna() {
-                 return selectedRna;
-             }
-             /**
-              * Sets the value of the selectedRna property.
-              * 
-              * @param value
-              *     allowed object is
-              *     {@link Integer }
-              *     
-              */
-             public void setSelectedRna(Integer value) {
-                 this.selectedRna = value;
-             }
-             /**
-              * Gets the value of the width property.
-              * 
-              * @return
-              *     possible object is
-              *     {@link Integer }
-              *     
-              */
-             public Integer getWidth() {
-                 return width;
-             }
-             /**
-              * Sets the value of the width property.
-              * 
-              * @param value
-              *     allowed object is
-              *     {@link Integer }
-              *     
-              */
-             public void setWidth(Integer value) {
-                 this.width = value;
-             }
-             /**
-              * Gets the value of the height property.
-              * 
-              * @return
-              *     possible object is
-              *     {@link Integer }
-              *     
-              */
-             public Integer getHeight() {
-                 return height;
-             }
-             /**
-              * Sets the value of the height property.
-              * 
-              * @param value
-              *     allowed object is
-              *     {@link Integer }
-              *     
-              */
-             public void setHeight(Integer value) {
-                 this.height = value;
-             }
-             /**
-              * Gets the value of the xpos property.
-              * 
-              * @return
-              *     possible object is
-              *     {@link Integer }
-              *     
-              */
-             public Integer getXpos() {
-                 return xpos;
-             }
-             /**
-              * Sets the value of the xpos property.
-              * 
-              * @param value
-              *     allowed object is
-              *     {@link Integer }
-              *     
-              */
-             public void setXpos(Integer value) {
-                 this.xpos = value;
-             }
-             /**
-              * Gets the value of the ypos property.
-              * 
-              * @return
-              *     possible object is
-              *     {@link Integer }
-              *     
-              */
-             public Integer getYpos() {
-                 return ypos;
-             }
-             /**
-              * Sets the value of the ypos property.
-              * 
-              * @param value
-              *     allowed object is
-              *     {@link Integer }
-              *     
-              */
-             public void setYpos(Integer value) {
-                 this.ypos = value;
-             }
-             /**
-              * <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;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
-              *       &lt;attribute name="annotationId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
-              *       &lt;attribute name="gapped" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-              *       &lt;attribute name="viewerState" type="{http://www.w3.org/2001/XMLSchema}string" />
-              *     &lt;/restriction>
-              *   &lt;/complexContent>
-              * &lt;/complexType>
-              * </pre>
-              * 
-              * 
-              */
-             @XmlAccessorType(XmlAccessType.FIELD)
-             @XmlType(name = "")
-             public static class SecondaryStructure {
-                 @XmlAttribute(name = "title")
-                 protected String title;
-                 @XmlAttribute(name = "annotationId", required = true)
-                 protected String annotationId;
-                 @XmlAttribute(name = "gapped")
-                 protected Boolean gapped;
-                 @XmlAttribute(name = "viewerState")
-                 protected String viewerState;
-                 /**
-                  * Gets the value of the title property.
-                  * 
-                  * @return
-                  *     possible object is
-                  *     {@link String }
-                  *     
-                  */
-                 public String getTitle() {
-                     return title;
-                 }
-                 /**
-                  * Sets the value of the title property.
-                  * 
-                  * @param value
-                  *     allowed object is
-                  *     {@link String }
-                  *     
-                  */
-                 public void setTitle(String value) {
-                     this.title = value;
-                 }
-                 /**
-                  * Gets the value of the annotationId property.
-                  * 
-                  * @return
-                  *     possible object is
-                  *     {@link String }
-                  *     
-                  */
-                 public String getAnnotationId() {
-                     return annotationId;
-                 }
-                 /**
-                  * Sets the value of the annotationId property.
-                  * 
-                  * @param value
-                  *     allowed object is
-                  *     {@link String }
-                  *     
-                  */
-                 public void setAnnotationId(String value) {
-                     this.annotationId = value;
-                 }
-                 /**
-                  * Gets the value of the gapped property.
-                  * 
-                  * @return
-                  *     possible object is
-                  *     {@link Boolean }
-                  *     
-                  */
-                 public Boolean isGapped() {
-                     return gapped;
-                 }
-                 /**
-                  * Sets the value of the gapped property.
-                  * 
-                  * @param value
-                  *     allowed object is
-                  *     {@link Boolean }
-                  *     
-                  */
-                 public void setGapped(Boolean value) {
-                     this.gapped = value;
-                 }
-                 /**
-                  * Gets the value of the viewerState property.
-                  * 
-                  * @return
-                  *     possible object is
-                  *     {@link String }
-                  *     
-                  */
-                 public String getViewerState() {
-                     return viewerState;
-                 }
-                 /**
-                  * Sets the value of the viewerState property.
-                  * 
-                  * @param value
-                  *     allowed object is
-                  *     {@link String }
-                  *     
-                  */
-                 public void setViewerState(String value) {
-                     this.viewerState = value;
-                 }
-             }
-         }
-     }
-     /**
-      * <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 minOccurs="0">
-      *         &lt;element name="title" type="{http://www.w3.org/2001/XMLSchema}string"/>
-      *         &lt;element name="newick" type="{http://www.w3.org/2001/XMLSchema}string"/>
-      *       &lt;/sequence>
-      *       &lt;attGroup ref="{www.jalview.org}swingwindow"/>
-      *       &lt;attribute name="fontName" type="{http://www.w3.org/2001/XMLSchema}string" />
-      *       &lt;attribute name="fontSize" type="{http://www.w3.org/2001/XMLSchema}int" />
-      *       &lt;attribute name="fontStyle" type="{http://www.w3.org/2001/XMLSchema}int" />
-      *       &lt;attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" />
-      *       &lt;attribute name="showBootstrap" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-      *       &lt;attribute name="showDistances" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-      *       &lt;attribute name="markUnlinked" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-      *       &lt;attribute name="fitToWindow" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-      *       &lt;attribute name="currentTree" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-      *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
-      *     &lt;/restriction>
-      *   &lt;/complexContent>
-      * &lt;/complexType>
-      * </pre>
-      * 
-      * 
-      */
-     @XmlAccessorType(XmlAccessType.FIELD)
-     @XmlType(name = "", propOrder = {
-         "title",
-         "newick"
-     })
-     public static class Tree {
-         @XmlElement(namespace = "www.jalview.org")
-         protected String title;
-         @XmlElement(namespace = "www.jalview.org")
-         protected String newick;
-         @XmlAttribute(name = "fontName")
-         protected String fontName;
-         @XmlAttribute(name = "fontSize")
-         protected Integer fontSize;
-         @XmlAttribute(name = "fontStyle")
-         protected Integer fontStyle;
-         @XmlAttribute(name = "threshold")
-         protected Float threshold;
-         @XmlAttribute(name = "showBootstrap")
-         protected Boolean showBootstrap;
-         @XmlAttribute(name = "showDistances")
-         protected Boolean showDistances;
-         @XmlAttribute(name = "markUnlinked")
-         protected Boolean markUnlinked;
-         @XmlAttribute(name = "fitToWindow")
-         protected Boolean fitToWindow;
-         @XmlAttribute(name = "currentTree")
-         protected Boolean currentTree;
-         @XmlAttribute(name = "id")
-         @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
-         @XmlID
-         @XmlSchemaType(name = "ID")
-         protected String id;
-         @XmlAttribute(name = "width")
-         protected Integer width;
-         @XmlAttribute(name = "height")
-         protected Integer height;
-         @XmlAttribute(name = "xpos")
-         protected Integer xpos;
-         @XmlAttribute(name = "ypos")
-         protected Integer ypos;
-         /**
-          * Gets the value of the title property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link String }
-          *     
-          */
-         public String getTitle() {
-             return title;
-         }
-         /**
-          * Sets the value of the title property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link String }
-          *     
-          */
-         public void setTitle(String value) {
-             this.title = value;
-         }
-         /**
-          * Gets the value of the newick property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link String }
-          *     
-          */
-         public String getNewick() {
-             return newick;
-         }
-         /**
-          * Sets the value of the newick property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link String }
-          *     
-          */
-         public void setNewick(String value) {
-             this.newick = value;
-         }
-         /**
-          * Gets the value of the fontName property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link String }
-          *     
-          */
-         public String getFontName() {
-             return fontName;
-         }
-         /**
-          * Sets the value of the fontName property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link String }
-          *     
-          */
-         public void setFontName(String value) {
-             this.fontName = value;
-         }
-         /**
-          * Gets the value of the fontSize property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Integer }
-          *     
-          */
-         public Integer getFontSize() {
-             return fontSize;
-         }
-         /**
-          * Sets the value of the fontSize property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Integer }
-          *     
-          */
-         public void setFontSize(Integer value) {
-             this.fontSize = value;
-         }
-         /**
-          * Gets the value of the fontStyle property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Integer }
-          *     
-          */
-         public Integer getFontStyle() {
-             return fontStyle;
-         }
-         /**
-          * Sets the value of the fontStyle property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Integer }
-          *     
-          */
-         public void setFontStyle(Integer value) {
-             this.fontStyle = value;
-         }
-         /**
-          * Gets the value of the threshold property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Float }
-          *     
-          */
-         public Float getThreshold() {
-             return threshold;
-         }
-         /**
-          * Sets the value of the threshold property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Float }
-          *     
-          */
-         public void setThreshold(Float value) {
-             this.threshold = value;
-         }
-         /**
-          * Gets the value of the showBootstrap property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Boolean }
-          *     
-          */
-         public Boolean isShowBootstrap() {
-             return showBootstrap;
-         }
-         /**
-          * Sets the value of the showBootstrap property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Boolean }
-          *     
-          */
-         public void setShowBootstrap(Boolean value) {
-             this.showBootstrap = value;
-         }
-         /**
-          * Gets the value of the showDistances property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Boolean }
-          *     
-          */
-         public Boolean isShowDistances() {
-             return showDistances;
-         }
-         /**
-          * Sets the value of the showDistances property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Boolean }
-          *     
-          */
-         public void setShowDistances(Boolean value) {
-             this.showDistances = value;
-         }
-         /**
-          * Gets the value of the markUnlinked property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Boolean }
-          *     
-          */
-         public Boolean isMarkUnlinked() {
-             return markUnlinked;
-         }
-         /**
-          * Sets the value of the markUnlinked property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Boolean }
-          *     
-          */
-         public void setMarkUnlinked(Boolean value) {
-             this.markUnlinked = value;
-         }
-         /**
-          * Gets the value of the fitToWindow property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Boolean }
-          *     
-          */
-         public Boolean isFitToWindow() {
-             return fitToWindow;
-         }
-         /**
-          * Sets the value of the fitToWindow property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Boolean }
-          *     
-          */
-         public void setFitToWindow(Boolean value) {
-             this.fitToWindow = value;
-         }
-         /**
-          * Gets the value of the currentTree property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Boolean }
-          *     
-          */
-         public Boolean isCurrentTree() {
-             return currentTree;
-         }
-         /**
-          * Sets the value of the currentTree property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Boolean }
-          *     
-          */
-         public void setCurrentTree(Boolean value) {
-             this.currentTree = value;
-         }
-         /**
-          * Gets the value of the id property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link String }
-          *     
-          */
-         public String getId() {
-             return id;
-         }
-         /**
-          * Sets the value of the id property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link String }
-          *     
-          */
-         public void setId(String value) {
-             this.id = value;
-         }
-         /**
-          * Gets the value of the width property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Integer }
-          *     
-          */
-         public Integer getWidth() {
-             return width;
-         }
-         /**
-          * Sets the value of the width property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Integer }
-          *     
-          */
-         public void setWidth(Integer value) {
-             this.width = value;
-         }
-         /**
-          * Gets the value of the height property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Integer }
-          *     
-          */
-         public Integer getHeight() {
-             return height;
-         }
-         /**
-          * Sets the value of the height property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Integer }
-          *     
-          */
-         public void setHeight(Integer value) {
-             this.height = value;
-         }
-         /**
-          * Gets the value of the xpos property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Integer }
-          *     
-          */
-         public Integer getXpos() {
-             return xpos;
-         }
-         /**
-          * Sets the value of the xpos property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Integer }
-          *     
-          */
-         public void setXpos(Integer value) {
-             this.xpos = value;
-         }
-         /**
-          * Gets the value of the ypos property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Integer }
-          *     
-          */
-         public Integer getYpos() {
-             return ypos;
-         }
-         /**
-          * Sets the value of the ypos property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Integer }
-          *     
-          */
-         public void setYpos(Integer value) {
-             this.ypos = value;
-         }
-     }
-     /**
-      * <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="UserColourScheme" type="{www.jalview.org/colours}JalviewUserColours"/>
-      *       &lt;/sequence>
-      *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string" />
-      *     &lt;/restriction>
-      *   &lt;/complexContent>
-      * &lt;/complexType>
-      * </pre>
-      * 
-      * 
-      */
-     @XmlAccessorType(XmlAccessType.FIELD)
-     @XmlType(name = "", propOrder = {
-         "userColourScheme"
-     })
-     public static class UserColours {
-         @XmlElement(name = "UserColourScheme", namespace = "www.jalview.org", required = true)
-         protected JalviewUserColours userColourScheme;
-         @XmlAttribute(name = "id")
-         protected String id;
-         /**
-          * Gets the value of the userColourScheme property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link JalviewUserColours }
-          *     
-          */
-         public JalviewUserColours getUserColourScheme() {
-             return userColourScheme;
-         }
-         /**
-          * Sets the value of the userColourScheme property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link JalviewUserColours }
-          *     
-          */
-         public void setUserColourScheme(JalviewUserColours value) {
-             this.userColourScheme = value;
-         }
-         /**
-          * Gets the value of the id property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link String }
-          *     
-          */
-         public String getId() {
-             return id;
-         }
-         /**
-          * Sets the value of the id property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link String }
-          *     
-          */
-         public void setId(String value) {
-             this.id = value;
-         }
-     }
-     /**
-      * <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="AnnotationColours" type="{www.jalview.org}AnnotationColourScheme" minOccurs="0"/>
-      *         &lt;element name="hiddenColumns" maxOccurs="unbounded" minOccurs="0">
-      *           &lt;complexType>
-      *             &lt;complexContent>
-      *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-      *                 &lt;attribute name="start" type="{http://www.w3.org/2001/XMLSchema}int" />
-      *                 &lt;attribute name="end" type="{http://www.w3.org/2001/XMLSchema}int" />
-      *               &lt;/restriction>
-      *             &lt;/complexContent>
-      *           &lt;/complexType>
-      *         &lt;/element>
-      *         &lt;element name="calcIdParam" maxOccurs="unbounded" minOccurs="0">
-      *           &lt;complexType>
-      *             &lt;complexContent>
-      *               &lt;extension base="{www.jalview.org/xml/wsparamset}WebServiceParameterSet">
-      *                 &lt;attribute name="calcId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
-      *                 &lt;attribute name="needsUpdate" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
-      *                 &lt;attribute name="autoUpdate" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-      *               &lt;/extension>
-      *             &lt;/complexContent>
-      *           &lt;/complexType>
-      *         &lt;/element>
-      *       &lt;/sequence>
-      *       &lt;attGroup ref="{www.jalview.org}swingwindow"/>
-      *       &lt;attribute name="conservationSelected" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-      *       &lt;attribute name="pidSelected" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-      *       &lt;attribute name="bgColour" type="{http://www.w3.org/2001/XMLSchema}string" />
-      *       &lt;attribute name="consThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
-      *       &lt;attribute name="pidThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
-      *       &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
-      *       &lt;attribute name="showFullId" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-      *       &lt;attribute name="rightAlignIds" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-      *       &lt;attribute name="showText" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-      *       &lt;attribute name="showColourText" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-      *       &lt;attribute name="showUnconserved" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
-      *       &lt;attribute name="showBoxes" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-      *       &lt;attribute name="wrapAlignment" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-      *       &lt;attribute name="renderGaps" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-      *       &lt;attribute name="showSequenceFeatures" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-      *       &lt;attribute name="showNPfeatureTooltip" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-      *       &lt;attribute name="showDbRefTooltip" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-      *       &lt;attribute name="followHighlight" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
-      *       &lt;attribute name="followSelection" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
-      *       &lt;attribute name="showAnnotation" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-      *       &lt;attribute name="centreColumnLabels" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
-      *       &lt;attribute name="showGroupConservation" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
-      *       &lt;attribute name="showGroupConsensus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
-      *       &lt;attribute name="showConsensusHistogram" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
-      *       &lt;attribute name="showSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
-      *       &lt;attribute name="normaliseSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
-      *       &lt;attribute name="ignoreGapsinConsensus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
-      *       &lt;attribute name="startRes" type="{http://www.w3.org/2001/XMLSchema}int" />
-      *       &lt;attribute name="startSeq" type="{http://www.w3.org/2001/XMLSchema}int" />
-      *       &lt;attribute name="fontName" type="{http://www.w3.org/2001/XMLSchema}string" />
-      *       &lt;attribute name="fontSize" type="{http://www.w3.org/2001/XMLSchema}int" />
-      *       &lt;attribute name="fontStyle" type="{http://www.w3.org/2001/XMLSchema}int" />
-      *       &lt;attribute name="scaleProteinAsCdna" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
-      *       &lt;attribute name="viewName" type="{http://www.w3.org/2001/XMLSchema}string" />
-      *       &lt;attribute name="sequenceSetId" type="{http://www.w3.org/2001/XMLSchema}string" />
-      *       &lt;attribute name="gatheredViews" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-      *       &lt;attribute name="textCol1" type="{http://www.w3.org/2001/XMLSchema}int" />
-      *       &lt;attribute name="textCol2" type="{http://www.w3.org/2001/XMLSchema}int" />
-      *       &lt;attribute name="textColThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
-      *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
-      *       &lt;attribute name="complementId" type="{http://www.w3.org/2001/XMLSchema}string" />
-      *     &lt;/restriction>
-      *   &lt;/complexContent>
-      * &lt;/complexType>
-      * </pre>
-      * 
-      * 
-      */
-     @XmlAccessorType(XmlAccessType.FIELD)
-     @XmlType(name = "", propOrder = {
-         "annotationColours",
-         "hiddenColumns",
-         "calcIdParam"
-     })
-     public static class Viewport {
-         @XmlElement(name = "AnnotationColours", namespace = "www.jalview.org")
-         protected AnnotationColourScheme annotationColours;
-         @XmlElement(namespace = "www.jalview.org")
-         protected List<JalviewModelType.Viewport.HiddenColumns> hiddenColumns;
-         @XmlElement(namespace = "www.jalview.org")
-         protected List<JalviewModelType.Viewport.CalcIdParam> calcIdParam;
-         @XmlAttribute(name = "conservationSelected")
-         protected Boolean conservationSelected;
-         @XmlAttribute(name = "pidSelected")
-         protected Boolean pidSelected;
-         @XmlAttribute(name = "bgColour")
-         protected String bgColour;
-         @XmlAttribute(name = "consThreshold")
-         protected Integer consThreshold;
-         @XmlAttribute(name = "pidThreshold")
-         protected Integer pidThreshold;
-         @XmlAttribute(name = "title")
-         protected String title;
-         @XmlAttribute(name = "showFullId")
-         protected Boolean showFullId;
-         @XmlAttribute(name = "rightAlignIds")
-         protected Boolean rightAlignIds;
-         @XmlAttribute(name = "showText")
-         protected Boolean showText;
-         @XmlAttribute(name = "showColourText")
-         protected Boolean showColourText;
-         @XmlAttribute(name = "showUnconserved")
-         protected Boolean showUnconserved;
-         @XmlAttribute(name = "showBoxes")
-         protected Boolean showBoxes;
-         @XmlAttribute(name = "wrapAlignment")
-         protected Boolean wrapAlignment;
-         @XmlAttribute(name = "renderGaps")
-         protected Boolean renderGaps;
-         @XmlAttribute(name = "showSequenceFeatures")
-         protected Boolean showSequenceFeatures;
-         @XmlAttribute(name = "showNPfeatureTooltip")
-         protected Boolean showNPfeatureTooltip;
-         @XmlAttribute(name = "showDbRefTooltip")
-         protected Boolean showDbRefTooltip;
-         @XmlAttribute(name = "followHighlight")
-         protected Boolean followHighlight;
-         @XmlAttribute(name = "followSelection")
-         protected Boolean followSelection;
-         @XmlAttribute(name = "showAnnotation")
-         protected Boolean showAnnotation;
-         @XmlAttribute(name = "centreColumnLabels")
-         protected Boolean centreColumnLabels;
-         @XmlAttribute(name = "showGroupConservation")
-         protected Boolean showGroupConservation;
-         @XmlAttribute(name = "showGroupConsensus")
-         protected Boolean showGroupConsensus;
-         @XmlAttribute(name = "showConsensusHistogram")
-         protected Boolean showConsensusHistogram;
-         @XmlAttribute(name = "showSequenceLogo")
-         protected Boolean showSequenceLogo;
-         @XmlAttribute(name = "normaliseSequenceLogo")
-         protected Boolean normaliseSequenceLogo;
-         @XmlAttribute(name = "ignoreGapsinConsensus")
-         protected Boolean ignoreGapsinConsensus;
-         @XmlAttribute(name = "startRes")
-         protected Integer startRes;
-         @XmlAttribute(name = "startSeq")
-         protected Integer startSeq;
-         @XmlAttribute(name = "fontName")
-         protected String fontName;
-         @XmlAttribute(name = "fontSize")
-         protected Integer fontSize;
-         @XmlAttribute(name = "fontStyle")
-         protected Integer fontStyle;
-         @XmlAttribute(name = "scaleProteinAsCdna")
-         protected Boolean scaleProteinAsCdna;
-         @XmlAttribute(name = "viewName")
-         protected String viewName;
-         @XmlAttribute(name = "sequenceSetId")
-         protected String sequenceSetId;
-         @XmlAttribute(name = "gatheredViews")
-         protected Boolean gatheredViews;
-         @XmlAttribute(name = "textCol1")
-         protected Integer textCol1;
-         @XmlAttribute(name = "textCol2")
-         protected Integer textCol2;
-         @XmlAttribute(name = "textColThreshold")
-         protected Integer textColThreshold;
-         @XmlAttribute(name = "id")
-         @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
-         @XmlID
-         @XmlSchemaType(name = "ID")
-         protected String id;
-         @XmlAttribute(name = "complementId")
-         protected String complementId;
-         @XmlAttribute(name = "width")
-         protected Integer width;
-         @XmlAttribute(name = "height")
-         protected Integer height;
-         @XmlAttribute(name = "xpos")
-         protected Integer xpos;
-         @XmlAttribute(name = "ypos")
-         protected Integer ypos;
-         /**
-          * Gets the value of the annotationColours property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link AnnotationColourScheme }
-          *     
-          */
-         public AnnotationColourScheme getAnnotationColours() {
-             return annotationColours;
-         }
-         /**
-          * Sets the value of the annotationColours property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link AnnotationColourScheme }
-          *     
-          */
-         public void setAnnotationColours(AnnotationColourScheme value) {
-             this.annotationColours = value;
-         }
-         /**
-          * Gets the value of the hiddenColumns 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 hiddenColumns property.
-          * 
-          * <p>
-          * For example, to add a new item, do as follows:
-          * <pre>
-          *    getHiddenColumns().add(newItem);
-          * </pre>
-          * 
-          * 
-          * <p>
-          * Objects of the following type(s) are allowed in the list
-          * {@link JalviewModelType.Viewport.HiddenColumns }
-          * 
-          * 
-          */
-         public List<JalviewModelType.Viewport.HiddenColumns> getHiddenColumns() {
-             if (hiddenColumns == null) {
-                 hiddenColumns = new ArrayList<JalviewModelType.Viewport.HiddenColumns>();
-             }
-             return this.hiddenColumns;
-         }
-         /**
-          * Gets the value of the calcIdParam 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 calcIdParam property.
-          * 
-          * <p>
-          * For example, to add a new item, do as follows:
-          * <pre>
-          *    getCalcIdParam().add(newItem);
-          * </pre>
-          * 
-          * 
-          * <p>
-          * Objects of the following type(s) are allowed in the list
-          * {@link JalviewModelType.Viewport.CalcIdParam }
-          * 
-          * 
-          */
-         public List<JalviewModelType.Viewport.CalcIdParam> getCalcIdParam() {
-             if (calcIdParam == null) {
-                 calcIdParam = new ArrayList<JalviewModelType.Viewport.CalcIdParam>();
-             }
-             return this.calcIdParam;
-         }
-         /**
-          * Gets the value of the conservationSelected property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Boolean }
-          *     
-          */
-         public Boolean isConservationSelected() {
-             return conservationSelected;
-         }
-         /**
-          * Sets the value of the conservationSelected property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Boolean }
-          *     
-          */
-         public void setConservationSelected(Boolean value) {
-             this.conservationSelected = value;
-         }
-         /**
-          * Gets the value of the pidSelected property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Boolean }
-          *     
-          */
-         public Boolean isPidSelected() {
-             return pidSelected;
-         }
-         /**
-          * Sets the value of the pidSelected property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Boolean }
-          *     
-          */
-         public void setPidSelected(Boolean value) {
-             this.pidSelected = value;
-         }
-         /**
-          * Gets the value of the bgColour property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link String }
-          *     
-          */
-         public String getBgColour() {
-             return bgColour;
-         }
-         /**
-          * Sets the value of the bgColour property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link String }
-          *     
-          */
-         public void setBgColour(String value) {
-             this.bgColour = value;
-         }
-         /**
-          * Gets the value of the consThreshold property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Integer }
-          *     
-          */
-         public Integer getConsThreshold() {
-             return consThreshold;
-         }
-         /**
-          * Sets the value of the consThreshold property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Integer }
-          *     
-          */
-         public void setConsThreshold(Integer value) {
-             this.consThreshold = value;
-         }
-         /**
-          * Gets the value of the pidThreshold property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Integer }
-          *     
-          */
-         public Integer getPidThreshold() {
-             return pidThreshold;
-         }
-         /**
-          * Sets the value of the pidThreshold property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Integer }
-          *     
-          */
-         public void setPidThreshold(Integer value) {
-             this.pidThreshold = value;
-         }
-         /**
-          * Gets the value of the title property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link String }
-          *     
-          */
-         public String getTitle() {
-             return title;
-         }
-         /**
-          * Sets the value of the title property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link String }
-          *     
-          */
-         public void setTitle(String value) {
-             this.title = value;
-         }
-         /**
-          * Gets the value of the showFullId property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Boolean }
-          *     
-          */
-         public Boolean isShowFullId() {
-             return showFullId;
-         }
-         /**
-          * Sets the value of the showFullId property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Boolean }
-          *     
-          */
-         public void setShowFullId(Boolean value) {
-             this.showFullId = value;
-         }
-         /**
-          * Gets the value of the rightAlignIds property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Boolean }
-          *     
-          */
-         public Boolean isRightAlignIds() {
-             return rightAlignIds;
-         }
-         /**
-          * Sets the value of the rightAlignIds property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Boolean }
-          *     
-          */
-         public void setRightAlignIds(Boolean value) {
-             this.rightAlignIds = value;
-         }
-         /**
-          * Gets the value of the showText property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Boolean }
-          *     
-          */
-         public Boolean isShowText() {
-             return showText;
-         }
-         /**
-          * Sets the value of the showText property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Boolean }
-          *     
-          */
-         public void setShowText(Boolean value) {
-             this.showText = value;
-         }
-         /**
-          * Gets the value of the showColourText property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Boolean }
-          *     
-          */
-         public Boolean isShowColourText() {
-             return showColourText;
-         }
-         /**
-          * Sets the value of the showColourText property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Boolean }
-          *     
-          */
-         public void setShowColourText(Boolean value) {
-             this.showColourText = value;
-         }
-         /**
-          * Gets the value of the showUnconserved property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Boolean }
-          *     
-          */
-         public boolean isShowUnconserved() {
-             if (showUnconserved == null) {
-                 return false;
-             } else {
-                 return showUnconserved;
-             }
-         }
-         /**
-          * Sets the value of the showUnconserved property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Boolean }
-          *     
-          */
-         public void setShowUnconserved(Boolean value) {
-             this.showUnconserved = value;
-         }
-         /**
-          * Gets the value of the showBoxes property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Boolean }
-          *     
-          */
-         public Boolean isShowBoxes() {
-             return showBoxes;
-         }
-         /**
-          * Sets the value of the showBoxes property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Boolean }
-          *     
-          */
-         public void setShowBoxes(Boolean value) {
-             this.showBoxes = value;
-         }
-         /**
-          * Gets the value of the wrapAlignment property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Boolean }
-          *     
-          */
-         public Boolean isWrapAlignment() {
-             return wrapAlignment;
-         }
-         /**
-          * Sets the value of the wrapAlignment property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Boolean }
-          *     
-          */
-         public void setWrapAlignment(Boolean value) {
-             this.wrapAlignment = value;
-         }
-         /**
-          * Gets the value of the renderGaps property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Boolean }
-          *     
-          */
-         public Boolean isRenderGaps() {
-             return renderGaps;
-         }
-         /**
-          * Sets the value of the renderGaps property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Boolean }
-          *     
-          */
-         public void setRenderGaps(Boolean value) {
-             this.renderGaps = value;
-         }
-         /**
-          * Gets the value of the showSequenceFeatures property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Boolean }
-          *     
-          */
-         public Boolean isShowSequenceFeatures() {
-             return showSequenceFeatures;
-         }
-         /**
-          * Sets the value of the showSequenceFeatures property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Boolean }
-          *     
-          */
-         public void setShowSequenceFeatures(Boolean value) {
-             this.showSequenceFeatures = value;
-         }
-         /**
-          * Gets the value of the showNPfeatureTooltip property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Boolean }
-          *     
-          */
-         public Boolean isShowNPfeatureTooltip() {
-             return showNPfeatureTooltip;
-         }
-         /**
-          * Sets the value of the showNPfeatureTooltip property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Boolean }
-          *     
-          */
-         public void setShowNPfeatureTooltip(Boolean value) {
-             this.showNPfeatureTooltip = value;
-         }
-         /**
-          * Gets the value of the showDbRefTooltip property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Boolean }
-          *     
-          */
-         public Boolean isShowDbRefTooltip() {
-             return showDbRefTooltip;
-         }
-         /**
-          * Sets the value of the showDbRefTooltip property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Boolean }
-          *     
-          */
-         public void setShowDbRefTooltip(Boolean value) {
-             this.showDbRefTooltip = value;
-         }
-         /**
-          * Gets the value of the followHighlight property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Boolean }
-          *     
-          */
-         public boolean isFollowHighlight() {
-             if (followHighlight == null) {
-                 return true;
-             } else {
-                 return followHighlight;
-             }
-         }
-         /**
-          * Sets the value of the followHighlight property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Boolean }
-          *     
-          */
-         public void setFollowHighlight(Boolean value) {
-             this.followHighlight = value;
-         }
-         /**
-          * Gets the value of the followSelection property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Boolean }
-          *     
-          */
-         public boolean isFollowSelection() {
-             if (followSelection == null) {
-                 return true;
-             } else {
-                 return followSelection;
-             }
-         }
-         /**
-          * Sets the value of the followSelection property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Boolean }
-          *     
-          */
-         public void setFollowSelection(Boolean value) {
-             this.followSelection = value;
-         }
-         /**
-          * Gets the value of the showAnnotation property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Boolean }
-          *     
-          */
-         public Boolean isShowAnnotation() {
-             return showAnnotation;
-         }
-         /**
-          * Sets the value of the showAnnotation property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Boolean }
-          *     
-          */
-         public void setShowAnnotation(Boolean value) {
-             this.showAnnotation = value;
-         }
-         /**
-          * Gets the value of the centreColumnLabels property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Boolean }
-          *     
-          */
-         public boolean isCentreColumnLabels() {
-             if (centreColumnLabels == null) {
-                 return false;
-             } else {
-                 return centreColumnLabels;
-             }
-         }
-         /**
-          * Sets the value of the centreColumnLabels property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Boolean }
-          *     
-          */
-         public void setCentreColumnLabels(Boolean value) {
-             this.centreColumnLabels = value;
-         }
-         /**
-          * Gets the value of the showGroupConservation property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Boolean }
-          *     
-          */
-         public boolean isShowGroupConservation() {
-             if (showGroupConservation == null) {
-                 return false;
-             } else {
-                 return showGroupConservation;
-             }
-         }
-         /**
-          * Sets the value of the showGroupConservation property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Boolean }
-          *     
-          */
-         public void setShowGroupConservation(Boolean value) {
-             this.showGroupConservation = value;
-         }
-         /**
-          * Gets the value of the showGroupConsensus property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Boolean }
-          *     
-          */
-         public boolean isShowGroupConsensus() {
-             if (showGroupConsensus == null) {
-                 return false;
-             } else {
-                 return showGroupConsensus;
-             }
-         }
-         /**
-          * Sets the value of the showGroupConsensus property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Boolean }
-          *     
-          */
-         public void setShowGroupConsensus(Boolean value) {
-             this.showGroupConsensus = value;
-         }
-         /**
-          * Gets the value of the showConsensusHistogram property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Boolean }
-          *     
-          */
-         public boolean isShowConsensusHistogram() {
-             if (showConsensusHistogram == null) {
-                 return true;
-             } else {
-                 return showConsensusHistogram;
-             }
-         }
-         /**
-          * Sets the value of the showConsensusHistogram property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Boolean }
-          *     
-          */
-         public void setShowConsensusHistogram(Boolean value) {
-             this.showConsensusHistogram = value;
-         }
-         /**
-          * Gets the value of the showSequenceLogo property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Boolean }
-          *     
-          */
-         public boolean isShowSequenceLogo() {
-             if (showSequenceLogo == null) {
-                 return false;
-             } else {
-                 return showSequenceLogo;
-             }
-         }
-         /**
-          * Sets the value of the showSequenceLogo property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Boolean }
-          *     
-          */
-         public void setShowSequenceLogo(Boolean value) {
-             this.showSequenceLogo = value;
-         }
-         /**
-          * Gets the value of the normaliseSequenceLogo property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Boolean }
-          *     
-          */
-         public boolean isNormaliseSequenceLogo() {
-             if (normaliseSequenceLogo == null) {
-                 return false;
-             } else {
-                 return normaliseSequenceLogo;
-             }
-         }
-         /**
-          * Sets the value of the normaliseSequenceLogo property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Boolean }
-          *     
-          */
-         public void setNormaliseSequenceLogo(Boolean value) {
-             this.normaliseSequenceLogo = value;
-         }
-         /**
-          * Gets the value of the ignoreGapsinConsensus property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Boolean }
-          *     
-          */
-         public boolean isIgnoreGapsinConsensus() {
-             if (ignoreGapsinConsensus == null) {
-                 return true;
-             } else {
-                 return ignoreGapsinConsensus;
-             }
-         }
-         /**
-          * Sets the value of the ignoreGapsinConsensus property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Boolean }
-          *     
-          */
-         public void setIgnoreGapsinConsensus(Boolean value) {
-             this.ignoreGapsinConsensus = value;
-         }
-         /**
-          * Gets the value of the startRes property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Integer }
-          *     
-          */
-         public Integer getStartRes() {
-             return startRes;
-         }
-         /**
-          * Sets the value of the startRes property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Integer }
-          *     
-          */
-         public void setStartRes(Integer value) {
-             this.startRes = value;
-         }
-         /**
-          * Gets the value of the startSeq property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Integer }
-          *     
-          */
-         public Integer getStartSeq() {
-             return startSeq;
-         }
-         /**
-          * Sets the value of the startSeq property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Integer }
-          *     
-          */
-         public void setStartSeq(Integer value) {
-             this.startSeq = value;
-         }
-         /**
-          * Gets the value of the fontName property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link String }
-          *     
-          */
-         public String getFontName() {
-             return fontName;
-         }
-         /**
-          * Sets the value of the fontName property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link String }
-          *     
-          */
-         public void setFontName(String value) {
-             this.fontName = value;
-         }
-         /**
-          * Gets the value of the fontSize property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Integer }
-          *     
-          */
-         public Integer getFontSize() {
-             return fontSize;
-         }
-         /**
-          * Sets the value of the fontSize property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Integer }
-          *     
-          */
-         public void setFontSize(Integer value) {
-             this.fontSize = value;
-         }
-         /**
-          * Gets the value of the fontStyle property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Integer }
-          *     
-          */
-         public Integer getFontStyle() {
-             return fontStyle;
-         }
-         /**
-          * Sets the value of the fontStyle property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Integer }
-          *     
-          */
-         public void setFontStyle(Integer value) {
-             this.fontStyle = value;
-         }
-         /**
-          * Gets the value of the scaleProteinAsCdna property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Boolean }
-          *     
-          */
-         public boolean isScaleProteinAsCdna() {
-             if (scaleProteinAsCdna == null) {
-                 return true;
-             } else {
-                 return scaleProteinAsCdna;
-             }
-         }
-         /**
-          * Sets the value of the scaleProteinAsCdna property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Boolean }
-          *     
-          */
-         public void setScaleProteinAsCdna(Boolean value) {
-             this.scaleProteinAsCdna = value;
-         }
-         /**
-          * Gets the value of the viewName property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link String }
-          *     
-          */
-         public String getViewName() {
-             return viewName;
-         }
-         /**
-          * Sets the value of the viewName property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link String }
-          *     
-          */
-         public void setViewName(String value) {
-             this.viewName = value;
-         }
-         /**
-          * Gets the value of the sequenceSetId property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link String }
-          *     
-          */
-         public String getSequenceSetId() {
-             return sequenceSetId;
-         }
-         /**
-          * Sets the value of the sequenceSetId property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link String }
-          *     
-          */
-         public void setSequenceSetId(String value) {
-             this.sequenceSetId = value;
-         }
-         /**
-          * Gets the value of the gatheredViews property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Boolean }
-          *     
-          */
-         public Boolean isGatheredViews() {
-             return gatheredViews;
-         }
-         /**
-          * Sets the value of the gatheredViews property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Boolean }
-          *     
-          */
-         public void setGatheredViews(Boolean value) {
-             this.gatheredViews = value;
-         }
-         /**
-          * Gets the value of the textCol1 property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Integer }
-          *     
-          */
-         public Integer getTextCol1() {
-             return textCol1;
-         }
-         /**
-          * Sets the value of the textCol1 property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Integer }
-          *     
-          */
-         public void setTextCol1(Integer value) {
-             this.textCol1 = value;
-         }
-         /**
-          * Gets the value of the textCol2 property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Integer }
-          *     
-          */
-         public Integer getTextCol2() {
-             return textCol2;
-         }
-         /**
-          * Sets the value of the textCol2 property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Integer }
-          *     
-          */
-         public void setTextCol2(Integer value) {
-             this.textCol2 = value;
-         }
-         /**
-          * Gets the value of the textColThreshold property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Integer }
-          *     
-          */
-         public Integer getTextColThreshold() {
-             return textColThreshold;
-         }
-         /**
-          * Sets the value of the textColThreshold property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Integer }
-          *     
-          */
-         public void setTextColThreshold(Integer value) {
-             this.textColThreshold = value;
-         }
-         /**
-          * Gets the value of the id property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link String }
-          *     
-          */
-         public String getId() {
-             return id;
-         }
-         /**
-          * Sets the value of the id property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link String }
-          *     
-          */
-         public void setId(String value) {
-             this.id = value;
-         }
-         /**
-          * Gets the value of the complementId property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link String }
-          *     
-          */
-         public String getComplementId() {
-             return complementId;
-         }
-         /**
-          * Sets the value of the complementId property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link String }
-          *     
-          */
-         public void setComplementId(String value) {
-             this.complementId = value;
-         }
-         /**
-          * Gets the value of the width property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Integer }
-          *     
-          */
-         public Integer getWidth() {
-             return width;
-         }
-         /**
-          * Sets the value of the width property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Integer }
-          *     
-          */
-         public void setWidth(Integer value) {
-             this.width = value;
-         }
-         /**
-          * Gets the value of the height property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Integer }
-          *     
-          */
-         public Integer getHeight() {
-             return height;
-         }
-         /**
-          * Sets the value of the height property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Integer }
-          *     
-          */
-         public void setHeight(Integer value) {
-             this.height = value;
-         }
-         /**
-          * Gets the value of the xpos property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Integer }
-          *     
-          */
-         public Integer getXpos() {
-             return xpos;
-         }
-         /**
-          * Sets the value of the xpos property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Integer }
-          *     
-          */
-         public void setXpos(Integer value) {
-             this.xpos = value;
-         }
-         /**
-          * Gets the value of the ypos property.
-          * 
-          * @return
-          *     possible object is
-          *     {@link Integer }
-          *     
-          */
-         public Integer getYpos() {
-             return ypos;
-         }
-         /**
-          * Sets the value of the ypos property.
-          * 
-          * @param value
-          *     allowed object is
-          *     {@link Integer }
-          *     
-          */
-         public void setYpos(Integer value) {
-             this.ypos = value;
-         }
-         /**
-          * <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;extension base="{www.jalview.org/xml/wsparamset}WebServiceParameterSet">
-          *       &lt;attribute name="calcId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
-          *       &lt;attribute name="needsUpdate" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
-          *       &lt;attribute name="autoUpdate" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
-          *     &lt;/extension>
-          *   &lt;/complexContent>
-          * &lt;/complexType>
-          * </pre>
-          * 
-          * 
-          */
-         @XmlAccessorType(XmlAccessType.FIELD)
-         @XmlType(name = "")
-         public static class CalcIdParam
-             extends WebServiceParameterSet
-         {
-             @XmlAttribute(name = "calcId", required = true)
-             protected String calcId;
-             @XmlAttribute(name = "needsUpdate")
-             protected Boolean needsUpdate;
-             @XmlAttribute(name = "autoUpdate", required = true)
-             protected boolean autoUpdate;
-             /**
-              * Gets the value of the calcId property.
-              * 
-              * @return
-              *     possible object is
-              *     {@link String }
-              *     
-              */
-             public String getCalcId() {
-                 return calcId;
-             }
-             /**
-              * Sets the value of the calcId property.
-              * 
-              * @param value
-              *     allowed object is
-              *     {@link String }
-              *     
-              */
-             public void setCalcId(String value) {
-                 this.calcId = value;
-             }
-             /**
-              * Gets the value of the needsUpdate property.
-              * 
-              * @return
-              *     possible object is
-              *     {@link Boolean }
-              *     
-              */
-             public boolean isNeedsUpdate() {
-                 if (needsUpdate == null) {
-                     return false;
-                 } else {
-                     return needsUpdate;
-                 }
-             }
-             /**
-              * Sets the value of the needsUpdate property.
-              * 
-              * @param value
-              *     allowed object is
-              *     {@link Boolean }
-              *     
-              */
-             public void setNeedsUpdate(Boolean value) {
-                 this.needsUpdate = value;
-             }
-             /**
-              * Gets the value of the autoUpdate property.
-              * 
-              */
-             public boolean isAutoUpdate() {
-                 return autoUpdate;
-             }
-             /**
-              * Sets the value of the autoUpdate property.
-              * 
-              */
-             public void setAutoUpdate(boolean value) {
-                 this.autoUpdate = value;
-             }
-         }
-         /**
-          * <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;attribute name="start" type="{http://www.w3.org/2001/XMLSchema}int" />
-          *       &lt;attribute name="end" type="{http://www.w3.org/2001/XMLSchema}int" />
-          *     &lt;/restriction>
-          *   &lt;/complexContent>
-          * &lt;/complexType>
-          * </pre>
-          * 
-          * 
-          */
-         @XmlAccessorType(XmlAccessType.FIELD)
-         @XmlType(name = "")
-         public static class HiddenColumns {
-             @XmlAttribute(name = "start")
-             protected Integer start;
-             @XmlAttribute(name = "end")
-             protected Integer end;
-             /**
-              * Gets the value of the start property.
-              * 
-              * @return
-              *     possible object is
-              *     {@link Integer }
-              *     
-              */
-             public Integer getStart() {
-                 return start;
-             }
-             /**
-              * Sets the value of the start property.
-              * 
-              * @param value
-              *     allowed object is
-              *     {@link Integer }
-              *     
-              */
-             public void setStart(Integer value) {
-                 this.start = value;
-             }
-             /**
-              * Gets the value of the end property.
-              * 
-              * @return
-              *     possible object is
-              *     {@link Integer }
-              *     
-              */
-             public Integer getEnd() {
-                 return end;
-             }
-             /**
-              * Sets the value of the end property.
-              * 
-              * @param value
-              *     allowed object is
-              *     {@link Integer }
-              *     
-              */
-             public void setEnd(Integer value) {
-                 this.end = value;
-             }
-         }
-     }
- }
 - * <p>
 - * Java class for JalviewModelType complex type.
 - * 
 - * <p>
 - * The following schema fragment specifies the expected content contained within
 - * this class.
 - * 
 - * <pre>
 - * &lt;complexType name="JalviewModelType">
 - *   &lt;complexContent>
 - *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 - *       &lt;sequence>
 - *         &lt;element name="creationDate" type="{http://www.w3.org/2001/XMLSchema}dateTime"/>
 - *         &lt;element name="version" type="{http://www.w3.org/2001/XMLSchema}string"/>
 - *         &lt;element name="vamsasModel" type="{www.vamsas.ac.uk/jalview/version2}VAMSAS"/>
 - *         &lt;sequence>
 - *           &lt;element name="JSeq" maxOccurs="unbounded" minOccurs="0">
 - *             &lt;complexType>
 - *               &lt;complexContent>
 - *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 - *                   &lt;sequence>
 - *                     &lt;element name="features" type="{www.jalview.org}feature" maxOccurs="unbounded" minOccurs="0"/>
 - *                     &lt;element name="pdbids" maxOccurs="unbounded" minOccurs="0">
 - *                       &lt;complexType>
 - *                         &lt;complexContent>
 - *                           &lt;extension base="{www.jalview.org}pdbentry">
 - *                             &lt;sequence>
 - *                               &lt;element name="structureState" maxOccurs="unbounded" minOccurs="0">
 - *                                 &lt;complexType>
 - *                                   &lt;simpleContent>
 - *                                     &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
 - *                                       &lt;attGroup ref="{www.jalview.org}swingwindow"/>
 - *                                       &lt;attribute name="visible" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 - *                                       &lt;attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" />
 - *                                       &lt;attribute name="alignwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
 - *                                       &lt;attribute name="colourwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
 - *                                       &lt;attribute name="colourByJmol" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
 - *                                       &lt;attribute name="type" type="{http://www.w3.org/2001/XMLSchema}string" />
 - *                                     &lt;/extension>
 - *                                   &lt;/simpleContent>
 - *                                 &lt;/complexType>
 - *                               &lt;/element>
 - *                             &lt;/sequence>
 - *                           &lt;/extension>
 - *                         &lt;/complexContent>
 - *                       &lt;/complexType>
 - *                     &lt;/element>
 - *                     &lt;element name="hiddenSequences" type="{http://www.w3.org/2001/XMLSchema}int" maxOccurs="unbounded" minOccurs="0"/>
 - *                     &lt;element name="rnaViewer" maxOccurs="unbounded" minOccurs="0">
 - *                       &lt;complexType>
 - *                         &lt;complexContent>
 - *                           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 - *                             &lt;sequence>
 - *                               &lt;element name="secondaryStructure" maxOccurs="unbounded">
 - *                                 &lt;complexType>
 - *                                   &lt;complexContent>
 - *                                     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 - *                                       &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
 - *                                       &lt;attribute name="annotationId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
 - *                                       &lt;attribute name="gapped" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 - *                                       &lt;attribute name="viewerState" type="{http://www.w3.org/2001/XMLSchema}string" />
 - *                                     &lt;/restriction>
 - *                                   &lt;/complexContent>
 - *                                 &lt;/complexType>
 - *                               &lt;/element>
 - *                             &lt;/sequence>
 - *                             &lt;attGroup ref="{www.jalview.org}swingwindow"/>
 - *                             &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
 - *                             &lt;attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" />
 - *                             &lt;attribute name="dividerLocation" type="{http://www.w3.org/2001/XMLSchema}int" />
 - *                             &lt;attribute name="selectedRna" type="{http://www.w3.org/2001/XMLSchema}int" />
 - *                           &lt;/restriction>
 - *                         &lt;/complexContent>
 - *                       &lt;/complexType>
 - *                     &lt;/element>
 - *                   &lt;/sequence>
 - *                   &lt;attribute name="colour" type="{http://www.w3.org/2001/XMLSchema}int" />
 - *                   &lt;attribute name="start" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
 - *                   &lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
 - *                   &lt;attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
 - *                   &lt;attribute name="hidden" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 - *                   &lt;attribute name="viewreference" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 - *                 &lt;/restriction>
 - *               &lt;/complexContent>
 - *             &lt;/complexType>
 - *           &lt;/element>
 - *           &lt;element name="JGroup" maxOccurs="unbounded" minOccurs="0">
 - *             &lt;complexType>
 - *               &lt;complexContent>
 - *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 - *                   &lt;sequence>
 - *                     &lt;element name="seq" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded"/>
 - *                     &lt;element name="annotationColours" type="{www.jalview.org}AnnotationColourScheme" minOccurs="0"/>
 - *                   &lt;/sequence>
 - *                   &lt;attribute name="start" type="{http://www.w3.org/2001/XMLSchema}int" />
 - *                   &lt;attribute name="end" type="{http://www.w3.org/2001/XMLSchema}int" />
 - *                   &lt;attribute name="name" type="{http://www.w3.org/2001/XMLSchema}string" />
 - *                   &lt;attribute name="colour" type="{http://www.w3.org/2001/XMLSchema}string" />
 - *                   &lt;attribute name="consThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
 - *                   &lt;attribute name="pidThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
 - *                   &lt;attribute name="outlineColour" type="{http://www.w3.org/2001/XMLSchema}int" />
 - *                   &lt;attribute name="displayBoxes" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 - *                   &lt;attribute name="displayText" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 - *                   &lt;attribute name="colourText" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 - *                   &lt;attribute name="textCol1" type="{http://www.w3.org/2001/XMLSchema}int" />
 - *                   &lt;attribute name="textCol2" type="{http://www.w3.org/2001/XMLSchema}int" />
 - *                   &lt;attribute name="textColThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
 - *                   &lt;attribute name="showUnconserved" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 - *                   &lt;attribute name="ignoreGapsinConsensus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
 - *                   &lt;attribute name="showConsensusHistogram" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
 - *                   &lt;attribute name="showSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
 - *                   &lt;attribute name="normaliseSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
 - *                   &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string" />
 - *                 &lt;/restriction>
 - *               &lt;/complexContent>
 - *             &lt;/complexType>
 - *           &lt;/element>
 - *           &lt;element name="Viewport" maxOccurs="unbounded" minOccurs="0">
 - *             &lt;complexType>
 - *               &lt;complexContent>
 - *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 - *                   &lt;sequence>
 - *                     &lt;element name="AnnotationColours" type="{www.jalview.org}AnnotationColourScheme" minOccurs="0"/>
 - *                     &lt;element name="hiddenColumns" maxOccurs="unbounded" minOccurs="0">
 - *                       &lt;complexType>
 - *                         &lt;complexContent>
 - *                           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 - *                             &lt;attribute name="start" type="{http://www.w3.org/2001/XMLSchema}int" />
 - *                             &lt;attribute name="end" type="{http://www.w3.org/2001/XMLSchema}int" />
 - *                           &lt;/restriction>
 - *                         &lt;/complexContent>
 - *                       &lt;/complexType>
 - *                     &lt;/element>
 - *                     &lt;element name="calcIdParam" maxOccurs="unbounded" minOccurs="0">
 - *                       &lt;complexType>
 - *                         &lt;complexContent>
 - *                           &lt;extension base="{www.jalview.org/xml/wsparamset}WebServiceParameterSet">
 - *                             &lt;attribute name="calcId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
 - *                             &lt;attribute name="needsUpdate" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
 - *                             &lt;attribute name="autoUpdate" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 - *                           &lt;/extension>
 - *                         &lt;/complexContent>
 - *                       &lt;/complexType>
 - *                     &lt;/element>
 - *                   &lt;/sequence>
 - *                   &lt;attGroup ref="{www.jalview.org}swingwindow"/>
 - *                   &lt;attribute name="conservationSelected" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 - *                   &lt;attribute name="pidSelected" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 - *                   &lt;attribute name="bgColour" type="{http://www.w3.org/2001/XMLSchema}string" />
 - *                   &lt;attribute name="consThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
 - *                   &lt;attribute name="pidThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
 - *                   &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
 - *                   &lt;attribute name="showFullId" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 - *                   &lt;attribute name="rightAlignIds" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 - *                   &lt;attribute name="showText" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 - *                   &lt;attribute name="showColourText" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 - *                   &lt;attribute name="showUnconserved" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
 - *                   &lt;attribute name="showBoxes" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 - *                   &lt;attribute name="wrapAlignment" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 - *                   &lt;attribute name="renderGaps" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 - *                   &lt;attribute name="showSequenceFeatures" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 - *                   &lt;attribute name="showNPfeatureTooltip" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 - *                   &lt;attribute name="showDbRefTooltip" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 - *                   &lt;attribute name="followHighlight" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
 - *                   &lt;attribute name="followSelection" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
 - *                   &lt;attribute name="showAnnotation" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 - *                   &lt;attribute name="centreColumnLabels" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
 - *                   &lt;attribute name="showGroupConservation" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
 - *                   &lt;attribute name="showGroupConsensus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
 - *                   &lt;attribute name="showConsensusHistogram" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
 - *                   &lt;attribute name="showSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
 - *                   &lt;attribute name="normaliseSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
 - *                   &lt;attribute name="ignoreGapsinConsensus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
 - *                   &lt;attribute name="startRes" type="{http://www.w3.org/2001/XMLSchema}int" />
 - *                   &lt;attribute name="startSeq" type="{http://www.w3.org/2001/XMLSchema}int" />
 - *                   &lt;attribute name="fontName" type="{http://www.w3.org/2001/XMLSchema}string" />
 - *                   &lt;attribute name="fontSize" type="{http://www.w3.org/2001/XMLSchema}int" />
 - *                   &lt;attribute name="fontStyle" type="{http://www.w3.org/2001/XMLSchema}int" />
 - *                   &lt;attribute name="scaleProteinAsCdna" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
 - *                   &lt;attribute name="viewName" type="{http://www.w3.org/2001/XMLSchema}string" />
 - *                   &lt;attribute name="sequenceSetId" type="{http://www.w3.org/2001/XMLSchema}string" />
 - *                   &lt;attribute name="gatheredViews" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 - *                   &lt;attribute name="textCol1" type="{http://www.w3.org/2001/XMLSchema}int" />
 - *                   &lt;attribute name="textCol2" type="{http://www.w3.org/2001/XMLSchema}int" />
 - *                   &lt;attribute name="textColThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
 - *                   &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
 - *                   &lt;attribute name="complementId" type="{http://www.w3.org/2001/XMLSchema}string" />
 - *                 &lt;/restriction>
 - *               &lt;/complexContent>
 - *             &lt;/complexType>
 - *           &lt;/element>
 - *           &lt;element name="UserColours" maxOccurs="unbounded" minOccurs="0">
 - *             &lt;complexType>
 - *               &lt;complexContent>
 - *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 - *                   &lt;sequence>
 - *                     &lt;element name="UserColourScheme" type="{www.jalview.org/colours}JalviewUserColours"/>
 - *                   &lt;/sequence>
 - *                   &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string" />
 - *                 &lt;/restriction>
 - *               &lt;/complexContent>
 - *             &lt;/complexType>
 - *           &lt;/element>
 - *           &lt;element name="tree" maxOccurs="unbounded" minOccurs="0">
 - *             &lt;complexType>
 - *               &lt;complexContent>
 - *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 - *                   &lt;sequence minOccurs="0">
 - *                     &lt;element name="title" type="{http://www.w3.org/2001/XMLSchema}string"/>
 - *                     &lt;element name="newick" type="{http://www.w3.org/2001/XMLSchema}string"/>
 - *                   &lt;/sequence>
 - *                   &lt;attGroup ref="{www.jalview.org}swingwindow"/>
 - *                   &lt;attribute name="fontName" type="{http://www.w3.org/2001/XMLSchema}string" />
 - *                   &lt;attribute name="fontSize" type="{http://www.w3.org/2001/XMLSchema}int" />
 - *                   &lt;attribute name="fontStyle" type="{http://www.w3.org/2001/XMLSchema}int" />
 - *                   &lt;attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" />
 - *                   &lt;attribute name="showBootstrap" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 - *                   &lt;attribute name="showDistances" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 - *                   &lt;attribute name="markUnlinked" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 - *                   &lt;attribute name="fitToWindow" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 - *                   &lt;attribute name="currentTree" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 - *                   &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
 - *                 &lt;/restriction>
 - *               &lt;/complexContent>
 - *             &lt;/complexType>
 - *           &lt;/element>
 - *           &lt;element name="FeatureSettings" minOccurs="0">
 - *             &lt;complexType>
 - *               &lt;complexContent>
 - *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 - *                   &lt;sequence>
 - *                     &lt;element name="setting" maxOccurs="unbounded" minOccurs="0">
 - *                       &lt;complexType>
 - *                         &lt;complexContent>
 - *                           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 - *                             &lt;sequence>
 - *                               &lt;element name="attributeName" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="2" minOccurs="0"/>
 - *                               &lt;element name="matcherSet" type="{www.jalview.org/colours}FeatureMatcherSet" minOccurs="0"/>
 - *                             &lt;/sequence>
 - *                             &lt;attribute name="type" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
 - *                             &lt;attribute name="colour" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
 - *                             &lt;attribute name="display" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 - *                             &lt;attribute name="order" type="{http://www.w3.org/2001/XMLSchema}float" />
 - *                             &lt;attribute name="mincolour" type="{http://www.w3.org/2001/XMLSchema}int" />
 - *                             &lt;attribute name="noValueColour" type="{www.jalview.org/colours}NoValueColour" default="Min" />
 - *                             &lt;attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" />
 - *                             &lt;attribute name="threshstate" type="{http://www.w3.org/2001/XMLSchema}int" />
 - *                             &lt;attribute name="max" type="{http://www.w3.org/2001/XMLSchema}float" />
 - *                             &lt;attribute name="min" type="{http://www.w3.org/2001/XMLSchema}float" />
 - *                             &lt;attribute name="colourByLabel" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 - *                             &lt;attribute name="autoScale" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 - *                           &lt;/restriction>
 - *                         &lt;/complexContent>
 - *                       &lt;/complexType>
 - *                     &lt;/element>
 - *                     &lt;element name="group" maxOccurs="unbounded" minOccurs="0">
 - *                       &lt;complexType>
 - *                         &lt;complexContent>
 - *                           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 - *                             &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
 - *                             &lt;attribute name="display" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 - *                           &lt;/restriction>
 - *                         &lt;/complexContent>
 - *                       &lt;/complexType>
 - *                     &lt;/element>
 - *                   &lt;/sequence>
 - *                 &lt;/restriction>
 - *               &lt;/complexContent>
 - *             &lt;/complexType>
 - *           &lt;/element>
 - *         &lt;/sequence>
 - *       &lt;/sequence>
 - *     &lt;/restriction>
 - *   &lt;/complexContent>
 - * &lt;/complexType>
 - * </pre>
 - * 
 - * 
 - */
 -@XmlAccessorType(XmlAccessType.FIELD)
 -@XmlType(
 -  name = "JalviewModelType",
 -  namespace = "www.jalview.org",
 -  propOrder =
 -  { "creationDate", "version", "vamsasModel", "jSeq", "jGroup", "viewport",
 -      "userColours", "tree", "featureSettings" })
 -public class JalviewModelType
 -{
 -
 -  @XmlElement(required = true)
 -  @XmlSchemaType(name = "dateTime")
 -  protected XMLGregorianCalendar creationDate;
 -
 -  @XmlElement(required = true)
 -  protected String version;
 -
 -  @XmlElement(required = true)
 -  protected VAMSAS vamsasModel;
 -
 -  @XmlElement(name = "JSeq")
 -  protected List<JalviewModelType.JSeq> jSeq;
 -
 -  @XmlElement(name = "JGroup")
 -  protected List<JalviewModelType.JGroup> jGroup;
 -
 -  @XmlElement(name = "Viewport")
 -  protected List<JalviewModelType.Viewport> viewport;
 -
 -  @XmlElement(name = "UserColours")
 -  protected List<JalviewModelType.UserColours> userColours;
 -
 -  protected List<JalviewModelType.Tree> tree;
 -
 -  @XmlElement(name = "FeatureSettings")
 -  protected JalviewModelType.FeatureSettings featureSettings;
 -
 -  /**
 -   * Gets the value of the creationDate property.
 -   * 
 -   * @return possible object is {@link XMLGregorianCalendar }
 -   * 
 -   */
 -  public XMLGregorianCalendar getCreationDate()
 -  {
 -    return creationDate;
 -  }
 -
 -  /**
 -   * Sets the value of the creationDate property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link XMLGregorianCalendar }
 -   * 
 -   */
 -  public void setCreationDate(XMLGregorianCalendar value)
 -  {
 -    this.creationDate = value;
 -  }
 -
 -  /**
 -   * Gets the value of the version property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getVersion()
 -  {
 -    return version;
 -  }
 -
 -  /**
 -   * Sets the value of the version property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setVersion(String value)
 -  {
 -    this.version = value;
 -  }
 -
 -  /**
 -   * Gets the value of the vamsasModel property.
 -   * 
 -   * @return possible object is {@link VAMSAS }
 -   * 
 -   */
 -  public VAMSAS getVamsasModel()
 -  {
 -    return vamsasModel;
 -  }
 -
 -  /**
 -   * Sets the value of the vamsasModel property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link VAMSAS }
 -   * 
 -   */
 -  public void setVamsasModel(VAMSAS value)
 -  {
 -    this.vamsasModel = value;
 -  }
 -
 -  /**
 -   * Gets the value of the jSeq 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 jSeq property.
 -   * 
 -   * <p>
 -   * For example, to add a new item, do as follows:
 -   * 
 -   * <pre>
 -   * getJSeq().add(newItem);
 -   * </pre>
 -   * 
 -   * 
 -   * <p>
 -   * Objects of the following type(s) are allowed in the list
 -   * {@link JalviewModelType.JSeq }
 -   * 
 -   * 
 -   */
 -  public List<JalviewModelType.JSeq> getJSeq()
 -  {
 -    if (jSeq == null)
 -    {
 -      jSeq = new ArrayList<JalviewModelType.JSeq>();
 -    }
 -    return this.jSeq;
 -  }
 -
 -  /**
 -   * Gets the value of the jGroup 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 jGroup property.
 -   * 
 -   * <p>
 -   * For example, to add a new item, do as follows:
 -   * 
 -   * <pre>
 -   * getJGroup().add(newItem);
 -   * </pre>
 -   * 
 -   * 
 -   * <p>
 -   * Objects of the following type(s) are allowed in the list
 -   * {@link JalviewModelType.JGroup }
 -   * 
 -   * 
 -   */
 -  public List<JalviewModelType.JGroup> getJGroup()
 -  {
 -    if (jGroup == null)
 -    {
 -      jGroup = new ArrayList<JalviewModelType.JGroup>();
 -    }
 -    return this.jGroup;
 -  }
 -
 -  /**
 -   * Gets the value of the viewport 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 viewport property.
 -   * 
 -   * <p>
 -   * For example, to add a new item, do as follows:
 -   * 
 -   * <pre>
 -   * getViewport().add(newItem);
 -   * </pre>
 -   * 
 -   * 
 -   * <p>
 -   * Objects of the following type(s) are allowed in the list
 -   * {@link JalviewModelType.Viewport }
 -   * 
 -   * 
 -   */
 -  public List<JalviewModelType.Viewport> getViewport()
 -  {
 -    if (viewport == null)
 -    {
 -      viewport = new ArrayList<JalviewModelType.Viewport>();
 -    }
 -    return this.viewport;
 -  }
 -
 -  /**
 -   * Gets the value of the userColours 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 userColours property.
 -   * 
 -   * <p>
 -   * For example, to add a new item, do as follows:
 -   * 
 -   * <pre>
 -   * getUserColours().add(newItem);
 -   * </pre>
 -   * 
 -   * 
 -   * <p>
 -   * Objects of the following type(s) are allowed in the list
 -   * {@link JalviewModelType.UserColours }
 -   * 
 -   * 
 -   */
 -  public List<JalviewModelType.UserColours> getUserColours()
 -  {
 -    if (userColours == null)
 -    {
 -      userColours = new ArrayList<JalviewModelType.UserColours>();
 -    }
 -    return this.userColours;
 -  }
 -
 -  /**
 -   * Gets the value of the tree 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 tree property.
 -   * 
 -   * <p>
 -   * For example, to add a new item, do as follows:
 -   * 
 -   * <pre>
 -   * getTree().add(newItem);
 -   * </pre>
 -   * 
 -   * 
 -   * <p>
 -   * Objects of the following type(s) are allowed in the list
 -   * {@link JalviewModelType.Tree }
 -   * 
 -   * 
 -   */
 -  public List<JalviewModelType.Tree> getTree()
 -  {
 -    if (tree == null)
 -    {
 -      tree = new ArrayList<JalviewModelType.Tree>();
 -    }
 -    return this.tree;
 -  }
 -
 -  /**
 -   * Gets the value of the featureSettings property.
 -   * 
 -   * @return possible object is {@link JalviewModelType.FeatureSettings }
 -   * 
 -   */
 -  public JalviewModelType.FeatureSettings getFeatureSettings()
 -  {
 -    return featureSettings;
 -  }
 -
 -  /**
 -   * Sets the value of the featureSettings property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link JalviewModelType.FeatureSettings }
 -   * 
 -   */
 -  public void setFeatureSettings(JalviewModelType.FeatureSettings value)
 -  {
 -    this.featureSettings = value;
 -  }
 -
 -  /**
 -   * <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="setting" maxOccurs="unbounded" minOccurs="0">
 -   *           &lt;complexType>
 -   *             &lt;complexContent>
 -   *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 -   *                 &lt;sequence>
 -   *                   &lt;element name="attributeName" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="2" minOccurs="0"/>
 -   *                   &lt;element name="matcherSet" type="{www.jalview.org/colours}FeatureMatcherSet" minOccurs="0"/>
 -   *                 &lt;/sequence>
 -   *                 &lt;attribute name="type" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
 -   *                 &lt;attribute name="colour" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
 -   *                 &lt;attribute name="display" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 -   *                 &lt;attribute name="order" type="{http://www.w3.org/2001/XMLSchema}float" />
 -   *                 &lt;attribute name="mincolour" type="{http://www.w3.org/2001/XMLSchema}int" />
 -   *                 &lt;attribute name="noValueColour" type="{www.jalview.org/colours}NoValueColour" default="Min" />
 -   *                 &lt;attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" />
 -   *                 &lt;attribute name="threshstate" type="{http://www.w3.org/2001/XMLSchema}int" />
 -   *                 &lt;attribute name="max" type="{http://www.w3.org/2001/XMLSchema}float" />
 -   *                 &lt;attribute name="min" type="{http://www.w3.org/2001/XMLSchema}float" />
 -   *                 &lt;attribute name="colourByLabel" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 -   *                 &lt;attribute name="autoScale" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 -   *               &lt;/restriction>
 -   *             &lt;/complexContent>
 -   *           &lt;/complexType>
 -   *         &lt;/element>
 -   *         &lt;element name="group" maxOccurs="unbounded" minOccurs="0">
 -   *           &lt;complexType>
 -   *             &lt;complexContent>
 -   *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 -   *                 &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
 -   *                 &lt;attribute name="display" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 -   *               &lt;/restriction>
 -   *             &lt;/complexContent>
 -   *           &lt;/complexType>
 -   *         &lt;/element>
 -   *       &lt;/sequence>
 -   *     &lt;/restriction>
 -   *   &lt;/complexContent>
 -   * &lt;/complexType>
 -   * </pre>
 -   * 
 -   * 
 -   */
 -  @XmlAccessorType(XmlAccessType.FIELD)
 -  @XmlType(name = "", propOrder = { "setting", "group" })
 -  public static class FeatureSettings
 -  {
 -
 -    @XmlElement(namespace = "www.jalview.org")
 -    protected List<JalviewModelType.FeatureSettings.Setting> setting;
 -
 -    @XmlElement(namespace = "www.jalview.org")
 -    protected List<JalviewModelType.FeatureSettings.Group> group;
 -
 -    /**
 -     * Gets the value of the setting 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 setting property.
 -     * 
 -     * <p>
 -     * For example, to add a new item, do as follows:
 -     * 
 -     * <pre>
 -     * getSetting().add(newItem);
 -     * </pre>
 -     * 
 -     * 
 -     * <p>
 -     * Objects of the following type(s) are allowed in the list
 -     * {@link JalviewModelType.FeatureSettings.Setting }
 -     * 
 -     * 
 -     */
 -    public List<JalviewModelType.FeatureSettings.Setting> getSetting()
 -    {
 -      if (setting == null)
 -      {
 -        setting = new ArrayList<JalviewModelType.FeatureSettings.Setting>();
 -      }
 -      return this.setting;
 -    }
 -
 -    /**
 -     * Gets the value of the group 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 group property.
 -     * 
 -     * <p>
 -     * For example, to add a new item, do as follows:
 -     * 
 -     * <pre>
 -     * getGroup().add(newItem);
 -     * </pre>
 -     * 
 -     * 
 -     * <p>
 -     * Objects of the following type(s) are allowed in the list
 -     * {@link JalviewModelType.FeatureSettings.Group }
 -     * 
 -     * 
 -     */
 -    public List<JalviewModelType.FeatureSettings.Group> getGroup()
 -    {
 -      if (group == null)
 -      {
 -        group = new ArrayList<JalviewModelType.FeatureSettings.Group>();
 -      }
 -      return this.group;
 -    }
 -
 -    /**
 -     * <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;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
 -     *       &lt;attribute name="display" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 -     *     &lt;/restriction>
 -     *   &lt;/complexContent>
 -     * &lt;/complexType>
 -     * </pre>
 -     * 
 -     * 
 -     */
 -    @XmlAccessorType(XmlAccessType.FIELD)
 -    @XmlType(name = "")
 -    public static class Group
 -    {
 -
 -      @XmlAttribute(name = "name", required = true)
 -      protected String name;
 -
 -      @XmlAttribute(name = "display", required = true)
 -      protected boolean display;
 -
 -      /**
 -       * Gets the value of the name property.
 -       * 
 -       * @return possible object is {@link String }
 -       * 
 -       */
 -      public String getName()
 -      {
 -        return name;
 -      }
 -
 -      /**
 -       * Sets the value of the name property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link String }
 -       * 
 -       */
 -      public void setName(String value)
 -      {
 -        this.name = value;
 -      }
 -
 -      /**
 -       * Gets the value of the display property.
 -       * 
 -       */
 -      public boolean isDisplay()
 -      {
 -        return display;
 -      }
 -
 -      /**
 -       * Sets the value of the display property.
 -       * 
 -       */
 -      public void setDisplay(boolean value)
 -      {
 -        this.display = value;
 -      }
 -
 -    }
 -
 -    /**
 -     * <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="attributeName" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="2" minOccurs="0"/>
 -     *         &lt;element name="matcherSet" type="{www.jalview.org/colours}FeatureMatcherSet" minOccurs="0"/>
 -     *       &lt;/sequence>
 -     *       &lt;attribute name="type" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
 -     *       &lt;attribute name="colour" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
 -     *       &lt;attribute name="display" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 -     *       &lt;attribute name="order" type="{http://www.w3.org/2001/XMLSchema}float" />
 -     *       &lt;attribute name="mincolour" type="{http://www.w3.org/2001/XMLSchema}int" />
 -     *       &lt;attribute name="noValueColour" type="{www.jalview.org/colours}NoValueColour" default="Min" />
 -     *       &lt;attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" />
 -     *       &lt;attribute name="threshstate" type="{http://www.w3.org/2001/XMLSchema}int" />
 -     *       &lt;attribute name="max" type="{http://www.w3.org/2001/XMLSchema}float" />
 -     *       &lt;attribute name="min" type="{http://www.w3.org/2001/XMLSchema}float" />
 -     *       &lt;attribute name="colourByLabel" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 -     *       &lt;attribute name="autoScale" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 -     *     &lt;/restriction>
 -     *   &lt;/complexContent>
 -     * &lt;/complexType>
 -     * </pre>
 -     * 
 -     * 
 -     */
 -    @XmlAccessorType(XmlAccessType.FIELD)
 -    @XmlType(name = "", propOrder = { "attributeName", "matcherSet" })
 -    public static class Setting
 -    {
 -
 -      @XmlElement(namespace = "www.jalview.org")
 -      protected List<String> attributeName;
 -
 -      @XmlElement(namespace = "www.jalview.org")
 -      protected FeatureMatcherSet matcherSet;
 -
 -      @XmlAttribute(name = "type", required = true)
 -      protected String type;
 -
 -      @XmlAttribute(name = "colour", required = true)
 -      protected int colour;
 -
 -      @XmlAttribute(name = "display", required = true)
 -      protected boolean display;
 -
 -      @XmlAttribute(name = "order")
 -      protected Float order;
 -
 -      @XmlAttribute(name = "mincolour")
 -      protected Integer mincolour;
 -
 -      @XmlAttribute(name = "noValueColour")
 -      protected NoValueColour noValueColour;
 -
 -      @XmlAttribute(name = "threshold")
 -      protected Float threshold;
 -
 -      @XmlAttribute(name = "threshstate")
 -      protected Integer threshstate;
 -
 -      @XmlAttribute(name = "max")
 -      protected Float max;
 -
 -      @XmlAttribute(name = "min")
 -      protected Float min;
 -
 -      @XmlAttribute(name = "colourByLabel")
 -      protected Boolean colourByLabel;
 -
 -      @XmlAttribute(name = "autoScale")
 -      protected Boolean autoScale;
 -
 -      /**
 -       * Gets the value of the attributeName 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 attributeName property.
 -       * 
 -       * <p>
 -       * For example, to add a new item, do as follows:
 -       * 
 -       * <pre>
 -       * getAttributeName().add(newItem);
 -       * </pre>
 -       * 
 -       * 
 -       * <p>
 -       * Objects of the following type(s) are allowed in the list {@link String
 -       * }
 -       * 
 -       * 
 -       */
 -      public List<String> getAttributeName()
 -      {
 -        if (attributeName == null)
 -        {
 -          attributeName = new ArrayList<String>();
 -        }
 -        return this.attributeName;
 -      }
 -
 -      /**
 -       * Gets the value of the matcherSet property.
 -       * 
 -       * @return possible object is {@link FeatureMatcherSet }
 -       * 
 -       */
 -      public FeatureMatcherSet getMatcherSet()
 -      {
 -        return matcherSet;
 -      }
 -
 -      /**
 -       * Sets the value of the matcherSet property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link FeatureMatcherSet }
 -       * 
 -       */
 -      public void setMatcherSet(FeatureMatcherSet value)
 -      {
 -        this.matcherSet = value;
 -      }
 -
 -      /**
 -       * Gets the value of the type property.
 -       * 
 -       * @return possible object is {@link String }
 -       * 
 -       */
 -      public String getType()
 -      {
 -        return type;
 -      }
 -
 -      /**
 -       * Sets the value of the type property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link String }
 -       * 
 -       */
 -      public void setType(String value)
 -      {
 -        this.type = value;
 -      }
 -
 -      /**
 -       * Gets the value of the colour property.
 -       * 
 -       */
 -      public int getColour()
 -      {
 -        return colour;
 -      }
 -
 -      /**
 -       * Sets the value of the colour property.
 -       * 
 -       */
 -      public void setColour(int value)
 -      {
 -        this.colour = value;
 -      }
 -
 -      /**
 -       * Gets the value of the display property.
 -       * 
 -       */
 -      public boolean isDisplay()
 -      {
 -        return display;
 -      }
 -
 -      /**
 -       * Sets the value of the display property.
 -       * 
 -       */
 -      public void setDisplay(boolean value)
 -      {
 -        this.display = value;
 -      }
 -
 -      /**
 -       * Gets the value of the order property.
 -       * 
 -       * @return possible object is {@link Float }
 -       * 
 -       */
 -      public Float getOrder()
 -      {
 -        return order;
 -      }
 -
 -      /**
 -       * Sets the value of the order property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link Float }
 -       * 
 -       */
 -      public void setOrder(Float value)
 -      {
 -        this.order = value;
 -      }
 -
 -      /**
 -       * Gets the value of the mincolour property.
 -       * 
 -       * @return possible object is {@link Integer }
 -       * 
 -       */
 -      public Integer getMincolour()
 -      {
 -        return mincolour;
 -      }
 -
 -      /**
 -       * Sets the value of the mincolour property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link Integer }
 -       * 
 -       */
 -      public void setMincolour(Integer value)
 -      {
 -        this.mincolour = value;
 -      }
 -
 -      /**
 -       * Gets the value of the noValueColour property.
 -       * 
 -       * @return possible object is {@link NoValueColour }
 -       * 
 -       */
 -      public NoValueColour getNoValueColour()
 -      {
 -        if (noValueColour == null)
 -        {
 -          return NoValueColour.MIN;
 -        }
 -        else
 -        {
 -          return noValueColour;
 -        }
 -      }
 -
 -      /**
 -       * Sets the value of the noValueColour property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link NoValueColour }
 -       * 
 -       */
 -      public void setNoValueColour(NoValueColour value)
 -      {
 -        this.noValueColour = value;
 -      }
 -
 -      /**
 -       * Gets the value of the threshold property.
 -       * 
 -       * @return possible object is {@link Float }
 -       * 
 -       */
 -      public Float getThreshold()
 -      {
 -        return threshold;
 -      }
 -
 -      /**
 -       * Sets the value of the threshold property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link Float }
 -       * 
 -       */
 -      public void setThreshold(Float value)
 -      {
 -        this.threshold = value;
 -      }
 -
 -      /**
 -       * Gets the value of the threshstate property.
 -       * 
 -       * @return possible object is {@link Integer }
 -       * 
 -       */
 -      public Integer getThreshstate()
 -      {
 -        return threshstate;
 -      }
 -
 -      /**
 -       * Sets the value of the threshstate property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link Integer }
 -       * 
 -       */
 -      public void setThreshstate(Integer value)
 -      {
 -        this.threshstate = value;
 -      }
 -
 -      /**
 -       * Gets the value of the max property.
 -       * 
 -       * @return possible object is {@link Float }
 -       * 
 -       */
 -      public Float getMax()
 -      {
 -        return max;
 -      }
 -
 -      /**
 -       * Sets the value of the max property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link Float }
 -       * 
 -       */
 -      public void setMax(Float value)
 -      {
 -        this.max = value;
 -      }
 -
 -      /**
 -       * Gets the value of the min property.
 -       * 
 -       * @return possible object is {@link Float }
 -       * 
 -       */
 -      public Float getMin()
 -      {
 -        return min;
 -      }
 -
 -      /**
 -       * Sets the value of the min property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link Float }
 -       * 
 -       */
 -      public void setMin(Float value)
 -      {
 -        this.min = value;
 -      }
 -
 -      /**
 -       * Gets the value of the colourByLabel property.
 -       * 
 -       * @return possible object is {@link Boolean }
 -       * 
 -       */
 -      public Boolean isColourByLabel()
 -      {
 -        return colourByLabel;
 -      }
 -
 -      /**
 -       * Sets the value of the colourByLabel property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link Boolean }
 -       * 
 -       */
 -      public void setColourByLabel(Boolean value)
 -      {
 -        this.colourByLabel = value;
 -      }
 -
 -      /**
 -       * Gets the value of the autoScale property.
 -       * 
 -       * @return possible object is {@link Boolean }
 -       * 
 -       */
 -      public Boolean isAutoScale()
 -      {
 -        return autoScale;
 -      }
 -
 -      /**
 -       * Sets the value of the autoScale property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link Boolean }
 -       * 
 -       */
 -      public void setAutoScale(Boolean value)
 -      {
 -        this.autoScale = value;
 -      }
 -
 -    }
 -
 -  }
 -
 -  /**
 -   * <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="seq" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded"/>
 -   *         &lt;element name="annotationColours" type="{www.jalview.org}AnnotationColourScheme" minOccurs="0"/>
 -   *       &lt;/sequence>
 -   *       &lt;attribute name="start" type="{http://www.w3.org/2001/XMLSchema}int" />
 -   *       &lt;attribute name="end" type="{http://www.w3.org/2001/XMLSchema}int" />
 -   *       &lt;attribute name="name" type="{http://www.w3.org/2001/XMLSchema}string" />
 -   *       &lt;attribute name="colour" type="{http://www.w3.org/2001/XMLSchema}string" />
 -   *       &lt;attribute name="consThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
 -   *       &lt;attribute name="pidThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
 -   *       &lt;attribute name="outlineColour" type="{http://www.w3.org/2001/XMLSchema}int" />
 -   *       &lt;attribute name="displayBoxes" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 -   *       &lt;attribute name="displayText" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 -   *       &lt;attribute name="colourText" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 -   *       &lt;attribute name="textCol1" type="{http://www.w3.org/2001/XMLSchema}int" />
 -   *       &lt;attribute name="textCol2" type="{http://www.w3.org/2001/XMLSchema}int" />
 -   *       &lt;attribute name="textColThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
 -   *       &lt;attribute name="showUnconserved" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 -   *       &lt;attribute name="ignoreGapsinConsensus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
 -   *       &lt;attribute name="showConsensusHistogram" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
 -   *       &lt;attribute name="showSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
 -   *       &lt;attribute name="normaliseSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
 -   *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string" />
 -   *     &lt;/restriction>
 -   *   &lt;/complexContent>
 -   * &lt;/complexType>
 -   * </pre>
 -   * 
 -   * 
 -   */
 -  @XmlAccessorType(XmlAccessType.FIELD)
 -  @XmlType(name = "", propOrder = { "seq", "annotationColours" })
 -  public static class JGroup
 -  {
 -
 -    @XmlElement(namespace = "www.jalview.org", required = true)
 -    protected List<String> seq;
 -
 -    @XmlElement(namespace = "www.jalview.org")
 -    protected AnnotationColourScheme annotationColours;
 -
 -    @XmlAttribute(name = "start")
 -    protected Integer start;
 -
 -    @XmlAttribute(name = "end")
 -    protected Integer end;
 -
 -    @XmlAttribute(name = "name")
 -    protected String name;
 -
 -    @XmlAttribute(name = "colour")
 -    protected String colour;
 -
 -    @XmlAttribute(name = "consThreshold")
 -    protected Integer consThreshold;
 -
 -    @XmlAttribute(name = "pidThreshold")
 -    protected Integer pidThreshold;
 -
 -    @XmlAttribute(name = "outlineColour")
 -    protected Integer outlineColour;
 -
 -    @XmlAttribute(name = "displayBoxes")
 -    protected Boolean displayBoxes;
 -
 -    @XmlAttribute(name = "displayText")
 -    protected Boolean displayText;
 -
 -    @XmlAttribute(name = "colourText")
 -    protected Boolean colourText;
 -
 -    @XmlAttribute(name = "textCol1")
 -    protected Integer textCol1;
 -
 -    @XmlAttribute(name = "textCol2")
 -    protected Integer textCol2;
 -
 -    @XmlAttribute(name = "textColThreshold")
 -    protected Integer textColThreshold;
 -
 -    @XmlAttribute(name = "showUnconserved")
 -    protected Boolean showUnconserved;
 -
 -    @XmlAttribute(name = "ignoreGapsinConsensus")
 -    protected Boolean ignoreGapsinConsensus;
 -
 -    @XmlAttribute(name = "showConsensusHistogram")
 -    protected Boolean showConsensusHistogram;
 -
 -    @XmlAttribute(name = "showSequenceLogo")
 -    protected Boolean showSequenceLogo;
 -
 -    @XmlAttribute(name = "normaliseSequenceLogo")
 -    protected Boolean normaliseSequenceLogo;
 -
 -    @XmlAttribute(name = "id")
 -    protected String id;
 -
 -    /**
 -     * Gets the value of the seq 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 seq property.
 -     * 
 -     * <p>
 -     * For example, to add a new item, do as follows:
 -     * 
 -     * <pre>
 -     * getSeq().add(newItem);
 -     * </pre>
 -     * 
 -     * 
 -     * <p>
 -     * Objects of the following type(s) are allowed in the list {@link String }
 -     * 
 -     * 
 -     */
 -    public List<String> getSeq()
 -    {
 -      if (seq == null)
 -      {
 -        seq = new ArrayList<String>();
 -      }
 -      return this.seq;
 -    }
 -
 -    /**
 -     * Gets the value of the annotationColours property.
 -     * 
 -     * @return possible object is {@link AnnotationColourScheme }
 -     * 
 -     */
 -    public AnnotationColourScheme getAnnotationColours()
 -    {
 -      return annotationColours;
 -    }
 -
 -    /**
 -     * Sets the value of the annotationColours property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link AnnotationColourScheme }
 -     * 
 -     */
 -    public void setAnnotationColours(AnnotationColourScheme value)
 -    {
 -      this.annotationColours = value;
 -    }
 -
 -    /**
 -     * Gets the value of the start property.
 -     * 
 -     * @return possible object is {@link Integer }
 -     * 
 -     */
 -    public Integer getStart()
 -    {
 -      return start;
 -    }
 -
 -    /**
 -     * Sets the value of the start property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Integer }
 -     * 
 -     */
 -    public void setStart(Integer value)
 -    {
 -      this.start = value;
 -    }
 -
 -    /**
 -     * Gets the value of the end property.
 -     * 
 -     * @return possible object is {@link Integer }
 -     * 
 -     */
 -    public Integer getEnd()
 -    {
 -      return end;
 -    }
 -
 -    /**
 -     * Sets the value of the end property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Integer }
 -     * 
 -     */
 -    public void setEnd(Integer value)
 -    {
 -      this.end = value;
 -    }
 -
 -    /**
 -     * Gets the value of the name property.
 -     * 
 -     * @return possible object is {@link String }
 -     * 
 -     */
 -    public String getName()
 -    {
 -      return name;
 -    }
 -
 -    /**
 -     * Sets the value of the name property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link String }
 -     * 
 -     */
 -    public void setName(String value)
 -    {
 -      this.name = value;
 -    }
 -
 -    /**
 -     * Gets the value of the colour property.
 -     * 
 -     * @return possible object is {@link String }
 -     * 
 -     */
 -    public String getColour()
 -    {
 -      return colour;
 -    }
 -
 -    /**
 -     * Sets the value of the colour property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link String }
 -     * 
 -     */
 -    public void setColour(String value)
 -    {
 -      this.colour = value;
 -    }
 -
 -    /**
 -     * Gets the value of the consThreshold property.
 -     * 
 -     * @return possible object is {@link Integer }
 -     * 
 -     */
 -    public Integer getConsThreshold()
 -    {
 -      return consThreshold;
 -    }
 -
 -    /**
 -     * Sets the value of the consThreshold property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Integer }
 -     * 
 -     */
 -    public void setConsThreshold(Integer value)
 -    {
 -      this.consThreshold = value;
 -    }
 -
 -    /**
 -     * Gets the value of the pidThreshold property.
 -     * 
 -     * @return possible object is {@link Integer }
 -     * 
 -     */
 -    public Integer getPidThreshold()
 -    {
 -      return pidThreshold;
 -    }
 -
 -    /**
 -     * Sets the value of the pidThreshold property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Integer }
 -     * 
 -     */
 -    public void setPidThreshold(Integer value)
 -    {
 -      this.pidThreshold = value;
 -    }
 -
 -    /**
 -     * Gets the value of the outlineColour property.
 -     * 
 -     * @return possible object is {@link Integer }
 -     * 
 -     */
 -    public Integer getOutlineColour()
 -    {
 -      return outlineColour;
 -    }
 -
 -    /**
 -     * Sets the value of the outlineColour property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Integer }
 -     * 
 -     */
 -    public void setOutlineColour(Integer value)
 -    {
 -      this.outlineColour = value;
 -    }
 -
 -    /**
 -     * Gets the value of the displayBoxes property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public Boolean isDisplayBoxes()
 -    {
 -      return displayBoxes;
 -    }
 -
 -    /**
 -     * Sets the value of the displayBoxes property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setDisplayBoxes(Boolean value)
 -    {
 -      this.displayBoxes = value;
 -    }
 -
 -    /**
 -     * Gets the value of the displayText property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public Boolean isDisplayText()
 -    {
 -      return displayText;
 -    }
 -
 -    /**
 -     * Sets the value of the displayText property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setDisplayText(Boolean value)
 -    {
 -      this.displayText = value;
 -    }
 -
 -    /**
 -     * Gets the value of the colourText property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public Boolean isColourText()
 -    {
 -      return colourText;
 -    }
 -
 -    /**
 -     * Sets the value of the colourText property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setColourText(Boolean value)
 -    {
 -      this.colourText = value;
 -    }
 -
 -    /**
 -     * Gets the value of the textCol1 property.
 -     * 
 -     * @return possible object is {@link Integer }
 -     * 
 -     */
 -    public Integer getTextCol1()
 -    {
 -      return textCol1;
 -    }
 -
 -    /**
 -     * Sets the value of the textCol1 property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Integer }
 -     * 
 -     */
 -    public void setTextCol1(Integer value)
 -    {
 -      this.textCol1 = value;
 -    }
 -
 -    /**
 -     * Gets the value of the textCol2 property.
 -     * 
 -     * @return possible object is {@link Integer }
 -     * 
 -     */
 -    public Integer getTextCol2()
 -    {
 -      return textCol2;
 -    }
 -
 -    /**
 -     * Sets the value of the textCol2 property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Integer }
 -     * 
 -     */
 -    public void setTextCol2(Integer value)
 -    {
 -      this.textCol2 = value;
 -    }
 -
 -    /**
 -     * Gets the value of the textColThreshold property.
 -     * 
 -     * @return possible object is {@link Integer }
 -     * 
 -     */
 -    public Integer getTextColThreshold()
 -    {
 -      return textColThreshold;
 -    }
 -
 -    /**
 -     * Sets the value of the textColThreshold property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Integer }
 -     * 
 -     */
 -    public void setTextColThreshold(Integer value)
 -    {
 -      this.textColThreshold = value;
 -    }
 -
 -    /**
 -     * Gets the value of the showUnconserved property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public Boolean isShowUnconserved()
 -    {
 -      return showUnconserved;
 -    }
 -
 -    /**
 -     * Sets the value of the showUnconserved property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setShowUnconserved(Boolean value)
 -    {
 -      this.showUnconserved = value;
 -    }
 -
 -    /**
 -     * Gets the value of the ignoreGapsinConsensus property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public boolean isIgnoreGapsinConsensus()
 -    {
 -      if (ignoreGapsinConsensus == null)
 -      {
 -        return true;
 -      }
 -      else
 -      {
 -        return ignoreGapsinConsensus;
 -      }
 -    }
 -
 -    /**
 -     * Sets the value of the ignoreGapsinConsensus property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setIgnoreGapsinConsensus(Boolean value)
 -    {
 -      this.ignoreGapsinConsensus = value;
 -    }
 -
 -    /**
 -     * Gets the value of the showConsensusHistogram property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public boolean isShowConsensusHistogram()
 -    {
 -      if (showConsensusHistogram == null)
 -      {
 -        return true;
 -      }
 -      else
 -      {
 -        return showConsensusHistogram;
 -      }
 -    }
 -
 -    /**
 -     * Sets the value of the showConsensusHistogram property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setShowConsensusHistogram(Boolean value)
 -    {
 -      this.showConsensusHistogram = value;
 -    }
 -
 -    /**
 -     * Gets the value of the showSequenceLogo property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public boolean isShowSequenceLogo()
 -    {
 -      if (showSequenceLogo == null)
 -      {
 -        return false;
 -      }
 -      else
 -      {
 -        return showSequenceLogo;
 -      }
 -    }
 -
 -    /**
 -     * Sets the value of the showSequenceLogo property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setShowSequenceLogo(Boolean value)
 -    {
 -      this.showSequenceLogo = value;
 -    }
 -
 -    /**
 -     * Gets the value of the normaliseSequenceLogo property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public boolean isNormaliseSequenceLogo()
 -    {
 -      if (normaliseSequenceLogo == null)
 -      {
 -        return false;
 -      }
 -      else
 -      {
 -        return normaliseSequenceLogo;
 -      }
 -    }
 -
 -    /**
 -     * Sets the value of the normaliseSequenceLogo property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setNormaliseSequenceLogo(Boolean value)
 -    {
 -      this.normaliseSequenceLogo = value;
 -    }
 -
 -    /**
 -     * Gets the value of the id property.
 -     * 
 -     * @return possible object is {@link String }
 -     * 
 -     */
 -    public String getId()
 -    {
 -      return id;
 -    }
 -
 -    /**
 -     * Sets the value of the id property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link String }
 -     * 
 -     */
 -    public void setId(String value)
 -    {
 -      this.id = value;
 -    }
 -
 -  }
 -
 -  /**
 -   * <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="features" type="{www.jalview.org}feature" maxOccurs="unbounded" minOccurs="0"/>
 -   *         &lt;element name="pdbids" maxOccurs="unbounded" minOccurs="0">
 -   *           &lt;complexType>
 -   *             &lt;complexContent>
 -   *               &lt;extension base="{www.jalview.org}pdbentry">
 -   *                 &lt;sequence>
 -   *                   &lt;element name="structureState" maxOccurs="unbounded" minOccurs="0">
 -   *                     &lt;complexType>
 -   *                       &lt;simpleContent>
 -   *                         &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
 -   *                           &lt;attGroup ref="{www.jalview.org}swingwindow"/>
 -   *                           &lt;attribute name="visible" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 -   *                           &lt;attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" />
 -   *                           &lt;attribute name="alignwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
 -   *                           &lt;attribute name="colourwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
 -   *                           &lt;attribute name="colourByJmol" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
 -   *                           &lt;attribute name="type" type="{http://www.w3.org/2001/XMLSchema}string" />
 -   *                         &lt;/extension>
 -   *                       &lt;/simpleContent>
 -   *                     &lt;/complexType>
 -   *                   &lt;/element>
 -   *                 &lt;/sequence>
 -   *               &lt;/extension>
 -   *             &lt;/complexContent>
 -   *           &lt;/complexType>
 -   *         &lt;/element>
 -   *         &lt;element name="hiddenSequences" type="{http://www.w3.org/2001/XMLSchema}int" maxOccurs="unbounded" minOccurs="0"/>
 -   *         &lt;element name="rnaViewer" maxOccurs="unbounded" minOccurs="0">
 -   *           &lt;complexType>
 -   *             &lt;complexContent>
 -   *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 -   *                 &lt;sequence>
 -   *                   &lt;element name="secondaryStructure" maxOccurs="unbounded">
 -   *                     &lt;complexType>
 -   *                       &lt;complexContent>
 -   *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 -   *                           &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
 -   *                           &lt;attribute name="annotationId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
 -   *                           &lt;attribute name="gapped" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 -   *                           &lt;attribute name="viewerState" type="{http://www.w3.org/2001/XMLSchema}string" />
 -   *                         &lt;/restriction>
 -   *                       &lt;/complexContent>
 -   *                     &lt;/complexType>
 -   *                   &lt;/element>
 -   *                 &lt;/sequence>
 -   *                 &lt;attGroup ref="{www.jalview.org}swingwindow"/>
 -   *                 &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
 -   *                 &lt;attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" />
 -   *                 &lt;attribute name="dividerLocation" type="{http://www.w3.org/2001/XMLSchema}int" />
 -   *                 &lt;attribute name="selectedRna" type="{http://www.w3.org/2001/XMLSchema}int" />
 -   *               &lt;/restriction>
 -   *             &lt;/complexContent>
 -   *           &lt;/complexType>
 -   *         &lt;/element>
 -   *       &lt;/sequence>
 -   *       &lt;attribute name="colour" type="{http://www.w3.org/2001/XMLSchema}int" />
 -   *       &lt;attribute name="start" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
 -   *       &lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
 -   *       &lt;attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
 -   *       &lt;attribute name="hidden" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 -   *       &lt;attribute name="viewreference" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 -   *     &lt;/restriction>
 -   *   &lt;/complexContent>
 -   * &lt;/complexType>
 -   * </pre>
 -   * 
 -   * 
 -   */
 -  @XmlAccessorType(XmlAccessType.FIELD)
 -  @XmlType(
 -    name = "",
 -    propOrder =
 -    { "features", "pdbids", "hiddenSequences", "rnaViewer" })
 -  public static class JSeq
 -  {
 -
 -    @XmlElement(namespace = "www.jalview.org")
 -    protected List<Feature> features;
 -
 -    @XmlElement(namespace = "www.jalview.org")
 -    protected List<JalviewModelType.JSeq.Pdbids> pdbids;
 -
 -    @XmlElement(namespace = "www.jalview.org", type = Integer.class)
 -    protected List<Integer> hiddenSequences;
 -
 -    @XmlElement(namespace = "www.jalview.org")
 -    protected List<JalviewModelType.JSeq.RnaViewer> rnaViewer;
 -
 -    @XmlAttribute(name = "colour")
 -    protected Integer colour;
 -
 -    @XmlAttribute(name = "start", required = true)
 -    protected int start;
 -
 -    @XmlAttribute(name = "end", required = true)
 -    protected int end;
 -
 -    @XmlAttribute(name = "id", required = true)
 -    protected String id;
 -
 -    @XmlAttribute(name = "hidden")
 -    protected Boolean hidden;
 -
 -    @XmlAttribute(name = "viewreference")
 -    protected Boolean viewreference;
 -
 -    /**
 -     * Gets the value of the features 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 features property.
 -     * 
 -     * <p>
 -     * For example, to add a new item, do as follows:
 -     * 
 -     * <pre>
 -     * getFeatures().add(newItem);
 -     * </pre>
 -     * 
 -     * 
 -     * <p>
 -     * Objects of the following type(s) are allowed in the list {@link Feature }
 -     * 
 -     * 
 -     */
 -    public List<Feature> getFeatures()
 -    {
 -      if (features == null)
 -      {
 -        features = new ArrayList<Feature>();
 -      }
 -      return this.features;
 -    }
 -
 -    /**
 -     * Gets the value of the pdbids 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 pdbids property.
 -     * 
 -     * <p>
 -     * For example, to add a new item, do as follows:
 -     * 
 -     * <pre>
 -     * getPdbids().add(newItem);
 -     * </pre>
 -     * 
 -     * 
 -     * <p>
 -     * Objects of the following type(s) are allowed in the list
 -     * {@link JalviewModelType.JSeq.Pdbids }
 -     * 
 -     * 
 -     */
 -    public List<JalviewModelType.JSeq.Pdbids> getPdbids()
 -    {
 -      if (pdbids == null)
 -      {
 -        pdbids = new ArrayList<JalviewModelType.JSeq.Pdbids>();
 -      }
 -      return this.pdbids;
 -    }
 -
 -    /**
 -     * Gets the value of the hiddenSequences 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 hiddenSequences property.
 -     * 
 -     * <p>
 -     * For example, to add a new item, do as follows:
 -     * 
 -     * <pre>
 -     * getHiddenSequences().add(newItem);
 -     * </pre>
 -     * 
 -     * 
 -     * <p>
 -     * Objects of the following type(s) are allowed in the list {@link Integer }
 -     * 
 -     * 
 -     */
 -    public List<Integer> getHiddenSequences()
 -    {
 -      if (hiddenSequences == null)
 -      {
 -        hiddenSequences = new ArrayList<Integer>();
 -      }
 -      return this.hiddenSequences;
 -    }
 -
 -    /**
 -     * Gets the value of the rnaViewer 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 rnaViewer property.
 -     * 
 -     * <p>
 -     * For example, to add a new item, do as follows:
 -     * 
 -     * <pre>
 -     * getRnaViewer().add(newItem);
 -     * </pre>
 -     * 
 -     * 
 -     * <p>
 -     * Objects of the following type(s) are allowed in the list
 -     * {@link JalviewModelType.JSeq.RnaViewer }
 -     * 
 -     * 
 -     */
 -    public List<JalviewModelType.JSeq.RnaViewer> getRnaViewer()
 -    {
 -      if (rnaViewer == null)
 -      {
 -        rnaViewer = new ArrayList<JalviewModelType.JSeq.RnaViewer>();
 -      }
 -      return this.rnaViewer;
 -    }
 -
 -    /**
 -     * Gets the value of the colour property.
 -     * 
 -     * @return possible object is {@link Integer }
 -     * 
 -     */
 -    public Integer getColour()
 -    {
 -      return colour;
 -    }
 -
 -    /**
 -     * Sets the value of the colour property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Integer }
 -     * 
 -     */
 -    public void setColour(Integer value)
 -    {
 -      this.colour = value;
 -    }
 -
 -    /**
 -     * Gets the value of the start property.
 -     * 
 -     */
 -    public int getStart()
 -    {
 -      return start;
 -    }
 -
 -    /**
 -     * Sets the value of the start property.
 -     * 
 -     */
 -    public void setStart(int value)
 -    {
 -      this.start = value;
 -    }
 -
 -    /**
 -     * Gets the value of the end property.
 -     * 
 -     */
 -    public int getEnd()
 -    {
 -      return end;
 -    }
 -
 -    /**
 -     * Sets the value of the end property.
 -     * 
 -     */
 -    public void setEnd(int value)
 -    {
 -      this.end = value;
 -    }
 -
 -    /**
 -     * Gets the value of the id property.
 -     * 
 -     * @return possible object is {@link String }
 -     * 
 -     */
 -    public String getId()
 -    {
 -      return id;
 -    }
 -
 -    /**
 -     * Sets the value of the id property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link String }
 -     * 
 -     */
 -    public void setId(String value)
 -    {
 -      this.id = value;
 -    }
 -
 -    /**
 -     * Gets the value of the hidden property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public Boolean isHidden()
 -    {
 -      return hidden;
 -    }
 -
 -    /**
 -     * Sets the value of the hidden property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setHidden(Boolean value)
 -    {
 -      this.hidden = value;
 -    }
 -
 -    /**
 -     * Gets the value of the viewreference property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public Boolean isViewreference()
 -    {
 -      return viewreference;
 -    }
 -
 -    /**
 -     * Sets the value of the viewreference property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setViewreference(Boolean value)
 -    {
 -      this.viewreference = value;
 -    }
 -
 -    /**
 -     * <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;extension base="{www.jalview.org}pdbentry">
 -     *       &lt;sequence>
 -     *         &lt;element name="structureState" maxOccurs="unbounded" minOccurs="0">
 -     *           &lt;complexType>
 -     *             &lt;simpleContent>
 -     *               &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
 -     *                 &lt;attGroup ref="{www.jalview.org}swingwindow"/>
 -     *                 &lt;attribute name="visible" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 -     *                 &lt;attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" />
 -     *                 &lt;attribute name="alignwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
 -     *                 &lt;attribute name="colourwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
 -     *                 &lt;attribute name="colourByJmol" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
 -     *                 &lt;attribute name="type" type="{http://www.w3.org/2001/XMLSchema}string" />
 -     *               &lt;/extension>
 -     *             &lt;/simpleContent>
 -     *           &lt;/complexType>
 -     *         &lt;/element>
 -     *       &lt;/sequence>
 -     *     &lt;/extension>
 -     *   &lt;/complexContent>
 -     * &lt;/complexType>
 -     * </pre>
 -     * 
 -     * 
 -     */
 -    @XmlAccessorType(XmlAccessType.FIELD)
 -    @XmlType(name = "", propOrder = { "structureState" })
 -    public static class Pdbids extends Pdbentry
 -    {
 -
 -      @XmlElement(namespace = "www.jalview.org")
 -      protected List<JalviewModelType.JSeq.Pdbids.StructureState> structureState;
 -
 -      /**
 -       * Gets the value of the structureState 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 structureState property.
 -       * 
 -       * <p>
 -       * For example, to add a new item, do as follows:
 -       * 
 -       * <pre>
 -       * getStructureState().add(newItem);
 -       * </pre>
 -       * 
 -       * 
 -       * <p>
 -       * Objects of the following type(s) are allowed in the list
 -       * {@link JalviewModelType.JSeq.Pdbids.StructureState }
 -       * 
 -       * 
 -       */
 -      public List<JalviewModelType.JSeq.Pdbids.StructureState> getStructureState()
 -      {
 -        if (structureState == null)
 -        {
 -          structureState = new ArrayList<JalviewModelType.JSeq.Pdbids.StructureState>();
 -        }
 -        return this.structureState;
 -      }
 -
 -      /**
 -       * <p>
 -       * Java class for anonymous complex type.
 -       * 
 -       * <p>
 -       * The following schema fragment specifies the expected content contained
 -       * within this class.
 -       * 
 -       * <pre>
 -       * &lt;complexType>
 -       *   &lt;simpleContent>
 -       *     &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
 -       *       &lt;attGroup ref="{www.jalview.org}swingwindow"/>
 -       *       &lt;attribute name="visible" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 -       *       &lt;attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" />
 -       *       &lt;attribute name="alignwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
 -       *       &lt;attribute name="colourwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
 -       *       &lt;attribute name="colourByJmol" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
 -       *       &lt;attribute name="type" type="{http://www.w3.org/2001/XMLSchema}string" />
 -       *     &lt;/extension>
 -       *   &lt;/simpleContent>
 -       * &lt;/complexType>
 -       * </pre>
 -       * 
 -       * 
 -       */
 -      @XmlAccessorType(XmlAccessType.FIELD)
 -      @XmlType(name = "", propOrder = { "value" })
 -      public static class StructureState
 -      {
 -
 -        @XmlValue
 -        protected String value;
 -
 -        @XmlAttribute(name = "visible")
 -        protected Boolean visible;
 -
 -        @XmlAttribute(name = "viewId")
 -        protected String viewId;
 -
 -        @XmlAttribute(name = "alignwithAlignPanel")
 -        protected Boolean alignwithAlignPanel;
 -
 -        @XmlAttribute(name = "colourwithAlignPanel")
 -        protected Boolean colourwithAlignPanel;
 -
 -        @XmlAttribute(name = "colourByJmol")
 -        protected Boolean colourByJmol;
 -
 -        @XmlAttribute(name = "type")
 -        protected String type;
 -
 -        @XmlAttribute(name = "width")
 -        protected Integer width;
 -
 -        @XmlAttribute(name = "height")
 -        protected Integer height;
 -
 -        @XmlAttribute(name = "xpos")
 -        protected Integer xpos;
 -
 -        @XmlAttribute(name = "ypos")
 -        protected Integer ypos;
 -
 -        /**
 -         * Gets the value of the value property.
 -         * 
 -         * @return possible object is {@link String }
 -         * 
 -         */
 -        public String getValue()
 -        {
 -          return value;
 -        }
 -
 -        /**
 -         * Sets the value of the value property.
 -         * 
 -         * @param value
 -         *          allowed object is {@link String }
 -         * 
 -         */
 -        public void setValue(String value)
 -        {
 -          this.value = value;
 -        }
 -
 -        /**
 -         * Gets the value of the visible property.
 -         * 
 -         * @return possible object is {@link Boolean }
 -         * 
 -         */
 -        public Boolean isVisible()
 -        {
 -          return visible;
 -        }
 -
 -        /**
 -         * Sets the value of the visible property.
 -         * 
 -         * @param value
 -         *          allowed object is {@link Boolean }
 -         * 
 -         */
 -        public void setVisible(Boolean value)
 -        {
 -          this.visible = value;
 -        }
 -
 -        /**
 -         * Gets the value of the viewId property.
 -         * 
 -         * @return possible object is {@link String }
 -         * 
 -         */
 -        public String getViewId()
 -        {
 -          return viewId;
 -        }
 -
 -        /**
 -         * Sets the value of the viewId property.
 -         * 
 -         * @param value
 -         *          allowed object is {@link String }
 -         * 
 -         */
 -        public void setViewId(String value)
 -        {
 -          this.viewId = value;
 -        }
 -
 -        /**
 -         * Gets the value of the alignwithAlignPanel property.
 -         * 
 -         * @return possible object is {@link Boolean }
 -         * 
 -         */
 -        public boolean isAlignwithAlignPanel()
 -        {
 -          if (alignwithAlignPanel == null)
 -          {
 -            return true;
 -          }
 -          else
 -          {
 -            return alignwithAlignPanel;
 -          }
 -        }
 -
 -        /**
 -         * Sets the value of the alignwithAlignPanel property.
 -         * 
 -         * @param value
 -         *          allowed object is {@link Boolean }
 -         * 
 -         */
 -        public void setAlignwithAlignPanel(Boolean value)
 -        {
 -          this.alignwithAlignPanel = value;
 -        }
 -
 -        /**
 -         * Gets the value of the colourwithAlignPanel property.
 -         * 
 -         * @return possible object is {@link Boolean }
 -         * 
 -         */
 -        public boolean isColourwithAlignPanel()
 -        {
 -          if (colourwithAlignPanel == null)
 -          {
 -            return false;
 -          }
 -          else
 -          {
 -            return colourwithAlignPanel;
 -          }
 -        }
 -
 -        /**
 -         * Sets the value of the colourwithAlignPanel property.
 -         * 
 -         * @param value
 -         *          allowed object is {@link Boolean }
 -         * 
 -         */
 -        public void setColourwithAlignPanel(Boolean value)
 -        {
 -          this.colourwithAlignPanel = value;
 -        }
 -
 -        /**
 -         * Gets the value of the colourByJmol property.
 -         * 
 -         * @return possible object is {@link Boolean }
 -         * 
 -         */
 -        public boolean isColourByJmol()
 -        {
 -          if (colourByJmol == null)
 -          {
 -            return true;
 -          }
 -          else
 -          {
 -            return colourByJmol;
 -          }
 -        }
 -
 -        /**
 -         * Sets the value of the colourByJmol property.
 -         * 
 -         * @param value
 -         *          allowed object is {@link Boolean }
 -         * 
 -         */
 -        public void setColourByJmol(Boolean value)
 -        {
 -          this.colourByJmol = value;
 -        }
 -
 -        /**
 -         * Gets the value of the type property.
 -         * 
 -         * @return possible object is {@link String }
 -         * 
 -         */
 -        public String getType()
 -        {
 -          return type;
 -        }
 -
 -        /**
 -         * Sets the value of the type property.
 -         * 
 -         * @param value
 -         *          allowed object is {@link String }
 -         * 
 -         */
 -        public void setType(String value)
 -        {
 -          this.type = value;
 -        }
 -
 -        /**
 -         * Gets the value of the width property.
 -         * 
 -         * @return possible object is {@link Integer }
 -         * 
 -         */
 -        public Integer getWidth()
 -        {
 -          return width;
 -        }
 -
 -        /**
 -         * Sets the value of the width property.
 -         * 
 -         * @param value
 -         *          allowed object is {@link Integer }
 -         * 
 -         */
 -        public void setWidth(Integer value)
 -        {
 -          this.width = value;
 -        }
 -
 -        /**
 -         * Gets the value of the height property.
 -         * 
 -         * @return possible object is {@link Integer }
 -         * 
 -         */
 -        public Integer getHeight()
 -        {
 -          return height;
 -        }
 -
 -        /**
 -         * Sets the value of the height property.
 -         * 
 -         * @param value
 -         *          allowed object is {@link Integer }
 -         * 
 -         */
 -        public void setHeight(Integer value)
 -        {
 -          this.height = value;
 -        }
 -
 -        /**
 -         * Gets the value of the xpos property.
 -         * 
 -         * @return possible object is {@link Integer }
 -         * 
 -         */
 -        public Integer getXpos()
 -        {
 -          return xpos;
 -        }
 -
 -        /**
 -         * Sets the value of the xpos property.
 -         * 
 -         * @param value
 -         *          allowed object is {@link Integer }
 -         * 
 -         */
 -        public void setXpos(Integer value)
 -        {
 -          this.xpos = value;
 -        }
 -
 -        /**
 -         * Gets the value of the ypos property.
 -         * 
 -         * @return possible object is {@link Integer }
 -         * 
 -         */
 -        public Integer getYpos()
 -        {
 -          return ypos;
 -        }
 -
 -        /**
 -         * Sets the value of the ypos property.
 -         * 
 -         * @param value
 -         *          allowed object is {@link Integer }
 -         * 
 -         */
 -        public void setYpos(Integer value)
 -        {
 -          this.ypos = value;
 -        }
 -
 -      }
 -
 -    }
 -
 -    /**
 -     * <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="secondaryStructure" maxOccurs="unbounded">
 -     *           &lt;complexType>
 -     *             &lt;complexContent>
 -     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 -     *                 &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
 -     *                 &lt;attribute name="annotationId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
 -     *                 &lt;attribute name="gapped" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 -     *                 &lt;attribute name="viewerState" type="{http://www.w3.org/2001/XMLSchema}string" />
 -     *               &lt;/restriction>
 -     *             &lt;/complexContent>
 -     *           &lt;/complexType>
 -     *         &lt;/element>
 -     *       &lt;/sequence>
 -     *       &lt;attGroup ref="{www.jalview.org}swingwindow"/>
 -     *       &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
 -     *       &lt;attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" />
 -     *       &lt;attribute name="dividerLocation" type="{http://www.w3.org/2001/XMLSchema}int" />
 -     *       &lt;attribute name="selectedRna" type="{http://www.w3.org/2001/XMLSchema}int" />
 -     *     &lt;/restriction>
 -     *   &lt;/complexContent>
 -     * &lt;/complexType>
 -     * </pre>
 -     * 
 -     * 
 -     */
 -    @XmlAccessorType(XmlAccessType.FIELD)
 -    @XmlType(name = "", propOrder = { "secondaryStructure" })
 -    public static class RnaViewer
 -    {
 -
 -      @XmlElement(namespace = "www.jalview.org", required = true)
 -      protected List<JalviewModelType.JSeq.RnaViewer.SecondaryStructure> secondaryStructure;
 -
 -      @XmlAttribute(name = "title")
 -      protected String title;
 -
 -      @XmlAttribute(name = "viewId")
 -      protected String viewId;
 -
 -      @XmlAttribute(name = "dividerLocation")
 -      protected Integer dividerLocation;
 -
 -      @XmlAttribute(name = "selectedRna")
 -      protected Integer selectedRna;
 -
 -      @XmlAttribute(name = "width")
 -      protected Integer width;
 -
 -      @XmlAttribute(name = "height")
 -      protected Integer height;
 -
 -      @XmlAttribute(name = "xpos")
 -      protected Integer xpos;
 -
 -      @XmlAttribute(name = "ypos")
 -      protected Integer ypos;
 -
 -      /**
 -       * Gets the value of the secondaryStructure 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 secondaryStructure property.
 -       * 
 -       * <p>
 -       * For example, to add a new item, do as follows:
 -       * 
 -       * <pre>
 -       * getSecondaryStructure().add(newItem);
 -       * </pre>
 -       * 
 -       * 
 -       * <p>
 -       * Objects of the following type(s) are allowed in the list
 -       * {@link JalviewModelType.JSeq.RnaViewer.SecondaryStructure }
 -       * 
 -       * 
 -       */
 -      public List<JalviewModelType.JSeq.RnaViewer.SecondaryStructure> getSecondaryStructure()
 -      {
 -        if (secondaryStructure == null)
 -        {
 -          secondaryStructure = new ArrayList<JalviewModelType.JSeq.RnaViewer.SecondaryStructure>();
 -        }
 -        return this.secondaryStructure;
 -      }
 -
 -      /**
 -       * Gets the value of the title property.
 -       * 
 -       * @return possible object is {@link String }
 -       * 
 -       */
 -      public String getTitle()
 -      {
 -        return title;
 -      }
 -
 -      /**
 -       * Sets the value of the title property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link String }
 -       * 
 -       */
 -      public void setTitle(String value)
 -      {
 -        this.title = value;
 -      }
 -
 -      /**
 -       * Gets the value of the viewId property.
 -       * 
 -       * @return possible object is {@link String }
 -       * 
 -       */
 -      public String getViewId()
 -      {
 -        return viewId;
 -      }
 -
 -      /**
 -       * Sets the value of the viewId property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link String }
 -       * 
 -       */
 -      public void setViewId(String value)
 -      {
 -        this.viewId = value;
 -      }
 -
 -      /**
 -       * Gets the value of the dividerLocation property.
 -       * 
 -       * @return possible object is {@link Integer }
 -       * 
 -       */
 -      public Integer getDividerLocation()
 -      {
 -        return dividerLocation;
 -      }
 -
 -      /**
 -       * Sets the value of the dividerLocation property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link Integer }
 -       * 
 -       */
 -      public void setDividerLocation(Integer value)
 -      {
 -        this.dividerLocation = value;
 -      }
 -
 -      /**
 -       * Gets the value of the selectedRna property.
 -       * 
 -       * @return possible object is {@link Integer }
 -       * 
 -       */
 -      public Integer getSelectedRna()
 -      {
 -        return selectedRna;
 -      }
 -
 -      /**
 -       * Sets the value of the selectedRna property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link Integer }
 -       * 
 -       */
 -      public void setSelectedRna(Integer value)
 -      {
 -        this.selectedRna = value;
 -      }
 -
 -      /**
 -       * Gets the value of the width property.
 -       * 
 -       * @return possible object is {@link Integer }
 -       * 
 -       */
 -      public Integer getWidth()
 -      {
 -        return width;
 -      }
 -
 -      /**
 -       * Sets the value of the width property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link Integer }
 -       * 
 -       */
 -      public void setWidth(Integer value)
 -      {
 -        this.width = value;
 -      }
 -
 -      /**
 -       * Gets the value of the height property.
 -       * 
 -       * @return possible object is {@link Integer }
 -       * 
 -       */
 -      public Integer getHeight()
 -      {
 -        return height;
 -      }
 -
 -      /**
 -       * Sets the value of the height property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link Integer }
 -       * 
 -       */
 -      public void setHeight(Integer value)
 -      {
 -        this.height = value;
 -      }
 -
 -      /**
 -       * Gets the value of the xpos property.
 -       * 
 -       * @return possible object is {@link Integer }
 -       * 
 -       */
 -      public Integer getXpos()
 -      {
 -        return xpos;
 -      }
 -
 -      /**
 -       * Sets the value of the xpos property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link Integer }
 -       * 
 -       */
 -      public void setXpos(Integer value)
 -      {
 -        this.xpos = value;
 -      }
 -
 -      /**
 -       * Gets the value of the ypos property.
 -       * 
 -       * @return possible object is {@link Integer }
 -       * 
 -       */
 -      public Integer getYpos()
 -      {
 -        return ypos;
 -      }
 -
 -      /**
 -       * Sets the value of the ypos property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link Integer }
 -       * 
 -       */
 -      public void setYpos(Integer value)
 -      {
 -        this.ypos = value;
 -      }
 -
 -      /**
 -       * <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;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
 -       *       &lt;attribute name="annotationId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
 -       *       &lt;attribute name="gapped" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 -       *       &lt;attribute name="viewerState" type="{http://www.w3.org/2001/XMLSchema}string" />
 -       *     &lt;/restriction>
 -       *   &lt;/complexContent>
 -       * &lt;/complexType>
 -       * </pre>
 -       * 
 -       * 
 -       */
 -      @XmlAccessorType(XmlAccessType.FIELD)
 -      @XmlType(name = "")
 -      public static class SecondaryStructure
 -      {
 -
 -        @XmlAttribute(name = "title")
 -        protected String title;
 -
 -        @XmlAttribute(name = "annotationId", required = true)
 -        protected String annotationId;
 -
 -        @XmlAttribute(name = "gapped")
 -        protected Boolean gapped;
 -
 -        @XmlAttribute(name = "viewerState")
 -        protected String viewerState;
 -
 -        /**
 -         * Gets the value of the title property.
 -         * 
 -         * @return possible object is {@link String }
 -         * 
 -         */
 -        public String getTitle()
 -        {
 -          return title;
 -        }
 -
 -        /**
 -         * Sets the value of the title property.
 -         * 
 -         * @param value
 -         *          allowed object is {@link String }
 -         * 
 -         */
 -        public void setTitle(String value)
 -        {
 -          this.title = value;
 -        }
 -
 -        /**
 -         * Gets the value of the annotationId property.
 -         * 
 -         * @return possible object is {@link String }
 -         * 
 -         */
 -        public String getAnnotationId()
 -        {
 -          return annotationId;
 -        }
 -
 -        /**
 -         * Sets the value of the annotationId property.
 -         * 
 -         * @param value
 -         *          allowed object is {@link String }
 -         * 
 -         */
 -        public void setAnnotationId(String value)
 -        {
 -          this.annotationId = value;
 -        }
 -
 -        /**
 -         * Gets the value of the gapped property.
 -         * 
 -         * @return possible object is {@link Boolean }
 -         * 
 -         */
 -        public Boolean isGapped()
 -        {
 -          return gapped;
 -        }
 -
 -        /**
 -         * Sets the value of the gapped property.
 -         * 
 -         * @param value
 -         *          allowed object is {@link Boolean }
 -         * 
 -         */
 -        public void setGapped(Boolean value)
 -        {
 -          this.gapped = value;
 -        }
 -
 -        /**
 -         * Gets the value of the viewerState property.
 -         * 
 -         * @return possible object is {@link String }
 -         * 
 -         */
 -        public String getViewerState()
 -        {
 -          return viewerState;
 -        }
 -
 -        /**
 -         * Sets the value of the viewerState property.
 -         * 
 -         * @param value
 -         *          allowed object is {@link String }
 -         * 
 -         */
 -        public void setViewerState(String value)
 -        {
 -          this.viewerState = value;
 -        }
 -
 -      }
 -
 -    }
 -
 -  }
 -
 -  /**
 -   * <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 minOccurs="0">
 -   *         &lt;element name="title" type="{http://www.w3.org/2001/XMLSchema}string"/>
 -   *         &lt;element name="newick" type="{http://www.w3.org/2001/XMLSchema}string"/>
 -   *       &lt;/sequence>
 -   *       &lt;attGroup ref="{www.jalview.org}swingwindow"/>
 -   *       &lt;attribute name="fontName" type="{http://www.w3.org/2001/XMLSchema}string" />
 -   *       &lt;attribute name="fontSize" type="{http://www.w3.org/2001/XMLSchema}int" />
 -   *       &lt;attribute name="fontStyle" type="{http://www.w3.org/2001/XMLSchema}int" />
 -   *       &lt;attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" />
 -   *       &lt;attribute name="showBootstrap" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 -   *       &lt;attribute name="showDistances" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 -   *       &lt;attribute name="markUnlinked" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 -   *       &lt;attribute name="fitToWindow" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 -   *       &lt;attribute name="currentTree" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 -   *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
 -   *     &lt;/restriction>
 -   *   &lt;/complexContent>
 -   * &lt;/complexType>
 -   * </pre>
 -   * 
 -   * 
 -   */
 -  @XmlAccessorType(XmlAccessType.FIELD)
 -  @XmlType(name = "", propOrder = { "title", "newick" })
 -  public static class Tree
 -  {
 -
 -    @XmlElement(namespace = "www.jalview.org")
 -    protected String title;
 -
 -    @XmlElement(namespace = "www.jalview.org")
 -    protected String newick;
 -
 -    @XmlAttribute(name = "fontName")
 -    protected String fontName;
 -
 -    @XmlAttribute(name = "fontSize")
 -    protected Integer fontSize;
 -
 -    @XmlAttribute(name = "fontStyle")
 -    protected Integer fontStyle;
 -
 -    @XmlAttribute(name = "threshold")
 -    protected Float threshold;
 -
 -    @XmlAttribute(name = "showBootstrap")
 -    protected Boolean showBootstrap;
 -
 -    @XmlAttribute(name = "showDistances")
 -    protected Boolean showDistances;
 -
 -    @XmlAttribute(name = "markUnlinked")
 -    protected Boolean markUnlinked;
 -
 -    @XmlAttribute(name = "fitToWindow")
 -    protected Boolean fitToWindow;
 -
 -    @XmlAttribute(name = "currentTree")
 -    protected Boolean currentTree;
 -
 -    @XmlAttribute(name = "id")
 -    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
 -    @XmlID
 -    @XmlSchemaType(name = "ID")
 -    protected String id;
 -
 -    @XmlAttribute(name = "width")
 -    protected Integer width;
 -
 -    @XmlAttribute(name = "height")
 -    protected Integer height;
 -
 -    @XmlAttribute(name = "xpos")
 -    protected Integer xpos;
 -
 -    @XmlAttribute(name = "ypos")
 -    protected Integer ypos;
 -
 -    /**
 -     * Gets the value of the title property.
 -     * 
 -     * @return possible object is {@link String }
 -     * 
 -     */
 -    public String getTitle()
 -    {
 -      return title;
 -    }
 -
 -    /**
 -     * Sets the value of the title property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link String }
 -     * 
 -     */
 -    public void setTitle(String value)
 -    {
 -      this.title = value;
 -    }
 -
 -    /**
 -     * Gets the value of the newick property.
 -     * 
 -     * @return possible object is {@link String }
 -     * 
 -     */
 -    public String getNewick()
 -    {
 -      return newick;
 -    }
 -
 -    /**
 -     * Sets the value of the newick property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link String }
 -     * 
 -     */
 -    public void setNewick(String value)
 -    {
 -      this.newick = value;
 -    }
 -
 -    /**
 -     * Gets the value of the fontName property.
 -     * 
 -     * @return possible object is {@link String }
 -     * 
 -     */
 -    public String getFontName()
 -    {
 -      return fontName;
 -    }
 -
 -    /**
 -     * Sets the value of the fontName property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link String }
 -     * 
 -     */
 -    public void setFontName(String value)
 -    {
 -      this.fontName = value;
 -    }
 -
 -    /**
 -     * Gets the value of the fontSize property.
 -     * 
 -     * @return possible object is {@link Integer }
 -     * 
 -     */
 -    public Integer getFontSize()
 -    {
 -      return fontSize;
 -    }
 -
 -    /**
 -     * Sets the value of the fontSize property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Integer }
 -     * 
 -     */
 -    public void setFontSize(Integer value)
 -    {
 -      this.fontSize = value;
 -    }
 -
 -    /**
 -     * Gets the value of the fontStyle property.
 -     * 
 -     * @return possible object is {@link Integer }
 -     * 
 -     */
 -    public Integer getFontStyle()
 -    {
 -      return fontStyle;
 -    }
 -
 -    /**
 -     * Sets the value of the fontStyle property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Integer }
 -     * 
 -     */
 -    public void setFontStyle(Integer value)
 -    {
 -      this.fontStyle = value;
 -    }
 -
 -    /**
 -     * Gets the value of the threshold property.
 -     * 
 -     * @return possible object is {@link Float }
 -     * 
 -     */
 -    public Float getThreshold()
 -    {
 -      return threshold;
 -    }
 -
 -    /**
 -     * Sets the value of the threshold property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Float }
 -     * 
 -     */
 -    public void setThreshold(Float value)
 -    {
 -      this.threshold = value;
 -    }
 -
 -    /**
 -     * Gets the value of the showBootstrap property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public Boolean isShowBootstrap()
 -    {
 -      return showBootstrap;
 -    }
 -
 -    /**
 -     * Sets the value of the showBootstrap property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setShowBootstrap(Boolean value)
 -    {
 -      this.showBootstrap = value;
 -    }
 -
 -    /**
 -     * Gets the value of the showDistances property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public Boolean isShowDistances()
 -    {
 -      return showDistances;
 -    }
 -
 -    /**
 -     * Sets the value of the showDistances property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setShowDistances(Boolean value)
 -    {
 -      this.showDistances = value;
 -    }
 -
 -    /**
 -     * Gets the value of the markUnlinked property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public Boolean isMarkUnlinked()
 -    {
 -      return markUnlinked;
 -    }
 -
 -    /**
 -     * Sets the value of the markUnlinked property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setMarkUnlinked(Boolean value)
 -    {
 -      this.markUnlinked = value;
 -    }
 -
 -    /**
 -     * Gets the value of the fitToWindow property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public Boolean isFitToWindow()
 -    {
 -      return fitToWindow;
 -    }
 -
 -    /**
 -     * Sets the value of the fitToWindow property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setFitToWindow(Boolean value)
 -    {
 -      this.fitToWindow = value;
 -    }
 -
 -    /**
 -     * Gets the value of the currentTree property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public Boolean isCurrentTree()
 -    {
 -      return currentTree;
 -    }
 -
 -    /**
 -     * Sets the value of the currentTree property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setCurrentTree(Boolean value)
 -    {
 -      this.currentTree = value;
 -    }
 -
 -    /**
 -     * Gets the value of the id property.
 -     * 
 -     * @return possible object is {@link String }
 -     * 
 -     */
 -    public String getId()
 -    {
 -      return id;
 -    }
 -
 -    /**
 -     * Sets the value of the id property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link String }
 -     * 
 -     */
 -    public void setId(String value)
 -    {
 -      this.id = value;
 -    }
 -
 -    /**
 -     * Gets the value of the width property.
 -     * 
 -     * @return possible object is {@link Integer }
 -     * 
 -     */
 -    public Integer getWidth()
 -    {
 -      return width;
 -    }
 -
 -    /**
 -     * Sets the value of the width property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Integer }
 -     * 
 -     */
 -    public void setWidth(Integer value)
 -    {
 -      this.width = value;
 -    }
 -
 -    /**
 -     * Gets the value of the height property.
 -     * 
 -     * @return possible object is {@link Integer }
 -     * 
 -     */
 -    public Integer getHeight()
 -    {
 -      return height;
 -    }
 -
 -    /**
 -     * Sets the value of the height property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Integer }
 -     * 
 -     */
 -    public void setHeight(Integer value)
 -    {
 -      this.height = value;
 -    }
 -
 -    /**
 -     * Gets the value of the xpos property.
 -     * 
 -     * @return possible object is {@link Integer }
 -     * 
 -     */
 -    public Integer getXpos()
 -    {
 -      return xpos;
 -    }
 -
 -    /**
 -     * Sets the value of the xpos property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Integer }
 -     * 
 -     */
 -    public void setXpos(Integer value)
 -    {
 -      this.xpos = value;
 -    }
 -
 -    /**
 -     * Gets the value of the ypos property.
 -     * 
 -     * @return possible object is {@link Integer }
 -     * 
 -     */
 -    public Integer getYpos()
 -    {
 -      return ypos;
 -    }
 -
 -    /**
 -     * Sets the value of the ypos property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Integer }
 -     * 
 -     */
 -    public void setYpos(Integer value)
 -    {
 -      this.ypos = value;
 -    }
 -
 -  }
 -
 -  /**
 -   * <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="UserColourScheme" type="{www.jalview.org/colours}JalviewUserColours"/>
 -   *       &lt;/sequence>
 -   *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string" />
 -   *     &lt;/restriction>
 -   *   &lt;/complexContent>
 -   * &lt;/complexType>
 -   * </pre>
 -   * 
 -   * 
 -   */
 -  @XmlAccessorType(XmlAccessType.FIELD)
 -  @XmlType(name = "", propOrder = { "userColourScheme" })
 -  public static class UserColours
 -  {
 -
 -    @XmlElement(
 -      name = "UserColourScheme",
 -      namespace = "www.jalview.org",
 -      required = true)
 -    protected JalviewUserColours userColourScheme;
 -
 -    @XmlAttribute(name = "id")
 -    protected String id;
 -
 -    /**
 -     * Gets the value of the userColourScheme property.
 -     * 
 -     * @return possible object is {@link JalviewUserColours }
 -     * 
 -     */
 -    public JalviewUserColours getUserColourScheme()
 -    {
 -      return userColourScheme;
 -    }
 -
 -    /**
 -     * Sets the value of the userColourScheme property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link JalviewUserColours }
 -     * 
 -     */
 -    public void setUserColourScheme(JalviewUserColours value)
 -    {
 -      this.userColourScheme = value;
 -    }
 -
 -    /**
 -     * Gets the value of the id property.
 -     * 
 -     * @return possible object is {@link String }
 -     * 
 -     */
 -    public String getId()
 -    {
 -      return id;
 -    }
 -
 -    /**
 -     * Sets the value of the id property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link String }
 -     * 
 -     */
 -    public void setId(String value)
 -    {
 -      this.id = value;
 -    }
 -
 -  }
 -
 -  /**
 -   * <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="AnnotationColours" type="{www.jalview.org}AnnotationColourScheme" minOccurs="0"/>
 -   *         &lt;element name="hiddenColumns" maxOccurs="unbounded" minOccurs="0">
 -   *           &lt;complexType>
 -   *             &lt;complexContent>
 -   *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 -   *                 &lt;attribute name="start" type="{http://www.w3.org/2001/XMLSchema}int" />
 -   *                 &lt;attribute name="end" type="{http://www.w3.org/2001/XMLSchema}int" />
 -   *               &lt;/restriction>
 -   *             &lt;/complexContent>
 -   *           &lt;/complexType>
 -   *         &lt;/element>
 -   *         &lt;element name="calcIdParam" maxOccurs="unbounded" minOccurs="0">
 -   *           &lt;complexType>
 -   *             &lt;complexContent>
 -   *               &lt;extension base="{www.jalview.org/xml/wsparamset}WebServiceParameterSet">
 -   *                 &lt;attribute name="calcId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
 -   *                 &lt;attribute name="needsUpdate" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
 -   *                 &lt;attribute name="autoUpdate" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 -   *               &lt;/extension>
 -   *             &lt;/complexContent>
 -   *           &lt;/complexType>
 -   *         &lt;/element>
 -   *       &lt;/sequence>
 -   *       &lt;attGroup ref="{www.jalview.org}swingwindow"/>
 -   *       &lt;attribute name="conservationSelected" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 -   *       &lt;attribute name="pidSelected" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 -   *       &lt;attribute name="bgColour" type="{http://www.w3.org/2001/XMLSchema}string" />
 -   *       &lt;attribute name="consThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
 -   *       &lt;attribute name="pidThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
 -   *       &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
 -   *       &lt;attribute name="showFullId" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 -   *       &lt;attribute name="rightAlignIds" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 -   *       &lt;attribute name="showText" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 -   *       &lt;attribute name="showColourText" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 -   *       &lt;attribute name="showUnconserved" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
 -   *       &lt;attribute name="showBoxes" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 -   *       &lt;attribute name="wrapAlignment" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 -   *       &lt;attribute name="renderGaps" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 -   *       &lt;attribute name="showSequenceFeatures" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 -   *       &lt;attribute name="showNPfeatureTooltip" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 -   *       &lt;attribute name="showDbRefTooltip" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 -   *       &lt;attribute name="followHighlight" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
 -   *       &lt;attribute name="followSelection" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
 -   *       &lt;attribute name="showAnnotation" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 -   *       &lt;attribute name="centreColumnLabels" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
 -   *       &lt;attribute name="showGroupConservation" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
 -   *       &lt;attribute name="showGroupConsensus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
 -   *       &lt;attribute name="showConsensusHistogram" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
 -   *       &lt;attribute name="showSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
 -   *       &lt;attribute name="normaliseSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
 -   *       &lt;attribute name="ignoreGapsinConsensus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
 -   *       &lt;attribute name="startRes" type="{http://www.w3.org/2001/XMLSchema}int" />
 -   *       &lt;attribute name="startSeq" type="{http://www.w3.org/2001/XMLSchema}int" />
 -   *       &lt;attribute name="fontName" type="{http://www.w3.org/2001/XMLSchema}string" />
 -   *       &lt;attribute name="fontSize" type="{http://www.w3.org/2001/XMLSchema}int" />
 -   *       &lt;attribute name="fontStyle" type="{http://www.w3.org/2001/XMLSchema}int" />
 -   *       &lt;attribute name="scaleProteinAsCdna" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
 -   *       &lt;attribute name="viewName" type="{http://www.w3.org/2001/XMLSchema}string" />
 -   *       &lt;attribute name="sequenceSetId" type="{http://www.w3.org/2001/XMLSchema}string" />
 -   *       &lt;attribute name="gatheredViews" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 -   *       &lt;attribute name="textCol1" type="{http://www.w3.org/2001/XMLSchema}int" />
 -   *       &lt;attribute name="textCol2" type="{http://www.w3.org/2001/XMLSchema}int" />
 -   *       &lt;attribute name="textColThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
 -   *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
 -   *       &lt;attribute name="complementId" type="{http://www.w3.org/2001/XMLSchema}string" />
 -   *     &lt;/restriction>
 -   *   &lt;/complexContent>
 -   * &lt;/complexType>
 -   * </pre>
 -   * 
 -   * 
 -   */
 -  @XmlAccessorType(XmlAccessType.FIELD)
 -  @XmlType(
 -    name = "",
 -    propOrder =
 -    { "annotationColours", "hiddenColumns", "calcIdParam" })
 -  public static class Viewport
 -  {
 -
 -    @XmlElement(name = "AnnotationColours", namespace = "www.jalview.org")
 -    protected AnnotationColourScheme annotationColours;
 -
 -    @XmlElement(namespace = "www.jalview.org")
 -    protected List<JalviewModelType.Viewport.HiddenColumns> hiddenColumns;
 -
 -    @XmlElement(namespace = "www.jalview.org")
 -    protected List<JalviewModelType.Viewport.CalcIdParam> calcIdParam;
 -
 -    @XmlAttribute(name = "conservationSelected")
 -    protected Boolean conservationSelected;
 -
 -    @XmlAttribute(name = "pidSelected")
 -    protected Boolean pidSelected;
 -
 -    @XmlAttribute(name = "bgColour")
 -    protected String bgColour;
 -
 -    @XmlAttribute(name = "consThreshold")
 -    protected Integer consThreshold;
 -
 -    @XmlAttribute(name = "pidThreshold")
 -    protected Integer pidThreshold;
 -
 -    @XmlAttribute(name = "title")
 -    protected String title;
 -
 -    @XmlAttribute(name = "showFullId")
 -    protected Boolean showFullId;
 -
 -    @XmlAttribute(name = "rightAlignIds")
 -    protected Boolean rightAlignIds;
 -
 -    @XmlAttribute(name = "showText")
 -    protected Boolean showText;
 -
 -    @XmlAttribute(name = "showColourText")
 -    protected Boolean showColourText;
 -
 -    @XmlAttribute(name = "showUnconserved")
 -    protected Boolean showUnconserved;
 -
 -    @XmlAttribute(name = "showBoxes")
 -    protected Boolean showBoxes;
 -
 -    @XmlAttribute(name = "wrapAlignment")
 -    protected Boolean wrapAlignment;
 -
 -    @XmlAttribute(name = "renderGaps")
 -    protected Boolean renderGaps;
 -
 -    @XmlAttribute(name = "showSequenceFeatures")
 -    protected Boolean showSequenceFeatures;
 -
 -    @XmlAttribute(name = "showNPfeatureTooltip")
 -    protected Boolean showNPfeatureTooltip;
 -
 -    @XmlAttribute(name = "showDbRefTooltip")
 -    protected Boolean showDbRefTooltip;
 -
 -    @XmlAttribute(name = "followHighlight")
 -    protected Boolean followHighlight;
 -
 -    @XmlAttribute(name = "followSelection")
 -    protected Boolean followSelection;
 -
 -    @XmlAttribute(name = "showAnnotation")
 -    protected Boolean showAnnotation;
 -
 -    @XmlAttribute(name = "centreColumnLabels")
 -    protected Boolean centreColumnLabels;
 -
 -    @XmlAttribute(name = "showGroupConservation")
 -    protected Boolean showGroupConservation;
 -
 -    @XmlAttribute(name = "showGroupConsensus")
 -    protected Boolean showGroupConsensus;
 -
 -    @XmlAttribute(name = "showConsensusHistogram")
 -    protected Boolean showConsensusHistogram;
 -
 -    @XmlAttribute(name = "showSequenceLogo")
 -    protected Boolean showSequenceLogo;
 -
 -    @XmlAttribute(name = "normaliseSequenceLogo")
 -    protected Boolean normaliseSequenceLogo;
 -
 -    @XmlAttribute(name = "ignoreGapsinConsensus")
 -    protected Boolean ignoreGapsinConsensus;
 -
 -    @XmlAttribute(name = "startRes")
 -    protected Integer startRes;
 -
 -    @XmlAttribute(name = "startSeq")
 -    protected Integer startSeq;
 -
 -    @XmlAttribute(name = "fontName")
 -    protected String fontName;
 -
 -    @XmlAttribute(name = "fontSize")
 -    protected Integer fontSize;
 -
 -    @XmlAttribute(name = "fontStyle")
 -    protected Integer fontStyle;
 -
 -    @XmlAttribute(name = "scaleProteinAsCdna")
 -    protected Boolean scaleProteinAsCdna;
 -
 -    @XmlAttribute(name = "viewName")
 -    protected String viewName;
 -
 -    @XmlAttribute(name = "sequenceSetId")
 -    protected String sequenceSetId;
 -
 -    @XmlAttribute(name = "gatheredViews")
 -    protected Boolean gatheredViews;
 -
 -    @XmlAttribute(name = "textCol1")
 -    protected Integer textCol1;
 -
 -    @XmlAttribute(name = "textCol2")
 -    protected Integer textCol2;
 -
 -    @XmlAttribute(name = "textColThreshold")
 -    protected Integer textColThreshold;
 -
 -    @XmlAttribute(name = "id")
 -    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
 -    @XmlID
 -    @XmlSchemaType(name = "ID")
 -    protected String id;
 -
 -    @XmlAttribute(name = "complementId")
 -    protected String complementId;
 -
 -    @XmlAttribute(name = "width")
 -    protected Integer width;
 -
 -    @XmlAttribute(name = "height")
 -    protected Integer height;
 -
 -    @XmlAttribute(name = "xpos")
 -    protected Integer xpos;
 -
 -    @XmlAttribute(name = "ypos")
 -    protected Integer ypos;
 -
 -    /**
 -     * Gets the value of the annotationColours property.
 -     * 
 -     * @return possible object is {@link AnnotationColourScheme }
 -     * 
 -     */
 -    public AnnotationColourScheme getAnnotationColours()
 -    {
 -      return annotationColours;
 -    }
 -
 -    /**
 -     * Sets the value of the annotationColours property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link AnnotationColourScheme }
 -     * 
 -     */
 -    public void setAnnotationColours(AnnotationColourScheme value)
 -    {
 -      this.annotationColours = value;
 -    }
 -
 -    /**
 -     * Gets the value of the hiddenColumns 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 hiddenColumns property.
 -     * 
 -     * <p>
 -     * For example, to add a new item, do as follows:
 -     * 
 -     * <pre>
 -     * getHiddenColumns().add(newItem);
 -     * </pre>
 -     * 
 -     * 
 -     * <p>
 -     * Objects of the following type(s) are allowed in the list
 -     * {@link JalviewModelType.Viewport.HiddenColumns }
 -     * 
 -     * 
 -     */
 -    public List<JalviewModelType.Viewport.HiddenColumns> getHiddenColumns()
 -    {
 -      if (hiddenColumns == null)
 -      {
 -        hiddenColumns = new ArrayList<JalviewModelType.Viewport.HiddenColumns>();
 -      }
 -      return this.hiddenColumns;
 -    }
 -
 -    /**
 -     * Gets the value of the calcIdParam 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 calcIdParam property.
 -     * 
 -     * <p>
 -     * For example, to add a new item, do as follows:
 -     * 
 -     * <pre>
 -     * getCalcIdParam().add(newItem);
 -     * </pre>
 -     * 
 -     * 
 -     * <p>
 -     * Objects of the following type(s) are allowed in the list
 -     * {@link JalviewModelType.Viewport.CalcIdParam }
 -     * 
 -     * 
 -     */
 -    public List<JalviewModelType.Viewport.CalcIdParam> getCalcIdParam()
 -    {
 -      if (calcIdParam == null)
 -      {
 -        calcIdParam = new ArrayList<JalviewModelType.Viewport.CalcIdParam>();
 -      }
 -      return this.calcIdParam;
 -    }
 -
 -    /**
 -     * Gets the value of the conservationSelected property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public Boolean isConservationSelected()
 -    {
 -      return conservationSelected;
 -    }
 -
 -    /**
 -     * Sets the value of the conservationSelected property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setConservationSelected(Boolean value)
 -    {
 -      this.conservationSelected = value;
 -    }
 -
 -    /**
 -     * Gets the value of the pidSelected property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public Boolean isPidSelected()
 -    {
 -      return pidSelected;
 -    }
 -
 -    /**
 -     * Sets the value of the pidSelected property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setPidSelected(Boolean value)
 -    {
 -      this.pidSelected = value;
 -    }
 -
 -    /**
 -     * Gets the value of the bgColour property.
 -     * 
 -     * @return possible object is {@link String }
 -     * 
 -     */
 -    public String getBgColour()
 -    {
 -      return bgColour;
 -    }
 -
 -    /**
 -     * Sets the value of the bgColour property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link String }
 -     * 
 -     */
 -    public void setBgColour(String value)
 -    {
 -      this.bgColour = value;
 -    }
 -
 -    /**
 -     * Gets the value of the consThreshold property.
 -     * 
 -     * @return possible object is {@link Integer }
 -     * 
 -     */
 -    public Integer getConsThreshold()
 -    {
 -      return consThreshold;
 -    }
 -
 -    /**
 -     * Sets the value of the consThreshold property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Integer }
 -     * 
 -     */
 -    public void setConsThreshold(Integer value)
 -    {
 -      this.consThreshold = value;
 -    }
 -
 -    /**
 -     * Gets the value of the pidThreshold property.
 -     * 
 -     * @return possible object is {@link Integer }
 -     * 
 -     */
 -    public Integer getPidThreshold()
 -    {
 -      return pidThreshold;
 -    }
 -
 -    /**
 -     * Sets the value of the pidThreshold property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Integer }
 -     * 
 -     */
 -    public void setPidThreshold(Integer value)
 -    {
 -      this.pidThreshold = value;
 -    }
 -
 -    /**
 -     * Gets the value of the title property.
 -     * 
 -     * @return possible object is {@link String }
 -     * 
 -     */
 -    public String getTitle()
 -    {
 -      return title;
 -    }
 -
 -    /**
 -     * Sets the value of the title property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link String }
 -     * 
 -     */
 -    public void setTitle(String value)
 -    {
 -      this.title = value;
 -    }
 -
 -    /**
 -     * Gets the value of the showFullId property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public Boolean isShowFullId()
 -    {
 -      return showFullId;
 -    }
 -
 -    /**
 -     * Sets the value of the showFullId property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setShowFullId(Boolean value)
 -    {
 -      this.showFullId = value;
 -    }
 -
 -    /**
 -     * Gets the value of the rightAlignIds property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public Boolean isRightAlignIds()
 -    {
 -      return rightAlignIds;
 -    }
 -
 -    /**
 -     * Sets the value of the rightAlignIds property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setRightAlignIds(Boolean value)
 -    {
 -      this.rightAlignIds = value;
 -    }
 -
 -    /**
 -     * Gets the value of the showText property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public Boolean isShowText()
 -    {
 -      return showText;
 -    }
 -
 -    /**
 -     * Sets the value of the showText property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setShowText(Boolean value)
 -    {
 -      this.showText = value;
 -    }
 -
 -    /**
 -     * Gets the value of the showColourText property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public Boolean isShowColourText()
 -    {
 -      return showColourText;
 -    }
 -
 -    /**
 -     * Sets the value of the showColourText property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setShowColourText(Boolean value)
 -    {
 -      this.showColourText = value;
 -    }
 -
 -    /**
 -     * Gets the value of the showUnconserved property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public boolean isShowUnconserved()
 -    {
 -      if (showUnconserved == null)
 -      {
 -        return false;
 -      }
 -      else
 -      {
 -        return showUnconserved;
 -      }
 -    }
 -
 -    /**
 -     * Sets the value of the showUnconserved property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setShowUnconserved(Boolean value)
 -    {
 -      this.showUnconserved = value;
 -    }
 -
 -    /**
 -     * Gets the value of the showBoxes property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public Boolean isShowBoxes()
 -    {
 -      return showBoxes;
 -    }
 -
 -    /**
 -     * Sets the value of the showBoxes property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setShowBoxes(Boolean value)
 -    {
 -      this.showBoxes = value;
 -    }
 -
 -    /**
 -     * Gets the value of the wrapAlignment property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public Boolean isWrapAlignment()
 -    {
 -      return wrapAlignment;
 -    }
 -
 -    /**
 -     * Sets the value of the wrapAlignment property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setWrapAlignment(Boolean value)
 -    {
 -      this.wrapAlignment = value;
 -    }
 -
 -    /**
 -     * Gets the value of the renderGaps property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public Boolean isRenderGaps()
 -    {
 -      return renderGaps;
 -    }
 -
 -    /**
 -     * Sets the value of the renderGaps property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setRenderGaps(Boolean value)
 -    {
 -      this.renderGaps = value;
 -    }
 -
 -    /**
 -     * Gets the value of the showSequenceFeatures property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public Boolean isShowSequenceFeatures()
 -    {
 -      return showSequenceFeatures;
 -    }
 -
 -    /**
 -     * Sets the value of the showSequenceFeatures property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setShowSequenceFeatures(Boolean value)
 -    {
 -      this.showSequenceFeatures = value;
 -    }
 -
 -    /**
 -     * Gets the value of the showNPfeatureTooltip property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public Boolean isShowNPfeatureTooltip()
 -    {
 -      return showNPfeatureTooltip;
 -    }
 -
 -    /**
 -     * Sets the value of the showNPfeatureTooltip property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setShowNPfeatureTooltip(Boolean value)
 -    {
 -      this.showNPfeatureTooltip = value;
 -    }
 -
 -    /**
 -     * Gets the value of the showDbRefTooltip property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public Boolean isShowDbRefTooltip()
 -    {
 -      return showDbRefTooltip;
 -    }
 -
 -    /**
 -     * Sets the value of the showDbRefTooltip property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setShowDbRefTooltip(Boolean value)
 -    {
 -      this.showDbRefTooltip = value;
 -    }
 -
 -    /**
 -     * Gets the value of the followHighlight property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public boolean isFollowHighlight()
 -    {
 -      if (followHighlight == null)
 -      {
 -        return true;
 -      }
 -      else
 -      {
 -        return followHighlight;
 -      }
 -    }
 -
 -    /**
 -     * Sets the value of the followHighlight property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setFollowHighlight(Boolean value)
 -    {
 -      this.followHighlight = value;
 -    }
 -
 -    /**
 -     * Gets the value of the followSelection property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public boolean isFollowSelection()
 -    {
 -      if (followSelection == null)
 -      {
 -        return true;
 -      }
 -      else
 -      {
 -        return followSelection;
 -      }
 -    }
 -
 -    /**
 -     * Sets the value of the followSelection property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setFollowSelection(Boolean value)
 -    {
 -      this.followSelection = value;
 -    }
 -
 -    /**
 -     * Gets the value of the showAnnotation property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public Boolean isShowAnnotation()
 -    {
 -      return showAnnotation;
 -    }
 -
 -    /**
 -     * Sets the value of the showAnnotation property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setShowAnnotation(Boolean value)
 -    {
 -      this.showAnnotation = value;
 -    }
 -
 -    /**
 -     * Gets the value of the centreColumnLabels property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public boolean isCentreColumnLabels()
 -    {
 -      if (centreColumnLabels == null)
 -      {
 -        return false;
 -      }
 -      else
 -      {
 -        return centreColumnLabels;
 -      }
 -    }
 -
 -    /**
 -     * Sets the value of the centreColumnLabels property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setCentreColumnLabels(Boolean value)
 -    {
 -      this.centreColumnLabels = value;
 -    }
 -
 -    /**
 -     * Gets the value of the showGroupConservation property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public boolean isShowGroupConservation()
 -    {
 -      if (showGroupConservation == null)
 -      {
 -        return false;
 -      }
 -      else
 -      {
 -        return showGroupConservation;
 -      }
 -    }
 -
 -    /**
 -     * Sets the value of the showGroupConservation property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setShowGroupConservation(Boolean value)
 -    {
 -      this.showGroupConservation = value;
 -    }
 -
 -    /**
 -     * Gets the value of the showGroupConsensus property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public boolean isShowGroupConsensus()
 -    {
 -      if (showGroupConsensus == null)
 -      {
 -        return false;
 -      }
 -      else
 -      {
 -        return showGroupConsensus;
 -      }
 -    }
 -
 -    /**
 -     * Sets the value of the showGroupConsensus property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setShowGroupConsensus(Boolean value)
 -    {
 -      this.showGroupConsensus = value;
 -    }
 -
 -    /**
 -     * Gets the value of the showConsensusHistogram property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public boolean isShowConsensusHistogram()
 -    {
 -      if (showConsensusHistogram == null)
 -      {
 -        return true;
 -      }
 -      else
 -      {
 -        return showConsensusHistogram;
 -      }
 -    }
 -
 -    /**
 -     * Sets the value of the showConsensusHistogram property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setShowConsensusHistogram(Boolean value)
 -    {
 -      this.showConsensusHistogram = value;
 -    }
 -
 -    /**
 -     * Gets the value of the showSequenceLogo property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public boolean isShowSequenceLogo()
 -    {
 -      if (showSequenceLogo == null)
 -      {
 -        return false;
 -      }
 -      else
 -      {
 -        return showSequenceLogo;
 -      }
 -    }
 -
 -    /**
 -     * Sets the value of the showSequenceLogo property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setShowSequenceLogo(Boolean value)
 -    {
 -      this.showSequenceLogo = value;
 -    }
 -
 -    /**
 -     * Gets the value of the normaliseSequenceLogo property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public boolean isNormaliseSequenceLogo()
 -    {
 -      if (normaliseSequenceLogo == null)
 -      {
 -        return false;
 -      }
 -      else
 -      {
 -        return normaliseSequenceLogo;
 -      }
 -    }
 -
 -    /**
 -     * Sets the value of the normaliseSequenceLogo property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setNormaliseSequenceLogo(Boolean value)
 -    {
 -      this.normaliseSequenceLogo = value;
 -    }
 -
 -    /**
 -     * Gets the value of the ignoreGapsinConsensus property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public boolean isIgnoreGapsinConsensus()
 -    {
 -      if (ignoreGapsinConsensus == null)
 -      {
 -        return true;
 -      }
 -      else
 -      {
 -        return ignoreGapsinConsensus;
 -      }
 -    }
 -
 -    /**
 -     * Sets the value of the ignoreGapsinConsensus property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setIgnoreGapsinConsensus(Boolean value)
 -    {
 -      this.ignoreGapsinConsensus = value;
 -    }
 -
 -    /**
 -     * Gets the value of the startRes property.
 -     * 
 -     * @return possible object is {@link Integer }
 -     * 
 -     */
 -    public Integer getStartRes()
 -    {
 -      return startRes;
 -    }
 -
 -    /**
 -     * Sets the value of the startRes property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Integer }
 -     * 
 -     */
 -    public void setStartRes(Integer value)
 -    {
 -      this.startRes = value;
 -    }
 -
 -    /**
 -     * Gets the value of the startSeq property.
 -     * 
 -     * @return possible object is {@link Integer }
 -     * 
 -     */
 -    public Integer getStartSeq()
 -    {
 -      return startSeq;
 -    }
 -
 -    /**
 -     * Sets the value of the startSeq property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Integer }
 -     * 
 -     */
 -    public void setStartSeq(Integer value)
 -    {
 -      this.startSeq = value;
 -    }
 -
 -    /**
 -     * Gets the value of the fontName property.
 -     * 
 -     * @return possible object is {@link String }
 -     * 
 -     */
 -    public String getFontName()
 -    {
 -      return fontName;
 -    }
 -
 -    /**
 -     * Sets the value of the fontName property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link String }
 -     * 
 -     */
 -    public void setFontName(String value)
 -    {
 -      this.fontName = value;
 -    }
 -
 -    /**
 -     * Gets the value of the fontSize property.
 -     * 
 -     * @return possible object is {@link Integer }
 -     * 
 -     */
 -    public Integer getFontSize()
 -    {
 -      return fontSize;
 -    }
 -
 -    /**
 -     * Sets the value of the fontSize property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Integer }
 -     * 
 -     */
 -    public void setFontSize(Integer value)
 -    {
 -      this.fontSize = value;
 -    }
 -
 -    /**
 -     * Gets the value of the fontStyle property.
 -     * 
 -     * @return possible object is {@link Integer }
 -     * 
 -     */
 -    public Integer getFontStyle()
 -    {
 -      return fontStyle;
 -    }
 -
 -    /**
 -     * Sets the value of the fontStyle property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Integer }
 -     * 
 -     */
 -    public void setFontStyle(Integer value)
 -    {
 -      this.fontStyle = value;
 -    }
 -
 -    /**
 -     * Gets the value of the scaleProteinAsCdna property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public boolean isScaleProteinAsCdna()
 -    {
 -      if (scaleProteinAsCdna == null)
 -      {
 -        return true;
 -      }
 -      else
 -      {
 -        return scaleProteinAsCdna;
 -      }
 -    }
 -
 -    /**
 -     * Sets the value of the scaleProteinAsCdna property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setScaleProteinAsCdna(Boolean value)
 -    {
 -      this.scaleProteinAsCdna = value;
 -    }
 -
 -    /**
 -     * Gets the value of the viewName property.
 -     * 
 -     * @return possible object is {@link String }
 -     * 
 -     */
 -    public String getViewName()
 -    {
 -      return viewName;
 -    }
 -
 -    /**
 -     * Sets the value of the viewName property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link String }
 -     * 
 -     */
 -    public void setViewName(String value)
 -    {
 -      this.viewName = value;
 -    }
 -
 -    /**
 -     * Gets the value of the sequenceSetId property.
 -     * 
 -     * @return possible object is {@link String }
 -     * 
 -     */
 -    public String getSequenceSetId()
 -    {
 -      return sequenceSetId;
 -    }
 -
 -    /**
 -     * Sets the value of the sequenceSetId property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link String }
 -     * 
 -     */
 -    public void setSequenceSetId(String value)
 -    {
 -      this.sequenceSetId = value;
 -    }
 -
 -    /**
 -     * Gets the value of the gatheredViews property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public Boolean isGatheredViews()
 -    {
 -      return gatheredViews;
 -    }
 -
 -    /**
 -     * Sets the value of the gatheredViews property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setGatheredViews(Boolean value)
 -    {
 -      this.gatheredViews = value;
 -    }
 -
 -    /**
 -     * Gets the value of the textCol1 property.
 -     * 
 -     * @return possible object is {@link Integer }
 -     * 
 -     */
 -    public Integer getTextCol1()
 -    {
 -      return textCol1;
 -    }
 -
 -    /**
 -     * Sets the value of the textCol1 property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Integer }
 -     * 
 -     */
 -    public void setTextCol1(Integer value)
 -    {
 -      this.textCol1 = value;
 -    }
 -
 -    /**
 -     * Gets the value of the textCol2 property.
 -     * 
 -     * @return possible object is {@link Integer }
 -     * 
 -     */
 -    public Integer getTextCol2()
 -    {
 -      return textCol2;
 -    }
 -
 -    /**
 -     * Sets the value of the textCol2 property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Integer }
 -     * 
 -     */
 -    public void setTextCol2(Integer value)
 -    {
 -      this.textCol2 = value;
 -    }
 -
 -    /**
 -     * Gets the value of the textColThreshold property.
 -     * 
 -     * @return possible object is {@link Integer }
 -     * 
 -     */
 -    public Integer getTextColThreshold()
 -    {
 -      return textColThreshold;
 -    }
 -
 -    /**
 -     * Sets the value of the textColThreshold property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Integer }
 -     * 
 -     */
 -    public void setTextColThreshold(Integer value)
 -    {
 -      this.textColThreshold = value;
 -    }
 -
 -    /**
 -     * Gets the value of the id property.
 -     * 
 -     * @return possible object is {@link String }
 -     * 
 -     */
 -    public String getId()
 -    {
 -      return id;
 -    }
 -
 -    /**
 -     * Sets the value of the id property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link String }
 -     * 
 -     */
 -    public void setId(String value)
 -    {
 -      this.id = value;
 -    }
 -
 -    /**
 -     * Gets the value of the complementId property.
 -     * 
 -     * @return possible object is {@link String }
 -     * 
 -     */
 -    public String getComplementId()
 -    {
 -      return complementId;
 -    }
 -
 -    /**
 -     * Sets the value of the complementId property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link String }
 -     * 
 -     */
 -    public void setComplementId(String value)
 -    {
 -      this.complementId = value;
 -    }
 -
 -    /**
 -     * Gets the value of the width property.
 -     * 
 -     * @return possible object is {@link Integer }
 -     * 
 -     */
 -    public Integer getWidth()
 -    {
 -      return width;
 -    }
 -
 -    /**
 -     * Sets the value of the width property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Integer }
 -     * 
 -     */
 -    public void setWidth(Integer value)
 -    {
 -      this.width = value;
 -    }
 -
 -    /**
 -     * Gets the value of the height property.
 -     * 
 -     * @return possible object is {@link Integer }
 -     * 
 -     */
 -    public Integer getHeight()
 -    {
 -      return height;
 -    }
 -
 -    /**
 -     * Sets the value of the height property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Integer }
 -     * 
 -     */
 -    public void setHeight(Integer value)
 -    {
 -      this.height = value;
 -    }
 -
 -    /**
 -     * Gets the value of the xpos property.
 -     * 
 -     * @return possible object is {@link Integer }
 -     * 
 -     */
 -    public Integer getXpos()
 -    {
 -      return xpos;
 -    }
 -
 -    /**
 -     * Sets the value of the xpos property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Integer }
 -     * 
 -     */
 -    public void setXpos(Integer value)
 -    {
 -      this.xpos = value;
 -    }
 -
 -    /**
 -     * Gets the value of the ypos property.
 -     * 
 -     * @return possible object is {@link Integer }
 -     * 
 -     */
 -    public Integer getYpos()
 -    {
 -      return ypos;
 -    }
 -
 -    /**
 -     * Sets the value of the ypos property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Integer }
 -     * 
 -     */
 -    public void setYpos(Integer value)
 -    {
 -      this.ypos = value;
 -    }
 -
 -    /**
 -     * <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;extension base="{www.jalview.org/xml/wsparamset}WebServiceParameterSet">
 -     *       &lt;attribute name="calcId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
 -     *       &lt;attribute name="needsUpdate" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
 -     *       &lt;attribute name="autoUpdate" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 -     *     &lt;/extension>
 -     *   &lt;/complexContent>
 -     * &lt;/complexType>
 -     * </pre>
 -     * 
 -     * 
 -     */
 -    @XmlAccessorType(XmlAccessType.FIELD)
 -    @XmlType(name = "")
 -    public static class CalcIdParam extends WebServiceParameterSet
 -    {
 -
 -      @XmlAttribute(name = "calcId", required = true)
 -      protected String calcId;
 -
 -      @XmlAttribute(name = "needsUpdate")
 -      protected Boolean needsUpdate;
 -
 -      @XmlAttribute(name = "autoUpdate", required = true)
 -      protected boolean autoUpdate;
 -
 -      /**
 -       * Gets the value of the calcId property.
 -       * 
 -       * @return possible object is {@link String }
 -       * 
 -       */
 -      public String getCalcId()
 -      {
 -        return calcId;
 -      }
 -
 -      /**
 -       * Sets the value of the calcId property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link String }
 -       * 
 -       */
 -      public void setCalcId(String value)
 -      {
 -        this.calcId = value;
 -      }
 -
 -      /**
 -       * Gets the value of the needsUpdate property.
 -       * 
 -       * @return possible object is {@link Boolean }
 -       * 
 -       */
 -      public boolean isNeedsUpdate()
 -      {
 -        if (needsUpdate == null)
 -        {
 -          return false;
 -        }
 -        else
 -        {
 -          return needsUpdate;
 -        }
 -      }
 -
 -      /**
 -       * Sets the value of the needsUpdate property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link Boolean }
 -       * 
 -       */
 -      public void setNeedsUpdate(Boolean value)
 -      {
 -        this.needsUpdate = value;
 -      }
 -
 -      /**
 -       * Gets the value of the autoUpdate property.
 -       * 
 -       */
 -      public boolean isAutoUpdate()
 -      {
 -        return autoUpdate;
 -      }
 -
 -      /**
 -       * Sets the value of the autoUpdate property.
 -       * 
 -       */
 -      public void setAutoUpdate(boolean value)
 -      {
 -        this.autoUpdate = value;
 -      }
 -
 -    }
 -
 -    /**
 -     * <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;attribute name="start" type="{http://www.w3.org/2001/XMLSchema}int" />
 -     *       &lt;attribute name="end" type="{http://www.w3.org/2001/XMLSchema}int" />
 -     *     &lt;/restriction>
 -     *   &lt;/complexContent>
 -     * &lt;/complexType>
 -     * </pre>
 -     * 
 -     * 
 -     */
 -    @XmlAccessorType(XmlAccessType.FIELD)
 -    @XmlType(name = "")
 -    public static class HiddenColumns
 -    {
 -
 -      @XmlAttribute(name = "start")
 -      protected Integer start;
 -
 -      @XmlAttribute(name = "end")
 -      protected Integer end;
 -
 -      /**
 -       * Gets the value of the start property.
 -       * 
 -       * @return possible object is {@link Integer }
 -       * 
 -       */
 -      public Integer getStart()
 -      {
 -        return start;
 -      }
 -
 -      /**
 -       * Sets the value of the start property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link Integer }
 -       * 
 -       */
 -      public void setStart(Integer value)
 -      {
 -        this.start = value;
 -      }
 -
 -      /**
 -       * Gets the value of the end property.
 -       * 
 -       * @return possible object is {@link Integer }
 -       * 
 -       */
 -      public Integer getEnd()
 -      {
 -        return end;
 -      }
 -
 -      /**
 -       * Sets the value of the end property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link Integer }
 -       * 
 -       */
 -      public void setEnd(Integer value)
 -      {
 -        this.end = value;
 -      }
 -
 -    }
 -
 -  }
 -
 -}
@@@ -1,11 -1,10 +1,11 @@@
  //
--// This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
--// See https://eclipse-ee4j.github.io/jaxb-ri 
++// 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: 2022.02.07 at 04:44:47 PM GMT 
 -// Generated on: 2021.08.30 at 11:05:22 AM BST 
++// Generated on: 2023.01.31 at 04:07:08 PM GMT 
  //
  
 +
  package jalview.xml.binding.jalview;
  
  import java.util.ArrayList;
@@@ -16,57 -15,53 +16,57 @@@ import javax.xml.bind.annotation.XmlAtt
  import javax.xml.bind.annotation.XmlElement;
  import javax.xml.bind.annotation.XmlType;
  
 +
  /**
-- * &lt;p&gt;Java class for JalviewUserColours complex type.
++ * <p>Java class for JalviewUserColours complex type.
   * 
-  * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
 - * &lt;p&gt;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.
   * 
-  * &lt;pre&gt;
-  * &amp;lt;complexType name="JalviewUserColours"&amp;gt;
-  *   &amp;lt;complexContent&amp;gt;
-  *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *       &amp;lt;sequence&amp;gt;
-  *         &amp;lt;element name="Version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&amp;gt;
-  *         &amp;lt;element name="colour" maxOccurs="unbounded" minOccurs="0"&amp;gt;
-  *           &amp;lt;complexType&amp;gt;
-  *             &amp;lt;complexContent&amp;gt;
-  *               &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *                 &amp;lt;sequence&amp;gt;
-  *                   &amp;lt;element name="attributeName" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="2" minOccurs="0"/&amp;gt;
-  *                 &amp;lt;/sequence&amp;gt;
-  *                 &amp;lt;attribute name="Name" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *                 &amp;lt;attribute name="RGB" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *                 &amp;lt;attribute name="minRGB" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *                 &amp;lt;attribute name="noValueColour" type="{www.jalview.org/colours}NoValueColour" default="Min" /&amp;gt;
-  *                 &amp;lt;attribute name="threshType" type="{www.jalview.org/colours}ThresholdType" /&amp;gt;
-  *                 &amp;lt;attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt;
-  *                 &amp;lt;attribute name="max" type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt;
-  *                 &amp;lt;attribute name="min" type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt;
-  *                 &amp;lt;attribute name="colourByLabel" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-  *                 &amp;lt;attribute name="autoScale" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-  *               &amp;lt;/restriction&amp;gt;
-  *             &amp;lt;/complexContent&amp;gt;
-  *           &amp;lt;/complexType&amp;gt;
-  *         &amp;lt;/element&amp;gt;
-  *         &amp;lt;element name="filter" maxOccurs="unbounded" minOccurs="0"&amp;gt;
-  *           &amp;lt;complexType&amp;gt;
-  *             &amp;lt;complexContent&amp;gt;
-  *               &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *                 &amp;lt;sequence&amp;gt;
-  *                   &amp;lt;element name="matcherSet" type="{www.jalview.org/colours}FeatureMatcherSet"/&amp;gt;
-  *                 &amp;lt;/sequence&amp;gt;
-  *                 &amp;lt;attribute name="featureType" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *               &amp;lt;/restriction&amp;gt;
-  *             &amp;lt;/complexContent&amp;gt;
-  *           &amp;lt;/complexType&amp;gt;
-  *         &amp;lt;/element&amp;gt;
-  *       &amp;lt;/sequence&amp;gt;
-  *       &amp;lt;attribute name="schemeName" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *     &amp;lt;/restriction&amp;gt;
-  *   &amp;lt;/complexContent&amp;gt;
-  * &amp;lt;/complexType&amp;gt;
-  * &lt;/pre&gt;
 - * &lt;pre&gt; &amp;lt;complexType name="JalviewUserColours"&amp;gt;
 - * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
 - * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
 - * &amp;lt;sequence&amp;gt; &amp;lt;element name="Version"
 - * type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&amp;gt;
 - * &amp;lt;element name="colour" maxOccurs="unbounded" minOccurs="0"&amp;gt;
 - * &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
 - * &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
 - * &amp;lt;sequence&amp;gt; &amp;lt;element name="attributeName"
 - * type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="2"
 - * minOccurs="0"/&amp;gt; &amp;lt;/sequence&amp;gt; &amp;lt;attribute
 - * name="Name" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
 - * &amp;lt;attribute name="RGB" use="required"
 - * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
 - * name="minRGB" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
 - * &amp;lt;attribute name="noValueColour"
 - * type="{www.jalview.org/colours}NoValueColour" default="Min" /&amp;gt;
 - * &amp;lt;attribute name="threshType"
 - * type="{www.jalview.org/colours}ThresholdType" /&amp;gt; &amp;lt;attribute
 - * name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt;
 - * &amp;lt;attribute name="max" type="{http://www.w3.org/2001/XMLSchema}float"
 - * /&amp;gt; &amp;lt;attribute name="min"
 - * type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt; &amp;lt;attribute
 - * name="colourByLabel" type="{http://www.w3.org/2001/XMLSchema}boolean"
 - * /&amp;gt; &amp;lt;attribute name="autoScale"
 - * type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
 - * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 - * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt; &amp;lt;element
 - * name="filter" maxOccurs="unbounded" minOccurs="0"&amp;gt;
 - * &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
 - * &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
 - * &amp;lt;sequence&amp;gt; &amp;lt;element name="matcherSet"
 - * type="{www.jalview.org/colours}FeatureMatcherSet"/&amp;gt;
 - * &amp;lt;/sequence&amp;gt; &amp;lt;attribute name="featureType" use="required"
 - * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
 - * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 - * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt;
 - * &amp;lt;/sequence&amp;gt; &amp;lt;attribute name="schemeName"
 - * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
 - * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 - * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
++ * <pre>
++ * &lt;complexType name="JalviewUserColours">
++ *   &lt;complexContent>
++ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++ *       &lt;sequence>
++ *         &lt;element name="Version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
++ *         &lt;element name="colour" maxOccurs="unbounded" minOccurs="0">
++ *           &lt;complexType>
++ *             &lt;complexContent>
++ *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++ *                 &lt;sequence>
++ *                   &lt;element name="attributeName" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="2" minOccurs="0"/>
++ *                 &lt;/sequence>
++ *                 &lt;attribute name="Name" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *                 &lt;attribute name="RGB" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *                 &lt;attribute name="minRGB" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *                 &lt;attribute name="noValueColour" type="{www.jalview.org/colours}NoValueColour" default="Min" />
++ *                 &lt;attribute name="threshType" type="{www.jalview.org/colours}ThresholdType" />
++ *                 &lt;attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" />
++ *                 &lt;attribute name="max" type="{http://www.w3.org/2001/XMLSchema}float" />
++ *                 &lt;attribute name="min" type="{http://www.w3.org/2001/XMLSchema}float" />
++ *                 &lt;attribute name="colourByLabel" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++ *                 &lt;attribute name="autoScale" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++ *               &lt;/restriction>
++ *             &lt;/complexContent>
++ *           &lt;/complexType>
++ *         &lt;/element>
++ *         &lt;element name="filter" maxOccurs="unbounded" minOccurs="0">
++ *           &lt;complexType>
++ *             &lt;complexContent>
++ *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++ *                 &lt;sequence>
++ *                   &lt;element name="matcherSet" type="{www.jalview.org/colours}FeatureMatcherSet"/>
++ *                 &lt;/sequence>
++ *                 &lt;attribute name="featureType" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *               &lt;/restriction>
++ *             &lt;/complexContent>
++ *           &lt;/complexType>
++ *         &lt;/element>
++ *       &lt;/sequence>
++ *       &lt;attribute name="schemeName" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *     &lt;/restriction>
++ *   &lt;/complexContent>
++ * &lt;/complexType>
++ * </pre>
   * 
   * 
   */
@@@ -112,61 -380,72 +112,61 @@@ public class JalviewUserColours 
      }
  
      /**
 -     * Gets the value of the threshType property.
 +     * Gets the value of the colour property.
       * 
-      * &lt;p&gt;
 -     * @return possible object is {@link ThresholdType }
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the colour property.
++     * This is why there is not a <CODE>set</CODE> method for the colour property.
       * 
-      * &lt;p&gt;
 -     */
 -    public ThresholdType getThreshType()
 -    {
 -      return threshType;
 -    }
 -
 -    /**
 -     * Sets the value of the threshType property.
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getColour().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
       * 
 -     * @param value
 -     *          allowed object is {@link ThresholdType }
       * 
-      * &lt;p&gt;
 -     */
 -    public void setThreshType(ThresholdType value)
 -    {
 -      this.threshType = value;
 -    }
 -
 -    /**
 -     * Gets the value of the threshold property.
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link JalviewUserColours.Colour }
       * 
 -     * @return possible object is {@link Float }
       * 
       */
 -    public Float getThreshold()
 -    {
 -      return threshold;
 +    public List<JalviewUserColours.Colour> getColour() {
 +        if (colour == null) {
 +            colour = new ArrayList<JalviewUserColours.Colour>();
 +        }
 +        return this.colour;
      }
  
      /**
 -     * Sets the value of the threshold property.
 +     * Gets the value of the filter property.
       * 
-      * &lt;p&gt;
 -     * @param value
 -     *          allowed object is {@link Float }
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the filter property.
++     * This is why there is not a <CODE>set</CODE> method for the filter property.
       * 
-      * &lt;p&gt;
 -     */
 -    public void setThreshold(Float value)
 -    {
 -      this.threshold = value;
 -    }
 -
 -    /**
 -     * Gets the value of the max property.
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getFilter().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
       * 
 -     * @return possible object is {@link Float }
       * 
-      * &lt;p&gt;
 -     */
 -    public Float getMax()
 -    {
 -      return max;
 -    }
 -
 -    /**
 -     * Sets the value of the max property.
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link JalviewUserColours.Filter }
       * 
 -     * @param value
 -     *          allowed object is {@link Float }
       * 
       */
 -    public void setMax(Float value)
 -    {
 -      this.max = value;
 +    public List<JalviewUserColours.Filter> getFilter() {
 +        if (filter == null) {
 +            filter = new ArrayList<JalviewUserColours.Filter>();
 +        }
 +        return this.filter;
      }
  
      /**
      }
  
      /**
 -     * Sets the value of the min property.
 +     * Sets the value of the schemeName property.
       * 
       * @param value
 -     *          allowed object is {@link Float }
 -     * 
 -     */
 -    public void setMin(Float value)
 -    {
 -      this.min = value;
 -    }
 -
 -    /**
 -     * Gets the value of the colourByLabel property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 +     *     allowed object is
 +     *     {@link String }
 +     *     
       */
 -    public Boolean isColourByLabel()
 -    {
 -      return colourByLabel;
 +    public void setSchemeName(String value) {
 +        this.schemeName = value;
      }
  
 -    /**
 -     * Sets the value of the colourByLabel property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setColourByLabel(Boolean value)
 -    {
 -      this.colourByLabel = value;
 -    }
  
      /**
-      * &lt;p&gt;Java class for anonymous complex type.
 -     * Gets the value of the autoScale property.
++     * <p>Java class for anonymous complex type.
 +     * 
-      * &lt;p&gt;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.
 +     * 
-      * &lt;pre&gt;
-      * &amp;lt;complexType&amp;gt;
-      *   &amp;lt;complexContent&amp;gt;
-      *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-      *       &amp;lt;sequence&amp;gt;
-      *         &amp;lt;element name="attributeName" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="2" minOccurs="0"/&amp;gt;
-      *       &amp;lt;/sequence&amp;gt;
-      *       &amp;lt;attribute name="Name" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-      *       &amp;lt;attribute name="RGB" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-      *       &amp;lt;attribute name="minRGB" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-      *       &amp;lt;attribute name="noValueColour" type="{www.jalview.org/colours}NoValueColour" default="Min" /&amp;gt;
-      *       &amp;lt;attribute name="threshType" type="{www.jalview.org/colours}ThresholdType" /&amp;gt;
-      *       &amp;lt;attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt;
-      *       &amp;lt;attribute name="max" type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt;
-      *       &amp;lt;attribute name="min" type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt;
-      *       &amp;lt;attribute name="colourByLabel" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-      *       &amp;lt;attribute name="autoScale" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-      *     &amp;lt;/restriction&amp;gt;
-      *   &amp;lt;/complexContent&amp;gt;
-      * &amp;lt;/complexType&amp;gt;
-      * &lt;/pre&gt;
++     * <pre>
++     * &lt;complexType>
++     *   &lt;complexContent>
++     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++     *       &lt;sequence>
++     *         &lt;element name="attributeName" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="2" minOccurs="0"/>
++     *       &lt;/sequence>
++     *       &lt;attribute name="Name" type="{http://www.w3.org/2001/XMLSchema}string" />
++     *       &lt;attribute name="RGB" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
++     *       &lt;attribute name="minRGB" type="{http://www.w3.org/2001/XMLSchema}string" />
++     *       &lt;attribute name="noValueColour" type="{www.jalview.org/colours}NoValueColour" default="Min" />
++     *       &lt;attribute name="threshType" type="{www.jalview.org/colours}ThresholdType" />
++     *       &lt;attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" />
++     *       &lt;attribute name="max" type="{http://www.w3.org/2001/XMLSchema}float" />
++     *       &lt;attribute name="min" type="{http://www.w3.org/2001/XMLSchema}float" />
++     *       &lt;attribute name="colourByLabel" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++     *       &lt;attribute name="autoScale" type="{http://www.w3.org/2001/XMLSchema}boolean" />
++     *     &lt;/restriction>
++     *   &lt;/complexContent>
++     * &lt;/complexType>
++     * </pre>
       * 
 -     * @return possible object is {@link Boolean }
       * 
       */
 -    public Boolean isAutoScale()
 -    {
 -      return autoScale;
 -    }
 +    @XmlAccessorType(XmlAccessType.FIELD)
 +    @XmlType(name = "", propOrder = {
 +        "attributeName"
 +    })
 +    public static class Colour {
 +
 +        @XmlElement(namespace = "")
 +        protected List<String> attributeName;
 +        @XmlAttribute(name = "Name")
 +        protected String name;
 +        @XmlAttribute(name = "RGB", required = true)
 +        protected String rgb;
 +        @XmlAttribute(name = "minRGB")
 +        protected String minRGB;
 +        @XmlAttribute(name = "noValueColour")
 +        protected NoValueColour noValueColour;
 +        @XmlAttribute(name = "threshType")
 +        protected ThresholdType threshType;
 +        @XmlAttribute(name = "threshold")
 +        protected Float threshold;
 +        @XmlAttribute(name = "max")
 +        protected Float max;
 +        @XmlAttribute(name = "min")
 +        protected Float min;
 +        @XmlAttribute(name = "colourByLabel")
 +        protected Boolean colourByLabel;
 +        @XmlAttribute(name = "autoScale")
 +        protected Boolean autoScale;
 +
 +        /**
 +         * Gets the value of the attributeName property.
 +         * 
-          * &lt;p&gt;
++         * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the attributeName property.
++         * This is why there is not a <CODE>set</CODE> method for the attributeName property.
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * For example, to add a new item, do as follows:
-          * &lt;pre&gt;
++         * <pre>
 +         *    getAttributeName().add(newItem);
-          * &lt;/pre&gt;
++         * </pre>
 +         * 
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * Objects of the following type(s) are allowed in the list
 +         * {@link String }
 +         * 
 +         * 
 +         */
 +        public List<String> getAttributeName() {
 +            if (attributeName == null) {
 +                attributeName = new ArrayList<String>();
 +            }
 +            return this.attributeName;
 +        }
 +
 +        /**
 +         * Gets the value of the name property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link String }
 +         *     
 +         */
 +        public String getName() {
 +            return name;
 +        }
 +
 +        /**
 +         * Sets the value of the name property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link String }
 +         *     
 +         */
 +        public void setName(String value) {
 +            this.name = value;
 +        }
 +
 +        /**
 +         * Gets the value of the rgb property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link String }
 +         *     
 +         */
 +        public String getRGB() {
 +            return rgb;
 +        }
 +
 +        /**
 +         * Sets the value of the rgb property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link String }
 +         *     
 +         */
 +        public void setRGB(String value) {
 +            this.rgb = value;
 +        }
 +
 +        /**
 +         * Gets the value of the minRGB property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link String }
 +         *     
 +         */
 +        public String getMinRGB() {
 +            return minRGB;
 +        }
 +
 +        /**
 +         * Sets the value of the minRGB property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link String }
 +         *     
 +         */
 +        public void setMinRGB(String value) {
 +            this.minRGB = value;
 +        }
 +
 +        /**
 +         * Gets the value of the noValueColour property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link NoValueColour }
 +         *     
 +         */
 +        public NoValueColour getNoValueColour() {
 +            if (noValueColour == null) {
 +                return NoValueColour.MIN;
 +            } else {
 +                return noValueColour;
 +            }
 +        }
 +
 +        /**
 +         * Sets the value of the noValueColour property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link NoValueColour }
 +         *     
 +         */
 +        public void setNoValueColour(NoValueColour value) {
 +            this.noValueColour = value;
 +        }
 +
 +        /**
 +         * Gets the value of the threshType property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link ThresholdType }
 +         *     
 +         */
 +        public ThresholdType getThreshType() {
 +            return threshType;
 +        }
 +
 +        /**
 +         * Sets the value of the threshType property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link ThresholdType }
 +         *     
 +         */
 +        public void setThreshType(ThresholdType value) {
 +            this.threshType = value;
 +        }
 +
 +        /**
 +         * Gets the value of the threshold property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Float }
 +         *     
 +         */
 +        public Float getThreshold() {
 +            return threshold;
 +        }
 +
 +        /**
 +         * Sets the value of the threshold property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Float }
 +         *     
 +         */
 +        public void setThreshold(Float value) {
 +            this.threshold = value;
 +        }
 +
 +        /**
 +         * Gets the value of the max property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Float }
 +         *     
 +         */
 +        public Float getMax() {
 +            return max;
 +        }
 +
 +        /**
 +         * Sets the value of the max property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Float }
 +         *     
 +         */
 +        public void setMax(Float value) {
 +            this.max = value;
 +        }
 +
 +        /**
 +         * Gets the value of the min property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Float }
 +         *     
 +         */
 +        public Float getMin() {
 +            return min;
 +        }
 +
 +        /**
 +         * Sets the value of the min property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Float }
 +         *     
 +         */
 +        public void setMin(Float value) {
 +            this.min = value;
 +        }
 +
 +        /**
 +         * Gets the value of the colourByLabel property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public Boolean isColourByLabel() {
 +            return colourByLabel;
 +        }
 +
 +        /**
 +         * Sets the value of the colourByLabel property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public void setColourByLabel(Boolean value) {
 +            this.colourByLabel = value;
 +        }
 +
 +        /**
 +         * Gets the value of the autoScale property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public Boolean isAutoScale() {
 +            return autoScale;
 +        }
 +
 +        /**
 +         * Sets the value of the autoScale property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public void setAutoScale(Boolean value) {
 +            this.autoScale = value;
 +        }
  
 -    /**
 -     * Sets the value of the autoScale property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setAutoScale(Boolean value)
 -    {
 -      this.autoScale = value;
      }
  
 -  }
 -
 -  /**
 -   * &lt;p&gt;Java class for anonymous complex type.
 -   * 
 -   * &lt;p&gt;The following schema fragment specifies the expected content
 -   * contained within this class.
 -   * 
 -   * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
 -   * &amp;lt;restriction
 -   * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
 -   * &amp;lt;sequence&amp;gt; &amp;lt;element name="matcherSet"
 -   * type="{www.jalview.org/colours}FeatureMatcherSet"/&amp;gt;
 -   * &amp;lt;/sequence&amp;gt; &amp;lt;attribute name="featureType"
 -   * use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
 -   * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 -   * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
 -   * 
 -   * 
 -   */
 -  @XmlAccessorType(XmlAccessType.FIELD)
 -  @XmlType(name = "", propOrder = { "matcherSet" })
 -  public static class Filter
 -  {
 -
 -    @XmlElement(namespace = "", required = true)
 -    protected FeatureMatcherSet matcherSet;
 -
 -    @XmlAttribute(name = "featureType", required = true)
 -    protected String featureType;
  
      /**
-      * &lt;p&gt;Java class for anonymous complex type.
 -     * Gets the value of the matcherSet property.
++     * <p>Java class for anonymous complex type.
       * 
-      * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
 -     * @return possible object is {@link FeatureMatcherSet }
++     * <p>The following schema fragment specifies the expected content contained within this class.
       * 
-      * &lt;pre&gt;
-      * &amp;lt;complexType&amp;gt;
-      *   &amp;lt;complexContent&amp;gt;
-      *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-      *       &amp;lt;sequence&amp;gt;
-      *         &amp;lt;element name="matcherSet" type="{www.jalview.org/colours}FeatureMatcherSet"/&amp;gt;
-      *       &amp;lt;/sequence&amp;gt;
-      *       &amp;lt;attribute name="featureType" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-      *     &amp;lt;/restriction&amp;gt;
-      *   &amp;lt;/complexContent&amp;gt;
-      * &amp;lt;/complexType&amp;gt;
-      * &lt;/pre&gt;
 -     */
 -    public FeatureMatcherSet getMatcherSet()
 -    {
 -      return matcherSet;
 -    }
 -
 -    /**
 -     * Sets the value of the matcherSet property.
++     * <pre>
++     * &lt;complexType>
++     *   &lt;complexContent>
++     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++     *       &lt;sequence>
++     *         &lt;element name="matcherSet" type="{www.jalview.org/colours}FeatureMatcherSet"/>
++     *       &lt;/sequence>
++     *       &lt;attribute name="featureType" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
++     *     &lt;/restriction>
++     *   &lt;/complexContent>
++     * &lt;/complexType>
++     * </pre>
       * 
 -     * @param value
 -     *          allowed object is {@link FeatureMatcherSet }
       * 
       */
 -    public void setMatcherSet(FeatureMatcherSet value)
 -    {
 -      this.matcherSet = value;
 -    }
 +    @XmlAccessorType(XmlAccessType.FIELD)
 +    @XmlType(name = "", propOrder = {
 +        "matcherSet"
 +    })
 +    public static class Filter {
 +
 +        @XmlElement(namespace = "", required = true)
 +        protected FeatureMatcherSet matcherSet;
 +        @XmlAttribute(name = "featureType", required = true)
 +        protected String featureType;
 +
 +        /**
 +         * Gets the value of the matcherSet property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link FeatureMatcherSet }
 +         *     
 +         */
 +        public FeatureMatcherSet getMatcherSet() {
 +            return matcherSet;
 +        }
 +
 +        /**
 +         * Sets the value of the matcherSet property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link FeatureMatcherSet }
 +         *     
 +         */
 +        public void setMatcherSet(FeatureMatcherSet value) {
 +            this.matcherSet = value;
 +        }
 +
 +        /**
 +         * Gets the value of the featureType property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link String }
 +         *     
 +         */
 +        public String getFeatureType() {
 +            return featureType;
 +        }
 +
 +        /**
 +         * Sets the value of the featureType property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link String }
 +         *     
 +         */
 +        public void setFeatureType(String value) {
 +            this.featureType = value;
 +        }
  
 -    /**
 -     * Gets the value of the featureType property.
 -     * 
 -     * @return possible object is {@link String }
 -     * 
 -     */
 -    public String getFeatureType()
 -    {
 -      return featureType;
      }
  
 -    /**
 -     * Sets the value of the featureType property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link String }
 -     * 
 -     */
 -    public void setFeatureType(String value)
 -    {
 -      this.featureType = value;
 -    }
 -
 -  }
 -
  }
@@@ -1,11 -1,10 +1,11 @@@
  //
--// This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
--// See https://eclipse-ee4j.github.io/jaxb-ri 
++// 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: 2022.02.07 at 04:44:47 PM GMT 
 -// Generated on: 2021.08.30 at 11:05:22 AM BST 
++// Generated on: 2023.01.31 at 04:07:08 PM GMT 
  //
  
 +
  package jalview.xml.binding.jalview;
  
  import java.math.BigInteger;
@@@ -18,126 -17,205 +18,126 @@@ import javax.xml.bind.annotation.XmlSch
  import javax.xml.bind.annotation.XmlSeeAlso;
  import javax.xml.bind.annotation.XmlType;
  
 +
  /**
   * 
 - * This effectively represents a java.util.MapList object
 + *                            This effectively represents a java.util.MapList object
 + *                    
   * 
-  * &lt;p&gt;Java class for mapListType complex type.
++ * <p>Java class for mapListType complex type.
   * 
-  * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
 - * &lt;p&gt;Java class for mapListType complex type.
++ * <p>The following schema fragment specifies the expected content contained within this class.
   * 
-  * &lt;pre&gt;
-  * &amp;lt;complexType name="mapListType"&amp;gt;
-  *   &amp;lt;complexContent&amp;gt;
-  *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *       &amp;lt;sequence&amp;gt;
-  *         &amp;lt;element name="mapListFrom" maxOccurs="unbounded" minOccurs="0"&amp;gt;
-  *           &amp;lt;complexType&amp;gt;
-  *             &amp;lt;complexContent&amp;gt;
-  *               &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *                 &amp;lt;attribute name="start" use="required" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-  *                 &amp;lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-  *               &amp;lt;/restriction&amp;gt;
-  *             &amp;lt;/complexContent&amp;gt;
-  *           &amp;lt;/complexType&amp;gt;
-  *         &amp;lt;/element&amp;gt;
-  *         &amp;lt;element name="mapListTo" maxOccurs="unbounded" minOccurs="0"&amp;gt;
-  *           &amp;lt;complexType&amp;gt;
-  *             &amp;lt;complexContent&amp;gt;
-  *               &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *                 &amp;lt;attribute name="start" use="required" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-  *                 &amp;lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-  *               &amp;lt;/restriction&amp;gt;
-  *             &amp;lt;/complexContent&amp;gt;
-  *           &amp;lt;/complexType&amp;gt;
-  *         &amp;lt;/element&amp;gt;
-  *       &amp;lt;/sequence&amp;gt;
-  *       &amp;lt;attribute name="mapFromUnit" use="required" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" /&amp;gt;
-  *       &amp;lt;attribute name="mapToUnit" use="required" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" /&amp;gt;
-  *     &amp;lt;/restriction&amp;gt;
-  *   &amp;lt;/complexContent&amp;gt;
-  * &amp;lt;/complexType&amp;gt;
-  * &lt;/pre&gt;
 - * &lt;p&gt;The following schema fragment specifies the expected content
 - * contained within this class.
 - * 
 - * &lt;pre&gt; &amp;lt;complexType name="mapListType"&amp;gt;
 - * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
 - * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
 - * &amp;lt;sequence&amp;gt; &amp;lt;element name="mapListFrom"
 - * maxOccurs="unbounded" minOccurs="0"&amp;gt; &amp;lt;complexType&amp;gt;
 - * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
 - * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attribute
 - * name="start" use="required" type="{http://www.w3.org/2001/XMLSchema}int"
 - * /&amp;gt; &amp;lt;attribute name="end" use="required"
 - * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
 - * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 - * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt; &amp;lt;element
 - * name="mapListTo" maxOccurs="unbounded" minOccurs="0"&amp;gt;
 - * &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
 - * &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
 - * &amp;lt;attribute name="start" use="required"
 - * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt; &amp;lt;attribute
 - * name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}int"
 - * /&amp;gt; &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 - * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt;
 - * &amp;lt;/sequence&amp;gt; &amp;lt;attribute name="mapFromUnit" use="required"
 - * type="{http://www.w3.org/2001/XMLSchema}positiveInteger" /&amp;gt;
 - * &amp;lt;attribute name="mapToUnit" use="required"
 - * type="{http://www.w3.org/2001/XMLSchema}positiveInteger" /&amp;gt;
 - * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 - * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
++ * <pre>
++ * &lt;complexType name="mapListType">
++ *   &lt;complexContent>
++ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++ *       &lt;sequence>
++ *         &lt;element name="mapListFrom" maxOccurs="unbounded" minOccurs="0">
++ *           &lt;complexType>
++ *             &lt;complexContent>
++ *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++ *                 &lt;attribute name="start" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
++ *                 &lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
++ *               &lt;/restriction>
++ *             &lt;/complexContent>
++ *           &lt;/complexType>
++ *         &lt;/element>
++ *         &lt;element name="mapListTo" maxOccurs="unbounded" minOccurs="0">
++ *           &lt;complexType>
++ *             &lt;complexContent>
++ *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++ *                 &lt;attribute name="start" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
++ *                 &lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
++ *               &lt;/restriction>
++ *             &lt;/complexContent>
++ *           &lt;/complexType>
++ *         &lt;/element>
++ *       &lt;/sequence>
++ *       &lt;attribute name="mapFromUnit" use="required" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" />
++ *       &lt;attribute name="mapToUnit" use="required" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" />
++ *     &lt;/restriction>
++ *   &lt;/complexContent>
++ * &lt;/complexType>
++ * </pre>
   * 
   * 
   */
  @XmlAccessorType(XmlAccessType.FIELD)
 -@XmlType(name = "mapListType", propOrder = { "mapListFrom", "mapListTo" })
 -@XmlSeeAlso({ Mapping.class })
 -public class MapListType
 -{
 -
 -  protected List<MapListType.MapListFrom> mapListFrom;
 -
 -  protected List<MapListType.MapListTo> mapListTo;
 -
 -  @XmlAttribute(name = "mapFromUnit", required = true)
 -  @XmlSchemaType(name = "positiveInteger")
 -  protected BigInteger mapFromUnit;
 -
 -  @XmlAttribute(name = "mapToUnit", required = true)
 -  @XmlSchemaType(name = "positiveInteger")
 -  protected BigInteger mapToUnit;
 -
 -  /**
 -   * Gets the value of the mapListFrom property.
 -   * 
 -   * &lt;p&gt; 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
 -   * &lt;CODE&gt;set&lt;/CODE&gt; method for the mapListFrom property.
 -   * 
 -   * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
 -   * getMapListFrom().add(newItem); &lt;/pre&gt;
 -   * 
 -   * 
 -   * &lt;p&gt; Objects of the following type(s) are allowed in the list
 -   * {@link MapListType.MapListFrom }
 -   * 
 -   * 
 -   */
 -  public List<MapListType.MapListFrom> getMapListFrom()
 -  {
 -    if (mapListFrom == null)
 -    {
 -      mapListFrom = new ArrayList<MapListType.MapListFrom>();
 -    }
 -    return this.mapListFrom;
 -  }
 -
 -  /**
 -   * Gets the value of the mapListTo property.
 -   * 
 -   * &lt;p&gt; 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
 -   * &lt;CODE&gt;set&lt;/CODE&gt; method for the mapListTo property.
 -   * 
 -   * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
 -   * getMapListTo().add(newItem); &lt;/pre&gt;
 -   * 
 -   * 
 -   * &lt;p&gt; Objects of the following type(s) are allowed in the list
 -   * {@link MapListType.MapListTo }
 -   * 
 -   * 
 -   */
 -  public List<MapListType.MapListTo> getMapListTo()
 -  {
 -    if (mapListTo == null)
 -    {
 -      mapListTo = new ArrayList<MapListType.MapListTo>();
 -    }
 -    return this.mapListTo;
 -  }
 -
 -  /**
 -   * Gets the value of the mapFromUnit property.
 -   * 
 -   * @return possible object is {@link BigInteger }
 -   * 
 -   */
 -  public BigInteger getMapFromUnit()
 -  {
 -    return mapFromUnit;
 -  }
 -
 -  /**
 -   * Sets the value of the mapFromUnit property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link BigInteger }
 -   * 
 -   */
 -  public void setMapFromUnit(BigInteger value)
 -  {
 -    this.mapFromUnit = value;
 -  }
 +@XmlType(name = "mapListType", propOrder = {
 +    "mapListFrom",
 +    "mapListTo"
 +})
 +@XmlSeeAlso({
 +    Mapping.class
 +})
 +public class MapListType {
  
 -  /**
 -   * Gets the value of the mapToUnit property.
 -   * 
 -   * @return possible object is {@link BigInteger }
 -   * 
 -   */
 -  public BigInteger getMapToUnit()
 -  {
 -    return mapToUnit;
 -  }
 -
 -  /**
 -   * Sets the value of the mapToUnit property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link BigInteger }
 -   * 
 -   */
 -  public void setMapToUnit(BigInteger value)
 -  {
 -    this.mapToUnit = value;
 -  }
 -
 -  /**
 -   * &lt;p&gt;Java class for anonymous complex type.
 -   * 
 -   * &lt;p&gt;The following schema fragment specifies the expected content
 -   * contained within this class.
 -   * 
 -   * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
 -   * &amp;lt;restriction
 -   * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attribute
 -   * name="start" use="required" type="{http://www.w3.org/2001/XMLSchema}int"
 -   * /&amp;gt; &amp;lt;attribute name="end" use="required"
 -   * type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
 -   * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 -   * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
 -   * 
 -   * 
 -   */
 -  @XmlAccessorType(XmlAccessType.FIELD)
 -  @XmlType(name = "")
 -  public static class MapListFrom
 -  {
 -
 -    @XmlAttribute(name = "start", required = true)
 -    protected int start;
 -
 -    @XmlAttribute(name = "end", required = true)
 -    protected int end;
 +    protected List<MapListType.MapListFrom> mapListFrom;
 +    protected List<MapListType.MapListTo> mapListTo;
 +    @XmlAttribute(name = "mapFromUnit", required = true)
 +    @XmlSchemaType(name = "positiveInteger")
 +    protected BigInteger mapFromUnit;
 +    @XmlAttribute(name = "mapToUnit", required = true)
 +    @XmlSchemaType(name = "positiveInteger")
 +    protected BigInteger mapToUnit;
  
      /**
 -     * Gets the value of the start property.
 +     * Gets the value of the mapListFrom property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the mapListFrom property.
++     * This is why there is not a <CODE>set</CODE> method for the mapListFrom property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getMapListFrom().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link MapListType.MapListFrom }
 +     * 
       * 
       */
 -    public int getStart()
 -    {
 -      return start;
 +    public List<MapListType.MapListFrom> getMapListFrom() {
 +        if (mapListFrom == null) {
 +            mapListFrom = new ArrayList<MapListType.MapListFrom>();
 +        }
 +        return this.mapListFrom;
      }
  
      /**
 -     * Sets the value of the start property.
 +     * Gets the value of the mapListTo property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the mapListTo property.
++     * This is why there is not a <CODE>set</CODE> method for the mapListTo property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getMapListTo().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link MapListType.MapListTo }
 +     * 
       * 
       */
 -    public void setStart(int value)
 -    {
 -      this.start = value;
 +    public List<MapListType.MapListTo> getMapListTo() {
 +        if (mapListTo == null) {
 +            mapListTo = new ArrayList<MapListType.MapListTo>();
 +        }
 +        return this.mapListTo;
      }
  
      /**
      }
  
      /**
 -     * Sets the value of the start property.
 +     * Sets the value of the mapToUnit property.
       * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link BigInteger }
 +     *     
       */
 -    public void setStart(int value)
 -    {
 -      this.start = value;
 +    public void setMapToUnit(BigInteger value) {
 +        this.mapToUnit = value;
      }
  
 +
      /**
-      * &lt;p&gt;Java class for anonymous complex type.
 -     * Gets the value of the end property.
++     * <p>Java class for anonymous complex type.
 +     * 
-      * &lt;p&gt;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.
 +     * 
-      * &lt;pre&gt;
-      * &amp;lt;complexType&amp;gt;
-      *   &amp;lt;complexContent&amp;gt;
-      *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-      *       &amp;lt;attribute name="start" use="required" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-      *       &amp;lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-      *     &amp;lt;/restriction&amp;gt;
-      *   &amp;lt;/complexContent&amp;gt;
-      * &amp;lt;/complexType&amp;gt;
-      * &lt;/pre&gt;
++     * <pre>
++     * &lt;complexType>
++     *   &lt;complexContent>
++     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++     *       &lt;attribute name="start" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
++     *       &lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
++     *     &lt;/restriction>
++     *   &lt;/complexContent>
++     * &lt;/complexType>
++     * </pre>
 +     * 
       * 
       */
 -    public int getEnd()
 -    {
 -      return end;
 +    @XmlAccessorType(XmlAccessType.FIELD)
 +    @XmlType(name = "")
 +    public static class MapListFrom {
 +
 +        @XmlAttribute(name = "start", required = true)
 +        protected int start;
 +        @XmlAttribute(name = "end", required = true)
 +        protected int end;
 +
 +        /**
 +         * Gets the value of the start property.
 +         * 
 +         */
 +        public int getStart() {
 +            return start;
 +        }
 +
 +        /**
 +         * Sets the value of the start property.
 +         * 
 +         */
 +        public void setStart(int value) {
 +            this.start = value;
 +        }
 +
 +        /**
 +         * Gets the value of the end property.
 +         * 
 +         */
 +        public int getEnd() {
 +            return end;
 +        }
 +
 +        /**
 +         * Sets the value of the end property.
 +         * 
 +         */
 +        public void setEnd(int value) {
 +            this.end = value;
 +        }
 +
      }
  
 +
      /**
-      * &lt;p&gt;Java class for anonymous complex type.
 -     * Sets the value of the end property.
++     * <p>Java class for anonymous complex type.
 +     * 
-      * &lt;p&gt;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.
 +     * 
-      * &lt;pre&gt;
-      * &amp;lt;complexType&amp;gt;
-      *   &amp;lt;complexContent&amp;gt;
-      *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-      *       &amp;lt;attribute name="start" use="required" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-      *       &amp;lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-      *     &amp;lt;/restriction&amp;gt;
-      *   &amp;lt;/complexContent&amp;gt;
-      * &amp;lt;/complexType&amp;gt;
-      * &lt;/pre&gt;
++     * <pre>
++     * &lt;complexType>
++     *   &lt;complexContent>
++     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++     *       &lt;attribute name="start" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
++     *       &lt;attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
++     *     &lt;/restriction>
++     *   &lt;/complexContent>
++     * &lt;/complexType>
++     * </pre>
 +     * 
       * 
       */
 -    public void setEnd(int value)
 -    {
 -      this.end = value;
 -    }
 +    @XmlAccessorType(XmlAccessType.FIELD)
 +    @XmlType(name = "")
 +    public static class MapListTo {
  
 -  }
 +        @XmlAttribute(name = "start", required = true)
 +        protected int start;
 +        @XmlAttribute(name = "end", required = true)
 +        protected int end;
 +
 +        /**
 +         * Gets the value of the start property.
 +         * 
 +         */
 +        public int getStart() {
 +            return start;
 +        }
 +
 +        /**
 +         * Sets the value of the start property.
 +         * 
 +         */
 +        public void setStart(int value) {
 +            this.start = value;
 +        }
 +
 +        /**
 +         * Gets the value of the end property.
 +         * 
 +         */
 +        public int getEnd() {
 +            return end;
 +        }
 +
 +        /**
 +         * Sets the value of the end property.
 +         * 
 +         */
 +        public void setEnd(int value) {
 +            this.end = value;
 +        }
 +
 +    }
  
  }
@@@ -1,11 -1,10 +1,11 @@@
  //
--// This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
--// See https://eclipse-ee4j.github.io/jaxb-ri 
++// 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: 2022.02.07 at 04:44:47 PM GMT 
 -// Generated on: 2021.08.30 at 11:05:22 AM BST 
++// Generated on: 2023.01.31 at 04:07:08 PM GMT 
  //
  
 +
  package jalview.xml.binding.jalview;
  
  import javax.xml.bind.annotation.XmlAccessType;
@@@ -15,38 -14,31 +15,38 @@@ import javax.xml.bind.annotation.XmlEle
  import javax.xml.bind.annotation.XmlRootElement;
  import javax.xml.bind.annotation.XmlType;
  
 +
  /**
   * 
 - * Represent the jalview.datamodel.Mapping object - it also provides a way of
 - * storing sequences that are mapped 'to' without adding them to the sequence
 - * set (which will mean they are then added to the alignment too).
 - * 
 + *                                    Represent the jalview.datamodel.Mapping object - it also provides
 + *                                    a way of storing sequences that are mapped 'to' without adding them
 + *                                    to the sequence set (which will mean they are then added to the alignment too).
 + *                            
   * 
-- * &lt;p&gt;Java class for anonymous complex type.
++ * <p>Java class for anonymous complex type.
   * 
-  * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
 - * &lt;p&gt;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.
   * 
-  * &lt;pre&gt;
-  * &amp;lt;complexType&amp;gt;
-  *   &amp;lt;complexContent&amp;gt;
-  *     &amp;lt;extension base="{www.vamsas.ac.uk/jalview/version2}mapListType"&amp;gt;
-  *       &amp;lt;sequence&amp;gt;
-  *         &amp;lt;choice minOccurs="0"&amp;gt;
-  *           &amp;lt;element ref="{www.vamsas.ac.uk/jalview/version2}Sequence"/&amp;gt;
-  *           &amp;lt;element name="dseqFor"&amp;gt;
-  *             &amp;lt;simpleType&amp;gt;
-  *               &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&amp;gt;
-  *               &amp;lt;/restriction&amp;gt;
-  *             &amp;lt;/simpleType&amp;gt;
-  *           &amp;lt;/element&amp;gt;
-  *         &amp;lt;/choice&amp;gt;
-  *       &amp;lt;/sequence&amp;gt;
-  *       &amp;lt;attribute name="mappingType" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *     &amp;lt;/extension&amp;gt;
-  *   &amp;lt;/complexContent&amp;gt;
-  * &amp;lt;/complexType&amp;gt;
-  * &lt;/pre&gt;
 - * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
 - * &amp;lt;extension
 - * base="{www.vamsas.ac.uk/jalview/version2}mapListType"&amp;gt;
 - * &amp;lt;sequence&amp;gt; &amp;lt;choice minOccurs="0"&amp;gt; &amp;lt;element
 - * ref="{www.vamsas.ac.uk/jalview/version2}Sequence"/&amp;gt; &amp;lt;element
 - * name="dseqFor"&amp;gt; &amp;lt;simpleType&amp;gt; &amp;lt;restriction
 - * base="{http://www.w3.org/2001/XMLSchema}string"&amp;gt;
 - * &amp;lt;/restriction&amp;gt; &amp;lt;/simpleType&amp;gt;
 - * &amp;lt;/element&amp;gt; &amp;lt;/choice&amp;gt; &amp;lt;/sequence&amp;gt;
 - * &amp;lt;attribute name="mappingType"
 - * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
 - * &amp;lt;/extension&amp;gt; &amp;lt;/complexContent&amp;gt;
 - * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
++ * <pre>
++ * &lt;complexType>
++ *   &lt;complexContent>
++ *     &lt;extension base="{www.vamsas.ac.uk/jalview/version2}mapListType">
++ *       &lt;sequence>
++ *         &lt;choice minOccurs="0">
++ *           &lt;element ref="{www.vamsas.ac.uk/jalview/version2}Sequence"/>
++ *           &lt;element name="dseqFor">
++ *             &lt;simpleType>
++ *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
++ *               &lt;/restriction>
++ *             &lt;/simpleType>
++ *           &lt;/element>
++ *         &lt;/choice>
++ *       &lt;/sequence>
++ *       &lt;attribute name="mappingType" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *     &lt;/extension>
++ *   &lt;/complexContent>
++ * &lt;/complexType>
++ * </pre>
   * 
   * 
   */
@@@ -1,31 -1,26 +1,32 @@@
  //
--// This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
--// See https://eclipse-ee4j.github.io/jaxb-ri 
++// 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: 2022.02.07 at 04:44:47 PM GMT 
 -// Generated on: 2021.08.30 at 11:05:22 AM BST 
++// Generated on: 2023.01.31 at 04:07:08 PM GMT 
  //
  
 +
  package jalview.xml.binding.jalview;
  
  import javax.xml.bind.annotation.XmlEnum;
  import javax.xml.bind.annotation.XmlEnumValue;
  import javax.xml.bind.annotation.XmlType;
  
 +
  /**
-- * &lt;p&gt;Java class for NoValueColour.
++ * <p>Java class for NoValueColour.
   * 
-  * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
-  * &lt;pre&gt;
-  * &amp;lt;simpleType name="NoValueColour"&amp;gt;
-  *   &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&amp;gt;
-  *     &amp;lt;enumeration value="None"/&amp;gt;
-  *     &amp;lt;enumeration value="Min"/&amp;gt;
-  *     &amp;lt;enumeration value="Max"/&amp;gt;
-  *   &amp;lt;/restriction&amp;gt;
-  * &amp;lt;/simpleType&amp;gt;
-  * &lt;/pre&gt;
 - * &lt;p&gt;The following schema fragment specifies the expected content
 - * contained within this class. &lt;pre&gt; &amp;lt;simpleType
 - * name="NoValueColour"&amp;gt; &amp;lt;restriction
 - * base="{http://www.w3.org/2001/XMLSchema}string"&amp;gt; &amp;lt;enumeration
 - * value="None"/&amp;gt; &amp;lt;enumeration value="Min"/&amp;gt;
 - * &amp;lt;enumeration value="Max"/&amp;gt; &amp;lt;/restriction&amp;gt;
 - * &amp;lt;/simpleType&amp;gt; &lt;/pre&gt;
++ * <p>The following schema fragment specifies the expected content contained within this class.
++ * <p>
++ * <pre>
++ * &lt;simpleType name="NoValueColour">
++ *   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
++ *     &lt;enumeration value="None"/>
++ *     &lt;enumeration value="Min"/>
++ *     &lt;enumeration value="Max"/>
++ *   &lt;/restriction>
++ * &lt;/simpleType>
++ * </pre>
   * 
   */
  @XmlType(name = "NoValueColour", namespace = "www.jalview.org/colours")
@@@ -1,11 -1,10 +1,11 @@@
  //
--// This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
--// See https://eclipse-ee4j.github.io/jaxb-ri 
++// 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: 2022.02.07 at 04:44:47 PM GMT 
 -// Generated on: 2021.08.30 at 11:05:22 AM BST 
++// Generated on: 2023.01.31 at 04:07:08 PM GMT 
  //
  
 +
  package jalview.xml.binding.jalview;
  
  import javax.xml.bind.JAXBElement;
@@@ -13,496 -12,560 +13,484 @@@ import javax.xml.bind.annotation.XmlEle
  import javax.xml.bind.annotation.XmlRegistry;
  import javax.xml.namespace.QName;
  
 +
  /**
 - * This object contains factory methods for each Java content interface and Java
 - * element interface generated in the jalview.xml.binding.jalview package.
 - * &lt;p&gt;An ObjectFactory allows you to programatically construct new
 - * instances of the Java representation for XML content. The Java representation
 - * of XML content can consist of schema derived interfaces and classes
 - * representing the binding of schema type definitions, element declarations and
 - * model groups. Factory methods for each of these are provided in this class.
 + * This object contains factory methods for each 
 + * Java content interface and Java element interface 
 + * generated in the jalview.xml.binding.jalview package. 
-  * &lt;p&gt;An ObjectFactory allows you to programatically 
++ * <p>An ObjectFactory allows you to programatically 
 + * construct new instances of the Java representation 
 + * for XML content. The Java representation of XML 
 + * content can consist of schema derived interfaces 
 + * and classes representing the binding of schema 
 + * type definitions, element declarations and model 
 + * groups.  Factory methods for each of these are 
 + * provided in this class.
   * 
   */
  @XmlRegistry
 -public class ObjectFactory
 -{
 -
 -  private final static QName _JalviewModel_QNAME = new QName(
 -          "www.jalview.org", "JalviewModel");
 -
 -  private final static QName _JalviewUserColours_QNAME = new QName(
 -          "www.jalview.org/colours", "JalviewUserColours");
 -
 -  private final static QName _WebServiceParameterSet_QNAME = new QName(
 -          "www.jalview.org/xml/wsparamset", "WebServiceParameterSet");
 -
 -  /**
 -   * Create a new ObjectFactory that can be used to create new instances of
 -   * schema derived classes for package: jalview.xml.binding.jalview
 -   * 
 -   */
 -  public ObjectFactory()
 -  {
 -  }
 -
 -  /**
 -   * Create an instance of {@link MapListType }
 -   * 
 -   */
 -  public MapListType createMapListType()
 -  {
 -    return new MapListType();
 -  }
 -
 -  /**
 -   * Create an instance of {@link Sequence }
 -   * 
 -   */
 -  public Sequence createSequence()
 -  {
 -    return new Sequence();
 -  }
 -
 -  /**
 -   * Create an instance of {@link AlcodonFrame }
 -   * 
 -   */
 -  public AlcodonFrame createAlcodonFrame()
 -  {
 -    return new AlcodonFrame();
 -  }
 -
 -  /**
 -   * Create an instance of {@link Annotation }
 -   * 
 -   */
 -  public Annotation createAnnotation()
 -  {
 -    return new Annotation();
 -  }
 -
 -  /**
 -   * Create an instance of {@link SequenceSet }
 -   * 
 -   */
 -  public SequenceSet createSequenceSet()
 -  {
 -    return new SequenceSet();
 -  }
 -
 -  /**
 -   * Create an instance of {@link FeatureMatcherSet }
 -   * 
 -   */
 -  public FeatureMatcherSet createFeatureMatcherSet()
 -  {
 -    return new FeatureMatcherSet();
 -  }
 -
 -  /**
 -   * Create an instance of {@link JalviewUserColours }
 -   * 
 -   */
 -  public JalviewUserColours createJalviewUserColours()
 -  {
 -    return new JalviewUserColours();
 -  }
 -
 -  /**
 -   * Create an instance of {@link Pdbentry }
 -   * 
 -   */
 -  public Pdbentry createPdbentry()
 -  {
 -    return new Pdbentry();
 -  }
 -
 -  /**
 -   * Create an instance of {@link Feature }
 -   * 
 -   */
 -  public Feature createFeature()
 -  {
 -    return new Feature();
 -  }
 -
 -  /**
 -   * Create an instance of {@link JalviewModel }
 -   * 
 -   */
 -  public JalviewModel createJalviewModel()
 -  {
 -    return new JalviewModel();
 -  }
 -
 -  /**
 -   * Create an instance of {@link JalviewModel.FeatureSettings }
 -   * 
 -   */
 -  public JalviewModel.FeatureSettings createJalviewModelFeatureSettings()
 -  {
 -    return new JalviewModel.FeatureSettings();
 -  }
 -
 -  /**
 -   * Create an instance of {@link JalviewModel.PcaViewer }
 -   * 
 -   */
 -  public JalviewModel.PcaViewer createJalviewModelPcaViewer()
 -  {
 -    return new JalviewModel.PcaViewer();
 -  }
 -
 -  /**
 -   * Create an instance of {@link JalviewModel.Viewport }
 -   * 
 -   */
 -  public JalviewModel.Viewport createJalviewModelViewport()
 -  {
 -    return new JalviewModel.Viewport();
 -  }
 -
 -  /**
 -   * Create an instance of {@link JalviewModel.JSeq }
 -   * 
 -   */
 -  public JalviewModel.JSeq createJalviewModelJSeq()
 -  {
 -    return new JalviewModel.JSeq();
 -  }
 -
 -  /**
 -   * Create an instance of {@link JalviewModel.JSeq.RnaViewer }
 -   * 
 -   */
 -  public JalviewModel.JSeq.RnaViewer createJalviewModelJSeqRnaViewer()
 -  {
 -    return new JalviewModel.JSeq.RnaViewer();
 -  }
 -
 -  /**
 -   * Create an instance of {@link JalviewModel.JSeq.Pdbids }
 -   * 
 -   */
 -  public JalviewModel.JSeq.Pdbids createJalviewModelJSeqPdbids()
 -  {
 -    return new JalviewModel.JSeq.Pdbids();
 -  }
 -
 -  /**
 -   * Create an instance of {@link AnnotationColourScheme }
 -   * 
 -   */
 -  public AnnotationColourScheme createAnnotationColourScheme()
 -  {
 -    return new AnnotationColourScheme();
 -  }
 -
 -  /**
 -   * Create an instance of {@link PcaDataType }
 -   * 
 -   */
 -  public PcaDataType createPcaDataType()
 -  {
 -    return new PcaDataType();
 -  }
 -
 -  /**
 -   * Create an instance of {@link DoubleVector }
 -   * 
 -   */
 -  public DoubleVector createDoubleVector()
 -  {
 -    return new DoubleVector();
 -  }
 -
 -  /**
 -   * Create an instance of {@link DoubleMatrix }
 -   * 
 -   */
 -  public DoubleMatrix createDoubleMatrix()
 -  {
 -    return new DoubleMatrix();
 -  }
 -
 -  /**
 -   * Create an instance of {@link Mapping }
 -   * 
 -   */
 -  public Mapping createMapping()
 -  {
 -    return new Mapping();
 -  }
 -
 -  /**
 -   * Create an instance of {@link MapListType.MapListFrom }
 -   * 
 -   */
 -  public MapListType.MapListFrom createMapListTypeMapListFrom()
 -  {
 -    return new MapListType.MapListFrom();
 -  }
 -
 -  /**
 -   * Create an instance of {@link MapListType.MapListTo }
 -   * 
 -   */
 -  public MapListType.MapListTo createMapListTypeMapListTo()
 -  {
 -    return new MapListType.MapListTo();
 -  }
 -
 -  /**
 -   * Create an instance of {@link SequenceType }
 -   * 
 -   */
 -  public SequenceType createSequenceType()
 -  {
 -    return new SequenceType();
 -  }
 -
 -  /**
 -   * Create an instance of {@link Sequence.DBRef }
 -   * 
 -   */
 -  public Sequence.DBRef createSequenceDBRef()
 -  {
 -    return new Sequence.DBRef();
 -  }
 -
 -  /**
 -   * Create an instance of {@link AlcodonFrame.Alcodon }
 -   * 
 -   */
 -  public AlcodonFrame.Alcodon createAlcodonFrameAlcodon()
 -  {
 -    return new AlcodonFrame.Alcodon();
 -  }
 -
 -  /**
 -   * Create an instance of {@link AlcodonFrame.AlcodMap }
 -   * 
 -   */
 -  public AlcodonFrame.AlcodMap createAlcodonFrameAlcodMap()
 -  {
 -    return new AlcodonFrame.AlcodMap();
 -  }
 -
 -  /**
 -   * Create an instance of {@link AnnotationElement }
 -   * 
 -   */
 -  public AnnotationElement createAnnotationElement()
 -  {
 -    return new AnnotationElement();
 -  }
 -
 -  /**
 -   * Create an instance of {@link Annotation.ThresholdLine }
 -   * 
 -   */
 -  public Annotation.ThresholdLine createAnnotationThresholdLine()
 -  {
 -    return new Annotation.ThresholdLine();
 -  }
 -
 -  /**
 -   * Create an instance of {@link Annotation.Property }
 -   * 
 -   */
 -  public Annotation.Property createAnnotationProperty()
 -  {
 -    return new Annotation.Property();
 -  }
 -
 -  /**
 -   * Create an instance of {@link SequenceSet.SequenceSetProperties }
 -   * 
 -   */
 -  public SequenceSet.SequenceSetProperties createSequenceSetSequenceSetProperties()
 -  {
 -    return new SequenceSet.SequenceSetProperties();
 -  }
 -
 -  /**
 -   * Create an instance of {@link VAMSAS }
 -   * 
 -   */
 -  public VAMSAS createVAMSAS()
 -  {
 -    return new VAMSAS();
 -  }
 -
 -  /**
 -   * Create an instance of {@link FeatureMatcher }
 -   * 
 -   */
 -  public FeatureMatcher createFeatureMatcher()
 -  {
 -    return new FeatureMatcher();
 -  }
 -
 -  /**
 -   * Create an instance of {@link WebServiceParameterSet }
 -   * 
 -   */
 -  public WebServiceParameterSet createWebServiceParameterSet()
 -  {
 -    return new WebServiceParameterSet();
 -  }
 -
 -  /**
 -   * Create an instance of {@link FeatureMatcherSet.CompoundMatcher }
 -   * 
 -   */
 -  public FeatureMatcherSet.CompoundMatcher createFeatureMatcherSetCompoundMatcher()
 -  {
 -    return new FeatureMatcherSet.CompoundMatcher();
 -  }
 -
 -  /**
 -   * Create an instance of {@link JalviewUserColours.Colour }
 -   * 
 -   */
 -  public JalviewUserColours.Colour createJalviewUserColoursColour()
 -  {
 -    return new JalviewUserColours.Colour();
 -  }
 -
 -  /**
 -   * Create an instance of {@link JalviewUserColours.Filter }
 -   * 
 -   */
 -  public JalviewUserColours.Filter createJalviewUserColoursFilter()
 -  {
 -    return new JalviewUserColours.Filter();
 -  }
 -
 -  /**
 -   * Create an instance of {@link Pdbentry.Property }
 -   * 
 -   */
 -  public Pdbentry.Property createPdbentryProperty()
 -  {
 -    return new Pdbentry.Property();
 -  }
 -
 -  /**
 -   * Create an instance of {@link Feature.OtherData }
 -   * 
 -   */
 -  public Feature.OtherData createFeatureOtherData()
 -  {
 -    return new Feature.OtherData();
 -  }
 -
 -  /**
 -   * Create an instance of {@link JalviewModel.JGroup }
 -   * 
 -   */
 -  public JalviewModel.JGroup createJalviewModelJGroup()
 -  {
 -    return new JalviewModel.JGroup();
 -  }
 -
 -  /**
 -   * Create an instance of {@link JalviewModel.UserColours }
 -   * 
 -   */
 -  public JalviewModel.UserColours createJalviewModelUserColours()
 -  {
 -    return new JalviewModel.UserColours();
 -  }
 -
 -  /**
 -   * Create an instance of {@link JalviewModel.Tree }
 -   * 
 -   */
 -  public JalviewModel.Tree createJalviewModelTree()
 -  {
 -    return new JalviewModel.Tree();
 -  }
 -
 -  /**
 -   * Create an instance of {@link JalviewModel.FeatureSettings.Setting }
 -   * 
 -   */
 -  public JalviewModel.FeatureSettings.Setting createJalviewModelFeatureSettingsSetting()
 -  {
 -    return new JalviewModel.FeatureSettings.Setting();
 -  }
 -
 -  /**
 -   * Create an instance of {@link JalviewModel.FeatureSettings.Group }
 -   * 
 -   */
 -  public JalviewModel.FeatureSettings.Group createJalviewModelFeatureSettingsGroup()
 -  {
 -    return new JalviewModel.FeatureSettings.Group();
 -  }
 -
 -  /**
 -   * Create an instance of {@link JalviewModel.PcaViewer.SequencePoint }
 -   * 
 -   */
 -  public JalviewModel.PcaViewer.SequencePoint createJalviewModelPcaViewerSequencePoint()
 -  {
 -    return new JalviewModel.PcaViewer.SequencePoint();
 -  }
 -
 -  /**
 -   * Create an instance of {@link JalviewModel.PcaViewer.Axis }
 -   * 
 -   */
 -  public JalviewModel.PcaViewer.Axis createJalviewModelPcaViewerAxis()
 -  {
 -    return new JalviewModel.PcaViewer.Axis();
 -  }
 -
 -  /**
 -   * Create an instance of {@link JalviewModel.PcaViewer.SeqPointMin }
 -   * 
 -   */
 -  public JalviewModel.PcaViewer.SeqPointMin createJalviewModelPcaViewerSeqPointMin()
 -  {
 -    return new JalviewModel.PcaViewer.SeqPointMin();
 -  }
 -
 -  /**
 -   * Create an instance of {@link JalviewModel.PcaViewer.SeqPointMax }
 -   * 
 -   */
 -  public JalviewModel.PcaViewer.SeqPointMax createJalviewModelPcaViewerSeqPointMax()
 -  {
 -    return new JalviewModel.PcaViewer.SeqPointMax();
 -  }
 -
 -  /**
 -   * Create an instance of {@link JalviewModel.Viewport.HiddenColumns }
 -   * 
 -   */
 -  public JalviewModel.Viewport.HiddenColumns createJalviewModelViewportHiddenColumns()
 -  {
 -    return new JalviewModel.Viewport.HiddenColumns();
 -  }
 -
 -  /**
 -   * Create an instance of {@link JalviewModel.Viewport.CalcIdParam }
 -   * 
 -   */
 -  public JalviewModel.Viewport.CalcIdParam createJalviewModelViewportCalcIdParam()
 -  {
 -    return new JalviewModel.Viewport.CalcIdParam();
 -  }
 -
 -  /**
 -   * Create an instance of
 -   * {@link JalviewModel.JSeq.RnaViewer.SecondaryStructure }
 -   * 
 -   */
 -  public JalviewModel.JSeq.RnaViewer.SecondaryStructure createJalviewModelJSeqRnaViewerSecondaryStructure()
 -  {
 -    return new JalviewModel.JSeq.RnaViewer.SecondaryStructure();
 -  }
 -
 -  /**
 -   * Create an instance of {@link JalviewModel.JSeq.Pdbids.StructureState }
 -   * 
 -   */
 -  public JalviewModel.JSeq.Pdbids.StructureState createJalviewModelJSeqPdbidsStructureState()
 -  {
 -    return new JalviewModel.JSeq.Pdbids.StructureState();
 -  }
 -
 -  /**
 -   * Create an instance of {@link JAXBElement }{@code <}{@link JalviewModel
 -   * }{@code >}
 -   * 
 -   * @param value
 -   *          Java instance representing xml element's value.
 -   * @return the new instance of {@link JAXBElement
 -   *         }{@code <}{@link JalviewModel }{@code >}
 -   */
 -  @XmlElementDecl(namespace = "www.jalview.org", name = "JalviewModel")
 -  public JAXBElement<JalviewModel> createJalviewModel(JalviewModel value)
 -  {
 -    return new JAXBElement<JalviewModel>(_JalviewModel_QNAME,
 -            JalviewModel.class, null, value);
 -  }
 -
 -  /**
 -   * Create an instance of {@link JAXBElement
 -   * }{@code <}{@link JalviewUserColours }{@code >}
 -   * 
 -   * @param value
 -   *          Java instance representing xml element's value.
 -   * @return the new instance of {@link JAXBElement
 -   *         }{@code <}{@link JalviewUserColours }{@code >}
 -   */
 -  @XmlElementDecl(
 -    namespace = "www.jalview.org/colours",
 -    name = "JalviewUserColours")
 -  public JAXBElement<JalviewUserColours> createJalviewUserColours(
 -          JalviewUserColours value)
 -  {
 -    return new JAXBElement<JalviewUserColours>(_JalviewUserColours_QNAME,
 -            JalviewUserColours.class, null, value);
 -  }
 -
 -  /**
 -   * Create an instance of {@link JAXBElement
 -   * }{@code <}{@link WebServiceParameterSet }{@code >}
 -   * 
 -   * @param value
 -   *          Java instance representing xml element's value.
 -   * @return the new instance of {@link JAXBElement
 -   *         }{@code <}{@link WebServiceParameterSet }{@code >}
 -   */
 -  @XmlElementDecl(
 -    namespace = "www.jalview.org/xml/wsparamset",
 -    name = "WebServiceParameterSet")
 -  public JAXBElement<WebServiceParameterSet> createWebServiceParameterSet(
 -          WebServiceParameterSet value)
 -  {
 -    return new JAXBElement<WebServiceParameterSet>(
 -            _WebServiceParameterSet_QNAME, WebServiceParameterSet.class,
 -            null, value);
 -  }
 +public class ObjectFactory {
 +
++    private final static QName _WebServiceParameterSet_QNAME = new QName("www.jalview.org/xml/wsparamset", "WebServiceParameterSet");
 +    private final static QName _JalviewModel_QNAME = new QName("www.jalview.org", "JalviewModel");
 +    private final static QName _JalviewUserColours_QNAME = new QName("www.jalview.org/colours", "JalviewUserColours");
-     private final static QName _WebServiceParameterSet_QNAME = new QName("www.jalview.org/xml/wsparamset", "WebServiceParameterSet");
 +
 +    /**
 +     * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: jalview.xml.binding.jalview
 +     * 
 +     */
 +    public ObjectFactory() {
 +    }
 +
 +    /**
++     * Create an instance of {@link AlcodonFrame }
++     * 
++     */
++    public AlcodonFrame createAlcodonFrame() {
++        return new AlcodonFrame();
++    }
++
++    /**
 +     * Create an instance of {@link MapListType }
 +     * 
 +     */
 +    public MapListType createMapListType() {
 +        return new MapListType();
 +    }
 +
 +    /**
 +     * Create an instance of {@link Sequence }
 +     * 
 +     */
 +    public Sequence createSequence() {
 +        return new Sequence();
 +    }
 +
 +    /**
-      * Create an instance of {@link AlcodonFrame }
-      * 
-      */
-     public AlcodonFrame createAlcodonFrame() {
-         return new AlcodonFrame();
-     }
-     /**
 +     * Create an instance of {@link Annotation }
 +     * 
 +     */
 +    public Annotation createAnnotation() {
 +        return new Annotation();
 +    }
 +
 +    /**
 +     * Create an instance of {@link SequenceSet }
 +     * 
 +     */
 +    public SequenceSet createSequenceSet() {
 +        return new SequenceSet();
 +    }
 +
 +    /**
 +     * Create an instance of {@link FeatureMatcherSet }
 +     * 
 +     */
 +    public FeatureMatcherSet createFeatureMatcherSet() {
 +        return new FeatureMatcherSet();
 +    }
 +
 +    /**
 +     * Create an instance of {@link JalviewUserColours }
 +     * 
 +     */
 +    public JalviewUserColours createJalviewUserColours() {
 +        return new JalviewUserColours();
 +    }
 +
 +    /**
 +     * Create an instance of {@link Pdbentry }
 +     * 
 +     */
 +    public Pdbentry createPdbentry() {
 +        return new Pdbentry();
 +    }
 +
 +    /**
 +     * Create an instance of {@link Feature }
 +     * 
 +     */
 +    public Feature createFeature() {
 +        return new Feature();
 +    }
 +
 +    /**
 +     * Create an instance of {@link JalviewModel }
 +     * 
 +     */
 +    public JalviewModel createJalviewModel() {
 +        return new JalviewModel();
 +    }
 +
 +    /**
 +     * Create an instance of {@link JalviewModel.FeatureSettings }
 +     * 
 +     */
 +    public JalviewModel.FeatureSettings createJalviewModelFeatureSettings() {
 +        return new JalviewModel.FeatureSettings();
 +    }
 +
 +    /**
 +     * Create an instance of {@link JalviewModel.PcaViewer }
 +     * 
 +     */
 +    public JalviewModel.PcaViewer createJalviewModelPcaViewer() {
 +        return new JalviewModel.PcaViewer();
 +    }
 +
 +    /**
 +     * Create an instance of {@link JalviewModel.Viewport }
 +     * 
 +     */
 +    public JalviewModel.Viewport createJalviewModelViewport() {
 +        return new JalviewModel.Viewport();
 +    }
 +
 +    /**
 +     * Create an instance of {@link JalviewModel.JSeq }
 +     * 
 +     */
 +    public JalviewModel.JSeq createJalviewModelJSeq() {
 +        return new JalviewModel.JSeq();
 +    }
 +
 +    /**
 +     * Create an instance of {@link JalviewModel.JSeq.RnaViewer }
 +     * 
 +     */
 +    public JalviewModel.JSeq.RnaViewer createJalviewModelJSeqRnaViewer() {
 +        return new JalviewModel.JSeq.RnaViewer();
 +    }
 +
 +    /**
 +     * Create an instance of {@link JalviewModel.JSeq.Pdbids }
 +     * 
 +     */
 +    public JalviewModel.JSeq.Pdbids createJalviewModelJSeqPdbids() {
 +        return new JalviewModel.JSeq.Pdbids();
 +    }
 +
 +    /**
++     * Create an instance of {@link DoubleMatrix }
++     * 
++     */
++    public DoubleMatrix createDoubleMatrix() {
++        return new DoubleMatrix();
++    }
++
++    /**
 +     * Create an instance of {@link AnnotationColourScheme }
 +     * 
 +     */
 +    public AnnotationColourScheme createAnnotationColourScheme() {
 +        return new AnnotationColourScheme();
 +    }
 +
 +    /**
 +     * Create an instance of {@link PcaDataType }
 +     * 
 +     */
 +    public PcaDataType createPcaDataType() {
 +        return new PcaDataType();
 +    }
 +
 +    /**
 +     * Create an instance of {@link DoubleVector }
 +     * 
 +     */
 +    public DoubleVector createDoubleVector() {
 +        return new DoubleVector();
 +    }
 +
 +    /**
-      * Create an instance of {@link DoubleMatrix }
++     * Create an instance of {@link AlcodonFrame.Alcodon }
 +     * 
 +     */
-     public DoubleMatrix createDoubleMatrix() {
-         return new DoubleMatrix();
++    public AlcodonFrame.Alcodon createAlcodonFrameAlcodon() {
++        return new AlcodonFrame.Alcodon();
++    }
++
++    /**
++     * Create an instance of {@link AlcodonFrame.AlcodMap }
++     * 
++     */
++    public AlcodonFrame.AlcodMap createAlcodonFrameAlcodMap() {
++        return new AlcodonFrame.AlcodMap();
++    }
++
++    /**
++     * Create an instance of {@link AnnotationElement }
++     * 
++     */
++    public AnnotationElement createAnnotationElement() {
++        return new AnnotationElement();
 +    }
 +
 +    /**
 +     * Create an instance of {@link Mapping }
 +     * 
 +     */
 +    public Mapping createMapping() {
 +        return new Mapping();
 +    }
 +
 +    /**
 +     * Create an instance of {@link MapListType.MapListFrom }
 +     * 
 +     */
 +    public MapListType.MapListFrom createMapListTypeMapListFrom() {
 +        return new MapListType.MapListFrom();
 +    }
 +
 +    /**
 +     * Create an instance of {@link MapListType.MapListTo }
 +     * 
 +     */
 +    public MapListType.MapListTo createMapListTypeMapListTo() {
 +        return new MapListType.MapListTo();
 +    }
 +
 +    /**
 +     * Create an instance of {@link SequenceType }
 +     * 
 +     */
 +    public SequenceType createSequenceType() {
 +        return new SequenceType();
 +    }
 +
 +    /**
 +     * Create an instance of {@link Sequence.DBRef }
 +     * 
 +     */
 +    public Sequence.DBRef createSequenceDBRef() {
 +        return new Sequence.DBRef();
 +    }
 +
 +    /**
-      * Create an instance of {@link AlcodonFrame.Alcodon }
-      * 
-      */
-     public AlcodonFrame.Alcodon createAlcodonFrameAlcodon() {
-         return new AlcodonFrame.Alcodon();
-     }
-     /**
-      * Create an instance of {@link AlcodonFrame.AlcodMap }
-      * 
-      */
-     public AlcodonFrame.AlcodMap createAlcodonFrameAlcodMap() {
-         return new AlcodonFrame.AlcodMap();
-     }
-     /**
-      * Create an instance of {@link AnnotationElement }
-      * 
-      */
-     public AnnotationElement createAnnotationElement() {
-         return new AnnotationElement();
-     }
-     /**
 +     * Create an instance of {@link Annotation.ThresholdLine }
 +     * 
 +     */
 +    public Annotation.ThresholdLine createAnnotationThresholdLine() {
 +        return new Annotation.ThresholdLine();
 +    }
 +
 +    /**
 +     * Create an instance of {@link Annotation.Property }
 +     * 
 +     */
 +    public Annotation.Property createAnnotationProperty() {
 +        return new Annotation.Property();
 +    }
 +
 +    /**
 +     * Create an instance of {@link SequenceSet.SequenceSetProperties }
 +     * 
 +     */
 +    public SequenceSet.SequenceSetProperties createSequenceSetSequenceSetProperties() {
 +        return new SequenceSet.SequenceSetProperties();
 +    }
 +
 +    /**
 +     * Create an instance of {@link VAMSAS }
 +     * 
 +     */
 +    public VAMSAS createVAMSAS() {
 +        return new VAMSAS();
 +    }
 +
 +    /**
 +     * Create an instance of {@link FeatureMatcher }
 +     * 
 +     */
 +    public FeatureMatcher createFeatureMatcher() {
 +        return new FeatureMatcher();
 +    }
 +
 +    /**
 +     * Create an instance of {@link WebServiceParameterSet }
 +     * 
 +     */
 +    public WebServiceParameterSet createWebServiceParameterSet() {
 +        return new WebServiceParameterSet();
 +    }
 +
 +    /**
 +     * Create an instance of {@link FeatureMatcherSet.CompoundMatcher }
 +     * 
 +     */
 +    public FeatureMatcherSet.CompoundMatcher createFeatureMatcherSetCompoundMatcher() {
 +        return new FeatureMatcherSet.CompoundMatcher();
 +    }
 +
 +    /**
 +     * Create an instance of {@link JalviewUserColours.Colour }
 +     * 
 +     */
 +    public JalviewUserColours.Colour createJalviewUserColoursColour() {
 +        return new JalviewUserColours.Colour();
 +    }
 +
 +    /**
 +     * Create an instance of {@link JalviewUserColours.Filter }
 +     * 
 +     */
 +    public JalviewUserColours.Filter createJalviewUserColoursFilter() {
 +        return new JalviewUserColours.Filter();
 +    }
 +
 +    /**
 +     * Create an instance of {@link Pdbentry.Property }
 +     * 
 +     */
 +    public Pdbentry.Property createPdbentryProperty() {
 +        return new Pdbentry.Property();
 +    }
 +
 +    /**
 +     * Create an instance of {@link Feature.OtherData }
 +     * 
 +     */
 +    public Feature.OtherData createFeatureOtherData() {
 +        return new Feature.OtherData();
 +    }
 +
 +    /**
 +     * Create an instance of {@link JalviewModel.JGroup }
 +     * 
 +     */
 +    public JalviewModel.JGroup createJalviewModelJGroup() {
 +        return new JalviewModel.JGroup();
 +    }
 +
 +    /**
 +     * Create an instance of {@link JalviewModel.UserColours }
 +     * 
 +     */
 +    public JalviewModel.UserColours createJalviewModelUserColours() {
 +        return new JalviewModel.UserColours();
 +    }
 +
 +    /**
 +     * Create an instance of {@link JalviewModel.Tree }
 +     * 
 +     */
 +    public JalviewModel.Tree createJalviewModelTree() {
 +        return new JalviewModel.Tree();
 +    }
 +
 +    /**
 +     * Create an instance of {@link JalviewModel.FeatureSettings.Setting }
 +     * 
 +     */
 +    public JalviewModel.FeatureSettings.Setting createJalviewModelFeatureSettingsSetting() {
 +        return new JalviewModel.FeatureSettings.Setting();
 +    }
 +
 +    /**
 +     * Create an instance of {@link JalviewModel.FeatureSettings.Group }
 +     * 
 +     */
 +    public JalviewModel.FeatureSettings.Group createJalviewModelFeatureSettingsGroup() {
 +        return new JalviewModel.FeatureSettings.Group();
 +    }
 +
 +    /**
 +     * Create an instance of {@link JalviewModel.PcaViewer.SequencePoint }
 +     * 
 +     */
 +    public JalviewModel.PcaViewer.SequencePoint createJalviewModelPcaViewerSequencePoint() {
 +        return new JalviewModel.PcaViewer.SequencePoint();
 +    }
 +
 +    /**
 +     * Create an instance of {@link JalviewModel.PcaViewer.Axis }
 +     * 
 +     */
 +    public JalviewModel.PcaViewer.Axis createJalviewModelPcaViewerAxis() {
 +        return new JalviewModel.PcaViewer.Axis();
 +    }
 +
 +    /**
 +     * Create an instance of {@link JalviewModel.PcaViewer.SeqPointMin }
 +     * 
 +     */
 +    public JalviewModel.PcaViewer.SeqPointMin createJalviewModelPcaViewerSeqPointMin() {
 +        return new JalviewModel.PcaViewer.SeqPointMin();
 +    }
 +
 +    /**
 +     * Create an instance of {@link JalviewModel.PcaViewer.SeqPointMax }
 +     * 
 +     */
 +    public JalviewModel.PcaViewer.SeqPointMax createJalviewModelPcaViewerSeqPointMax() {
 +        return new JalviewModel.PcaViewer.SeqPointMax();
 +    }
 +
 +    /**
 +     * Create an instance of {@link JalviewModel.Viewport.HiddenColumns }
 +     * 
 +     */
 +    public JalviewModel.Viewport.HiddenColumns createJalviewModelViewportHiddenColumns() {
 +        return new JalviewModel.Viewport.HiddenColumns();
 +    }
 +
 +    /**
 +     * Create an instance of {@link JalviewModel.Viewport.CalcIdParam }
 +     * 
 +     */
 +    public JalviewModel.Viewport.CalcIdParam createJalviewModelViewportCalcIdParam() {
 +        return new JalviewModel.Viewport.CalcIdParam();
 +    }
 +
 +    /**
 +     * Create an instance of {@link JalviewModel.Viewport.Overview }
 +     * 
 +     */
 +    public JalviewModel.Viewport.Overview createJalviewModelViewportOverview() {
 +        return new JalviewModel.Viewport.Overview();
 +    }
 +
 +    /**
 +     * Create an instance of {@link JalviewModel.JSeq.RnaViewer.SecondaryStructure }
 +     * 
 +     */
 +    public JalviewModel.JSeq.RnaViewer.SecondaryStructure createJalviewModelJSeqRnaViewerSecondaryStructure() {
 +        return new JalviewModel.JSeq.RnaViewer.SecondaryStructure();
 +    }
 +
 +    /**
 +     * Create an instance of {@link JalviewModel.JSeq.Pdbids.StructureState }
 +     * 
 +     */
 +    public JalviewModel.JSeq.Pdbids.StructureState createJalviewModelJSeqPdbidsStructureState() {
 +        return new JalviewModel.JSeq.Pdbids.StructureState();
 +    }
 +
 +    /**
-      * Create an instance of {@link JAXBElement }{@code <}{@link JalviewModel }{@code >}
++     * Create an instance of {@link JAXBElement }{@code <}{@link WebServiceParameterSet }{@code >}}
++     * 
++     */
++    @XmlElementDecl(namespace = "www.jalview.org/xml/wsparamset", name = "WebServiceParameterSet")
++    public JAXBElement<WebServiceParameterSet> createWebServiceParameterSet(WebServiceParameterSet value) {
++        return new JAXBElement<WebServiceParameterSet>(_WebServiceParameterSet_QNAME, WebServiceParameterSet.class, null, value);
++    }
++
++    /**
++     * Create an instance of {@link JAXBElement }{@code <}{@link JalviewModel }{@code >}}
 +     * 
-      * @param value
-      *     Java instance representing xml element's value.
-      * @return
-      *     the new instance of {@link JAXBElement }{@code <}{@link JalviewModel }{@code >}
 +     */
 +    @XmlElementDecl(namespace = "www.jalview.org", name = "JalviewModel")
 +    public JAXBElement<JalviewModel> createJalviewModel(JalviewModel value) {
 +        return new JAXBElement<JalviewModel>(_JalviewModel_QNAME, JalviewModel.class, null, value);
 +    }
 +
 +    /**
-      * Create an instance of {@link JAXBElement }{@code <}{@link JalviewUserColours }{@code >}
++     * Create an instance of {@link JAXBElement }{@code <}{@link JalviewUserColours }{@code >}}
 +     * 
-      * @param value
-      *     Java instance representing xml element's value.
-      * @return
-      *     the new instance of {@link JAXBElement }{@code <}{@link JalviewUserColours }{@code >}
 +     */
 +    @XmlElementDecl(namespace = "www.jalview.org/colours", name = "JalviewUserColours")
 +    public JAXBElement<JalviewUserColours> createJalviewUserColours(JalviewUserColours value) {
 +        return new JAXBElement<JalviewUserColours>(_JalviewUserColours_QNAME, JalviewUserColours.class, null, value);
 +    }
  
-     /**
-      * Create an instance of {@link JAXBElement }{@code <}{@link WebServiceParameterSet }{@code >}
-      * 
-      * @param value
-      *     Java instance representing xml element's value.
-      * @return
-      *     the new instance of {@link JAXBElement }{@code <}{@link WebServiceParameterSet }{@code >}
-      */
-     @XmlElementDecl(namespace = "www.jalview.org/xml/wsparamset", name = "WebServiceParameterSet")
-     public JAXBElement<WebServiceParameterSet> createWebServiceParameterSet(WebServiceParameterSet value) {
-         return new JAXBElement<WebServiceParameterSet>(_WebServiceParameterSet_QNAME, WebServiceParameterSet.class, null, value);
-     }
  }
@@@ -1,11 -1,10 +1,11 @@@
  //
--// This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
--// See https://eclipse-ee4j.github.io/jaxb-ri 
++// 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: 2022.02.07 at 04:44:47 PM GMT 
 -// Generated on: 2021.08.30 at 11:05:22 AM BST 
++// Generated on: 2023.01.31 at 04:07:08 PM GMT 
  //
  
 +
  package jalview.xml.binding.jalview;
  
  import javax.xml.bind.annotation.XmlAccessType;
@@@ -13,29 -12,26 +13,29 @@@ import javax.xml.bind.annotation.XmlAcc
  import javax.xml.bind.annotation.XmlElement;
  import javax.xml.bind.annotation.XmlType;
  
 +
  /**
   * 
 - * The results of a PCA calculation
 - * 
 + *                            The results of a PCA calculation
 + *                    
   * 
-- * &lt;p&gt;Java class for PcaDataType complex type.
++ * <p>Java class for PcaDataType complex type.
   * 
-  * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
 - * &lt;p&gt;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.
   * 
-  * &lt;pre&gt;
-  * &amp;lt;complexType name="PcaDataType"&amp;gt;
-  *   &amp;lt;complexContent&amp;gt;
-  *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *       &amp;lt;sequence&amp;gt;
-  *         &amp;lt;element name="pairwiseMatrix" type="{www.jalview.org}DoubleMatrix"/&amp;gt;
-  *         &amp;lt;element name="tridiagonalMatrix" type="{www.jalview.org}DoubleMatrix"/&amp;gt;
-  *         &amp;lt;element name="eigenMatrix" type="{www.jalview.org}DoubleMatrix"/&amp;gt;
-  *       &amp;lt;/sequence&amp;gt;
-  *     &amp;lt;/restriction&amp;gt;
-  *   &amp;lt;/complexContent&amp;gt;
-  * &amp;lt;/complexType&amp;gt;
-  * &lt;/pre&gt;
 - * &lt;pre&gt; &amp;lt;complexType name="PcaDataType"&amp;gt;
 - * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
 - * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
 - * &amp;lt;sequence&amp;gt; &amp;lt;element name="pairwiseMatrix"
 - * type="{www.jalview.org}DoubleMatrix"/&amp;gt; &amp;lt;element
 - * name="tridiagonalMatrix" type="{www.jalview.org}DoubleMatrix"/&amp;gt;
 - * &amp;lt;element name="eigenMatrix"
 - * type="{www.jalview.org}DoubleMatrix"/&amp;gt; &amp;lt;/sequence&amp;gt;
 - * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 - * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
++ * <pre>
++ * &lt;complexType name="PcaDataType">
++ *   &lt;complexContent>
++ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++ *       &lt;sequence>
++ *         &lt;element name="pairwiseMatrix" type="{www.jalview.org}DoubleMatrix"/>
++ *         &lt;element name="tridiagonalMatrix" type="{www.jalview.org}DoubleMatrix"/>
++ *         &lt;element name="eigenMatrix" type="{www.jalview.org}DoubleMatrix"/>
++ *       &lt;/sequence>
++ *     &lt;/restriction>
++ *   &lt;/complexContent>
++ * &lt;/complexType>
++ * </pre>
   * 
   * 
   */
@@@ -1,11 -1,10 +1,11 @@@
  //
--// This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
--// See https://eclipse-ee4j.github.io/jaxb-ri 
++// 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: 2022.02.07 at 04:44:47 PM GMT 
 -// Generated on: 2021.08.30 at 11:05:22 AM BST 
++// Generated on: 2023.01.31 at 04:07:08 PM GMT 
  //
  
 +
  package jalview.xml.binding.jalview;
  
  import java.util.ArrayList;
@@@ -16,94 -15,186 +16,94 @@@ import javax.xml.bind.annotation.XmlAtt
  import javax.xml.bind.annotation.XmlSeeAlso;
  import javax.xml.bind.annotation.XmlType;
  
 +
  /**
-- * &lt;p&gt;Java class for pdbentry complex type.
++ * <p>Java class for pdbentry complex type.
   * 
-  * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
 - * &lt;p&gt;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.
   * 
-  * &lt;pre&gt;
-  * &amp;lt;complexType name="pdbentry"&amp;gt;
-  *   &amp;lt;complexContent&amp;gt;
-  *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *       &amp;lt;sequence maxOccurs="unbounded" minOccurs="0"&amp;gt;
-  *         &amp;lt;element name="property" maxOccurs="unbounded" minOccurs="0"&amp;gt;
-  *           &amp;lt;complexType&amp;gt;
-  *             &amp;lt;complexContent&amp;gt;
-  *               &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *                 &amp;lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *                 &amp;lt;attribute name="value" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *               &amp;lt;/restriction&amp;gt;
-  *             &amp;lt;/complexContent&amp;gt;
-  *           &amp;lt;/complexType&amp;gt;
-  *         &amp;lt;/element&amp;gt;
-  *       &amp;lt;/sequence&amp;gt;
-  *       &amp;lt;attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *       &amp;lt;attribute name="type" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *       &amp;lt;attribute name="file" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *     &amp;lt;/restriction&amp;gt;
-  *   &amp;lt;/complexContent&amp;gt;
-  * &amp;lt;/complexType&amp;gt;
-  * &lt;/pre&gt;
 - * &lt;pre&gt; &amp;lt;complexType name="pdbentry"&amp;gt;
 - * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
 - * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;sequence
 - * maxOccurs="unbounded" minOccurs="0"&amp;gt; &amp;lt;element name="property"
 - * maxOccurs="unbounded" minOccurs="0"&amp;gt; &amp;lt;complexType&amp;gt;
 - * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
 - * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attribute
 - * name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string"
 - * /&amp;gt; &amp;lt;attribute name="value" use="required"
 - * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
 - * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 - * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt;
 - * &amp;lt;/sequence&amp;gt; &amp;lt;attribute name="id" use="required"
 - * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
 - * name="type" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
 - * &amp;lt;attribute name="file" type="{http://www.w3.org/2001/XMLSchema}string"
 - * /&amp;gt; &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 - * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
++ * <pre>
++ * &lt;complexType name="pdbentry">
++ *   &lt;complexContent>
++ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++ *       &lt;sequence maxOccurs="unbounded" minOccurs="0">
++ *         &lt;element name="property" maxOccurs="unbounded" minOccurs="0">
++ *           &lt;complexType>
++ *             &lt;complexContent>
++ *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++ *                 &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *                 &lt;attribute name="value" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *               &lt;/restriction>
++ *             &lt;/complexContent>
++ *           &lt;/complexType>
++ *         &lt;/element>
++ *       &lt;/sequence>
++ *       &lt;attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *       &lt;attribute name="type" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *       &lt;attribute name="file" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *     &lt;/restriction>
++ *   &lt;/complexContent>
++ * &lt;/complexType>
++ * </pre>
   * 
   * 
   */
  @XmlAccessorType(XmlAccessType.FIELD)
 -@XmlType(
 -  name = "pdbentry",
 -  namespace = "www.jalview.org",
 -  propOrder =
 -  { "property" })
 -@XmlSeeAlso({ jalview.xml.binding.jalview.JalviewModel.JSeq.Pdbids.class })
 -public class Pdbentry
 -{
 -
 -  protected List<Pdbentry.Property> property;
 -
 -  @XmlAttribute(name = "id", required = true)
 -  protected String id;
 -
 -  @XmlAttribute(name = "type")
 -  protected String type;
 -
 -  @XmlAttribute(name = "file")
 -  protected String file;
 -
 -  /**
 -   * Gets the value of the property property.
 -   * 
 -   * &lt;p&gt; 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
 -   * &lt;CODE&gt;set&lt;/CODE&gt; method for the property property.
 -   * 
 -   * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
 -   * getProperty().add(newItem); &lt;/pre&gt;
 -   * 
 -   * 
 -   * &lt;p&gt; Objects of the following type(s) are allowed in the list
 -   * {@link Pdbentry.Property }
 -   * 
 -   * 
 -   */
 -  public List<Pdbentry.Property> getProperty()
 -  {
 -    if (property == null)
 -    {
 -      property = new ArrayList<Pdbentry.Property>();
 -    }
 -    return this.property;
 -  }
 -
 -  /**
 -   * Gets the value of the id property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getId()
 -  {
 -    return id;
 -  }
 -
 -  /**
 -   * Sets the value of the id property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setId(String value)
 -  {
 -    this.id = value;
 -  }
 -
 -  /**
 -   * Gets the value of the type property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getType()
 -  {
 -    return type;
 -  }
 -
 -  /**
 -   * Sets the value of the type property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setType(String value)
 -  {
 -    this.type = value;
 -  }
 -
 -  /**
 -   * Gets the value of the file property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getFile()
 -  {
 -    return file;
 -  }
 -
 -  /**
 -   * Sets the value of the file property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setFile(String value)
 -  {
 -    this.file = value;
 -  }
 -
 -  /**
 -   * &lt;p&gt;Java class for anonymous complex type.
 -   * 
 -   * &lt;p&gt;The following schema fragment specifies the expected content
 -   * contained within this class.
 -   * 
 -   * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
 -   * &amp;lt;restriction
 -   * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attribute
 -   * name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string"
 -   * /&amp;gt; &amp;lt;attribute name="value" use="required"
 -   * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
 -   * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 -   * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
 -   * 
 -   * 
 -   */
 -  @XmlAccessorType(XmlAccessType.FIELD)
 -  @XmlType(name = "")
 -  public static class Property
 -  {
 -
 -    @XmlAttribute(name = "name", required = true)
 -    protected String name;
 -
 -    @XmlAttribute(name = "value", required = true)
 -    protected String value;
 +@XmlType(name = "pdbentry", namespace = "www.jalview.org", propOrder = {
 +    "property"
 +})
 +@XmlSeeAlso({
 +    jalview.xml.binding.jalview.JalviewModel.JSeq.Pdbids.class
 +})
 +public class Pdbentry {
 +
 +    protected List<Pdbentry.Property> property;
 +    @XmlAttribute(name = "id", required = true)
 +    protected String id;
 +    @XmlAttribute(name = "type")
 +    protected String type;
 +    @XmlAttribute(name = "file")
 +    protected String file;
  
      /**
 -     * Gets the value of the name property.
 +     * Gets the value of the property property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the property property.
++     * This is why there is not a <CODE>set</CODE> method for the property property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getProperty().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link Pdbentry.Property }
 +     * 
       * 
 -     * @return possible object is {@link String }
 +     */
 +    public List<Pdbentry.Property> getProperty() {
 +        if (property == null) {
 +            property = new ArrayList<Pdbentry.Property>();
 +        }
 +        return this.property;
 +    }
 +
 +    /**
 +     * Gets the value of the id property.
       * 
 +     * @return
 +     *     possible object is
 +     *     {@link String }
 +     *     
       */
 -    public String getName()
 -    {
 -      return name;
 +    public String getId() {
 +        return id;
      }
  
      /**
      }
  
      /**
 -     * Sets the value of the value property.
 +     * Sets the value of the file property.
       * 
       * @param value
 -     *          allowed object is {@link String }
 -     * 
 +     *     allowed object is
 +     *     {@link String }
 +     *     
       */
 -    public void setValue(String value)
 -    {
 -      this.value = value;
 +    public void setFile(String value) {
 +        this.file = value;
      }
  
 -  }
 +
 +    /**
-      * &lt;p&gt;Java class for anonymous complex type.
-      * 
-      * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
-      * 
-      * &lt;pre&gt;
-      * &amp;lt;complexType&amp;gt;
-      *   &amp;lt;complexContent&amp;gt;
-      *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-      *       &amp;lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-      *       &amp;lt;attribute name="value" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-      *     &amp;lt;/restriction&amp;gt;
-      *   &amp;lt;/complexContent&amp;gt;
-      * &amp;lt;/complexType&amp;gt;
-      * &lt;/pre&gt;
++     * <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;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
++     *       &lt;attribute name="value" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
++     *     &lt;/restriction>
++     *   &lt;/complexContent>
++     * &lt;/complexType>
++     * </pre>
 +     * 
 +     * 
 +     */
 +    @XmlAccessorType(XmlAccessType.FIELD)
 +    @XmlType(name = "")
 +    public static class Property {
 +
 +        @XmlAttribute(name = "name", required = true)
 +        protected String name;
 +        @XmlAttribute(name = "value", required = true)
 +        protected String value;
 +
 +        /**
 +         * Gets the value of the name property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link String }
 +         *     
 +         */
 +        public String getName() {
 +            return name;
 +        }
 +
 +        /**
 +         * Sets the value of the name property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link String }
 +         *     
 +         */
 +        public void setName(String value) {
 +            this.name = value;
 +        }
 +
 +        /**
 +         * Gets the value of the value property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link String }
 +         *     
 +         */
 +        public String getValue() {
 +            return value;
 +        }
 +
 +        /**
 +         * Sets the value of the value property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link String }
 +         *     
 +         */
 +        public void setValue(String value) {
 +            this.value = value;
 +        }
 +
 +    }
  
  }
@@@ -1,11 -1,10 +1,11 @@@
  //
--// This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
--// See https://eclipse-ee4j.github.io/jaxb-ri 
++// 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: 2022.02.07 at 04:44:47 PM GMT 
 -// Generated on: 2021.08.30 at 11:05:22 AM BST 
++// Generated on: 2023.01.31 at 04:07:08 PM GMT 
  //
  
 +
  package jalview.xml.binding.jalview;
  
  import java.util.ArrayList;
@@@ -17,86 -16,217 +17,86 @@@ import javax.xml.bind.annotation.XmlEle
  import javax.xml.bind.annotation.XmlRootElement;
  import javax.xml.bind.annotation.XmlType;
  
 +
  /**
-- * &lt;p&gt;Java class for anonymous complex type.
++ * <p>Java class for anonymous complex type.
   * 
-  * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
 - * &lt;p&gt;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.
   * 
-  * &lt;pre&gt;
-  * &amp;lt;complexType&amp;gt;
-  *   &amp;lt;complexContent&amp;gt;
-  *     &amp;lt;extension base="{www.vamsas.ac.uk/jalview/version2}SequenceType"&amp;gt;
-  *       &amp;lt;sequence&amp;gt;
-  *         &amp;lt;element name="DBRef" maxOccurs="unbounded" minOccurs="0"&amp;gt;
-  *           &amp;lt;complexType&amp;gt;
-  *             &amp;lt;complexContent&amp;gt;
-  *               &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *                 &amp;lt;sequence&amp;gt;
-  *                   &amp;lt;element ref="{www.vamsas.ac.uk/jalview/version2}Mapping" minOccurs="0"/&amp;gt;
-  *                 &amp;lt;/sequence&amp;gt;
-  *                 &amp;lt;attribute name="source" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *                 &amp;lt;attribute name="version" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *                 &amp;lt;attribute name="accessionId" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *                 &amp;lt;attribute name="locus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
-  *                 &amp;lt;attribute name="canonical" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
-  *               &amp;lt;/restriction&amp;gt;
-  *             &amp;lt;/complexContent&amp;gt;
-  *           &amp;lt;/complexType&amp;gt;
-  *         &amp;lt;/element&amp;gt;
-  *       &amp;lt;/sequence&amp;gt;
-  *       &amp;lt;attribute name="dsseqid" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *       &amp;lt;attribute name="biotype" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *     &amp;lt;/extension&amp;gt;
-  *   &amp;lt;/complexContent&amp;gt;
-  * &amp;lt;/complexType&amp;gt;
-  * &lt;/pre&gt;
 - * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
 - * &amp;lt;extension
 - * base="{www.vamsas.ac.uk/jalview/version2}SequenceType"&amp;gt;
 - * &amp;lt;sequence&amp;gt; &amp;lt;element name="DBRef" maxOccurs="unbounded"
 - * minOccurs="0"&amp;gt; &amp;lt;complexType&amp;gt;
 - * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
 - * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
 - * &amp;lt;sequence&amp;gt; &amp;lt;element
 - * ref="{www.vamsas.ac.uk/jalview/version2}Mapping" minOccurs="0"/&amp;gt;
 - * &amp;lt;/sequence&amp;gt; &amp;lt;attribute name="source"
 - * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
 - * name="version" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
 - * &amp;lt;attribute name="accessionId"
 - * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
 - * name="locus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false"
 - * /&amp;gt; &amp;lt;attribute name="canonical"
 - * type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
 - * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 - * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt;
 - * &amp;lt;/sequence&amp;gt; &amp;lt;attribute name="dsseqid"
 - * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
 - * name="biotype" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
 - * &amp;lt;/extension&amp;gt; &amp;lt;/complexContent&amp;gt;
 - * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
++ * <pre>
++ * &lt;complexType>
++ *   &lt;complexContent>
++ *     &lt;extension base="{www.vamsas.ac.uk/jalview/version2}SequenceType">
++ *       &lt;sequence>
++ *         &lt;element name="DBRef" maxOccurs="unbounded" minOccurs="0">
++ *           &lt;complexType>
++ *             &lt;complexContent>
++ *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++ *                 &lt;sequence>
++ *                   &lt;element ref="{www.vamsas.ac.uk/jalview/version2}Mapping" minOccurs="0"/>
++ *                 &lt;/sequence>
++ *                 &lt;attribute name="source" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *                 &lt;attribute name="version" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *                 &lt;attribute name="accessionId" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *                 &lt;attribute name="locus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
++ *                 &lt;attribute name="canonical" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
++ *               &lt;/restriction>
++ *             &lt;/complexContent>
++ *           &lt;/complexType>
++ *         &lt;/element>
++ *       &lt;/sequence>
++ *       &lt;attribute name="dsseqid" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *       &lt;attribute name="biotype" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *     &lt;/extension>
++ *   &lt;/complexContent>
++ * &lt;/complexType>
++ * </pre>
   * 
   * 
   */
  @XmlAccessorType(XmlAccessType.FIELD)
 -@XmlType(name = "", propOrder = { "dbRef" })
 +@XmlType(name = "", propOrder = {
 +    "dbRef"
 +})
  @XmlRootElement(name = "Sequence")
 -public class Sequence extends SequenceType
 +public class Sequence
 +    extends SequenceType
  {
  
 -  @XmlElement(name = "DBRef")
 -  protected List<Sequence.DBRef> dbRef;
 -
 -  @XmlAttribute(name = "dsseqid")
 -  protected String dsseqid;
 -
 -  @XmlAttribute(name = "biotype")
 -  protected String biotype;
 -
 -  /**
 -   * Gets the value of the dbRef property.
 -   * 
 -   * &lt;p&gt; 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
 -   * &lt;CODE&gt;set&lt;/CODE&gt; method for the dbRef property.
 -   * 
 -   * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
 -   * getDBRef().add(newItem); &lt;/pre&gt;
 -   * 
 -   * 
 -   * &lt;p&gt; Objects of the following type(s) are allowed in the list
 -   * {@link Sequence.DBRef }
 -   * 
 -   * 
 -   */
 -  public List<Sequence.DBRef> getDBRef()
 -  {
 -    if (dbRef == null)
 -    {
 -      dbRef = new ArrayList<Sequence.DBRef>();
 -    }
 -    return this.dbRef;
 -  }
 -
 -  /**
 -   * Gets the value of the dsseqid property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getDsseqid()
 -  {
 -    return dsseqid;
 -  }
 -
 -  /**
 -   * Sets the value of the dsseqid property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setDsseqid(String value)
 -  {
 -    this.dsseqid = value;
 -  }
 -
 -  /**
 -   * Gets the value of the biotype property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getBiotype()
 -  {
 -    return biotype;
 -  }
 -
 -  /**
 -   * Sets the value of the biotype property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setBiotype(String value)
 -  {
 -    this.biotype = value;
 -  }
 -
 -  /**
 -   * &lt;p&gt;Java class for anonymous complex type.
 -   * 
 -   * &lt;p&gt;The following schema fragment specifies the expected content
 -   * contained within this class.
 -   * 
 -   * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
 -   * &amp;lt;restriction
 -   * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
 -   * &amp;lt;sequence&amp;gt; &amp;lt;element
 -   * ref="{www.vamsas.ac.uk/jalview/version2}Mapping" minOccurs="0"/&amp;gt;
 -   * &amp;lt;/sequence&amp;gt; &amp;lt;attribute name="source"
 -   * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
 -   * name="version" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
 -   * &amp;lt;attribute name="accessionId"
 -   * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
 -   * name="locus" type="{http://www.w3.org/2001/XMLSchema}boolean"
 -   * default="false" /&amp;gt; &amp;lt;attribute name="canonical"
 -   * type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
 -   * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 -   * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
 -   * 
 -   * 
 -   */
 -  @XmlAccessorType(XmlAccessType.FIELD)
 -  @XmlType(name = "", propOrder = { "mapping" })
 -  public static class DBRef
 -  {
 -
 -    @XmlElement(name = "Mapping")
 -    protected Mapping mapping;
 -
 -    @XmlAttribute(name = "source")
 -    protected String source;
 -
 -    @XmlAttribute(name = "version")
 -    protected String version;
 -
 -    @XmlAttribute(name = "accessionId")
 -    protected String accessionId;
 -
 -    @XmlAttribute(name = "locus")
 -    protected Boolean locus;
 -
 -    @XmlAttribute(name = "canonical")
 -    protected Boolean canonical;
 +    @XmlElement(name = "DBRef")
 +    protected List<Sequence.DBRef> dbRef;
 +    @XmlAttribute(name = "dsseqid")
 +    protected String dsseqid;
 +    @XmlAttribute(name = "biotype")
 +    protected String biotype;
  
      /**
 -     * Gets the value of the mapping property.
 +     * Gets the value of the dbRef property.
       * 
-      * &lt;p&gt;
 -     * @return possible object is {@link Mapping }
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the dbRef property.
++     * This is why there is not a <CODE>set</CODE> method for the dbRef property.
       * 
-      * &lt;p&gt;
 -     */
 -    public Mapping getMapping()
 -    {
 -      return mapping;
 -    }
 -
 -    /**
 -     * Sets the value of the mapping property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Mapping }
 -     * 
 -     */
 -    public void setMapping(Mapping value)
 -    {
 -      this.mapping = value;
 -    }
 -
 -    /**
 -     * Gets the value of the source property.
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getDBRef().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
       * 
 -     * @return possible object is {@link String }
       * 
-      * &lt;p&gt;
 -     */
 -    public String getSource()
 -    {
 -      return source;
 -    }
 -
 -    /**
 -     * Sets the value of the source property.
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link Sequence.DBRef }
       * 
 -     * @param value
 -     *          allowed object is {@link String }
       * 
       */
 -    public void setSource(String value)
 -    {
 -      this.source = value;
 +    public List<Sequence.DBRef> getDBRef() {
 +        if (dbRef == null) {
 +            dbRef = new ArrayList<Sequence.DBRef>();
 +        }
 +        return this.dbRef;
      }
  
      /**
      }
  
      /**
 -     * Sets the value of the accessionId property.
 +     * Sets the value of the biotype property.
       * 
       * @param value
 -     *          allowed object is {@link String }
 -     * 
 +     *     allowed object is
 +     *     {@link String }
 +     *     
       */
 -    public void setAccessionId(String value)
 -    {
 -      this.accessionId = value;
 +    public void setBiotype(String value) {
 +        this.biotype = value;
      }
  
 -    /**
 -     * Gets the value of the locus property.
 -     * 
 -     * @return possible object is {@link Boolean }
 -     * 
 -     */
 -    public boolean isLocus()
 -    {
 -      if (locus == null)
 -      {
 -        return false;
 -      }
 -      else
 -      {
 -        return locus;
 -      }
 -    }
  
      /**
-      * &lt;p&gt;Java class for anonymous complex type.
 -     * Sets the value of the locus property.
++     * <p>Java class for anonymous complex type.
       * 
-      * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
 -     * @param value
 -     *          allowed object is {@link Boolean }
++     * <p>The following schema fragment specifies the expected content contained within this class.
       * 
-      * &lt;pre&gt;
-      * &amp;lt;complexType&amp;gt;
-      *   &amp;lt;complexContent&amp;gt;
-      *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-      *       &amp;lt;sequence&amp;gt;
-      *         &amp;lt;element ref="{www.vamsas.ac.uk/jalview/version2}Mapping" minOccurs="0"/&amp;gt;
-      *       &amp;lt;/sequence&amp;gt;
-      *       &amp;lt;attribute name="source" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-      *       &amp;lt;attribute name="version" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-      *       &amp;lt;attribute name="accessionId" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-      *       &amp;lt;attribute name="locus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
-      *       &amp;lt;attribute name="canonical" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&amp;gt;
-      *     &amp;lt;/restriction&amp;gt;
-      *   &amp;lt;/complexContent&amp;gt;
-      * &amp;lt;/complexType&amp;gt;
-      * &lt;/pre&gt;
 -     */
 -    public void setLocus(Boolean value)
 -    {
 -      this.locus = value;
 -    }
 -
 -    /**
 -     * Gets the value of the canonical property.
++     * <pre>
++     * &lt;complexType>
++     *   &lt;complexContent>
++     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++     *       &lt;sequence>
++     *         &lt;element ref="{www.vamsas.ac.uk/jalview/version2}Mapping" minOccurs="0"/>
++     *       &lt;/sequence>
++     *       &lt;attribute name="source" type="{http://www.w3.org/2001/XMLSchema}string" />
++     *       &lt;attribute name="version" type="{http://www.w3.org/2001/XMLSchema}string" />
++     *       &lt;attribute name="accessionId" type="{http://www.w3.org/2001/XMLSchema}string" />
++     *       &lt;attribute name="locus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
++     *       &lt;attribute name="canonical" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
++     *     &lt;/restriction>
++     *   &lt;/complexContent>
++     * &lt;/complexType>
++     * </pre>
       * 
 -     * @return possible object is {@link Boolean }
       * 
       */
 -    public boolean isCanonical()
 -    {
 -      if (canonical == null)
 -      {
 -        return false;
 -      }
 -      else
 -      {
 -        return canonical;
 -      }
 -    }
 +    @XmlAccessorType(XmlAccessType.FIELD)
 +    @XmlType(name = "", propOrder = {
 +        "mapping"
 +    })
 +    public static class DBRef {
 +
 +        @XmlElement(name = "Mapping")
 +        protected Mapping mapping;
 +        @XmlAttribute(name = "source")
 +        protected String source;
 +        @XmlAttribute(name = "version")
 +        protected String version;
 +        @XmlAttribute(name = "accessionId")
 +        protected String accessionId;
 +        @XmlAttribute(name = "locus")
 +        protected Boolean locus;
 +        @XmlAttribute(name = "canonical")
 +        protected Boolean canonical;
 +
 +        /**
 +         * Gets the value of the mapping property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Mapping }
 +         *     
 +         */
 +        public Mapping getMapping() {
 +            return mapping;
 +        }
 +
 +        /**
 +         * Sets the value of the mapping property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Mapping }
 +         *     
 +         */
 +        public void setMapping(Mapping value) {
 +            this.mapping = value;
 +        }
 +
 +        /**
 +         * Gets the value of the source property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link String }
 +         *     
 +         */
 +        public String getSource() {
 +            return source;
 +        }
 +
 +        /**
 +         * Sets the value of the source property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link String }
 +         *     
 +         */
 +        public void setSource(String value) {
 +            this.source = value;
 +        }
 +
 +        /**
 +         * Gets the value of the version property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link String }
 +         *     
 +         */
 +        public String getVersion() {
 +            return version;
 +        }
 +
 +        /**
 +         * Sets the value of the version property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link String }
 +         *     
 +         */
 +        public void setVersion(String value) {
 +            this.version = value;
 +        }
 +
 +        /**
 +         * Gets the value of the accessionId property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link String }
 +         *     
 +         */
 +        public String getAccessionId() {
 +            return accessionId;
 +        }
 +
 +        /**
 +         * Sets the value of the accessionId property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link String }
 +         *     
 +         */
 +        public void setAccessionId(String value) {
 +            this.accessionId = value;
 +        }
 +
 +        /**
 +         * Gets the value of the locus property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public boolean isLocus() {
 +            if (locus == null) {
 +                return false;
 +            } else {
 +                return locus;
 +            }
 +        }
 +
 +        /**
 +         * Sets the value of the locus property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public void setLocus(Boolean value) {
 +            this.locus = value;
 +        }
 +
 +        /**
 +         * Gets the value of the canonical property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public boolean isCanonical() {
 +            if (canonical == null) {
 +                return false;
 +            } else {
 +                return canonical;
 +            }
 +        }
 +
 +        /**
 +         * Sets the value of the canonical property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link Boolean }
 +         *     
 +         */
 +        public void setCanonical(Boolean value) {
 +            this.canonical = value;
 +        }
  
 -    /**
 -     * Sets the value of the canonical property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link Boolean }
 -     * 
 -     */
 -    public void setCanonical(Boolean value)
 -    {
 -      this.canonical = value;
      }
  
 -  }
 -
  }
@@@ -1,11 -1,10 +1,11 @@@
  //
--// This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
--// See https://eclipse-ee4j.github.io/jaxb-ri 
++// 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: 2022.02.07 at 04:44:47 PM GMT 
 -// Generated on: 2021.08.30 at 11:05:22 AM BST 
++// Generated on: 2023.01.31 at 04:07:08 PM GMT 
  //
  
 +
  package jalview.xml.binding.jalview;
  
  import java.util.ArrayList;
@@@ -17,188 -16,250 +17,188 @@@ import javax.xml.bind.annotation.XmlEle
  import javax.xml.bind.annotation.XmlRootElement;
  import javax.xml.bind.annotation.XmlType;
  
 +
  /**
-- * &lt;p&gt;Java class for anonymous complex type.
++ * <p>Java class for anonymous complex type.
   * 
-  * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
 - * &lt;p&gt;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.
   * 
-  * &lt;pre&gt;
-  * &amp;lt;complexType&amp;gt;
-  *   &amp;lt;complexContent&amp;gt;
-  *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *       &amp;lt;sequence&amp;gt;
-  *         &amp;lt;element ref="{www.vamsas.ac.uk/jalview/version2}Sequence" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
-  *         &amp;lt;element ref="{www.vamsas.ac.uk/jalview/version2}Annotation" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
-  *         &amp;lt;element name="sequenceSetProperties" maxOccurs="unbounded" minOccurs="0"&amp;gt;
-  *           &amp;lt;complexType&amp;gt;
-  *             &amp;lt;complexContent&amp;gt;
-  *               &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *                 &amp;lt;attribute name="key" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *                 &amp;lt;attribute name="value" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *               &amp;lt;/restriction&amp;gt;
-  *             &amp;lt;/complexContent&amp;gt;
-  *           &amp;lt;/complexType&amp;gt;
-  *         &amp;lt;/element&amp;gt;
-  *         &amp;lt;element ref="{www.vamsas.ac.uk/jalview/version2}AlcodonFrame" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
-  *       &amp;lt;/sequence&amp;gt;
-  *       &amp;lt;attribute name="gapChar" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *       &amp;lt;attribute name="datasetId" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *     &amp;lt;/restriction&amp;gt;
-  *   &amp;lt;/complexContent&amp;gt;
-  * &amp;lt;/complexType&amp;gt;
-  * &lt;/pre&gt;
 - * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
 - * &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
 - * &amp;lt;sequence&amp;gt; &amp;lt;element
 - * ref="{www.vamsas.ac.uk/jalview/version2}Sequence" maxOccurs="unbounded"
 - * minOccurs="0"/&amp;gt; &amp;lt;element
 - * ref="{www.vamsas.ac.uk/jalview/version2}Annotation" maxOccurs="unbounded"
 - * minOccurs="0"/&amp;gt; &amp;lt;element name="sequenceSetProperties"
 - * maxOccurs="unbounded" minOccurs="0"&amp;gt; &amp;lt;complexType&amp;gt;
 - * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
 - * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attribute
 - * name="key" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
 - * &amp;lt;attribute name="value"
 - * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
 - * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 - * &amp;lt;/complexType&amp;gt; &amp;lt;/element&amp;gt; &amp;lt;element
 - * ref="{www.vamsas.ac.uk/jalview/version2}AlcodonFrame" maxOccurs="unbounded"
 - * minOccurs="0"/&amp;gt; &amp;lt;/sequence&amp;gt; &amp;lt;attribute
 - * name="gapChar" use="required" type="{http://www.w3.org/2001/XMLSchema}string"
 - * /&amp;gt; &amp;lt;attribute name="datasetId"
 - * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
 - * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 - * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
++ * <pre>
++ * &lt;complexType>
++ *   &lt;complexContent>
++ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++ *       &lt;sequence>
++ *         &lt;element ref="{www.vamsas.ac.uk/jalview/version2}Sequence" maxOccurs="unbounded" minOccurs="0"/>
++ *         &lt;element ref="{www.vamsas.ac.uk/jalview/version2}Annotation" maxOccurs="unbounded" minOccurs="0"/>
++ *         &lt;element name="sequenceSetProperties" maxOccurs="unbounded" minOccurs="0">
++ *           &lt;complexType>
++ *             &lt;complexContent>
++ *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++ *                 &lt;attribute name="key" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *                 &lt;attribute name="value" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *               &lt;/restriction>
++ *             &lt;/complexContent>
++ *           &lt;/complexType>
++ *         &lt;/element>
++ *         &lt;element ref="{www.vamsas.ac.uk/jalview/version2}AlcodonFrame" maxOccurs="unbounded" minOccurs="0"/>
++ *       &lt;/sequence>
++ *       &lt;attribute name="gapChar" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *       &lt;attribute name="datasetId" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *     &lt;/restriction>
++ *   &lt;/complexContent>
++ * &lt;/complexType>
++ * </pre>
   * 
   * 
   */
  @XmlAccessorType(XmlAccessType.FIELD)
 -@XmlType(
 -  name = "",
 -  propOrder =
 -  { "sequence", "annotation", "sequenceSetProperties", "alcodonFrame" })
 +@XmlType(name = "", propOrder = {
 +    "sequence",
 +    "annotation",
 +    "sequenceSetProperties",
 +    "alcodonFrame"
 +})
  @XmlRootElement(name = "SequenceSet")
 -public class SequenceSet
 -{
 -
 -  @XmlElement(name = "Sequence")
 -  protected List<Sequence> sequence;
 -
 -  @XmlElement(name = "Annotation")
 -  protected List<Annotation> annotation;
 +public class SequenceSet {
  
 -  protected List<SequenceSet.SequenceSetProperties> sequenceSetProperties;
 +    @XmlElement(name = "Sequence")
 +    protected List<Sequence> sequence;
 +    @XmlElement(name = "Annotation")
 +    protected List<Annotation> annotation;
 +    protected List<SequenceSet.SequenceSetProperties> sequenceSetProperties;
 +    @XmlElement(name = "AlcodonFrame")
 +    protected List<AlcodonFrame> alcodonFrame;
 +    @XmlAttribute(name = "gapChar", required = true)
 +    protected String gapChar;
 +    @XmlAttribute(name = "datasetId")
 +    protected String datasetId;
  
 -  @XmlElement(name = "AlcodonFrame")
 -  protected List<AlcodonFrame> alcodonFrame;
 -
 -  @XmlAttribute(name = "gapChar", required = true)
 -  protected String gapChar;
 -
 -  @XmlAttribute(name = "datasetId")
 -  protected String datasetId;
 -
 -  /**
 -   * Gets the value of the sequence property.
 -   * 
 -   * &lt;p&gt; 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
 -   * &lt;CODE&gt;set&lt;/CODE&gt; method for the sequence property.
 -   * 
 -   * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
 -   * getSequence().add(newItem); &lt;/pre&gt;
 -   * 
 -   * 
 -   * &lt;p&gt; Objects of the following type(s) are allowed in the list
 -   * {@link Sequence }
 -   * 
 -   * 
 -   */
 -  public List<Sequence> getSequence()
 -  {
 -    if (sequence == null)
 -    {
 -      sequence = new ArrayList<Sequence>();
 +    /**
 +     * Gets the value of the sequence property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the sequence property.
++     * This is why there is not a <CODE>set</CODE> method for the sequence property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getSequence().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link Sequence }
 +     * 
 +     * 
 +     */
 +    public List<Sequence> getSequence() {
 +        if (sequence == null) {
 +            sequence = new ArrayList<Sequence>();
 +        }
 +        return this.sequence;
      }
 -    return this.sequence;
 -  }
  
 -  /**
 -   * Gets the value of the annotation property.
 -   * 
 -   * &lt;p&gt; 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
 -   * &lt;CODE&gt;set&lt;/CODE&gt; method for the annotation property.
 -   * 
 -   * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
 -   * getAnnotation().add(newItem); &lt;/pre&gt;
 -   * 
 -   * 
 -   * &lt;p&gt; Objects of the following type(s) are allowed in the list
 -   * {@link Annotation }
 -   * 
 -   * 
 -   */
 -  public List<Annotation> getAnnotation()
 -  {
 -    if (annotation == null)
 -    {
 -      annotation = new ArrayList<Annotation>();
 +    /**
 +     * Gets the value of the annotation property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the annotation property.
++     * This is why there is not a <CODE>set</CODE> method for the annotation property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getAnnotation().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link Annotation }
 +     * 
 +     * 
 +     */
 +    public List<Annotation> getAnnotation() {
 +        if (annotation == null) {
 +            annotation = new ArrayList<Annotation>();
 +        }
 +        return this.annotation;
      }
 -    return this.annotation;
 -  }
  
 -  /**
 -   * Gets the value of the sequenceSetProperties property.
 -   * 
 -   * &lt;p&gt; 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
 -   * &lt;CODE&gt;set&lt;/CODE&gt; method for the sequenceSetProperties property.
 -   * 
 -   * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
 -   * getSequenceSetProperties().add(newItem); &lt;/pre&gt;
 -   * 
 -   * 
 -   * &lt;p&gt; Objects of the following type(s) are allowed in the list
 -   * {@link SequenceSet.SequenceSetProperties }
 -   * 
 -   * 
 -   */
 -  public List<SequenceSet.SequenceSetProperties> getSequenceSetProperties()
 -  {
 -    if (sequenceSetProperties == null)
 -    {
 -      sequenceSetProperties = new ArrayList<SequenceSet.SequenceSetProperties>();
 +    /**
 +     * Gets the value of the sequenceSetProperties property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the sequenceSetProperties property.
++     * This is why there is not a <CODE>set</CODE> method for the sequenceSetProperties property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getSequenceSetProperties().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link SequenceSet.SequenceSetProperties }
 +     * 
 +     * 
 +     */
 +    public List<SequenceSet.SequenceSetProperties> getSequenceSetProperties() {
 +        if (sequenceSetProperties == null) {
 +            sequenceSetProperties = new ArrayList<SequenceSet.SequenceSetProperties>();
 +        }
 +        return this.sequenceSetProperties;
      }
 -    return this.sequenceSetProperties;
 -  }
  
 -  /**
 -   * Gets the value of the alcodonFrame property.
 -   * 
 -   * &lt;p&gt; 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
 -   * &lt;CODE&gt;set&lt;/CODE&gt; method for the alcodonFrame property.
 -   * 
 -   * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
 -   * getAlcodonFrame().add(newItem); &lt;/pre&gt;
 -   * 
 -   * 
 -   * &lt;p&gt; Objects of the following type(s) are allowed in the list
 -   * {@link AlcodonFrame }
 -   * 
 -   * 
 -   */
 -  public List<AlcodonFrame> getAlcodonFrame()
 -  {
 -    if (alcodonFrame == null)
 -    {
 -      alcodonFrame = new ArrayList<AlcodonFrame>();
 +    /**
 +     * Gets the value of the alcodonFrame property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the alcodonFrame property.
++     * This is why there is not a <CODE>set</CODE> method for the alcodonFrame property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getAlcodonFrame().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link AlcodonFrame }
 +     * 
 +     * 
 +     */
 +    public List<AlcodonFrame> getAlcodonFrame() {
 +        if (alcodonFrame == null) {
 +            alcodonFrame = new ArrayList<AlcodonFrame>();
 +        }
 +        return this.alcodonFrame;
      }
 -    return this.alcodonFrame;
 -  }
 -
 -  /**
 -   * Gets the value of the gapChar property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getGapChar()
 -  {
 -    return gapChar;
 -  }
 -
 -  /**
 -   * Sets the value of the gapChar property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setGapChar(String value)
 -  {
 -    this.gapChar = value;
 -  }
 -
 -  /**
 -   * Gets the value of the datasetId property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getDatasetId()
 -  {
 -    return datasetId;
 -  }
 -
 -  /**
 -   * Sets the value of the datasetId property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setDatasetId(String value)
 -  {
 -    this.datasetId = value;
 -  }
 -
 -  /**
 -   * &lt;p&gt;Java class for anonymous complex type.
 -   * 
 -   * &lt;p&gt;The following schema fragment specifies the expected content
 -   * contained within this class.
 -   * 
 -   * &lt;pre&gt; &amp;lt;complexType&amp;gt; &amp;lt;complexContent&amp;gt;
 -   * &amp;lt;restriction
 -   * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt; &amp;lt;attribute
 -   * name="key" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
 -   * &amp;lt;attribute name="value"
 -   * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
 -   * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 -   * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
 -   * 
 -   * 
 -   */
 -  @XmlAccessorType(XmlAccessType.FIELD)
 -  @XmlType(name = "")
 -  public static class SequenceSetProperties
 -  {
 -
 -    @XmlAttribute(name = "key")
 -    protected String key;
 -
 -    @XmlAttribute(name = "value")
 -    protected String value;
  
      /**
 -     * Gets the value of the key property.
 -     * 
 -     * @return possible object is {@link String }
 +     * Gets the value of the gapChar property.
       * 
 +     * @return
 +     *     possible object is
 +     *     {@link String }
 +     *     
       */
 -    public String getKey()
 -    {
 -      return key;
 +    public String getGapChar() {
 +        return gapChar;
      }
  
      /**
      }
  
      /**
 -     * Sets the value of the value property.
 +     * Sets the value of the datasetId property.
       * 
       * @param value
 -     *          allowed object is {@link String }
 -     * 
 +     *     allowed object is
 +     *     {@link String }
 +     *     
       */
 -    public void setValue(String value)
 -    {
 -      this.value = value;
 +    public void setDatasetId(String value) {
 +        this.datasetId = value;
      }
  
 -  }
 +
 +    /**
-      * &lt;p&gt;Java class for anonymous complex type.
-      * 
-      * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
-      * 
-      * &lt;pre&gt;
-      * &amp;lt;complexType&amp;gt;
-      *   &amp;lt;complexContent&amp;gt;
-      *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-      *       &amp;lt;attribute name="key" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-      *       &amp;lt;attribute name="value" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-      *     &amp;lt;/restriction&amp;gt;
-      *   &amp;lt;/complexContent&amp;gt;
-      * &amp;lt;/complexType&amp;gt;
-      * &lt;/pre&gt;
++     * <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;attribute name="key" type="{http://www.w3.org/2001/XMLSchema}string" />
++     *       &lt;attribute name="value" type="{http://www.w3.org/2001/XMLSchema}string" />
++     *     &lt;/restriction>
++     *   &lt;/complexContent>
++     * &lt;/complexType>
++     * </pre>
 +     * 
 +     * 
 +     */
 +    @XmlAccessorType(XmlAccessType.FIELD)
 +    @XmlType(name = "")
 +    public static class SequenceSetProperties {
 +
 +        @XmlAttribute(name = "key")
 +        protected String key;
 +        @XmlAttribute(name = "value")
 +        protected String value;
 +
 +        /**
 +         * Gets the value of the key property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link String }
 +         *     
 +         */
 +        public String getKey() {
 +            return key;
 +        }
 +
 +        /**
 +         * Sets the value of the key property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link String }
 +         *     
 +         */
 +        public void setKey(String value) {
 +            this.key = value;
 +        }
 +
 +        /**
 +         * Gets the value of the value property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link String }
 +         *     
 +         */
 +        public String getValue() {
 +            return value;
 +        }
 +
 +        /**
 +         * Sets the value of the value property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link String }
 +         *     
 +         */
 +        public void setValue(String value) {
 +            this.value = value;
 +        }
 +
 +    }
  
  }
@@@ -1,11 -1,10 +1,11 @@@
  //
--// This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
--// See https://eclipse-ee4j.github.io/jaxb-ri 
++// 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: 2022.02.07 at 04:44:47 PM GMT 
 -// Generated on: 2021.08.30 at 11:05:22 AM BST 
++// Generated on: 2023.01.31 at 04:07:08 PM GMT 
  //
  
 +
  package jalview.xml.binding.jalview;
  
  import javax.xml.bind.annotation.XmlAccessType;
@@@ -14,26 -13,23 +14,26 @@@ import javax.xml.bind.annotation.XmlAtt
  import javax.xml.bind.annotation.XmlSeeAlso;
  import javax.xml.bind.annotation.XmlType;
  
 +
  /**
-- * &lt;p&gt;Java class for SequenceType complex type.
++ * <p>Java class for SequenceType complex type.
   * 
-  * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
 - * &lt;p&gt;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.
   * 
-  * &lt;pre&gt;
-  * &amp;lt;complexType name="SequenceType"&amp;gt;
-  *   &amp;lt;complexContent&amp;gt;
-  *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *       &amp;lt;sequence&amp;gt;
-  *         &amp;lt;element name="sequence" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&amp;gt;
-  *         &amp;lt;element name="name" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&amp;gt;
-  *       &amp;lt;/sequence&amp;gt;
-  *       &amp;lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *       &amp;lt;attribute name="description" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *     &amp;lt;/restriction&amp;gt;
-  *   &amp;lt;/complexContent&amp;gt;
-  * &amp;lt;/complexType&amp;gt;
-  * &lt;/pre&gt;
 - * &lt;pre&gt; &amp;lt;complexType name="SequenceType"&amp;gt;
 - * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
 - * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
 - * &amp;lt;sequence&amp;gt; &amp;lt;element name="sequence"
 - * type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&amp;gt;
 - * &amp;lt;element name="name" type="{http://www.w3.org/2001/XMLSchema}string"
 - * minOccurs="0"/&amp;gt; &amp;lt;/sequence&amp;gt; &amp;lt;attribute name="id"
 - * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt; &amp;lt;attribute
 - * name="description" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
 - * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 - * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
++ * <pre>
++ * &lt;complexType name="SequenceType">
++ *   &lt;complexContent>
++ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++ *       &lt;sequence>
++ *         &lt;element name="sequence" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
++ *         &lt;element name="name" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
++ *       &lt;/sequence>
++ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *       &lt;attribute name="description" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *     &lt;/restriction>
++ *   &lt;/complexContent>
++ * &lt;/complexType>
++ * </pre>
   * 
   * 
   */
@@@ -1,30 -1,25 +1,31 @@@
  //
--// This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
--// See https://eclipse-ee4j.github.io/jaxb-ri 
++// 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: 2022.02.07 at 04:44:47 PM GMT 
 -// Generated on: 2021.08.30 at 11:05:22 AM BST 
++// Generated on: 2023.01.31 at 04:07:08 PM GMT 
  //
  
 +
  package jalview.xml.binding.jalview;
  
  import javax.xml.bind.annotation.XmlEnum;
  import javax.xml.bind.annotation.XmlType;
  
 +
  /**
-- * &lt;p&gt;Java class for ThresholdType.
++ * <p>Java class for ThresholdType.
   * 
-  * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
-  * &lt;pre&gt;
-  * &amp;lt;simpleType name="ThresholdType"&amp;gt;
-  *   &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&amp;gt;
-  *     &amp;lt;enumeration value="NONE"/&amp;gt;
-  *     &amp;lt;enumeration value="ABOVE"/&amp;gt;
-  *     &amp;lt;enumeration value="BELOW"/&amp;gt;
-  *   &amp;lt;/restriction&amp;gt;
-  * &amp;lt;/simpleType&amp;gt;
-  * &lt;/pre&gt;
 - * &lt;p&gt;The following schema fragment specifies the expected content
 - * contained within this class. &lt;pre&gt; &amp;lt;simpleType
 - * name="ThresholdType"&amp;gt; &amp;lt;restriction
 - * base="{http://www.w3.org/2001/XMLSchema}string"&amp;gt; &amp;lt;enumeration
 - * value="NONE"/&amp;gt; &amp;lt;enumeration value="ABOVE"/&amp;gt;
 - * &amp;lt;enumeration value="BELOW"/&amp;gt; &amp;lt;/restriction&amp;gt;
 - * &amp;lt;/simpleType&amp;gt; &lt;/pre&gt;
++ * <p>The following schema fragment specifies the expected content contained within this class.
++ * <p>
++ * <pre>
++ * &lt;simpleType name="ThresholdType">
++ *   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
++ *     &lt;enumeration value="NONE"/>
++ *     &lt;enumeration value="ABOVE"/>
++ *     &lt;enumeration value="BELOW"/>
++ *   &lt;/restriction>
++ * &lt;/simpleType>
++ * </pre>
   * 
   */
  @XmlType(name = "ThresholdType", namespace = "www.jalview.org/colours")
@@@ -1,11 -1,10 +1,11 @@@
  //
--// This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
--// See https://eclipse-ee4j.github.io/jaxb-ri 
++// 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: 2022.02.07 at 04:44:47 PM GMT 
 -// Generated on: 2021.08.30 at 11:05:22 AM BST 
++// Generated on: 2023.01.31 at 04:07:08 PM GMT 
  //
  
 +
  package jalview.xml.binding.jalview;
  
  import java.util.ArrayList;
@@@ -15,95 -14,85 +15,95 @@@ import javax.xml.bind.annotation.XmlAcc
  import javax.xml.bind.annotation.XmlElement;
  import javax.xml.bind.annotation.XmlType;
  
 +
  /**
-- * &lt;p&gt;Java class for VAMSAS complex type.
++ * <p>Java class for VAMSAS complex type.
   * 
-  * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
 - * &lt;p&gt;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.
   * 
-  * &lt;pre&gt;
-  * &amp;lt;complexType name="VAMSAS"&amp;gt;
-  *   &amp;lt;complexContent&amp;gt;
-  *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *       &amp;lt;sequence&amp;gt;
-  *         &amp;lt;element name="Tree" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
-  *         &amp;lt;element ref="{www.vamsas.ac.uk/jalview/version2}SequenceSet" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
-  *       &amp;lt;/sequence&amp;gt;
-  *     &amp;lt;/restriction&amp;gt;
-  *   &amp;lt;/complexContent&amp;gt;
-  * &amp;lt;/complexType&amp;gt;
-  * &lt;/pre&gt;
 - * &lt;pre&gt; &amp;lt;complexType name="VAMSAS"&amp;gt;
 - * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
 - * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
 - * &amp;lt;sequence&amp;gt; &amp;lt;element name="Tree"
 - * type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded"
 - * minOccurs="0"/&amp;gt; &amp;lt;element
 - * ref="{www.vamsas.ac.uk/jalview/version2}SequenceSet" maxOccurs="unbounded"
 - * minOccurs="0"/&amp;gt; &amp;lt;/sequence&amp;gt; &amp;lt;/restriction&amp;gt;
 - * &amp;lt;/complexContent&amp;gt; &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
++ * <pre>
++ * &lt;complexType name="VAMSAS">
++ *   &lt;complexContent>
++ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++ *       &lt;sequence>
++ *         &lt;element name="Tree" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/>
++ *         &lt;element ref="{www.vamsas.ac.uk/jalview/version2}SequenceSet" maxOccurs="unbounded" minOccurs="0"/>
++ *       &lt;/sequence>
++ *     &lt;/restriction>
++ *   &lt;/complexContent>
++ * &lt;/complexType>
++ * </pre>
   * 
   * 
   */
  @XmlAccessorType(XmlAccessType.FIELD)
 -@XmlType(name = "VAMSAS", propOrder = { "tree", "sequenceSet" })
 -public class VAMSAS
 -{
 -
 -  @XmlElement(name = "Tree")
 -  protected List<String> tree;
 +@XmlType(name = "VAMSAS", propOrder = {
 +    "tree",
 +    "sequenceSet"
 +})
 +public class VAMSAS {
  
 -  @XmlElement(name = "SequenceSet")
 -  protected List<SequenceSet> sequenceSet;
 +    @XmlElement(name = "Tree")
 +    protected List<String> tree;
 +    @XmlElement(name = "SequenceSet")
 +    protected List<SequenceSet> sequenceSet;
  
 -  /**
 -   * Gets the value of the tree property.
 -   * 
 -   * &lt;p&gt; 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
 -   * &lt;CODE&gt;set&lt;/CODE&gt; method for the tree property.
 -   * 
 -   * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
 -   * getTree().add(newItem); &lt;/pre&gt;
 -   * 
 -   * 
 -   * &lt;p&gt; Objects of the following type(s) are allowed in the list
 -   * {@link String }
 -   * 
 -   * 
 -   */
 -  public List<String> getTree()
 -  {
 -    if (tree == null)
 -    {
 -      tree = new ArrayList<String>();
 +    /**
 +     * Gets the value of the tree property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the tree property.
++     * This is why there is not a <CODE>set</CODE> method for the tree property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getTree().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link String }
 +     * 
 +     * 
 +     */
 +    public List<String> getTree() {
 +        if (tree == null) {
 +            tree = new ArrayList<String>();
 +        }
 +        return this.tree;
      }
 -    return this.tree;
 -  }
  
 -  /**
 -   * Gets the value of the sequenceSet property.
 -   * 
 -   * &lt;p&gt; 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
 -   * &lt;CODE&gt;set&lt;/CODE&gt; method for the sequenceSet property.
 -   * 
 -   * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
 -   * getSequenceSet().add(newItem); &lt;/pre&gt;
 -   * 
 -   * 
 -   * &lt;p&gt; Objects of the following type(s) are allowed in the list
 -   * {@link SequenceSet }
 -   * 
 -   * 
 -   */
 -  public List<SequenceSet> getSequenceSet()
 -  {
 -    if (sequenceSet == null)
 -    {
 -      sequenceSet = new ArrayList<SequenceSet>();
 +    /**
 +     * Gets the value of the sequenceSet property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the sequenceSet property.
++     * This is why there is not a <CODE>set</CODE> method for the sequenceSet property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getSequenceSet().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link SequenceSet }
 +     * 
 +     * 
 +     */
 +    public List<SequenceSet> getSequenceSet() {
 +        if (sequenceSet == null) {
 +            sequenceSet = new ArrayList<SequenceSet>();
 +        }
 +        return this.sequenceSet;
      }
 -    return this.sequenceSet;
 -  }
  
  }
@@@ -1,11 -1,10 +1,11 @@@
  //
--// This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
--// See https://eclipse-ee4j.github.io/jaxb-ri 
++// 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: 2022.02.07 at 04:44:47 PM GMT 
 -// Generated on: 2021.08.30 at 11:05:22 AM BST 
++// Generated on: 2023.01.31 at 04:07:08 PM GMT 
  //
  
 +
  package jalview.xml.binding.jalview;
  
  import java.util.ArrayList;
@@@ -18,177 -17,173 +18,177 @@@ import javax.xml.bind.annotation.XmlSch
  import javax.xml.bind.annotation.XmlSeeAlso;
  import javax.xml.bind.annotation.XmlType;
  
 +
  /**
-- * &lt;p&gt;Java class for WebServiceParameterSet complex type.
++ * <p>Java class for WebServiceParameterSet complex type.
   * 
-  * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
 - * &lt;p&gt;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.
   * 
-  * &lt;pre&gt;
-  * &amp;lt;complexType name="WebServiceParameterSet"&amp;gt;
-  *   &amp;lt;complexContent&amp;gt;
-  *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *       &amp;lt;sequence&amp;gt;
-  *         &amp;lt;element name="Version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&amp;gt;
-  *         &amp;lt;element name="description" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&amp;gt;
-  *         &amp;lt;element name="serviceURL" type="{http://www.w3.org/2001/XMLSchema}anyURI" maxOccurs="unbounded"/&amp;gt;
-  *         &amp;lt;element name="parameters" type="{http://www.w3.org/2001/XMLSchema}string"/&amp;gt;
-  *       &amp;lt;/sequence&amp;gt;
-  *       &amp;lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *     &amp;lt;/restriction&amp;gt;
-  *   &amp;lt;/complexContent&amp;gt;
-  * &amp;lt;/complexType&amp;gt;
-  * &lt;/pre&gt;
 - * &lt;pre&gt; &amp;lt;complexType name="WebServiceParameterSet"&amp;gt;
 - * &amp;lt;complexContent&amp;gt; &amp;lt;restriction
 - * base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
 - * &amp;lt;sequence&amp;gt; &amp;lt;element name="Version"
 - * type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&amp;gt;
 - * &amp;lt;element name="description"
 - * type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&amp;gt;
 - * &amp;lt;element name="serviceURL"
 - * type="{http://www.w3.org/2001/XMLSchema}anyURI"
 - * maxOccurs="unbounded"/&amp;gt; &amp;lt;element name="parameters"
 - * type="{http://www.w3.org/2001/XMLSchema}string"/&amp;gt;
 - * &amp;lt;/sequence&amp;gt; &amp;lt;attribute name="name" use="required"
 - * type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
 - * &amp;lt;/restriction&amp;gt; &amp;lt;/complexContent&amp;gt;
 - * &amp;lt;/complexType&amp;gt; &lt;/pre&gt;
++ * <pre>
++ * &lt;complexType name="WebServiceParameterSet">
++ *   &lt;complexContent>
++ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++ *       &lt;sequence>
++ *         &lt;element name="Version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
++ *         &lt;element name="description" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
++ *         &lt;element name="serviceURL" type="{http://www.w3.org/2001/XMLSchema}anyURI" maxOccurs="unbounded"/>
++ *         &lt;element name="parameters" type="{http://www.w3.org/2001/XMLSchema}string"/>
++ *       &lt;/sequence>
++ *       &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
++ *     &lt;/restriction>
++ *   &lt;/complexContent>
++ * &lt;/complexType>
++ * </pre>
   * 
   * 
   */
  @XmlAccessorType(XmlAccessType.FIELD)
 -@XmlType(
 -  name = "WebServiceParameterSet",
 -  namespace = "www.jalview.org/xml/wsparamset",
 -  propOrder =
 -  { "version", "description", "serviceURL", "parameters" })
 +@XmlType(name = "WebServiceParameterSet", namespace = "www.jalview.org/xml/wsparamset", propOrder = {
 +    "version",
 +    "description",
 +    "serviceURL",
 +    "parameters"
 +})
  @XmlSeeAlso({
 -    jalview.xml.binding.jalview.JalviewModel.Viewport.CalcIdParam.class })
 -public class WebServiceParameterSet
 -{
 -
 -  @XmlElement(name = "Version", namespace = "")
 -  protected String version;
 -
 -  @XmlElement(namespace = "")
 -  protected String description;
 -
 -  @XmlElement(namespace = "", required = true)
 -  @XmlSchemaType(name = "anyURI")
 -  protected List<String> serviceURL;
 -
 -  @XmlElement(namespace = "", required = true)
 -  protected String parameters;
 -
 -  @XmlAttribute(name = "name", required = true)
 -  protected String name;
 -
 -  /**
 -   * Gets the value of the version property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getVersion()
 -  {
 -    return version;
 -  }
 -
 -  /**
 -   * Sets the value of the version property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setVersion(String value)
 -  {
 -    this.version = value;
 -  }
 -
 -  /**
 -   * Gets the value of the description property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getDescription()
 -  {
 -    return description;
 -  }
 -
 -  /**
 -   * Sets the value of the description property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setDescription(String value)
 -  {
 -    this.description = value;
 -  }
 -
 -  /**
 -   * Gets the value of the serviceURL property.
 -   * 
 -   * &lt;p&gt; 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
 -   * &lt;CODE&gt;set&lt;/CODE&gt; method for the serviceURL property.
 -   * 
 -   * &lt;p&gt; For example, to add a new item, do as follows: &lt;pre&gt;
 -   * getServiceURL().add(newItem); &lt;/pre&gt;
 -   * 
 -   * 
 -   * &lt;p&gt; Objects of the following type(s) are allowed in the list
 -   * {@link String }
 -   * 
 -   * 
 -   */
 -  public List<String> getServiceURL()
 -  {
 -    if (serviceURL == null)
 -    {
 -      serviceURL = new ArrayList<String>();
 +    jalview.xml.binding.jalview.JalviewModel.Viewport.CalcIdParam.class
 +})
 +public class WebServiceParameterSet {
 +
 +    @XmlElement(name = "Version", namespace = "")
 +    protected String version;
 +    @XmlElement(namespace = "")
 +    protected String description;
 +    @XmlElement(namespace = "", required = true)
 +    @XmlSchemaType(name = "anyURI")
 +    protected List<String> serviceURL;
 +    @XmlElement(namespace = "", required = true)
 +    protected String parameters;
 +    @XmlAttribute(name = "name", required = true)
 +    protected String name;
 +
 +    /**
 +     * Gets the value of the version property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link String }
 +     *     
 +     */
 +    public String getVersion() {
 +        return version;
 +    }
 +
 +    /**
 +     * Sets the value of the version property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link String }
 +     *     
 +     */
 +    public void setVersion(String value) {
 +        this.version = value;
 +    }
 +
 +    /**
 +     * Gets the value of the description property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link String }
 +     *     
 +     */
 +    public String getDescription() {
 +        return description;
 +    }
 +
 +    /**
 +     * Sets the value of the description property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link String }
 +     *     
 +     */
 +    public void setDescription(String value) {
 +        this.description = value;
 +    }
 +
 +    /**
 +     * Gets the value of the serviceURL property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the serviceURL property.
++     * This is why there is not a <CODE>set</CODE> method for the serviceURL property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getServiceURL().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link String }
 +     * 
 +     * 
 +     */
 +    public List<String> getServiceURL() {
 +        if (serviceURL == null) {
 +            serviceURL = new ArrayList<String>();
 +        }
 +        return this.serviceURL;
 +    }
 +
 +    /**
 +     * Gets the value of the parameters property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link String }
 +     *     
 +     */
 +    public String getParameters() {
 +        return parameters;
 +    }
 +
 +    /**
 +     * Sets the value of the parameters property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link String }
 +     *     
 +     */
 +    public void setParameters(String value) {
 +        this.parameters = value;
 +    }
 +
 +    /**
 +     * Gets the value of the name property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link String }
 +     *     
 +     */
 +    public String getName() {
 +        return name;
 +    }
 +
 +    /**
 +     * Sets the value of the name property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link String }
 +     *     
 +     */
 +    public void setName(String value) {
 +        this.name = value;
      }
 -    return this.serviceURL;
 -  }
 -
 -  /**
 -   * Gets the value of the parameters property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getParameters()
 -  {
 -    return parameters;
 -  }
 -
 -  /**
 -   * Sets the value of the parameters property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setParameters(String value)
 -  {
 -    this.parameters = value;
 -  }
 -
 -  /**
 -   * Gets the value of the name property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getName()
 -  {
 -    return name;
 -  }
 -
 -  /**
 -   * Sets the value of the name property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setName(String value)
 -  {
 -    this.name = value;
 -  }
  
  }
@@@ -1,9 -1,11 +1,9 @@@
  //
--// This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
--// See https://eclipse-ee4j.github.io/jaxb-ri 
++// 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: 2022.02.07 at 04:44:47 PM GMT 
 -// Generated on: 2021.08.30 at 11:05:22 AM BST 
++// Generated on: 2023.01.31 at 04:07:08 PM GMT 
  //
  
 -@javax.xml.bind.annotation.XmlSchema(
 -  namespace = "www.vamsas.ac.uk/jalview/version2",
 -  elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
 +@javax.xml.bind.annotation.XmlSchema(namespace = "www.vamsas.ac.uk/jalview/version2", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
  package jalview.xml.binding.jalview;
@@@ -1,11 -1,10 +1,11 @@@
  //
- // This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
- // See https://eclipse-ee4j.github.io/jaxb-ri 
+ // 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: 2022.02.07 at 04:44:21 PM GMT 
 -// 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;
@@@ -15,513 -14,516 +15,513 @@@ import javax.xml.bind.annotation.XmlAcc
  import javax.xml.bind.annotation.XmlAttribute;
  import javax.xml.bind.annotation.XmlType;
  
 +
  /**
 - * Describes different types of citations. Equivalent to the flat file RX-, RG-,
 - * RA-, RT- and RL-lines.
 + * Describes different types of citations.
 + *             Equivalent to the flat file RX-, RG-, RA-, RT- and RL-lines.
   * 
-  * &lt;p&gt;Java class for citationType complex type.
 - * <p>
 - * Java class for citationType complex type.
++ * <p>Java class for citationType complex type.
   * 
-  * &lt;p&gt;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.
++ * <p>The following schema fragment specifies the expected content contained within this class.
   * 
-  * &lt;pre&gt;
-  * &amp;lt;complexType name="citationType"&amp;gt;
-  *   &amp;lt;complexContent&amp;gt;
-  *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *       &amp;lt;sequence&amp;gt;
-  *         &amp;lt;element name="title" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&amp;gt;
-  *         &amp;lt;element name="editorList" type="{http://uniprot.org/uniprot}nameListType" minOccurs="0"/&amp;gt;
-  *         &amp;lt;element name="authorList" type="{http://uniprot.org/uniprot}nameListType" minOccurs="0"/&amp;gt;
-  *         &amp;lt;element name="locator" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&amp;gt;
-  *         &amp;lt;element name="dbReference" type="{http://uniprot.org/uniprot}dbReferenceType" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
-  *       &amp;lt;/sequence&amp;gt;
-  *       &amp;lt;attribute name="type" use="required"&amp;gt;
-  *         &amp;lt;simpleType&amp;gt;
-  *           &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&amp;gt;
-  *             &amp;lt;enumeration value="book"/&amp;gt;
-  *             &amp;lt;enumeration value="journal article"/&amp;gt;
-  *             &amp;lt;enumeration value="online journal article"/&amp;gt;
-  *             &amp;lt;enumeration value="patent"/&amp;gt;
-  *             &amp;lt;enumeration value="submission"/&amp;gt;
-  *             &amp;lt;enumeration value="thesis"/&amp;gt;
-  *             &amp;lt;enumeration value="unpublished observations"/&amp;gt;
-  *           &amp;lt;/restriction&amp;gt;
-  *         &amp;lt;/simpleType&amp;gt;
-  *       &amp;lt;/attribute&amp;gt;
-  *       &amp;lt;attribute name="date"&amp;gt;
-  *         &amp;lt;simpleType&amp;gt;
-  *           &amp;lt;union memberTypes=" {http://www.w3.org/2001/XMLSchema}date {http://www.w3.org/2001/XMLSchema}gYearMonth {http://www.w3.org/2001/XMLSchema}gYear"&amp;gt;
-  *           &amp;lt;/union&amp;gt;
-  *         &amp;lt;/simpleType&amp;gt;
-  *       &amp;lt;/attribute&amp;gt;
-  *       &amp;lt;attribute name="name" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *       &amp;lt;attribute name="volume" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *       &amp;lt;attribute name="first" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *       &amp;lt;attribute name="last" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *       &amp;lt;attribute name="publisher" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *       &amp;lt;attribute name="city" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *       &amp;lt;attribute name="db" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *       &amp;lt;attribute name="number" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *       &amp;lt;attribute name="institute" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *       &amp;lt;attribute name="country" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *     &amp;lt;/restriction&amp;gt;
-  *   &amp;lt;/complexContent&amp;gt;
-  * &amp;lt;/complexType&amp;gt;
-  * &lt;/pre&gt;
+  * <pre>
+  * &lt;complexType name="citationType">
+  *   &lt;complexContent>
+  *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+  *       &lt;sequence>
+  *         &lt;element name="title" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+  *         &lt;element name="editorList" type="{http://uniprot.org/uniprot}nameListType" minOccurs="0"/>
+  *         &lt;element name="authorList" type="{http://uniprot.org/uniprot}nameListType" minOccurs="0"/>
+  *         &lt;element name="locator" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+  *         &lt;element name="dbReference" type="{http://uniprot.org/uniprot}dbReferenceType" maxOccurs="unbounded" minOccurs="0"/>
+  *       &lt;/sequence>
+  *       &lt;attribute name="type" use="required">
+  *         &lt;simpleType>
+  *           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
+  *             &lt;enumeration value="book"/>
+  *             &lt;enumeration value="journal article"/>
+  *             &lt;enumeration value="online journal article"/>
+  *             &lt;enumeration value="patent"/>
+  *             &lt;enumeration value="submission"/>
+  *             &lt;enumeration value="thesis"/>
+  *             &lt;enumeration value="unpublished observations"/>
+  *           &lt;/restriction>
+  *         &lt;/simpleType>
+  *       &lt;/attribute>
+  *       &lt;attribute name="date">
+  *         &lt;simpleType>
+  *           &lt;union memberTypes=" {http://www.w3.org/2001/XMLSchema}date {http://www.w3.org/2001/XMLSchema}gYearMonth {http://www.w3.org/2001/XMLSchema}gYear">
+  *           &lt;/union>
+  *         &lt;/simpleType>
+  *       &lt;/attribute>
+  *       &lt;attribute name="name" type="{http://www.w3.org/2001/XMLSchema}string" />
+  *       &lt;attribute name="volume" type="{http://www.w3.org/2001/XMLSchema}string" />
+  *       &lt;attribute name="first" type="{http://www.w3.org/2001/XMLSchema}string" />
+  *       &lt;attribute name="last" type="{http://www.w3.org/2001/XMLSchema}string" />
+  *       &lt;attribute name="publisher" type="{http://www.w3.org/2001/XMLSchema}string" />
+  *       &lt;attribute name="city" type="{http://www.w3.org/2001/XMLSchema}string" />
+  *       &lt;attribute name="db" type="{http://www.w3.org/2001/XMLSchema}string" />
+  *       &lt;attribute name="number" type="{http://www.w3.org/2001/XMLSchema}string" />
+  *       &lt;attribute name="institute" type="{http://www.w3.org/2001/XMLSchema}string" />
+  *       &lt;attribute name="country" type="{http://www.w3.org/2001/XMLSchema}string" />
+  *     &lt;/restriction>
+  *   &lt;/complexContent>
+  * &lt;/complexType>
+  * </pre>
   * 
   * 
   */
  @XmlAccessorType(XmlAccessType.FIELD)
 -@XmlType(
 -  name = "citationType",
 -  propOrder =
 -  { "title", "editorList", "authorList", "locator", "dbReference" })
 -public class CitationType
 -{
 -
 -  protected String title;
 -
 -  protected NameListType editorList;
 -
 -  protected NameListType authorList;
 -
 -  protected String locator;
 -
 -  protected List<DbReferenceType> dbReference;
 -
 -  @XmlAttribute(name = "type", required = true)
 -  protected String type;
 -
 -  @XmlAttribute(name = "date")
 -  protected String date;
 -
 -  @XmlAttribute(name = "name")
 -  protected String name;
 -
 -  @XmlAttribute(name = "volume")
 -  protected String volume;
 -
 -  @XmlAttribute(name = "first")
 -  protected String first;
 -
 -  @XmlAttribute(name = "last")
 -  protected String last;
 -
 -  @XmlAttribute(name = "publisher")
 -  protected String publisher;
 -
 -  @XmlAttribute(name = "city")
 -  protected String city;
 -
 -  @XmlAttribute(name = "db")
 -  protected String db;
 -
 -  @XmlAttribute(name = "number")
 -  protected String number;
 -
 -  @XmlAttribute(name = "institute")
 -  protected String institute;
 -
 -  @XmlAttribute(name = "country")
 -  protected String country;
 -
 -  /**
 -   * Gets the value of the title property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getTitle()
 -  {
 -    return title;
 -  }
 -
 -  /**
 -   * Sets the value of the title property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setTitle(String value)
 -  {
 -    this.title = value;
 -  }
 -
 -  /**
 -   * Gets the value of the editorList property.
 -   * 
 -   * @return possible object is {@link NameListType }
 -   * 
 -   */
 -  public NameListType getEditorList()
 -  {
 -    return editorList;
 -  }
 -
 -  /**
 -   * Sets the value of the editorList property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link NameListType }
 -   * 
 -   */
 -  public void setEditorList(NameListType value)
 -  {
 -    this.editorList = value;
 -  }
 -
 -  /**
 -   * Gets the value of the authorList property.
 -   * 
 -   * @return possible object is {@link NameListType }
 -   * 
 -   */
 -  public NameListType getAuthorList()
 -  {
 -    return authorList;
 -  }
 -
 -  /**
 -   * Sets the value of the authorList property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link NameListType }
 -   * 
 -   */
 -  public void setAuthorList(NameListType value)
 -  {
 -    this.authorList = value;
 -  }
 -
 -  /**
 -   * Gets the value of the locator property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getLocator()
 -  {
 -    return locator;
 -  }
 -
 -  /**
 -   * Sets the value of the locator property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setLocator(String value)
 -  {
 -    this.locator = value;
 -  }
 -
 -  /**
 -   * Gets the value of the dbReference 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 dbReference property.
 -   * 
 -   * <p>
 -   * For example, to add a new item, do as follows:
 -   * 
 -   * <pre>
 -   * getDbReference().add(newItem);
 -   * </pre>
 -   * 
 -   * 
 -   * <p>
 -   * Objects of the following type(s) are allowed in the list
 -   * {@link DbReferenceType }
 -   * 
 -   * 
 -   */
 -  public List<DbReferenceType> getDbReference()
 -  {
 -    if (dbReference == null)
 -    {
 -      dbReference = new ArrayList<DbReferenceType>();
 -    }
 -    return this.dbReference;
 -  }
 -
 -  /**
 -   * Gets the value of the type property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getType()
 -  {
 -    return type;
 -  }
 -
 -  /**
 -   * Sets the value of the type property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setType(String value)
 -  {
 -    this.type = value;
 -  }
 -
 -  /**
 -   * Gets the value of the date property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getDate()
 -  {
 -    return date;
 -  }
 -
 -  /**
 -   * Sets the value of the date property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setDate(String value)
 -  {
 -    this.date = value;
 -  }
 -
 -  /**
 -   * Gets the value of the name property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getName()
 -  {
 -    return name;
 -  }
 -
 -  /**
 -   * Sets the value of the name property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setName(String value)
 -  {
 -    this.name = value;
 -  }
 -
 -  /**
 -   * Gets the value of the volume property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getVolume()
 -  {
 -    return volume;
 -  }
 -
 -  /**
 -   * Sets the value of the volume property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setVolume(String value)
 -  {
 -    this.volume = value;
 -  }
 -
 -  /**
 -   * Gets the value of the first property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getFirst()
 -  {
 -    return first;
 -  }
 -
 -  /**
 -   * Sets the value of the first property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setFirst(String value)
 -  {
 -    this.first = value;
 -  }
 -
 -  /**
 -   * Gets the value of the last property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getLast()
 -  {
 -    return last;
 -  }
 -
 -  /**
 -   * Sets the value of the last property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setLast(String value)
 -  {
 -    this.last = value;
 -  }
 -
 -  /**
 -   * Gets the value of the publisher property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getPublisher()
 -  {
 -    return publisher;
 -  }
 -
 -  /**
 -   * Sets the value of the publisher property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setPublisher(String value)
 -  {
 -    this.publisher = value;
 -  }
 -
 -  /**
 -   * Gets the value of the city property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getCity()
 -  {
 -    return city;
 -  }
 -
 -  /**
 -   * Sets the value of the city property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setCity(String value)
 -  {
 -    this.city = value;
 -  }
 -
 -  /**
 -   * Gets the value of the db property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getDb()
 -  {
 -    return db;
 -  }
 -
 -  /**
 -   * Sets the value of the db property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setDb(String value)
 -  {
 -    this.db = value;
 -  }
 -
 -  /**
 -   * Gets the value of the number property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getNumber()
 -  {
 -    return number;
 -  }
 -
 -  /**
 -   * Sets the value of the number property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setNumber(String value)
 -  {
 -    this.number = value;
 -  }
 -
 -  /**
 -   * Gets the value of the institute property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getInstitute()
 -  {
 -    return institute;
 -  }
 -
 -  /**
 -   * Sets the value of the institute property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setInstitute(String value)
 -  {
 -    this.institute = value;
 -  }
 -
 -  /**
 -   * Gets the value of the country property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getCountry()
 -  {
 -    return country;
 -  }
 -
 -  /**
 -   * Sets the value of the country property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setCountry(String value)
 -  {
 -    this.country = value;
 -  }
 +@XmlType(name = "citationType", propOrder = {
 +    "title",
 +    "editorList",
 +    "authorList",
 +    "locator",
 +    "dbReference"
 +})
 +public class CitationType {
 +
 +    protected String title;
 +    protected NameListType editorList;
 +    protected NameListType authorList;
 +    protected String locator;
 +    protected List<DbReferenceType> dbReference;
 +    @XmlAttribute(name = "type", required = true)
 +    protected String type;
 +    @XmlAttribute(name = "date")
 +    protected String date;
 +    @XmlAttribute(name = "name")
 +    protected String name;
 +    @XmlAttribute(name = "volume")
 +    protected String volume;
 +    @XmlAttribute(name = "first")
 +    protected String first;
 +    @XmlAttribute(name = "last")
 +    protected String last;
 +    @XmlAttribute(name = "publisher")
 +    protected String publisher;
 +    @XmlAttribute(name = "city")
 +    protected String city;
 +    @XmlAttribute(name = "db")
 +    protected String db;
 +    @XmlAttribute(name = "number")
 +    protected String number;
 +    @XmlAttribute(name = "institute")
 +    protected String institute;
 +    @XmlAttribute(name = "country")
 +    protected String country;
 +
 +    /**
 +     * Gets the value of the title property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link String }
 +     *     
 +     */
 +    public String getTitle() {
 +        return title;
 +    }
 +
 +    /**
 +     * Sets the value of the title property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link String }
 +     *     
 +     */
 +    public void setTitle(String value) {
 +        this.title = value;
 +    }
 +
 +    /**
 +     * Gets the value of the editorList property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link NameListType }
 +     *     
 +     */
 +    public NameListType getEditorList() {
 +        return editorList;
 +    }
 +
 +    /**
 +     * Sets the value of the editorList property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link NameListType }
 +     *     
 +     */
 +    public void setEditorList(NameListType value) {
 +        this.editorList = value;
 +    }
 +
 +    /**
 +     * Gets the value of the authorList property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link NameListType }
 +     *     
 +     */
 +    public NameListType getAuthorList() {
 +        return authorList;
 +    }
 +
 +    /**
 +     * Sets the value of the authorList property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link NameListType }
 +     *     
 +     */
 +    public void setAuthorList(NameListType value) {
 +        this.authorList = value;
 +    }
 +
 +    /**
 +     * Gets the value of the locator property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link String }
 +     *     
 +     */
 +    public String getLocator() {
 +        return locator;
 +    }
 +
 +    /**
 +     * Sets the value of the locator property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link String }
 +     *     
 +     */
 +    public void setLocator(String value) {
 +        this.locator = value;
 +    }
 +
 +    /**
 +     * Gets the value of the dbReference property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the dbReference property.
++     * This is why there is not a <CODE>set</CODE> method for the dbReference property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getDbReference().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link DbReferenceType }
 +     * 
 +     * 
 +     */
 +    public List<DbReferenceType> getDbReference() {
 +        if (dbReference == null) {
 +            dbReference = new ArrayList<DbReferenceType>();
 +        }
 +        return this.dbReference;
 +    }
 +
 +    /**
 +     * Gets the value of the type property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link String }
 +     *     
 +     */
 +    public String getType() {
 +        return type;
 +    }
 +
 +    /**
 +     * Sets the value of the type property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link String }
 +     *     
 +     */
 +    public void setType(String value) {
 +        this.type = value;
 +    }
 +
 +    /**
 +     * Gets the value of the date property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link String }
 +     *     
 +     */
 +    public String getDate() {
 +        return date;
 +    }
 +
 +    /**
 +     * Sets the value of the date property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link String }
 +     *     
 +     */
 +    public void setDate(String value) {
 +        this.date = value;
 +    }
 +
 +    /**
 +     * Gets the value of the name property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link String }
 +     *     
 +     */
 +    public String getName() {
 +        return name;
 +    }
 +
 +    /**
 +     * Sets the value of the name property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link String }
 +     *     
 +     */
 +    public void setName(String value) {
 +        this.name = value;
 +    }
 +
 +    /**
 +     * Gets the value of the volume property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link String }
 +     *     
 +     */
 +    public String getVolume() {
 +        return volume;
 +    }
 +
 +    /**
 +     * Sets the value of the volume property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link String }
 +     *     
 +     */
 +    public void setVolume(String value) {
 +        this.volume = value;
 +    }
 +
 +    /**
 +     * Gets the value of the first property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link String }
 +     *     
 +     */
 +    public String getFirst() {
 +        return first;
 +    }
 +
 +    /**
 +     * Sets the value of the first property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link String }
 +     *     
 +     */
 +    public void setFirst(String value) {
 +        this.first = value;
 +    }
 +
 +    /**
 +     * Gets the value of the last property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link String }
 +     *     
 +     */
 +    public String getLast() {
 +        return last;
 +    }
 +
 +    /**
 +     * Sets the value of the last property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link String }
 +     *     
 +     */
 +    public void setLast(String value) {
 +        this.last = value;
 +    }
 +
 +    /**
 +     * Gets the value of the publisher property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link String }
 +     *     
 +     */
 +    public String getPublisher() {
 +        return publisher;
 +    }
 +
 +    /**
 +     * Sets the value of the publisher property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link String }
 +     *     
 +     */
 +    public void setPublisher(String value) {
 +        this.publisher = value;
 +    }
 +
 +    /**
 +     * Gets the value of the city property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link String }
 +     *     
 +     */
 +    public String getCity() {
 +        return city;
 +    }
 +
 +    /**
 +     * Sets the value of the city property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link String }
 +     *     
 +     */
 +    public void setCity(String value) {
 +        this.city = value;
 +    }
 +
 +    /**
 +     * Gets the value of the db property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link String }
 +     *     
 +     */
 +    public String getDb() {
 +        return db;
 +    }
 +
 +    /**
 +     * Sets the value of the db property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link String }
 +     *     
 +     */
 +    public void setDb(String value) {
 +        this.db = value;
 +    }
 +
 +    /**
 +     * Gets the value of the number property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link String }
 +     *     
 +     */
 +    public String getNumber() {
 +        return number;
 +    }
 +
 +    /**
 +     * Sets the value of the number property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link String }
 +     *     
 +     */
 +    public void setNumber(String value) {
 +        this.number = value;
 +    }
 +
 +    /**
 +     * Gets the value of the institute property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link String }
 +     *     
 +     */
 +    public String getInstitute() {
 +        return institute;
 +    }
 +
 +    /**
 +     * Sets the value of the institute property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link String }
 +     *     
 +     */
 +    public void setInstitute(String value) {
 +        this.institute = value;
 +    }
 +
 +    /**
 +     * Gets the value of the country property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link String }
 +     *     
 +     */
 +    public String getCountry() {
 +        return country;
 +    }
 +
 +    /**
 +     * Sets the value of the country property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link String }
 +     *     
 +     */
 +    public void setCountry(String value) {
 +        this.country = value;
 +    }
  
  }
@@@ -1,11 -1,10 +1,11 @@@
  //
- // This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
- // See https://eclipse-ee4j.github.io/jaxb-ri 
+ // 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: 2022.02.07 at 04:44:21 PM GMT 
 -// 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;
@@@ -20,115 -18,118 +20,115 @@@ import javax.xml.bind.annotation.XmlTyp
  /**
   * Describes a cofactor.
   * 
-  * &lt;p&gt;Java class for cofactorType complex type.
 - * <p>
 - * Java class for cofactorType complex type.
++ * <p>Java class for cofactorType complex type.
   * 
-  * &lt;p&gt;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.
++ * <p>The following schema fragment specifies the expected content contained within this class.
   * 
-  * &lt;pre&gt;
-  * &amp;lt;complexType name="cofactorType"&amp;gt;
-  *   &amp;lt;complexContent&amp;gt;
-  *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *       &amp;lt;sequence&amp;gt;
-  *         &amp;lt;element name="name" type="{http://www.w3.org/2001/XMLSchema}string"/&amp;gt;
-  *         &amp;lt;element name="dbReference" type="{http://uniprot.org/uniprot}dbReferenceType"/&amp;gt;
-  *       &amp;lt;/sequence&amp;gt;
-  *       &amp;lt;attribute name="evidence" type="{http://uniprot.org/uniprot}intListType" /&amp;gt;
-  *     &amp;lt;/restriction&amp;gt;
-  *   &amp;lt;/complexContent&amp;gt;
-  * &amp;lt;/complexType&amp;gt;
-  * &lt;/pre&gt;
+  * <pre>
+  * &lt;complexType name="cofactorType">
+  *   &lt;complexContent>
+  *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+  *       &lt;sequence>
+  *         &lt;element name="name" type="{http://www.w3.org/2001/XMLSchema}string"/>
+  *         &lt;element name="dbReference" type="{http://uniprot.org/uniprot}dbReferenceType"/>
+  *       &lt;/sequence>
+  *       &lt;attribute name="evidence" type="{http://uniprot.org/uniprot}intListType" />
+  *     &lt;/restriction>
+  *   &lt;/complexContent>
+  * &lt;/complexType>
+  * </pre>
   * 
   * 
   */
  @XmlAccessorType(XmlAccessType.FIELD)
 -@XmlType(name = "cofactorType", propOrder = { "name", "dbReference" })
 -public class CofactorType
 -{
 -
 -  @XmlElement(required = true)
 -  protected String name;
 -
 -  @XmlElement(required = true)
 -  protected DbReferenceType dbReference;
 +@XmlType(name = "cofactorType", propOrder = {
 +    "name",
 +    "dbReference"
 +})
 +public class CofactorType {
  
 -  @XmlAttribute(name = "evidence")
 -  protected List<Integer> evidence;
 +    @XmlElement(required = true)
 +    protected String name;
 +    @XmlElement(required = true)
 +    protected DbReferenceType dbReference;
 +    @XmlAttribute(name = "evidence")
 +    protected List<Integer> evidence;
  
 -  /**
 -   * Gets the value of the name property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getName()
 -  {
 -    return name;
 -  }
 +    /**
 +     * Gets the value of the name property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link String }
 +     *     
 +     */
 +    public String getName() {
 +        return name;
 +    }
  
 -  /**
 -   * Sets the value of the name property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setName(String value)
 -  {
 -    this.name = value;
 -  }
 +    /**
 +     * Sets the value of the name property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link String }
 +     *     
 +     */
 +    public void setName(String value) {
 +        this.name = value;
 +    }
  
 -  /**
 -   * Gets the value of the dbReference property.
 -   * 
 -   * @return possible object is {@link DbReferenceType }
 -   * 
 -   */
 -  public DbReferenceType getDbReference()
 -  {
 -    return dbReference;
 -  }
 +    /**
 +     * Gets the value of the dbReference property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link DbReferenceType }
 +     *     
 +     */
 +    public DbReferenceType getDbReference() {
 +        return dbReference;
 +    }
  
 -  /**
 -   * Sets the value of the dbReference property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link DbReferenceType }
 -   * 
 -   */
 -  public void setDbReference(DbReferenceType value)
 -  {
 -    this.dbReference = value;
 -  }
 +    /**
 +     * Sets the value of the dbReference property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link DbReferenceType }
 +     *     
 +     */
 +    public void setDbReference(DbReferenceType value) {
 +        this.dbReference = value;
 +    }
  
 -  /**
 -   * Gets the value of the evidence 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 evidence property.
 -   * 
 -   * <p>
 -   * For example, to add a new item, do as follows:
 -   * 
 -   * <pre>
 -   * getEvidence().add(newItem);
 -   * </pre>
 -   * 
 -   * 
 -   * <p>
 -   * Objects of the following type(s) are allowed in the list {@link Integer }
 -   * 
 -   * 
 -   */
 -  public List<Integer> getEvidence()
 -  {
 -    if (evidence == null)
 -    {
 -      evidence = new ArrayList<Integer>();
 +    /**
 +     * Gets the value of the evidence property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the evidence property.
++     * This is why there is not a <CODE>set</CODE> method for the evidence property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getEvidence().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link Integer }
 +     * 
 +     * 
 +     */
 +    public List<Integer> getEvidence() {
 +        if (evidence == null) {
 +            evidence = new ArrayList<Integer>();
 +        }
 +        return this.evidence;
      }
 -    return this.evidence;
 -  }
  
  }
@@@ -1,11 -1,10 +1,11 @@@
  //
- // This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
- // See https://eclipse-ee4j.github.io/jaxb-ri 
+ // 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: 2022.02.07 at 04:44:21 PM GMT 
 -// 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;
@@@ -17,158 -16,160 +17,158 @@@ import javax.xml.bind.annotation.XmlEle
  import javax.xml.bind.annotation.XmlSchemaType;
  import javax.xml.bind.annotation.XmlType;
  
 +
  /**
 - * Describes different types of general annotations. Equivalent to the flat file
 - * CC-line.
 + * Describes different types of general annotations.
 + *             Equivalent to the flat file CC-line.
   * 
-  * &lt;p&gt;Java class for commentType complex type.
 - * <p>
 - * Java class for commentType complex type.
++ * <p>Java class for commentType complex type.
   * 
-  * &lt;p&gt;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.
++ * <p>The following schema fragment specifies the expected content contained within this class.
   * 
-  * &lt;pre&gt;
-  * &amp;lt;complexType name="commentType"&amp;gt;
-  *   &amp;lt;complexContent&amp;gt;
-  *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *       &amp;lt;sequence&amp;gt;
-  *         &amp;lt;element name="molecule" type="{http://uniprot.org/uniprot}moleculeType" minOccurs="0"/&amp;gt;
-  *         &amp;lt;choice minOccurs="0"&amp;gt;
-  *           &amp;lt;group ref="{http://uniprot.org/uniprot}bpcCommentGroup"/&amp;gt;
-  *           &amp;lt;sequence&amp;gt;
-  *             &amp;lt;element name="reaction" type="{http://uniprot.org/uniprot}reactionType"/&amp;gt;
-  *             &amp;lt;element name="physiologicalReaction" type="{http://uniprot.org/uniprot}physiologicalReactionType" maxOccurs="2" minOccurs="0"/&amp;gt;
-  *           &amp;lt;/sequence&amp;gt;
-  *           &amp;lt;sequence&amp;gt;
-  *             &amp;lt;element name="cofactor" type="{http://uniprot.org/uniprot}cofactorType" maxOccurs="unbounded"/&amp;gt;
-  *           &amp;lt;/sequence&amp;gt;
-  *           &amp;lt;sequence&amp;gt;
-  *             &amp;lt;element name="subcellularLocation" type="{http://uniprot.org/uniprot}subcellularLocationType" maxOccurs="unbounded"/&amp;gt;
-  *           &amp;lt;/sequence&amp;gt;
-  *           &amp;lt;element name="conflict"&amp;gt;
-  *             &amp;lt;complexType&amp;gt;
-  *               &amp;lt;complexContent&amp;gt;
-  *                 &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *                   &amp;lt;sequence&amp;gt;
-  *                     &amp;lt;element name="sequence" minOccurs="0"&amp;gt;
-  *                       &amp;lt;complexType&amp;gt;
-  *                         &amp;lt;complexContent&amp;gt;
-  *                           &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *                             &amp;lt;attribute name="resource" use="required"&amp;gt;
-  *                               &amp;lt;simpleType&amp;gt;
-  *                                 &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&amp;gt;
-  *                                   &amp;lt;enumeration value="EMBL-CDS"/&amp;gt;
-  *                                   &amp;lt;enumeration value="EMBL"/&amp;gt;
-  *                                 &amp;lt;/restriction&amp;gt;
-  *                               &amp;lt;/simpleType&amp;gt;
-  *                             &amp;lt;/attribute&amp;gt;
-  *                             &amp;lt;attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *                             &amp;lt;attribute name="version" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-  *                           &amp;lt;/restriction&amp;gt;
-  *                         &amp;lt;/complexContent&amp;gt;
-  *                       &amp;lt;/complexType&amp;gt;
-  *                     &amp;lt;/element&amp;gt;
-  *                   &amp;lt;/sequence&amp;gt;
-  *                   &amp;lt;attribute name="type" use="required"&amp;gt;
-  *                     &amp;lt;simpleType&amp;gt;
-  *                       &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&amp;gt;
-  *                         &amp;lt;enumeration value="frameshift"/&amp;gt;
-  *                         &amp;lt;enumeration value="erroneous initiation"/&amp;gt;
-  *                         &amp;lt;enumeration value="erroneous termination"/&amp;gt;
-  *                         &amp;lt;enumeration value="erroneous gene model prediction"/&amp;gt;
-  *                         &amp;lt;enumeration value="erroneous translation"/&amp;gt;
-  *                         &amp;lt;enumeration value="miscellaneous discrepancy"/&amp;gt;
-  *                       &amp;lt;/restriction&amp;gt;
-  *                     &amp;lt;/simpleType&amp;gt;
-  *                   &amp;lt;/attribute&amp;gt;
-  *                   &amp;lt;attribute name="ref" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *                 &amp;lt;/restriction&amp;gt;
-  *               &amp;lt;/complexContent&amp;gt;
-  *             &amp;lt;/complexType&amp;gt;
-  *           &amp;lt;/element&amp;gt;
-  *           &amp;lt;sequence&amp;gt;
-  *             &amp;lt;element name="link" maxOccurs="unbounded" minOccurs="0"&amp;gt;
-  *               &amp;lt;complexType&amp;gt;
-  *                 &amp;lt;complexContent&amp;gt;
-  *                   &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *                     &amp;lt;attribute name="uri" use="required" type="{http://www.w3.org/2001/XMLSchema}anyURI" /&amp;gt;
-  *                   &amp;lt;/restriction&amp;gt;
-  *                 &amp;lt;/complexContent&amp;gt;
-  *               &amp;lt;/complexType&amp;gt;
-  *             &amp;lt;/element&amp;gt;
-  *           &amp;lt;/sequence&amp;gt;
-  *           &amp;lt;sequence&amp;gt;
-  *             &amp;lt;element name="event" type="{http://uniprot.org/uniprot}eventType" maxOccurs="4"/&amp;gt;
-  *             &amp;lt;element name="isoform" type="{http://uniprot.org/uniprot}isoformType" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
-  *           &amp;lt;/sequence&amp;gt;
-  *           &amp;lt;sequence&amp;gt;
-  *             &amp;lt;element name="interactant" type="{http://uniprot.org/uniprot}interactantType" maxOccurs="2" minOccurs="2"/&amp;gt;
-  *             &amp;lt;element name="organismsDiffer" type="{http://www.w3.org/2001/XMLSchema}boolean"/&amp;gt;
-  *             &amp;lt;element name="experiments" type="{http://www.w3.org/2001/XMLSchema}int"/&amp;gt;
-  *           &amp;lt;/sequence&amp;gt;
-  *           &amp;lt;element name="disease"&amp;gt;
-  *             &amp;lt;complexType&amp;gt;
-  *               &amp;lt;complexContent&amp;gt;
-  *                 &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *                   &amp;lt;sequence&amp;gt;
-  *                     &amp;lt;element name="name" type="{http://www.w3.org/2001/XMLSchema}string"/&amp;gt;
-  *                     &amp;lt;element name="acronym" type="{http://www.w3.org/2001/XMLSchema}string"/&amp;gt;
-  *                     &amp;lt;element name="description" type="{http://www.w3.org/2001/XMLSchema}string"/&amp;gt;
-  *                     &amp;lt;element name="dbReference" type="{http://uniprot.org/uniprot}dbReferenceType"/&amp;gt;
-  *                   &amp;lt;/sequence&amp;gt;
-  *                   &amp;lt;attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *                 &amp;lt;/restriction&amp;gt;
-  *               &amp;lt;/complexContent&amp;gt;
-  *             &amp;lt;/complexType&amp;gt;
-  *           &amp;lt;/element&amp;gt;
-  *         &amp;lt;/choice&amp;gt;
-  *         &amp;lt;element name="location" type="{http://uniprot.org/uniprot}locationType" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
-  *         &amp;lt;element name="text" type="{http://uniprot.org/uniprot}evidencedStringType" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
-  *       &amp;lt;/sequence&amp;gt;
-  *       &amp;lt;attribute name="type" use="required"&amp;gt;
-  *         &amp;lt;simpleType&amp;gt;
-  *           &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&amp;gt;
-  *             &amp;lt;enumeration value="allergen"/&amp;gt;
-  *             &amp;lt;enumeration value="alternative products"/&amp;gt;
-  *             &amp;lt;enumeration value="biotechnology"/&amp;gt;
-  *             &amp;lt;enumeration value="biophysicochemical properties"/&amp;gt;
-  *             &amp;lt;enumeration value="catalytic activity"/&amp;gt;
-  *             &amp;lt;enumeration value="caution"/&amp;gt;
-  *             &amp;lt;enumeration value="cofactor"/&amp;gt;
-  *             &amp;lt;enumeration value="developmental stage"/&amp;gt;
-  *             &amp;lt;enumeration value="disease"/&amp;gt;
-  *             &amp;lt;enumeration value="domain"/&amp;gt;
-  *             &amp;lt;enumeration value="disruption phenotype"/&amp;gt;
-  *             &amp;lt;enumeration value="activity regulation"/&amp;gt;
-  *             &amp;lt;enumeration value="function"/&amp;gt;
-  *             &amp;lt;enumeration value="induction"/&amp;gt;
-  *             &amp;lt;enumeration value="miscellaneous"/&amp;gt;
-  *             &amp;lt;enumeration value="pathway"/&amp;gt;
-  *             &amp;lt;enumeration value="pharmaceutical"/&amp;gt;
-  *             &amp;lt;enumeration value="polymorphism"/&amp;gt;
-  *             &amp;lt;enumeration value="PTM"/&amp;gt;
-  *             &amp;lt;enumeration value="RNA editing"/&amp;gt;
-  *             &amp;lt;enumeration value="similarity"/&amp;gt;
-  *             &amp;lt;enumeration value="subcellular location"/&amp;gt;
-  *             &amp;lt;enumeration value="sequence caution"/&amp;gt;
-  *             &amp;lt;enumeration value="subunit"/&amp;gt;
-  *             &amp;lt;enumeration value="tissue specificity"/&amp;gt;
-  *             &amp;lt;enumeration value="toxic dose"/&amp;gt;
-  *             &amp;lt;enumeration value="online information"/&amp;gt;
-  *             &amp;lt;enumeration value="mass spectrometry"/&amp;gt;
-  *             &amp;lt;enumeration value="interaction"/&amp;gt;
-  *           &amp;lt;/restriction&amp;gt;
-  *         &amp;lt;/simpleType&amp;gt;
-  *       &amp;lt;/attribute&amp;gt;
-  *       &amp;lt;attribute name="locationType" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *       &amp;lt;attribute name="name" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *       &amp;lt;attribute name="mass" type="{http://www.w3.org/2001/XMLSchema}float" /&amp;gt;
-  *       &amp;lt;attribute name="error" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *       &amp;lt;attribute name="method" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *       &amp;lt;attribute name="evidence" type="{http://uniprot.org/uniprot}intListType" /&amp;gt;
-  *     &amp;lt;/restriction&amp;gt;
-  *   &amp;lt;/complexContent&amp;gt;
-  * &amp;lt;/complexType&amp;gt;
-  * &lt;/pre&gt;
+  * <pre>
+  * &lt;complexType name="commentType">
+  *   &lt;complexContent>
+  *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+  *       &lt;sequence>
+  *         &lt;element name="molecule" type="{http://uniprot.org/uniprot}moleculeType" minOccurs="0"/>
+  *         &lt;choice minOccurs="0">
+  *           &lt;group ref="{http://uniprot.org/uniprot}bpcCommentGroup"/>
+  *           &lt;sequence>
+  *             &lt;element name="reaction" type="{http://uniprot.org/uniprot}reactionType"/>
+  *             &lt;element name="physiologicalReaction" type="{http://uniprot.org/uniprot}physiologicalReactionType" maxOccurs="2" minOccurs="0"/>
+  *           &lt;/sequence>
+  *           &lt;sequence>
+  *             &lt;element name="cofactor" type="{http://uniprot.org/uniprot}cofactorType" maxOccurs="unbounded"/>
+  *           &lt;/sequence>
+  *           &lt;sequence>
+  *             &lt;element name="subcellularLocation" type="{http://uniprot.org/uniprot}subcellularLocationType" maxOccurs="unbounded"/>
+  *           &lt;/sequence>
+  *           &lt;element name="conflict">
+  *             &lt;complexType>
+  *               &lt;complexContent>
+  *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+  *                   &lt;sequence>
+  *                     &lt;element name="sequence" minOccurs="0">
+  *                       &lt;complexType>
+  *                         &lt;complexContent>
+  *                           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+  *                             &lt;attribute name="resource" use="required">
+  *                               &lt;simpleType>
+  *                                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
+  *                                   &lt;enumeration value="EMBL-CDS"/>
+  *                                   &lt;enumeration value="EMBL"/>
+  *                                 &lt;/restriction>
+  *                               &lt;/simpleType>
+  *                             &lt;/attribute>
+  *                             &lt;attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+  *                             &lt;attribute name="version" type="{http://www.w3.org/2001/XMLSchema}int" />
+  *                           &lt;/restriction>
+  *                         &lt;/complexContent>
+  *                       &lt;/complexType>
+  *                     &lt;/element>
+  *                   &lt;/sequence>
+  *                   &lt;attribute name="type" use="required">
+  *                     &lt;simpleType>
+  *                       &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
+  *                         &lt;enumeration value="frameshift"/>
+  *                         &lt;enumeration value="erroneous initiation"/>
+  *                         &lt;enumeration value="erroneous termination"/>
+  *                         &lt;enumeration value="erroneous gene model prediction"/>
+  *                         &lt;enumeration value="erroneous translation"/>
+  *                         &lt;enumeration value="miscellaneous discrepancy"/>
+  *                       &lt;/restriction>
+  *                     &lt;/simpleType>
+  *                   &lt;/attribute>
+  *                   &lt;attribute name="ref" type="{http://www.w3.org/2001/XMLSchema}string" />
+  *                 &lt;/restriction>
+  *               &lt;/complexContent>
+  *             &lt;/complexType>
+  *           &lt;/element>
+  *           &lt;sequence>
+  *             &lt;element name="link" maxOccurs="unbounded" minOccurs="0">
+  *               &lt;complexType>
+  *                 &lt;complexContent>
+  *                   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+  *                     &lt;attribute name="uri" use="required" type="{http://www.w3.org/2001/XMLSchema}anyURI" />
+  *                   &lt;/restriction>
+  *                 &lt;/complexContent>
+  *               &lt;/complexType>
+  *             &lt;/element>
+  *           &lt;/sequence>
+  *           &lt;sequence>
+  *             &lt;element name="event" type="{http://uniprot.org/uniprot}eventType" maxOccurs="4"/>
+  *             &lt;element name="isoform" type="{http://uniprot.org/uniprot}isoformType" maxOccurs="unbounded" minOccurs="0"/>
+  *           &lt;/sequence>
+  *           &lt;sequence>
+  *             &lt;element name="interactant" type="{http://uniprot.org/uniprot}interactantType" maxOccurs="2" minOccurs="2"/>
+  *             &lt;element name="organismsDiffer" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
+  *             &lt;element name="experiments" type="{http://www.w3.org/2001/XMLSchema}int"/>
+  *           &lt;/sequence>
+  *           &lt;element name="disease">
+  *             &lt;complexType>
+  *               &lt;complexContent>
+  *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+  *                   &lt;sequence>
+  *                     &lt;element name="name" type="{http://www.w3.org/2001/XMLSchema}string"/>
+  *                     &lt;element name="acronym" type="{http://www.w3.org/2001/XMLSchema}string"/>
+  *                     &lt;element name="description" type="{http://www.w3.org/2001/XMLSchema}string"/>
+  *                     &lt;element name="dbReference" type="{http://uniprot.org/uniprot}dbReferenceType"/>
+  *                   &lt;/sequence>
+  *                   &lt;attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+  *                 &lt;/restriction>
+  *               &lt;/complexContent>
+  *             &lt;/complexType>
+  *           &lt;/element>
+  *         &lt;/choice>
+  *         &lt;element name="location" type="{http://uniprot.org/uniprot}locationType" maxOccurs="unbounded" minOccurs="0"/>
+  *         &lt;element name="text" type="{http://uniprot.org/uniprot}evidencedStringType" maxOccurs="unbounded" minOccurs="0"/>
+  *       &lt;/sequence>
+  *       &lt;attribute name="type" use="required">
+  *         &lt;simpleType>
+  *           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
+  *             &lt;enumeration value="allergen"/>
+  *             &lt;enumeration value="alternative products"/>
+  *             &lt;enumeration value="biotechnology"/>
+  *             &lt;enumeration value="biophysicochemical properties"/>
+  *             &lt;enumeration value="catalytic activity"/>
+  *             &lt;enumeration value="caution"/>
+  *             &lt;enumeration value="cofactor"/>
+  *             &lt;enumeration value="developmental stage"/>
+  *             &lt;enumeration value="disease"/>
+  *             &lt;enumeration value="domain"/>
+  *             &lt;enumeration value="disruption phenotype"/>
+  *             &lt;enumeration value="activity regulation"/>
+  *             &lt;enumeration value="function"/>
+  *             &lt;enumeration value="induction"/>
+  *             &lt;enumeration value="miscellaneous"/>
+  *             &lt;enumeration value="pathway"/>
+  *             &lt;enumeration value="pharmaceutical"/>
+  *             &lt;enumeration value="polymorphism"/>
+  *             &lt;enumeration value="PTM"/>
+  *             &lt;enumeration value="RNA editing"/>
+  *             &lt;enumeration value="similarity"/>
+  *             &lt;enumeration value="subcellular location"/>
+  *             &lt;enumeration value="sequence caution"/>
+  *             &lt;enumeration value="subunit"/>
+  *             &lt;enumeration value="tissue specificity"/>
+  *             &lt;enumeration value="toxic dose"/>
+  *             &lt;enumeration value="online information"/>
+  *             &lt;enumeration value="mass spectrometry"/>
+  *             &lt;enumeration value="interaction"/>
+  *           &lt;/restriction>
+  *         &lt;/simpleType>
+  *       &lt;/attribute>
+  *       &lt;attribute name="locationType" type="{http://www.w3.org/2001/XMLSchema}string" />
+  *       &lt;attribute name="name" type="{http://www.w3.org/2001/XMLSchema}string" />
+  *       &lt;attribute name="mass" type="{http://www.w3.org/2001/XMLSchema}float" />
+  *       &lt;attribute name="error" type="{http://www.w3.org/2001/XMLSchema}string" />
+  *       &lt;attribute name="method" type="{http://www.w3.org/2001/XMLSchema}string" />
+  *       &lt;attribute name="evidence" type="{http://uniprot.org/uniprot}intListType" />
+  *     &lt;/restriction>
+  *   &lt;/complexContent>
+  * &lt;/complexType>
+  * </pre>
   * 
   * 
   */
@@@ -402,90 -1013,125 +402,90 @@@ public class CommentType 
      }
  
      /**
 -     * Gets the value of the text property.
 +     * Gets the value of the physiologicalReaction property.
       * 
-      * &lt;p&gt;
+      * <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 text 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 &lt;CODE&gt;set&lt;/CODE&gt; method for the physiologicalReaction property.
++     * This is why there is not a <CODE>set</CODE> method for the physiologicalReaction property.
       * 
-      * &lt;p&gt;
+      * <p>
       * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
 -     * 
+      * <pre>
 -     * getText().add(newItem);
 +     *    getPhysiologicalReaction().add(newItem);
-      * &lt;/pre&gt;
+      * </pre>
       * 
       * 
-      * &lt;p&gt;
+      * <p>
       * Objects of the following type(s) are allowed in the list
 -     * {@link EvidencedStringType }
 +     * {@link PhysiologicalReactionType }
       * 
       * 
       */
 -    public List<EvidencedStringType> getText()
 -    {
 -      if (text == null)
 -      {
 -        text = new ArrayList<EvidencedStringType>();
 -      }
 -      return this.text;
 +    public List<PhysiologicalReactionType> getPhysiologicalReaction() {
 +        if (physiologicalReaction == null) {
 +            physiologicalReaction = new ArrayList<PhysiologicalReactionType>();
 +        }
 +        return this.physiologicalReaction;
      }
  
 -  }
 -
 -  /**
 -   * <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="sequence" minOccurs="0">
 -   *           &lt;complexType>
 -   *             &lt;complexContent>
 -   *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 -   *                 &lt;attribute name="resource" use="required">
 -   *                   &lt;simpleType>
 -   *                     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
 -   *                       &lt;enumeration value="EMBL-CDS"/>
 -   *                       &lt;enumeration value="EMBL"/>
 -   *                     &lt;/restriction>
 -   *                   &lt;/simpleType>
 -   *                 &lt;/attribute>
 -   *                 &lt;attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
 -   *                 &lt;attribute name="version" type="{http://www.w3.org/2001/XMLSchema}int" />
 -   *               &lt;/restriction>
 -   *             &lt;/complexContent>
 -   *           &lt;/complexType>
 -   *         &lt;/element>
 -   *       &lt;/sequence>
 -   *       &lt;attribute name="type" use="required">
 -   *         &lt;simpleType>
 -   *           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
 -   *             &lt;enumeration value="frameshift"/>
 -   *             &lt;enumeration value="erroneous initiation"/>
 -   *             &lt;enumeration value="erroneous termination"/>
 -   *             &lt;enumeration value="erroneous gene model prediction"/>
 -   *             &lt;enumeration value="erroneous translation"/>
 -   *             &lt;enumeration value="miscellaneous discrepancy"/>
 -   *           &lt;/restriction>
 -   *         &lt;/simpleType>
 -   *       &lt;/attribute>
 -   *       &lt;attribute name="ref" type="{http://www.w3.org/2001/XMLSchema}string" />
 -   *     &lt;/restriction>
 -   *   &lt;/complexContent>
 -   * &lt;/complexType>
 -   * </pre>
 -   * 
 -   * 
 -   */
 -  @XmlAccessorType(XmlAccessType.FIELD)
 -  @XmlType(name = "", propOrder = { "sequence" })
 -  public static class Conflict
 -  {
 -
 -    protected CommentType.Conflict.Sequence sequence;
 -
 -    @XmlAttribute(name = "type", required = true)
 -    protected String type;
 -
 -    @XmlAttribute(name = "ref")
 -    protected String ref;
 -
      /**
 -     * Gets the value of the sequence property.
 +     * Gets the value of the cofactor property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the cofactor property.
++     * This is why there is not a <CODE>set</CODE> method for the cofactor property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getCofactor().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link CofactorType }
       * 
 -     * @return possible object is {@link CommentType.Conflict.Sequence }
       * 
       */
 -    public CommentType.Conflict.Sequence getSequence()
 -    {
 -      return sequence;
 +    public List<CofactorType> getCofactor() {
 +        if (cofactor == null) {
 +            cofactor = new ArrayList<CofactorType>();
 +        }
 +        return this.cofactor;
      }
  
      /**
 -     * Sets the value of the sequence property.
 +     * Gets the value of the subcellularLocation property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the subcellularLocation property.
++     * This is why there is not a <CODE>set</CODE> method for the subcellularLocation property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getSubcellularLocation().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link SubcellularLocationType }
       * 
 -     * @param value
 -     *          allowed object is {@link CommentType.Conflict.Sequence }
       * 
       */
 -    public void setSequence(CommentType.Conflict.Sequence value)
 -    {
 -      this.sequence = value;
 +    public List<SubcellularLocationType> getSubcellularLocation() {
 +        if (subcellularLocation == null) {
 +            subcellularLocation = new ArrayList<SubcellularLocationType>();
 +        }
 +        return this.subcellularLocation;
      }
  
      /**
      }
  
      /**
 -     * Gets the value of the ref property.
 +     * Gets the value of the link property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the link property.
++     * This is why there is not a <CODE>set</CODE> method for the link property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getLink().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link CommentType.Link }
       * 
 -     * @return possible object is {@link String }
       * 
       */
 -    public String getRef()
 -    {
 -      return ref;
 +    public List<CommentType.Link> getLink() {
 +        if (link == null) {
 +            link = new ArrayList<CommentType.Link>();
 +        }
 +        return this.link;
      }
  
      /**
 -     * Sets the value of the ref property.
 +     * Gets the value of the event property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the event property.
++     * This is why there is not a <CODE>set</CODE> method for the event property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getEvent().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link EventType }
       * 
 -     * @param value
 -     *          allowed object is {@link String }
       * 
       */
 -    public void setRef(String value)
 -    {
 -      this.ref = value;
 +    public List<EventType> getEvent() {
 +        if (event == null) {
 +            event = new ArrayList<EventType>();
 +        }
 +        return this.event;
      }
  
      /**
 -     * <p>
 -     * Java class for anonymous complex type.
 +     * Gets the value of the isoform property.
       * 
-      * &lt;p&gt;
+      * <p>
 -     * The following schema fragment specifies the expected content contained
 -     * within this class.
 +     * 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 &lt;CODE&gt;set&lt;/CODE&gt; method for the isoform property.
++     * This is why there is not a <CODE>set</CODE> method for the isoform property.
       * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
+      * <pre>
 -     * &lt;complexType>
 -     *   &lt;complexContent>
 -     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 -     *       &lt;attribute name="resource" use="required">
 -     *         &lt;simpleType>
 -     *           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
 -     *             &lt;enumeration value="EMBL-CDS"/>
 -     *             &lt;enumeration value="EMBL"/>
 -     *           &lt;/restriction>
 -     *         &lt;/simpleType>
 -     *       &lt;/attribute>
 -     *       &lt;attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
 -     *       &lt;attribute name="version" type="{http://www.w3.org/2001/XMLSchema}int" />
 -     *     &lt;/restriction>
 -     *   &lt;/complexContent>
 -     * &lt;/complexType>
 +     *    getIsoform().add(newItem);
-      * &lt;/pre&gt;
+      * </pre>
       * 
       * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link IsoformType }
 +     * 
 +     * 
       */
 -    @XmlAccessorType(XmlAccessType.FIELD)
 -    @XmlType(name = "")
 -    public static class Sequence
 -    {
 -
 -      @XmlAttribute(name = "resource", required = true)
 -      protected String resource;
 -
 -      @XmlAttribute(name = "id", required = true)
 -      protected String id;
 -
 -      @XmlAttribute(name = "version")
 -      protected Integer version;
 -
 -      /**
 -       * Gets the value of the resource property.
 -       * 
 -       * @return possible object is {@link String }
 -       * 
 -       */
 -      public String getResource()
 -      {
 -        return resource;
 -      }
 -
 -      /**
 -       * Sets the value of the resource property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link String }
 -       * 
 -       */
 -      public void setResource(String value)
 -      {
 -        this.resource = value;
 -      }
 -
 -      /**
 -       * Gets the value of the id property.
 -       * 
 -       * @return possible object is {@link String }
 -       * 
 -       */
 -      public String getId()
 -      {
 -        return id;
 -      }
 -
 -      /**
 -       * Sets the value of the id property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link String }
 -       * 
 -       */
 -      public void setId(String value)
 -      {
 -        this.id = value;
 -      }
 -
 -      /**
 -       * Gets the value of the version property.
 -       * 
 -       * @return possible object is {@link Integer }
 -       * 
 -       */
 -      public Integer getVersion()
 -      {
 -        return version;
 -      }
 -
 -      /**
 -       * Sets the value of the version property.
 -       * 
 -       * @param value
 -       *          allowed object is {@link Integer }
 -       * 
 -       */
 -      public void setVersion(Integer value)
 -      {
 -        this.version = value;
 -      }
 -
 +    public List<IsoformType> getIsoform() {
 +        if (isoform == null) {
 +            isoform = new ArrayList<IsoformType>();
 +        }
 +        return this.isoform;
      }
  
 -  }
 -
 -  /**
 -   * <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="name" type="{http://www.w3.org/2001/XMLSchema}string"/>
 -   *         &lt;element name="acronym" type="{http://www.w3.org/2001/XMLSchema}string"/>
 -   *         &lt;element name="description" type="{http://www.w3.org/2001/XMLSchema}string"/>
 -   *         &lt;element name="dbReference" type="{http://uniprot.org/uniprot}dbReferenceType"/>
 -   *       &lt;/sequence>
 -   *       &lt;attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
 -   *     &lt;/restriction>
 -   *   &lt;/complexContent>
 -   * &lt;/complexType>
 -   * </pre>
 -   * 
 -   * 
 -   */
 -  @XmlAccessorType(XmlAccessType.FIELD)
 -  @XmlType(
 -    name = "",
 -    propOrder =
 -    { "name", "acronym", "description", "dbReference" })
 -  public static class Disease
 -  {
 -
 -    @XmlElement(required = true)
 -    protected String name;
 -
 -    @XmlElement(required = true)
 -    protected String acronym;
 +    /**
 +     * Gets the value of the interactant property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the interactant property.
++     * This is why there is not a <CODE>set</CODE> method for the interactant property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getInteractant().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link InteractantType }
 +     * 
 +     * 
 +     */
 +    public List<InteractantType> getInteractant() {
 +        if (interactant == null) {
 +            interactant = new ArrayList<InteractantType>();
 +        }
 +        return this.interactant;
 +    }
  
 -    @XmlElement(required = true)
 -    protected String description;
 +    /**
 +     * Gets the value of the organismsDiffer property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link Boolean }
 +     *     
 +     */
 +    public Boolean isOrganismsDiffer() {
 +        return organismsDiffer;
 +    }
  
 -    @XmlElement(required = true)
 -    protected DbReferenceType dbReference;
 +    /**
 +     * Sets the value of the organismsDiffer property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link Boolean }
 +     *     
 +     */
 +    public void setOrganismsDiffer(Boolean value) {
 +        this.organismsDiffer = value;
 +    }
  
 -    @XmlAttribute(name = "id", required = true)
 -    protected String id;
 +    /**
 +     * Gets the value of the experiments property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link Integer }
 +     *     
 +     */
 +    public Integer getExperiments() {
 +        return experiments;
 +    }
  
      /**
 -     * Gets the value of the name property.
 +     * Sets the value of the experiments property.
       * 
 -     * @return possible object is {@link String }
 +     * @param value
 +     *     allowed object is
 +     *     {@link Integer }
 +     *     
 +     */
 +    public void setExperiments(Integer value) {
 +        this.experiments = value;
 +    }
 +
 +    /**
 +     * Gets the value of the disease property.
       * 
 +     * @return
 +     *     possible object is
 +     *     {@link CommentType.Disease }
 +     *     
       */
 -    public String getName()
 -    {
 -      return name;
 +    public CommentType.Disease getDisease() {
 +        return disease;
      }
  
      /**
      }
  
      /**
 -     * Gets the value of the acronym property.
 +     * Gets the value of the location property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the location property.
++     * This is why there is not a <CODE>set</CODE> method for the location property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getLocation().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link LocationType }
       * 
 -     * @return possible object is {@link String }
       * 
       */
 -    public String getAcronym()
 -    {
 -      return acronym;
 +    public List<LocationType> getLocation() {
 +        if (location == null) {
 +            location = new ArrayList<LocationType>();
 +        }
 +        return this.location;
      }
  
      /**
 -     * Sets the value of the acronym property.
 +     * Gets the value of the text property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the text property.
++     * This is why there is not a <CODE>set</CODE> method for the text property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getText().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link EvidencedStringType }
       * 
 -     * @param value
 -     *          allowed object is {@link String }
       * 
       */
 -    public void setAcronym(String value)
 -    {
 -      this.acronym = value;
 +    public List<EvidencedStringType> getText() {
 +        if (text == null) {
 +            text = new ArrayList<EvidencedStringType>();
 +        }
 +        return this.text;
      }
  
      /**
      }
  
      /**
 -     * Sets the value of the id property.
 +     * Sets the value of the error property.
       * 
       * @param value
 -     *          allowed object is {@link String }
 -     * 
 +     *     allowed object is
 +     *     {@link String }
 +     *     
       */
 -    public void setId(String value)
 -    {
 -      this.id = value;
 +    public void setError(String value) {
 +        this.error = value;
      }
  
 -  }
 -
 -  /**
 -   * <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="KM" type="{http://uniprot.org/uniprot}evidencedStringType" maxOccurs="unbounded" minOccurs="0"/>
 -   *         &lt;element name="Vmax" type="{http://uniprot.org/uniprot}evidencedStringType" maxOccurs="unbounded" minOccurs="0"/>
 -   *         &lt;element name="text" 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 = { "km", "vmax", "text" })
 -  public static class Kinetics
 -  {
 -
 -    @XmlElement(name = "KM")
 -    protected List<EvidencedStringType> km;
 -
 -    @XmlElement(name = "Vmax")
 -    protected List<EvidencedStringType> vmax;
 +    /**
 +     * Gets the value of the method property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link String }
 +     *     
 +     */
 +    public String getMethod() {
 +        return method;
 +    }
  
 -    protected List<EvidencedStringType> text;
 +    /**
 +     * Sets the value of the method property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link String }
 +     *     
 +     */
 +    public void setMethod(String value) {
 +        this.method = value;
 +    }
  
      /**
 -     * Gets the value of the km property.
 +     * Gets the value of the evidence property.
       * 
-      * &lt;p&gt;
+      * <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 km 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 &lt;CODE&gt;set&lt;/CODE&gt; method for the evidence property.
++     * This is why there is not a <CODE>set</CODE> method for the evidence property.
       * 
-      * &lt;p&gt;
+      * <p>
       * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
 -     * 
+      * <pre>
 -     * getKM().add(newItem);
 +     *    getEvidence().add(newItem);
-      * &lt;/pre&gt;
+      * </pre>
       * 
       * 
-      * &lt;p&gt;
+      * <p>
       * Objects of the following type(s) are allowed in the list
 -     * {@link EvidencedStringType }
 +     * {@link Integer }
       * 
       * 
       */
 -    public List<EvidencedStringType> getKM()
 -    {
 -      if (km == null)
 -      {
 -        km = new ArrayList<EvidencedStringType>();
 -      }
 -      return this.km;
 +    public List<Integer> getEvidence() {
 +        if (evidence == null) {
 +            evidence = new ArrayList<Integer>();
 +        }
 +        return this.evidence;
      }
  
 +
      /**
-      * &lt;p&gt;Java class for anonymous complex type.
 -     * Gets the value of the vmax property.
++     * <p>Java class for anonymous complex type.
       * 
-      * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
 -     * <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 vmax 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.
       * 
-      * &lt;pre&gt;
-      * &amp;lt;complexType&amp;gt;
-      *   &amp;lt;complexContent&amp;gt;
-      *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-      *       &amp;lt;sequence&amp;gt;
-      *         &amp;lt;element name="max" type="{http://uniprot.org/uniprot}evidencedStringType" minOccurs="0"/&amp;gt;
-      *         &amp;lt;element name="text" type="{http://uniprot.org/uniprot}evidencedStringType" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
-      *       &amp;lt;/sequence&amp;gt;
-      *     &amp;lt;/restriction&amp;gt;
-      *   &amp;lt;/complexContent&amp;gt;
-      * &amp;lt;/complexType&amp;gt;
-      * &lt;/pre&gt;
+      * <pre>
 -     * getVmax().add(newItem);
++     * &lt;complexType>
++     *   &lt;complexContent>
++     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++     *       &lt;sequence>
++     *         &lt;element name="max" type="{http://uniprot.org/uniprot}evidencedStringType" minOccurs="0"/>
++     *         &lt;element name="text" 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> getVmax()
 -    {
 -      if (vmax == null)
 -      {
 -        vmax = new ArrayList<EvidencedStringType>();
 -      }
 -      return this.vmax;
 +    @XmlAccessorType(XmlAccessType.FIELD)
 +    @XmlType(name = "", propOrder = {
 +        "max",
 +        "text"
 +    })
 +    public static class Absorption {
 +
 +        protected EvidencedStringType max;
 +        protected List<EvidencedStringType> text;
 +
 +        /**
 +         * Gets the value of the max property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link EvidencedStringType }
 +         *     
 +         */
 +        public EvidencedStringType getMax() {
 +            return max;
 +        }
 +
 +        /**
 +         * Sets the value of the max property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link EvidencedStringType }
 +         *     
 +         */
 +        public void setMax(EvidencedStringType value) {
 +            this.max = value;
 +        }
 +
 +        /**
 +         * Gets the value of the text property.
 +         * 
-          * &lt;p&gt;
++         * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the text property.
++         * This is why there is not a <CODE>set</CODE> method for the text property.
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * For example, to add a new item, do as follows:
-          * &lt;pre&gt;
++         * <pre>
 +         *    getText().add(newItem);
-          * &lt;/pre&gt;
++         * </pre>
 +         * 
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * Objects of the following type(s) are allowed in the list
 +         * {@link EvidencedStringType }
 +         * 
 +         * 
 +         */
 +        public List<EvidencedStringType> getText() {
 +            if (text == null) {
 +                text = new ArrayList<EvidencedStringType>();
 +            }
 +            return this.text;
 +        }
 +
      }
  
 +
      /**
-      * &lt;p&gt;Java class for anonymous complex type.
-      * 
-      * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
-      * 
-      * &lt;pre&gt;
-      * &amp;lt;complexType&amp;gt;
-      *   &amp;lt;complexContent&amp;gt;
-      *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-      *       &amp;lt;sequence&amp;gt;
-      *         &amp;lt;element name="sequence" minOccurs="0"&amp;gt;
-      *           &amp;lt;complexType&amp;gt;
-      *             &amp;lt;complexContent&amp;gt;
-      *               &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-      *                 &amp;lt;attribute name="resource" use="required"&amp;gt;
-      *                   &amp;lt;simpleType&amp;gt;
-      *                     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&amp;gt;
-      *                       &amp;lt;enumeration value="EMBL-CDS"/&amp;gt;
-      *                       &amp;lt;enumeration value="EMBL"/&amp;gt;
-      *                     &amp;lt;/restriction&amp;gt;
-      *                   &amp;lt;/simpleType&amp;gt;
-      *                 &amp;lt;/attribute&amp;gt;
-      *                 &amp;lt;attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-      *                 &amp;lt;attribute name="version" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-      *               &amp;lt;/restriction&amp;gt;
-      *             &amp;lt;/complexContent&amp;gt;
-      *           &amp;lt;/complexType&amp;gt;
-      *         &amp;lt;/element&amp;gt;
-      *       &amp;lt;/sequence&amp;gt;
-      *       &amp;lt;attribute name="type" use="required"&amp;gt;
-      *         &amp;lt;simpleType&amp;gt;
-      *           &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&amp;gt;
-      *             &amp;lt;enumeration value="frameshift"/&amp;gt;
-      *             &amp;lt;enumeration value="erroneous initiation"/&amp;gt;
-      *             &amp;lt;enumeration value="erroneous termination"/&amp;gt;
-      *             &amp;lt;enumeration value="erroneous gene model prediction"/&amp;gt;
-      *             &amp;lt;enumeration value="erroneous translation"/&amp;gt;
-      *             &amp;lt;enumeration value="miscellaneous discrepancy"/&amp;gt;
-      *           &amp;lt;/restriction&amp;gt;
-      *         &amp;lt;/simpleType&amp;gt;
-      *       &amp;lt;/attribute&amp;gt;
-      *       &amp;lt;attribute name="ref" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-      *     &amp;lt;/restriction&amp;gt;
-      *   &amp;lt;/complexContent&amp;gt;
-      * &amp;lt;/complexType&amp;gt;
-      * &lt;/pre&gt;
 -     * Gets the value of the text 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 text 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>
 -     * getText().add(newItem);
++     * &lt;complexType>
++     *   &lt;complexContent>
++     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++     *       &lt;sequence>
++     *         &lt;element name="sequence" minOccurs="0">
++     *           &lt;complexType>
++     *             &lt;complexContent>
++     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++     *                 &lt;attribute name="resource" use="required">
++     *                   &lt;simpleType>
++     *                     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
++     *                       &lt;enumeration value="EMBL-CDS"/>
++     *                       &lt;enumeration value="EMBL"/>
++     *                     &lt;/restriction>
++     *                   &lt;/simpleType>
++     *                 &lt;/attribute>
++     *                 &lt;attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
++     *                 &lt;attribute name="version" type="{http://www.w3.org/2001/XMLSchema}int" />
++     *               &lt;/restriction>
++     *             &lt;/complexContent>
++     *           &lt;/complexType>
++     *         &lt;/element>
++     *       &lt;/sequence>
++     *       &lt;attribute name="type" use="required">
++     *         &lt;simpleType>
++     *           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
++     *             &lt;enumeration value="frameshift"/>
++     *             &lt;enumeration value="erroneous initiation"/>
++     *             &lt;enumeration value="erroneous termination"/>
++     *             &lt;enumeration value="erroneous gene model prediction"/>
++     *             &lt;enumeration value="erroneous translation"/>
++     *             &lt;enumeration value="miscellaneous discrepancy"/>
++     *           &lt;/restriction>
++     *         &lt;/simpleType>
++     *       &lt;/attribute>
++     *       &lt;attribute name="ref" type="{http://www.w3.org/2001/XMLSchema}string" />
++     *     &lt;/restriction>
++     *   &lt;/complexContent>
++     * &lt;/complexType>
+      * </pre>
       * 
       * 
 -     * <p>
 -     * Objects of the following type(s) are allowed in the list
 -     * {@link EvidencedStringType }
 -     * 
 -     * 
       */
 -    public List<EvidencedStringType> getText()
 -    {
 -      if (text == null)
 -      {
 -        text = new ArrayList<EvidencedStringType>();
 -      }
 -      return this.text;
 +    @XmlAccessorType(XmlAccessType.FIELD)
 +    @XmlType(name = "", propOrder = {
 +        "sequence"
 +    })
 +    public static class Conflict {
 +
 +        protected CommentType.Conflict.Sequence sequence;
 +        @XmlAttribute(name = "type", required = true)
 +        protected String type;
 +        @XmlAttribute(name = "ref")
 +        protected String ref;
 +
 +        /**
 +         * Gets the value of the sequence property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link CommentType.Conflict.Sequence }
 +         *     
 +         */
 +        public CommentType.Conflict.Sequence getSequence() {
 +            return sequence;
 +        }
 +
 +        /**
 +         * Sets the value of the sequence property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link CommentType.Conflict.Sequence }
 +         *     
 +         */
 +        public void setSequence(CommentType.Conflict.Sequence value) {
 +            this.sequence = value;
 +        }
 +
 +        /**
 +         * Gets the value of the type property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link String }
 +         *     
 +         */
 +        public String getType() {
 +            return type;
 +        }
 +
 +        /**
 +         * Sets the value of the type property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link String }
 +         *     
 +         */
 +        public void setType(String value) {
 +            this.type = value;
 +        }
 +
 +        /**
 +         * Gets the value of the ref property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link String }
 +         *     
 +         */
 +        public String getRef() {
 +            return ref;
 +        }
 +
 +        /**
 +         * Sets the value of the ref property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link String }
 +         *     
 +         */
 +        public void setRef(String value) {
 +            this.ref = value;
 +        }
 +
 +
 +        /**
-          * &lt;p&gt;Java class for anonymous complex type.
-          * 
-          * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
-          * 
-          * &lt;pre&gt;
-          * &amp;lt;complexType&amp;gt;
-          *   &amp;lt;complexContent&amp;gt;
-          *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-          *       &amp;lt;attribute name="resource" use="required"&amp;gt;
-          *         &amp;lt;simpleType&amp;gt;
-          *           &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&amp;gt;
-          *             &amp;lt;enumeration value="EMBL-CDS"/&amp;gt;
-          *             &amp;lt;enumeration value="EMBL"/&amp;gt;
-          *           &amp;lt;/restriction&amp;gt;
-          *         &amp;lt;/simpleType&amp;gt;
-          *       &amp;lt;/attribute&amp;gt;
-          *       &amp;lt;attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-          *       &amp;lt;attribute name="version" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-          *     &amp;lt;/restriction&amp;gt;
-          *   &amp;lt;/complexContent&amp;gt;
-          * &amp;lt;/complexType&amp;gt;
-          * &lt;/pre&gt;
++         * <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;attribute name="resource" use="required">
++         *         &lt;simpleType>
++         *           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
++         *             &lt;enumeration value="EMBL-CDS"/>
++         *             &lt;enumeration value="EMBL"/>
++         *           &lt;/restriction>
++         *         &lt;/simpleType>
++         *       &lt;/attribute>
++         *       &lt;attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
++         *       &lt;attribute name="version" type="{http://www.w3.org/2001/XMLSchema}int" />
++         *     &lt;/restriction>
++         *   &lt;/complexContent>
++         * &lt;/complexType>
++         * </pre>
 +         * 
 +         * 
 +         */
 +        @XmlAccessorType(XmlAccessType.FIELD)
 +        @XmlType(name = "")
 +        public static class Sequence {
 +
 +            @XmlAttribute(name = "resource", required = true)
 +            protected String resource;
 +            @XmlAttribute(name = "id", required = true)
 +            protected String id;
 +            @XmlAttribute(name = "version")
 +            protected Integer version;
 +
 +            /**
 +             * Gets the value of the resource property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link String }
 +             *     
 +             */
 +            public String getResource() {
 +                return resource;
 +            }
 +
 +            /**
 +             * Sets the value of the resource property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link String }
 +             *     
 +             */
 +            public void setResource(String value) {
 +                this.resource = value;
 +            }
 +
 +            /**
 +             * Gets the value of the id property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link String }
 +             *     
 +             */
 +            public String getId() {
 +                return id;
 +            }
 +
 +            /**
 +             * Sets the value of the id property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link String }
 +             *     
 +             */
 +            public void setId(String value) {
 +                this.id = value;
 +            }
 +
 +            /**
 +             * Gets the value of the version property.
 +             * 
 +             * @return
 +             *     possible object is
 +             *     {@link Integer }
 +             *     
 +             */
 +            public Integer getVersion() {
 +                return version;
 +            }
 +
 +            /**
 +             * Sets the value of the version property.
 +             * 
 +             * @param value
 +             *     allowed object is
 +             *     {@link Integer }
 +             *     
 +             */
 +            public void setVersion(Integer value) {
 +                this.version = value;
 +            }
 +
 +        }
 +
      }
  
 -  }
 -
 -  /**
 -   * <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;attribute name="uri" use="required" type="{http://www.w3.org/2001/XMLSchema}anyURI" />
 -   *     &lt;/restriction>
 -   *   &lt;/complexContent>
 -   * &lt;/complexType>
 -   * </pre>
 -   * 
 -   * 
 -   */
 -  @XmlAccessorType(XmlAccessType.FIELD)
 -  @XmlType(name = "")
 -  public static class Link
 -  {
 -
 -    @XmlAttribute(name = "uri", required = true)
 -    @XmlSchemaType(name = "anyURI")
 -    protected String uri;
  
      /**
-      * &lt;p&gt;Java class for anonymous complex type.
-      * 
-      * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
-      * 
-      * &lt;pre&gt;
-      * &amp;lt;complexType&amp;gt;
-      *   &amp;lt;complexContent&amp;gt;
-      *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-      *       &amp;lt;sequence&amp;gt;
-      *         &amp;lt;element name="name" type="{http://www.w3.org/2001/XMLSchema}string"/&amp;gt;
-      *         &amp;lt;element name="acronym" type="{http://www.w3.org/2001/XMLSchema}string"/&amp;gt;
-      *         &amp;lt;element name="description" type="{http://www.w3.org/2001/XMLSchema}string"/&amp;gt;
-      *         &amp;lt;element name="dbReference" type="{http://uniprot.org/uniprot}dbReferenceType"/&amp;gt;
-      *       &amp;lt;/sequence&amp;gt;
-      *       &amp;lt;attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-      *     &amp;lt;/restriction&amp;gt;
-      *   &amp;lt;/complexContent&amp;gt;
-      * &amp;lt;/complexType&amp;gt;
-      * &lt;/pre&gt;
 -     * Gets the value of the uri property.
++     * <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="name" type="{http://www.w3.org/2001/XMLSchema}string"/>
++     *         &lt;element name="acronym" type="{http://www.w3.org/2001/XMLSchema}string"/>
++     *         &lt;element name="description" type="{http://www.w3.org/2001/XMLSchema}string"/>
++     *         &lt;element name="dbReference" type="{http://uniprot.org/uniprot}dbReferenceType"/>
++     *       &lt;/sequence>
++     *       &lt;attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
++     *     &lt;/restriction>
++     *   &lt;/complexContent>
++     * &lt;/complexType>
++     * </pre>
       * 
 -     * @return possible object is {@link String }
       * 
       */
 -    public String getUri()
 -    {
 -      return uri;
 +    @XmlAccessorType(XmlAccessType.FIELD)
 +    @XmlType(name = "", propOrder = {
 +        "name",
 +        "acronym",
 +        "description",
 +        "dbReference"
 +    })
 +    public static class Disease {
 +
 +        @XmlElement(required = true)
 +        protected String name;
 +        @XmlElement(required = true)
 +        protected String acronym;
 +        @XmlElement(required = true)
 +        protected String description;
 +        @XmlElement(required = true)
 +        protected DbReferenceType dbReference;
 +        @XmlAttribute(name = "id", required = true)
 +        protected String id;
 +
 +        /**
 +         * Gets the value of the name property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link String }
 +         *     
 +         */
 +        public String getName() {
 +            return name;
 +        }
 +
 +        /**
 +         * Sets the value of the name property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link String }
 +         *     
 +         */
 +        public void setName(String value) {
 +            this.name = value;
 +        }
 +
 +        /**
 +         * Gets the value of the acronym property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link String }
 +         *     
 +         */
 +        public String getAcronym() {
 +            return acronym;
 +        }
 +
 +        /**
 +         * Sets the value of the acronym property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link String }
 +         *     
 +         */
 +        public void setAcronym(String value) {
 +            this.acronym = value;
 +        }
 +
 +        /**
 +         * Gets the value of the description property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link String }
 +         *     
 +         */
 +        public String getDescription() {
 +            return description;
 +        }
 +
 +        /**
 +         * Sets the value of the description property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link String }
 +         *     
 +         */
 +        public void setDescription(String value) {
 +            this.description = value;
 +        }
 +
 +        /**
 +         * Gets the value of the dbReference property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link DbReferenceType }
 +         *     
 +         */
 +        public DbReferenceType getDbReference() {
 +            return dbReference;
 +        }
 +
 +        /**
 +         * Sets the value of the dbReference property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link DbReferenceType }
 +         *     
 +         */
 +        public void setDbReference(DbReferenceType value) {
 +            this.dbReference = value;
 +        }
 +
 +        /**
 +         * Gets the value of the id property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link String }
 +         *     
 +         */
 +        public String getId() {
 +            return id;
 +        }
 +
 +        /**
 +         * Sets the value of the id property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link String }
 +         *     
 +         */
 +        public void setId(String value) {
 +            this.id = value;
 +        }
 +
      }
  
 +
      /**
-      * &lt;p&gt;Java class for anonymous complex type.
 -     * Sets the value of the uri property.
++     * <p>Java class for anonymous complex type.
 +     * 
-      * &lt;p&gt;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.
 +     * 
-      * &lt;pre&gt;
-      * &amp;lt;complexType&amp;gt;
-      *   &amp;lt;complexContent&amp;gt;
-      *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-      *       &amp;lt;sequence&amp;gt;
-      *         &amp;lt;element name="KM" type="{http://uniprot.org/uniprot}evidencedStringType" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
-      *         &amp;lt;element name="Vmax" type="{http://uniprot.org/uniprot}evidencedStringType" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
-      *         &amp;lt;element name="text" type="{http://uniprot.org/uniprot}evidencedStringType" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
-      *       &amp;lt;/sequence&amp;gt;
-      *     &amp;lt;/restriction&amp;gt;
-      *   &amp;lt;/complexContent&amp;gt;
-      * &amp;lt;/complexType&amp;gt;
-      * &lt;/pre&gt;
++     * <pre>
++     * &lt;complexType>
++     *   &lt;complexContent>
++     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++     *       &lt;sequence>
++     *         &lt;element name="KM" type="{http://uniprot.org/uniprot}evidencedStringType" maxOccurs="unbounded" minOccurs="0"/>
++     *         &lt;element name="Vmax" type="{http://uniprot.org/uniprot}evidencedStringType" maxOccurs="unbounded" minOccurs="0"/>
++     *         &lt;element name="text" type="{http://uniprot.org/uniprot}evidencedStringType" maxOccurs="unbounded" minOccurs="0"/>
++     *       &lt;/sequence>
++     *     &lt;/restriction>
++     *   &lt;/complexContent>
++     * &lt;/complexType>
++     * </pre>
       * 
 -     * @param value
 -     *          allowed object is {@link String }
       * 
       */
 -    public void setUri(String value)
 -    {
 -      this.uri = value;
 +    @XmlAccessorType(XmlAccessType.FIELD)
 +    @XmlType(name = "", propOrder = {
 +        "km",
 +        "vmax",
 +        "text"
 +    })
 +    public static class Kinetics {
 +
 +        @XmlElement(name = "KM")
 +        protected List<EvidencedStringType> km;
 +        @XmlElement(name = "Vmax")
 +        protected List<EvidencedStringType> vmax;
 +        protected List<EvidencedStringType> text;
 +
 +        /**
 +         * Gets the value of the km property.
 +         * 
-          * &lt;p&gt;
++         * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the km property.
++         * This is why there is not a <CODE>set</CODE> method for the km property.
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * For example, to add a new item, do as follows:
-          * &lt;pre&gt;
++         * <pre>
 +         *    getKM().add(newItem);
-          * &lt;/pre&gt;
++         * </pre>
 +         * 
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * Objects of the following type(s) are allowed in the list
 +         * {@link EvidencedStringType }
 +         * 
 +         * 
 +         */
 +        public List<EvidencedStringType> getKM() {
 +            if (km == null) {
 +                km = new ArrayList<EvidencedStringType>();
 +            }
 +            return this.km;
 +        }
 +
 +        /**
 +         * Gets the value of the vmax property.
 +         * 
-          * &lt;p&gt;
++         * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the vmax property.
++         * This is why there is not a <CODE>set</CODE> method for the vmax property.
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * For example, to add a new item, do as follows:
-          * &lt;pre&gt;
++         * <pre>
 +         *    getVmax().add(newItem);
-          * &lt;/pre&gt;
++         * </pre>
 +         * 
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * Objects of the following type(s) are allowed in the list
 +         * {@link EvidencedStringType }
 +         * 
 +         * 
 +         */
 +        public List<EvidencedStringType> getVmax() {
 +            if (vmax == null) {
 +                vmax = new ArrayList<EvidencedStringType>();
 +            }
 +            return this.vmax;
 +        }
 +
 +        /**
 +         * Gets the value of the text property.
 +         * 
-          * &lt;p&gt;
++         * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the text property.
++         * This is why there is not a <CODE>set</CODE> method for the text property.
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * For example, to add a new item, do as follows:
-          * &lt;pre&gt;
++         * <pre>
 +         *    getText().add(newItem);
-          * &lt;/pre&gt;
++         * </pre>
 +         * 
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * Objects of the following type(s) are allowed in the list
 +         * {@link EvidencedStringType }
 +         * 
 +         * 
 +         */
 +        public List<EvidencedStringType> getText() {
 +            if (text == null) {
 +                text = new ArrayList<EvidencedStringType>();
 +            }
 +            return this.text;
 +        }
 +
      }
  
 -  }
 -
 -  /**
 -   * <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="text" type="{http://uniprot.org/uniprot}evidencedStringType" maxOccurs="unbounded"/>
 -   *       &lt;/sequence>
 -   *     &lt;/restriction>
 -   *   &lt;/complexContent>
 -   * &lt;/complexType>
 -   * </pre>
 -   * 
 -   * 
 -   */
 -  @XmlAccessorType(XmlAccessType.FIELD)
 -  @XmlType(name = "", propOrder = { "text" })
 -  public static class PhDependence
 -  {
 -
 -    @XmlElement(required = true)
 -    protected List<EvidencedStringType> text;
  
      /**
-      * &lt;p&gt;Java class for anonymous complex type.
 -     * Gets the value of the text property.
++     * <p>Java class for anonymous complex type.
       * 
-      * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
 -     * <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 text 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.
       * 
-      * &lt;pre&gt;
-      * &amp;lt;complexType&amp;gt;
-      *   &amp;lt;complexContent&amp;gt;
-      *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-      *       &amp;lt;attribute name="uri" use="required" type="{http://www.w3.org/2001/XMLSchema}anyURI" /&amp;gt;
-      *     &amp;lt;/restriction&amp;gt;
-      *   &amp;lt;/complexContent&amp;gt;
-      * &amp;lt;/complexType&amp;gt;
-      * &lt;/pre&gt;
+      * <pre>
 -     * getText().add(newItem);
++     * &lt;complexType>
++     *   &lt;complexContent>
++     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++     *       &lt;attribute name="uri" use="required" type="{http://www.w3.org/2001/XMLSchema}anyURI" />
++     *     &lt;/restriction>
++     *   &lt;/complexContent>
++     * &lt;/complexType>
+      * </pre>
       * 
       * 
 -     * <p>
 -     * Objects of the following type(s) are allowed in the list
 -     * {@link EvidencedStringType }
 -     * 
 -     * 
       */
 -    public List<EvidencedStringType> getText()
 -    {
 -      if (text == null)
 -      {
 -        text = new ArrayList<EvidencedStringType>();
 -      }
 -      return this.text;
 +    @XmlAccessorType(XmlAccessType.FIELD)
 +    @XmlType(name = "")
 +    public static class Link {
 +
 +        @XmlAttribute(name = "uri", required = true)
 +        @XmlSchemaType(name = "anyURI")
 +        protected String uri;
 +
 +        /**
 +         * Gets the value of the uri property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link String }
 +         *     
 +         */
 +        public String getUri() {
 +            return uri;
 +        }
 +
 +        /**
 +         * Sets the value of the uri property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link String }
 +         *     
 +         */
 +        public void setUri(String value) {
 +            this.uri = value;
 +        }
 +
      }
  
 -  }
 -
 -  /**
 -   * <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="text" type="{http://uniprot.org/uniprot}evidencedStringType" maxOccurs="unbounded"/>
 -   *       &lt;/sequence>
 -   *     &lt;/restriction>
 -   *   &lt;/complexContent>
 -   * &lt;/complexType>
 -   * </pre>
 -   * 
 -   * 
 -   */
 -  @XmlAccessorType(XmlAccessType.FIELD)
 -  @XmlType(name = "", propOrder = { "text" })
 -  public static class RedoxPotential
 -  {
 -
 -    @XmlElement(required = true)
 -    protected List<EvidencedStringType> text;
  
      /**
-      * &lt;p&gt;Java class for anonymous complex type.
 -     * Gets the value of the text property.
++     * <p>Java class for anonymous complex type.
       * 
-      * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
 -     * <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 text 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.
       * 
-      * &lt;pre&gt;
-      * &amp;lt;complexType&amp;gt;
-      *   &amp;lt;complexContent&amp;gt;
-      *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-      *       &amp;lt;sequence&amp;gt;
-      *         &amp;lt;element name="text" type="{http://uniprot.org/uniprot}evidencedStringType" maxOccurs="unbounded"/&amp;gt;
-      *       &amp;lt;/sequence&amp;gt;
-      *     &amp;lt;/restriction&amp;gt;
-      *   &amp;lt;/complexContent&amp;gt;
-      * &amp;lt;/complexType&amp;gt;
-      * &lt;/pre&gt;
+      * <pre>
 -     * getText().add(newItem);
++     * &lt;complexType>
++     *   &lt;complexContent>
++     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++     *       &lt;sequence>
++     *         &lt;element name="text" type="{http://uniprot.org/uniprot}evidencedStringType" maxOccurs="unbounded"/>
++     *       &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> getText()
 -    {
 -      if (text == null)
 -      {
 -        text = new ArrayList<EvidencedStringType>();
 -      }
 -      return this.text;
 +    @XmlAccessorType(XmlAccessType.FIELD)
 +    @XmlType(name = "", propOrder = {
 +        "text"
 +    })
 +    public static class PhDependence {
 +
 +        @XmlElement(required = true)
 +        protected List<EvidencedStringType> text;
 +
 +        /**
 +         * Gets the value of the text property.
 +         * 
-          * &lt;p&gt;
++         * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the text property.
++         * This is why there is not a <CODE>set</CODE> method for the text property.
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * For example, to add a new item, do as follows:
-          * &lt;pre&gt;
++         * <pre>
 +         *    getText().add(newItem);
-          * &lt;/pre&gt;
++         * </pre>
 +         * 
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * Objects of the following type(s) are allowed in the list
 +         * {@link EvidencedStringType }
 +         * 
 +         * 
 +         */
 +        public List<EvidencedStringType> getText() {
 +            if (text == null) {
 +                text = new ArrayList<EvidencedStringType>();
 +            }
 +            return this.text;
 +        }
 +
      }
  
 -  }
 -
 -  /**
 -   * <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="text" type="{http://uniprot.org/uniprot}evidencedStringType" maxOccurs="unbounded"/>
 -   *       &lt;/sequence>
 -   *     &lt;/restriction>
 -   *   &lt;/complexContent>
 -   * &lt;/complexType>
 -   * </pre>
 -   * 
 -   * 
 -   */
 -  @XmlAccessorType(XmlAccessType.FIELD)
 -  @XmlType(name = "", propOrder = { "text" })
 -  public static class TemperatureDependence
 -  {
 -
 -    @XmlElement(required = true)
 -    protected List<EvidencedStringType> text;
  
      /**
-      * &lt;p&gt;Java class for anonymous complex type.
 -     * Gets the value of the text property.
++     * <p>Java class for anonymous complex type.
       * 
-      * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
 -     * <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 text 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.
       * 
-      * &lt;pre&gt;
-      * &amp;lt;complexType&amp;gt;
-      *   &amp;lt;complexContent&amp;gt;
-      *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-      *       &amp;lt;sequence&amp;gt;
-      *         &amp;lt;element name="text" type="{http://uniprot.org/uniprot}evidencedStringType" maxOccurs="unbounded"/&amp;gt;
-      *       &amp;lt;/sequence&amp;gt;
-      *     &amp;lt;/restriction&amp;gt;
-      *   &amp;lt;/complexContent&amp;gt;
-      * &amp;lt;/complexType&amp;gt;
-      * &lt;/pre&gt;
+      * <pre>
 -     * getText().add(newItem);
++     * &lt;complexType>
++     *   &lt;complexContent>
++     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++     *       &lt;sequence>
++     *         &lt;element name="text" type="{http://uniprot.org/uniprot}evidencedStringType" maxOccurs="unbounded"/>
++     *       &lt;/sequence>
++     *     &lt;/restriction>
++     *   &lt;/complexContent>
++     * &lt;/complexType>
+      * </pre>
       * 
       * 
 -     * <p>
 -     * Objects of the following type(s) are allowed in the list
 -     * {@link EvidencedStringType }
 +     */
 +    @XmlAccessorType(XmlAccessType.FIELD)
 +    @XmlType(name = "", propOrder = {
 +        "text"
 +    })
 +    public static class RedoxPotential {
 +
 +        @XmlElement(required = true)
 +        protected List<EvidencedStringType> text;
 +
 +        /**
 +         * Gets the value of the text property.
 +         * 
-          * &lt;p&gt;
++         * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the text property.
++         * This is why there is not a <CODE>set</CODE> method for the text property.
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * For example, to add a new item, do as follows:
-          * &lt;pre&gt;
++         * <pre>
 +         *    getText().add(newItem);
-          * &lt;/pre&gt;
++         * </pre>
 +         * 
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * Objects of the following type(s) are allowed in the list
 +         * {@link EvidencedStringType }
 +         * 
 +         * 
 +         */
 +        public List<EvidencedStringType> getText() {
 +            if (text == null) {
 +                text = new ArrayList<EvidencedStringType>();
 +            }
 +            return this.text;
 +        }
 +
 +    }
 +
 +
 +    /**
-      * &lt;p&gt;Java class for anonymous complex type.
++     * <p>Java class for anonymous complex type.
 +     * 
-      * &lt;p&gt;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.
 +     * 
-      * &lt;pre&gt;
-      * &amp;lt;complexType&amp;gt;
-      *   &amp;lt;complexContent&amp;gt;
-      *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-      *       &amp;lt;sequence&amp;gt;
-      *         &amp;lt;element name="text" type="{http://uniprot.org/uniprot}evidencedStringType" maxOccurs="unbounded"/&amp;gt;
-      *       &amp;lt;/sequence&amp;gt;
-      *     &amp;lt;/restriction&amp;gt;
-      *   &amp;lt;/complexContent&amp;gt;
-      * &amp;lt;/complexType&amp;gt;
-      * &lt;/pre&gt;
++     * <pre>
++     * &lt;complexType>
++     *   &lt;complexContent>
++     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++     *       &lt;sequence>
++     *         &lt;element name="text" type="{http://uniprot.org/uniprot}evidencedStringType" maxOccurs="unbounded"/>
++     *       &lt;/sequence>
++     *     &lt;/restriction>
++     *   &lt;/complexContent>
++     * &lt;/complexType>
++     * </pre>
       * 
       * 
       */
 -    public List<EvidencedStringType> getText()
 -    {
 -      if (text == null)
 -      {
 -        text = new ArrayList<EvidencedStringType>();
 -      }
 -      return this.text;
 -    }
 +    @XmlAccessorType(XmlAccessType.FIELD)
 +    @XmlType(name = "", propOrder = {
 +        "text"
 +    })
 +    public static class TemperatureDependence {
 +
 +        @XmlElement(required = true)
 +        protected List<EvidencedStringType> text;
 +
 +        /**
 +         * Gets the value of the text property.
 +         * 
-          * &lt;p&gt;
++         * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the text property.
++         * This is why there is not a <CODE>set</CODE> method for the text property.
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * For example, to add a new item, do as follows:
-          * &lt;pre&gt;
++         * <pre>
 +         *    getText().add(newItem);
-          * &lt;/pre&gt;
++         * </pre>
 +         * 
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * Objects of the following type(s) are allowed in the list
 +         * {@link EvidencedStringType }
 +         * 
 +         * 
 +         */
 +        public List<EvidencedStringType> getText() {
 +            if (text == null) {
 +                text = new ArrayList<EvidencedStringType>();
 +            }
 +            return this.text;
 +        }
  
 -  }
 +    }
  
  }
@@@ -1,11 -1,10 +1,11 @@@
  //
- // This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
- // See https://eclipse-ee4j.github.io/jaxb-ri 
+ // 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: 2022.02.07 at 04:44:21 PM GMT 
 -// 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 javax.xml.bind.annotation.XmlAccessType;
@@@ -13,24 -12,26 +13,24 @@@ import javax.xml.bind.annotation.XmlAcc
  import javax.xml.bind.annotation.XmlAttribute;
  import javax.xml.bind.annotation.XmlType;
  
 +
  /**
 - * Describes the authors of a citation when these are represented by a
 - * consortium. Equivalent to the flat file RG-line.
 + * Describes the authors of a citation when these are represented by a consortium.
 + *             Equivalent to the flat file RG-line.
   * 
-  * &lt;p&gt;Java class for consortiumType complex type.
 - * <p>
 - * Java class for consortiumType complex type.
++ * <p>Java class for consortiumType complex type.
   * 
-  * &lt;p&gt;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.
++ * <p>The following schema fragment specifies the expected content contained within this class.
   * 
-  * &lt;pre&gt;
-  * &amp;lt;complexType name="consortiumType"&amp;gt;
-  *   &amp;lt;complexContent&amp;gt;
-  *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *       &amp;lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *     &amp;lt;/restriction&amp;gt;
-  *   &amp;lt;/complexContent&amp;gt;
-  * &amp;lt;/complexType&amp;gt;
-  * &lt;/pre&gt;
+  * <pre>
+  * &lt;complexType name="consortiumType">
+  *   &lt;complexContent>
+  *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+  *       &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+  *     &lt;/restriction>
+  *   &lt;/complexContent>
+  * &lt;/complexType>
+  * </pre>
   * 
   * 
   */
@@@ -1,11 -1,10 +1,11 @@@
  //
- // This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
- // See https://eclipse-ee4j.github.io/jaxb-ri 
+ // 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: 2022.02.07 at 04:44:21 PM GMT 
 -// 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;
@@@ -15,178 -14,183 +15,178 @@@ import javax.xml.bind.annotation.XmlAcc
  import javax.xml.bind.annotation.XmlAttribute;
  import javax.xml.bind.annotation.XmlType;
  
 +
  /**
 - * Describes a database cross-reference. Equivalent to the flat file DR-line.
 + * Describes a database cross-reference.
 + *             Equivalent to the flat file DR-line.
 + *             
   * 
-  * &lt;p&gt;Java class for dbReferenceType complex type.
++ * <p>Java class for dbReferenceType complex type.
   * 
-  * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
 - * <p>
 - * Java class for dbReferenceType 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.
   * 
-  * &lt;pre&gt;
-  * &amp;lt;complexType name="dbReferenceType"&amp;gt;
-  *   &amp;lt;complexContent&amp;gt;
-  *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *       &amp;lt;sequence&amp;gt;
-  *         &amp;lt;element name="molecule" type="{http://uniprot.org/uniprot}moleculeType" minOccurs="0"/&amp;gt;
-  *         &amp;lt;element name="property" type="{http://uniprot.org/uniprot}propertyType" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
-  *       &amp;lt;/sequence&amp;gt;
-  *       &amp;lt;attribute name="type" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *       &amp;lt;attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *       &amp;lt;attribute name="evidence" type="{http://uniprot.org/uniprot}intListType" /&amp;gt;
-  *     &amp;lt;/restriction&amp;gt;
-  *   &amp;lt;/complexContent&amp;gt;
-  * &amp;lt;/complexType&amp;gt;
-  * &lt;/pre&gt;
+  * <pre>
+  * &lt;complexType name="dbReferenceType">
+  *   &lt;complexContent>
+  *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+  *       &lt;sequence>
+  *         &lt;element name="molecule" type="{http://uniprot.org/uniprot}moleculeType" minOccurs="0"/>
+  *         &lt;element name="property" type="{http://uniprot.org/uniprot}propertyType" maxOccurs="unbounded" minOccurs="0"/>
+  *       &lt;/sequence>
+  *       &lt;attribute name="type" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+  *       &lt;attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+  *       &lt;attribute name="evidence" type="{http://uniprot.org/uniprot}intListType" />
+  *     &lt;/restriction>
+  *   &lt;/complexContent>
+  * &lt;/complexType>
+  * </pre>
   * 
   * 
   */
  @XmlAccessorType(XmlAccessType.FIELD)
 -@XmlType(name = "dbReferenceType", propOrder = { "molecule", "property" })
 -public class DbReferenceType
 -{
 -
 -  protected MoleculeType molecule;
 -
 -  protected List<PropertyType> property;
 -
 -  @XmlAttribute(name = "type", required = true)
 -  protected String type;
 -
 -  @XmlAttribute(name = "id", required = true)
 -  protected String id;
 -
 -  @XmlAttribute(name = "evidence")
 -  protected List<Integer> evidence;
 -
 -  /**
 -   * Gets the value of the molecule property.
 -   * 
 -   * @return possible object is {@link MoleculeType }
 -   * 
 -   */
 -  public MoleculeType getMolecule()
 -  {
 -    return molecule;
 -  }
 +@XmlType(name = "dbReferenceType", propOrder = {
 +    "molecule",
 +    "property"
 +})
 +public class DbReferenceType {
 +
 +    protected MoleculeType molecule;
 +    protected List<PropertyType> property;
 +    @XmlAttribute(name = "type", required = true)
 +    protected String type;
 +    @XmlAttribute(name = "id", required = true)
 +    protected String id;
 +    @XmlAttribute(name = "evidence")
 +    protected List<Integer> evidence;
 +
 +    /**
 +     * Gets the value of the molecule property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link MoleculeType }
 +     *     
 +     */
 +    public MoleculeType getMolecule() {
 +        return molecule;
 +    }
  
 -  /**
 -   * Sets the value of the molecule property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link MoleculeType }
 -   * 
 -   */
 -  public void setMolecule(MoleculeType value)
 -  {
 -    this.molecule = value;
 -  }
 +    /**
 +     * Sets the value of the molecule property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link MoleculeType }
 +     *     
 +     */
 +    public void setMolecule(MoleculeType value) {
 +        this.molecule = value;
 +    }
  
 -  /**
 -   * Gets the value of the property 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 property property.
 -   * 
 -   * <p>
 -   * For example, to add a new item, do as follows:
 -   * 
 -   * <pre>
 -   * getProperty().add(newItem);
 -   * </pre>
 -   * 
 -   * 
 -   * <p>
 -   * Objects of the following type(s) are allowed in the list
 -   * {@link PropertyType }
 -   * 
 -   * 
 -   */
 -  public List<PropertyType> getProperty()
 -  {
 -    if (property == null)
 -    {
 -      property = new ArrayList<PropertyType>();
 +    /**
 +     * Gets the value of the property property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the property property.
++     * This is why there is not a <CODE>set</CODE> method for the property property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getProperty().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link PropertyType }
 +     * 
 +     * 
 +     */
 +    public List<PropertyType> getProperty() {
 +        if (property == null) {
 +            property = new ArrayList<PropertyType>();
 +        }
 +        return this.property;
      }
 -    return this.property;
 -  }
  
 -  /**
 -   * Gets the value of the type property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getType()
 -  {
 -    return type;
 -  }
 +    /**
 +     * Gets the value of the type property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link String }
 +     *     
 +     */
 +    public String getType() {
 +        return type;
 +    }
  
 -  /**
 -   * Sets the value of the type property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setType(String value)
 -  {
 -    this.type = value;
 -  }
 +    /**
 +     * Sets the value of the type property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link String }
 +     *     
 +     */
 +    public void setType(String value) {
 +        this.type = value;
 +    }
  
 -  /**
 -   * Gets the value of the id property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getId()
 -  {
 -    return id;
 -  }
 +    /**
 +     * Gets the value of the id property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link String }
 +     *     
 +     */
 +    public String getId() {
 +        return id;
 +    }
  
 -  /**
 -   * Sets the value of the id property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setId(String value)
 -  {
 -    this.id = value;
 -  }
 +    /**
 +     * Sets the value of the id property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link String }
 +     *     
 +     */
 +    public void setId(String value) {
 +        this.id = value;
 +    }
  
 -  /**
 -   * Gets the value of the evidence 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 evidence property.
 -   * 
 -   * <p>
 -   * For example, to add a new item, do as follows:
 -   * 
 -   * <pre>
 -   * getEvidence().add(newItem);
 -   * </pre>
 -   * 
 -   * 
 -   * <p>
 -   * Objects of the following type(s) are allowed in the list {@link Integer }
 -   * 
 -   * 
 -   */
 -  public List<Integer> getEvidence()
 -  {
 -    if (evidence == null)
 -    {
 -      evidence = new ArrayList<Integer>();
 +    /**
 +     * Gets the value of the evidence property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the evidence property.
++     * This is why there is not a <CODE>set</CODE> method for the evidence property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getEvidence().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link Integer }
 +     * 
 +     * 
 +     */
 +    public List<Integer> getEvidence() {
 +        if (evidence == null) {
 +            evidence = new ArrayList<Integer>();
 +        }
 +        return this.evidence;
      }
 -    return this.evidence;
 -  }
  
  }
@@@ -1,11 -1,10 +1,11 @@@
  //
- // This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
- // See https://eclipse-ee4j.github.io/jaxb-ri 
+ // 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: 2022.02.07 at 04:44:21 PM GMT 
 -// 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;
@@@ -19,607 -18,642 +19,607 @@@ import javax.xml.bind.annotation.XmlSch
  import javax.xml.bind.annotation.XmlType;
  import javax.xml.datatype.XMLGregorianCalendar;
  
 +
  /**
-  * &lt;p&gt;Java class for anonymous complex type.
 - * <p>
 - * Java class for anonymous complex type.
++ * <p>Java class for anonymous complex type.
   * 
-  * &lt;p&gt;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.
++ * <p>The following schema fragment specifies the expected content contained within this class.
   * 
-  * &lt;pre&gt;
-  * &amp;lt;complexType&amp;gt;
-  *   &amp;lt;complexContent&amp;gt;
-  *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *       &amp;lt;sequence&amp;gt;
-  *         &amp;lt;element name="accession" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded"/&amp;gt;
-  *         &amp;lt;element name="name" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded"/&amp;gt;
-  *         &amp;lt;element name="protein" type="{http://uniprot.org/uniprot}proteinType"/&amp;gt;
-  *         &amp;lt;element name="gene" type="{http://uniprot.org/uniprot}geneType" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
-  *         &amp;lt;element name="organism" type="{http://uniprot.org/uniprot}organismType"/&amp;gt;
-  *         &amp;lt;element name="organismHost" type="{http://uniprot.org/uniprot}organismType" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
-  *         &amp;lt;element name="geneLocation" type="{http://uniprot.org/uniprot}geneLocationType" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
-  *         &amp;lt;element name="reference" type="{http://uniprot.org/uniprot}referenceType" maxOccurs="unbounded"/&amp;gt;
-  *         &amp;lt;element name="comment" type="{http://uniprot.org/uniprot}commentType" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
-  *         &amp;lt;element name="dbReference" type="{http://uniprot.org/uniprot}dbReferenceType" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
-  *         &amp;lt;element name="proteinExistence" type="{http://uniprot.org/uniprot}proteinExistenceType"/&amp;gt;
-  *         &amp;lt;element name="keyword" type="{http://uniprot.org/uniprot}keywordType" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
-  *         &amp;lt;element name="feature" type="{http://uniprot.org/uniprot}featureType" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
-  *         &amp;lt;element name="evidence" type="{http://uniprot.org/uniprot}evidenceType" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
-  *         &amp;lt;element name="sequence" type="{http://uniprot.org/uniprot}sequenceType"/&amp;gt;
-  *       &amp;lt;/sequence&amp;gt;
-  *       &amp;lt;attribute name="dataset" use="required"&amp;gt;
-  *         &amp;lt;simpleType&amp;gt;
-  *           &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&amp;gt;
-  *             &amp;lt;enumeration value="Swiss-Prot"/&amp;gt;
-  *             &amp;lt;enumeration value="TrEMBL"/&amp;gt;
-  *           &amp;lt;/restriction&amp;gt;
-  *         &amp;lt;/simpleType&amp;gt;
-  *       &amp;lt;/attribute&amp;gt;
-  *       &amp;lt;attribute name="created" use="required" type="{http://www.w3.org/2001/XMLSchema}date" /&amp;gt;
-  *       &amp;lt;attribute name="modified" use="required" type="{http://www.w3.org/2001/XMLSchema}date" /&amp;gt;
-  *       &amp;lt;attribute name="version" use="required" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-  *     &amp;lt;/restriction&amp;gt;
-  *   &amp;lt;/complexContent&amp;gt;
-  * &amp;lt;/complexType&amp;gt;
-  * &lt;/pre&gt;
+  * <pre>
+  * &lt;complexType>
+  *   &lt;complexContent>
+  *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+  *       &lt;sequence>
+  *         &lt;element name="accession" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded"/>
+  *         &lt;element name="name" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded"/>
+  *         &lt;element name="protein" type="{http://uniprot.org/uniprot}proteinType"/>
+  *         &lt;element name="gene" type="{http://uniprot.org/uniprot}geneType" maxOccurs="unbounded" minOccurs="0"/>
+  *         &lt;element name="organism" type="{http://uniprot.org/uniprot}organismType"/>
+  *         &lt;element name="organismHost" type="{http://uniprot.org/uniprot}organismType" maxOccurs="unbounded" minOccurs="0"/>
+  *         &lt;element name="geneLocation" type="{http://uniprot.org/uniprot}geneLocationType" maxOccurs="unbounded" minOccurs="0"/>
+  *         &lt;element name="reference" type="{http://uniprot.org/uniprot}referenceType" maxOccurs="unbounded"/>
+  *         &lt;element name="comment" type="{http://uniprot.org/uniprot}commentType" maxOccurs="unbounded" minOccurs="0"/>
+  *         &lt;element name="dbReference" type="{http://uniprot.org/uniprot}dbReferenceType" maxOccurs="unbounded" minOccurs="0"/>
+  *         &lt;element name="proteinExistence" type="{http://uniprot.org/uniprot}proteinExistenceType"/>
+  *         &lt;element name="keyword" type="{http://uniprot.org/uniprot}keywordType" maxOccurs="unbounded" minOccurs="0"/>
+  *         &lt;element name="feature" type="{http://uniprot.org/uniprot}featureType" maxOccurs="unbounded" minOccurs="0"/>
+  *         &lt;element name="evidence" type="{http://uniprot.org/uniprot}evidenceType" maxOccurs="unbounded" minOccurs="0"/>
+  *         &lt;element name="sequence" type="{http://uniprot.org/uniprot}sequenceType"/>
+  *       &lt;/sequence>
+  *       &lt;attribute name="dataset" use="required">
+  *         &lt;simpleType>
+  *           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
+  *             &lt;enumeration value="Swiss-Prot"/>
+  *             &lt;enumeration value="TrEMBL"/>
+  *           &lt;/restriction>
+  *         &lt;/simpleType>
+  *       &lt;/attribute>
+  *       &lt;attribute name="created" use="required" type="{http://www.w3.org/2001/XMLSchema}date" />
+  *       &lt;attribute name="modified" use="required" type="{http://www.w3.org/2001/XMLSchema}date" />
+  *       &lt;attribute name="version" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
+  *     &lt;/restriction>
+  *   &lt;/complexContent>
+  * &lt;/complexType>
+  * </pre>
   * 
   * 
   */
  @XmlAccessorType(XmlAccessType.FIELD)
 -@XmlType(
 -  name = "",
 -  propOrder =
 -  { "accession", "name", "protein", "gene", "organism", "organismHost",
 -      "geneLocation", "reference", "comment", "dbReference",
 -      "proteinExistence", "keyword", "feature", "evidence", "sequence" })
 +@XmlType(name = "", propOrder = {
 +    "accession",
 +    "name",
 +    "protein",
 +    "gene",
 +    "organism",
 +    "organismHost",
 +    "geneLocation",
 +    "reference",
 +    "comment",
 +    "dbReference",
 +    "proteinExistence",
 +    "keyword",
 +    "feature",
 +    "evidence",
 +    "sequence"
 +})
  @XmlRootElement(name = "entry")
 -public class Entry
 -{
 -
 -  @XmlElement(required = true)
 -  protected List<String> accession;
 -
 -  @XmlElement(required = true)
 -  protected List<String> name;
 -
 -  @XmlElement(required = true)
 -  protected ProteinType protein;
 -
 -  protected List<GeneType> gene;
 +public class Entry {
 +
 +    @XmlElement(required = true)
 +    protected List<String> accession;
 +    @XmlElement(required = true)
 +    protected List<String> name;
 +    @XmlElement(required = true)
 +    protected ProteinType protein;
 +    protected List<GeneType> gene;
 +    @XmlElement(required = true)
 +    protected OrganismType organism;
 +    protected List<OrganismType> organismHost;
 +    protected List<GeneLocationType> geneLocation;
 +    @XmlElement(required = true)
 +    protected List<ReferenceType> reference;
 +    @XmlElement(nillable = true)
 +    protected List<CommentType> comment;
 +    protected List<DbReferenceType> dbReference;
 +    @XmlElement(required = true)
 +    protected ProteinExistenceType proteinExistence;
 +    protected List<KeywordType> keyword;
 +    protected List<FeatureType> feature;
 +    protected List<EvidenceType> evidence;
 +    @XmlElement(required = true)
 +    protected SequenceType sequence;
 +    @XmlAttribute(name = "dataset", required = true)
 +    protected String dataset;
 +    @XmlAttribute(name = "created", required = true)
 +    @XmlSchemaType(name = "date")
 +    protected XMLGregorianCalendar created;
 +    @XmlAttribute(name = "modified", required = true)
 +    @XmlSchemaType(name = "date")
 +    protected XMLGregorianCalendar modified;
 +    @XmlAttribute(name = "version", required = true)
 +    protected int version;
 +
 +    /**
 +     * Gets the value of the accession property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the accession property.
++     * This is why there is not a <CODE>set</CODE> method for the accession property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getAccession().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link String }
 +     * 
 +     * 
 +     */
 +    public List<String> getAccession() {
 +        if (accession == null) {
 +            accession = new ArrayList<String>();
 +        }
 +        return this.accession;
 +    }
  
 -  @XmlElement(required = true)
 -  protected OrganismType organism;
 +    /**
 +     * Gets the value of the name property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the name property.
++     * This is why there is not a <CODE>set</CODE> method for the name property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getName().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link String }
 +     * 
 +     * 
 +     */
 +    public List<String> getName() {
 +        if (name == null) {
 +            name = new ArrayList<String>();
 +        }
 +        return this.name;
 +    }
  
 -  protected List<OrganismType> organismHost;
 +    /**
 +     * Gets the value of the protein property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link ProteinType }
 +     *     
 +     */
 +    public ProteinType getProtein() {
 +        return protein;
 +    }
  
 -  protected List<GeneLocationType> geneLocation;
 +    /**
 +     * Sets the value of the protein property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link ProteinType }
 +     *     
 +     */
 +    public void setProtein(ProteinType value) {
 +        this.protein = value;
 +    }
  
 -  @XmlElement(required = true)
 -  protected List<ReferenceType> reference;
 +    /**
 +     * Gets the value of the gene property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the gene property.
++     * This is why there is not a <CODE>set</CODE> method for the gene property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getGene().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link GeneType }
 +     * 
 +     * 
 +     */
 +    public List<GeneType> getGene() {
 +        if (gene == null) {
 +            gene = new ArrayList<GeneType>();
 +        }
 +        return this.gene;
 +    }
  
 -  @XmlElement(nillable = true)
 -  protected List<CommentType> comment;
 +    /**
 +     * Gets the value of the organism property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link OrganismType }
 +     *     
 +     */
 +    public OrganismType getOrganism() {
 +        return organism;
 +    }
  
 -  protected List<DbReferenceType> dbReference;
 +    /**
 +     * Sets the value of the organism property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link OrganismType }
 +     *     
 +     */
 +    public void setOrganism(OrganismType value) {
 +        this.organism = value;
 +    }
  
 -  @XmlElement(required = true)
 -  protected ProteinExistenceType proteinExistence;
 +    /**
 +     * Gets the value of the organismHost property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the organismHost property.
++     * This is why there is not a <CODE>set</CODE> method for the organismHost property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getOrganismHost().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link OrganismType }
 +     * 
 +     * 
 +     */
 +    public List<OrganismType> getOrganismHost() {
 +        if (organismHost == null) {
 +            organismHost = new ArrayList<OrganismType>();
 +        }
 +        return this.organismHost;
 +    }
  
 -  protected List<KeywordType> keyword;
 +    /**
 +     * Gets the value of the geneLocation property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the geneLocation property.
++     * This is why there is not a <CODE>set</CODE> method for the geneLocation property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getGeneLocation().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link GeneLocationType }
 +     * 
 +     * 
 +     */
 +    public List<GeneLocationType> getGeneLocation() {
 +        if (geneLocation == null) {
 +            geneLocation = new ArrayList<GeneLocationType>();
 +        }
 +        return this.geneLocation;
 +    }
  
 -  protected List<FeatureType> feature;
 +    /**
 +     * Gets the value of the reference property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the reference property.
++     * This is why there is not a <CODE>set</CODE> method for the reference property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getReference().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link ReferenceType }
 +     * 
 +     * 
 +     */
 +    public List<ReferenceType> getReference() {
 +        if (reference == null) {
 +            reference = new ArrayList<ReferenceType>();
 +        }
 +        return this.reference;
 +    }
  
 -  protected List<EvidenceType> evidence;
 +    /**
 +     * Gets the value of the comment property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the comment property.
++     * This is why there is not a <CODE>set</CODE> method for the comment property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getComment().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link CommentType }
 +     * 
 +     * 
 +     */
 +    public List<CommentType> getComment() {
 +        if (comment == null) {
 +            comment = new ArrayList<CommentType>();
 +        }
 +        return this.comment;
 +    }
  
 -  @XmlElement(required = true)
 -  protected SequenceType sequence;
 +    /**
 +     * Gets the value of the dbReference property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the dbReference property.
++     * This is why there is not a <CODE>set</CODE> method for the dbReference property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getDbReference().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link DbReferenceType }
 +     * 
 +     * 
 +     */
 +    public List<DbReferenceType> getDbReference() {
 +        if (dbReference == null) {
 +            dbReference = new ArrayList<DbReferenceType>();
 +        }
 +        return this.dbReference;
 +    }
  
 -  @XmlAttribute(name = "dataset", required = true)
 -  protected String dataset;
 +    /**
 +     * Gets the value of the proteinExistence property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link ProteinExistenceType }
 +     *     
 +     */
 +    public ProteinExistenceType getProteinExistence() {
 +        return proteinExistence;
 +    }
  
 -  @XmlAttribute(name = "created", required = true)
 -  @XmlSchemaType(name = "date")
 -  protected XMLGregorianCalendar created;
 +    /**
 +     * Sets the value of the proteinExistence property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link ProteinExistenceType }
 +     *     
 +     */
 +    public void setProteinExistence(ProteinExistenceType value) {
 +        this.proteinExistence = value;
 +    }
  
 -  @XmlAttribute(name = "modified", required = true)
 -  @XmlSchemaType(name = "date")
 -  protected XMLGregorianCalendar modified;
 +    /**
 +     * Gets the value of the keyword property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the keyword property.
++     * This is why there is not a <CODE>set</CODE> method for the keyword property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getKeyword().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link KeywordType }
 +     * 
 +     * 
 +     */
 +    public List<KeywordType> getKeyword() {
 +        if (keyword == null) {
 +            keyword = new ArrayList<KeywordType>();
 +        }
 +        return this.keyword;
 +    }
  
 -  @XmlAttribute(name = "version", required = true)
 -  protected int version;
 +    /**
 +     * Gets the value of the feature property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the feature property.
++     * This is why there is not a <CODE>set</CODE> method for the feature property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getFeature().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link FeatureType }
 +     * 
 +     * 
 +     */
 +    public List<FeatureType> getFeature() {
 +        if (feature == null) {
 +            feature = new ArrayList<FeatureType>();
 +        }
 +        return this.feature;
 +    }
  
 -  /**
 -   * Gets the value of the accession 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 accession property.
 -   * 
 -   * <p>
 -   * For example, to add a new item, do as follows:
 -   * 
 -   * <pre>
 -   * getAccession().add(newItem);
 -   * </pre>
 -   * 
 -   * 
 -   * <p>
 -   * Objects of the following type(s) are allowed in the list {@link String }
 -   * 
 -   * 
 -   */
 -  public List<String> getAccession()
 -  {
 -    if (accession == null)
 -    {
 -      accession = new ArrayList<String>();
 +    /**
 +     * Gets the value of the evidence property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the evidence property.
++     * This is why there is not a <CODE>set</CODE> method for the evidence property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getEvidence().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link EvidenceType }
 +     * 
 +     * 
 +     */
 +    public List<EvidenceType> getEvidence() {
 +        if (evidence == null) {
 +            evidence = new ArrayList<EvidenceType>();
 +        }
 +        return this.evidence;
      }
 -    return this.accession;
 -  }
 -
 -  /**
 -   * Gets the value of the name 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 name property.
 -   * 
 -   * <p>
 -   * For example, to add a new item, do as follows:
 -   * 
 -   * <pre>
 -   * getName().add(newItem);
 -   * </pre>
 -   * 
 -   * 
 -   * <p>
 -   * Objects of the following type(s) are allowed in the list {@link String }
 -   * 
 -   * 
 -   */
 -  public List<String> getName()
 -  {
 -    if (name == null)
 -    {
 -      name = new ArrayList<String>();
 +
 +    /**
 +     * Gets the value of the sequence property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link SequenceType }
 +     *     
 +     */
 +    public SequenceType getSequence() {
 +        return sequence;
      }
 -    return this.name;
 -  }
 -
 -  /**
 -   * Gets the value of the protein property.
 -   * 
 -   * @return possible object is {@link ProteinType }
 -   * 
 -   */
 -  public ProteinType getProtein()
 -  {
 -    return protein;
 -  }
 -
 -  /**
 -   * Sets the value of the protein property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link ProteinType }
 -   * 
 -   */
 -  public void setProtein(ProteinType value)
 -  {
 -    this.protein = value;
 -  }
 -
 -  /**
 -   * Gets the value of the gene 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 gene property.
 -   * 
 -   * <p>
 -   * For example, to add a new item, do as follows:
 -   * 
 -   * <pre>
 -   * getGene().add(newItem);
 -   * </pre>
 -   * 
 -   * 
 -   * <p>
 -   * Objects of the following type(s) are allowed in the list {@link GeneType }
 -   * 
 -   * 
 -   */
 -  public List<GeneType> getGene()
 -  {
 -    if (gene == null)
 -    {
 -      gene = new ArrayList<GeneType>();
 +
 +    /**
 +     * Sets the value of the sequence property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link SequenceType }
 +     *     
 +     */
 +    public void setSequence(SequenceType value) {
 +        this.sequence = value;
      }
 -    return this.gene;
 -  }
 -
 -  /**
 -   * Gets the value of the organism property.
 -   * 
 -   * @return possible object is {@link OrganismType }
 -   * 
 -   */
 -  public OrganismType getOrganism()
 -  {
 -    return organism;
 -  }
 -
 -  /**
 -   * Sets the value of the organism property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link OrganismType }
 -   * 
 -   */
 -  public void setOrganism(OrganismType value)
 -  {
 -    this.organism = value;
 -  }
 -
 -  /**
 -   * Gets the value of the organismHost 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 organismHost property.
 -   * 
 -   * <p>
 -   * For example, to add a new item, do as follows:
 -   * 
 -   * <pre>
 -   * getOrganismHost().add(newItem);
 -   * </pre>
 -   * 
 -   * 
 -   * <p>
 -   * Objects of the following type(s) are allowed in the list
 -   * {@link OrganismType }
 -   * 
 -   * 
 -   */
 -  public List<OrganismType> getOrganismHost()
 -  {
 -    if (organismHost == null)
 -    {
 -      organismHost = new ArrayList<OrganismType>();
 +
 +    /**
 +     * Gets the value of the dataset property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link String }
 +     *     
 +     */
 +    public String getDataset() {
 +        return dataset;
      }
 -    return this.organismHost;
 -  }
 -
 -  /**
 -   * Gets the value of the geneLocation 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 geneLocation property.
 -   * 
 -   * <p>
 -   * For example, to add a new item, do as follows:
 -   * 
 -   * <pre>
 -   * getGeneLocation().add(newItem);
 -   * </pre>
 -   * 
 -   * 
 -   * <p>
 -   * Objects of the following type(s) are allowed in the list
 -   * {@link GeneLocationType }
 -   * 
 -   * 
 -   */
 -  public List<GeneLocationType> getGeneLocation()
 -  {
 -    if (geneLocation == null)
 -    {
 -      geneLocation = new ArrayList<GeneLocationType>();
 +
 +    /**
 +     * Sets the value of the dataset property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link String }
 +     *     
 +     */
 +    public void setDataset(String value) {
 +        this.dataset = value;
      }
 -    return this.geneLocation;
 -  }
 -
 -  /**
 -   * Gets the value of the reference 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 reference property.
 -   * 
 -   * <p>
 -   * For example, to add a new item, do as follows:
 -   * 
 -   * <pre>
 -   * getReference().add(newItem);
 -   * </pre>
 -   * 
 -   * 
 -   * <p>
 -   * Objects of the following type(s) are allowed in the list
 -   * {@link ReferenceType }
 -   * 
 -   * 
 -   */
 -  public List<ReferenceType> getReference()
 -  {
 -    if (reference == null)
 -    {
 -      reference = new ArrayList<ReferenceType>();
 +
 +    /**
 +     * Gets the value of the created property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link XMLGregorianCalendar }
 +     *     
 +     */
 +    public XMLGregorianCalendar getCreated() {
 +        return created;
      }
 -    return this.reference;
 -  }
 -
 -  /**
 -   * Gets the value of the comment 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 comment property.
 -   * 
 -   * <p>
 -   * For example, to add a new item, do as follows:
 -   * 
 -   * <pre>
 -   * getComment().add(newItem);
 -   * </pre>
 -   * 
 -   * 
 -   * <p>
 -   * Objects of the following type(s) are allowed in the list {@link CommentType
 -   * }
 -   * 
 -   * 
 -   */
 -  public List<CommentType> getComment()
 -  {
 -    if (comment == null)
 -    {
 -      comment = new ArrayList<CommentType>();
 +
 +    /**
 +     * Sets the value of the created property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link XMLGregorianCalendar }
 +     *     
 +     */
 +    public void setCreated(XMLGregorianCalendar value) {
 +        this.created = value;
      }
 -    return this.comment;
 -  }
 -
 -  /**
 -   * Gets the value of the dbReference 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 dbReference property.
 -   * 
 -   * <p>
 -   * For example, to add a new item, do as follows:
 -   * 
 -   * <pre>
 -   * getDbReference().add(newItem);
 -   * </pre>
 -   * 
 -   * 
 -   * <p>
 -   * Objects of the following type(s) are allowed in the list
 -   * {@link DbReferenceType }
 -   * 
 -   * 
 -   */
 -  public List<DbReferenceType> getDbReference()
 -  {
 -    if (dbReference == null)
 -    {
 -      dbReference = new ArrayList<DbReferenceType>();
 +
 +    /**
 +     * Gets the value of the modified property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link XMLGregorianCalendar }
 +     *     
 +     */
 +    public XMLGregorianCalendar getModified() {
 +        return modified;
      }
 -    return this.dbReference;
 -  }
 -
 -  /**
 -   * Gets the value of the proteinExistence property.
 -   * 
 -   * @return possible object is {@link ProteinExistenceType }
 -   * 
 -   */
 -  public ProteinExistenceType getProteinExistence()
 -  {
 -    return proteinExistence;
 -  }
 -
 -  /**
 -   * Sets the value of the proteinExistence property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link ProteinExistenceType }
 -   * 
 -   */
 -  public void setProteinExistence(ProteinExistenceType value)
 -  {
 -    this.proteinExistence = value;
 -  }
 -
 -  /**
 -   * Gets the value of the keyword 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 keyword property.
 -   * 
 -   * <p>
 -   * For example, to add a new item, do as follows:
 -   * 
 -   * <pre>
 -   * getKeyword().add(newItem);
 -   * </pre>
 -   * 
 -   * 
 -   * <p>
 -   * Objects of the following type(s) are allowed in the list {@link KeywordType
 -   * }
 -   * 
 -   * 
 -   */
 -  public List<KeywordType> getKeyword()
 -  {
 -    if (keyword == null)
 -    {
 -      keyword = new ArrayList<KeywordType>();
 +
 +    /**
 +     * Sets the value of the modified property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link XMLGregorianCalendar }
 +     *     
 +     */
 +    public void setModified(XMLGregorianCalendar value) {
 +        this.modified = value;
      }
 -    return this.keyword;
 -  }
 -
 -  /**
 -   * Gets the value of the feature 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 feature property.
 -   * 
 -   * <p>
 -   * For example, to add a new item, do as follows:
 -   * 
 -   * <pre>
 -   * getFeature().add(newItem);
 -   * </pre>
 -   * 
 -   * 
 -   * <p>
 -   * Objects of the following type(s) are allowed in the list {@link FeatureType
 -   * }
 -   * 
 -   * 
 -   */
 -  public List<FeatureType> getFeature()
 -  {
 -    if (feature == null)
 -    {
 -      feature = new ArrayList<FeatureType>();
 +
 +    /**
 +     * Gets the value of the version property.
 +     * 
 +     */
 +    public int getVersion() {
 +        return version;
      }
 -    return this.feature;
 -  }
 -
 -  /**
 -   * Gets the value of the evidence 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 evidence property.
 -   * 
 -   * <p>
 -   * For example, to add a new item, do as follows:
 -   * 
 -   * <pre>
 -   * getEvidence().add(newItem);
 -   * </pre>
 -   * 
 -   * 
 -   * <p>
 -   * Objects of the following type(s) are allowed in the list
 -   * {@link EvidenceType }
 -   * 
 -   * 
 -   */
 -  public List<EvidenceType> getEvidence()
 -  {
 -    if (evidence == null)
 -    {
 -      evidence = new ArrayList<EvidenceType>();
 +
 +    /**
 +     * Sets the value of the version property.
 +     * 
 +     */
 +    public void setVersion(int value) {
 +        this.version = value;
      }
 -    return this.evidence;
 -  }
 -
 -  /**
 -   * Gets the value of the sequence property.
 -   * 
 -   * @return possible object is {@link SequenceType }
 -   * 
 -   */
 -  public SequenceType getSequence()
 -  {
 -    return sequence;
 -  }
 -
 -  /**
 -   * Sets the value of the sequence property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link SequenceType }
 -   * 
 -   */
 -  public void setSequence(SequenceType value)
 -  {
 -    this.sequence = value;
 -  }
 -
 -  /**
 -   * Gets the value of the dataset property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getDataset()
 -  {
 -    return dataset;
 -  }
 -
 -  /**
 -   * Sets the value of the dataset property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setDataset(String value)
 -  {
 -    this.dataset = value;
 -  }
 -
 -  /**
 -   * Gets the value of the created property.
 -   * 
 -   * @return possible object is {@link XMLGregorianCalendar }
 -   * 
 -   */
 -  public XMLGregorianCalendar getCreated()
 -  {
 -    return created;
 -  }
 -
 -  /**
 -   * Sets the value of the created property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link XMLGregorianCalendar }
 -   * 
 -   */
 -  public void setCreated(XMLGregorianCalendar value)
 -  {
 -    this.created = value;
 -  }
 -
 -  /**
 -   * Gets the value of the modified property.
 -   * 
 -   * @return possible object is {@link XMLGregorianCalendar }
 -   * 
 -   */
 -  public XMLGregorianCalendar getModified()
 -  {
 -    return modified;
 -  }
 -
 -  /**
 -   * Sets the value of the modified property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link XMLGregorianCalendar }
 -   * 
 -   */
 -  public void setModified(XMLGregorianCalendar value)
 -  {
 -    this.modified = value;
 -  }
 -
 -  /**
 -   * Gets the value of the version property.
 -   * 
 -   */
 -  public int getVersion()
 -  {
 -    return version;
 -  }
 -
 -  /**
 -   * Sets the value of the version property.
 -   * 
 -   */
 -  public void setVersion(int value)
 -  {
 -    this.version = value;
 -  }
  
  }
@@@ -1,11 -1,10 +1,11 @@@
  //
- // This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
- // See https://eclipse-ee4j.github.io/jaxb-ri 
+ // 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: 2022.02.07 at 04:44:21 PM GMT 
 -// 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 javax.xml.bind.annotation.XmlAccessType;
@@@ -17,28 -15,31 +17,28 @@@ import javax.xml.bind.annotation.XmlTyp
  /**
   * Describes the type of events that cause alternative products.
   * 
-  * &lt;p&gt;Java class for eventType complex type.
 - * <p>
 - * Java class for eventType complex type.
++ * <p>Java class for eventType complex type.
   * 
-  * &lt;p&gt;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.
++ * <p>The following schema fragment specifies the expected content contained within this class.
   * 
-  * &lt;pre&gt;
-  * &amp;lt;complexType name="eventType"&amp;gt;
-  *   &amp;lt;complexContent&amp;gt;
-  *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *       &amp;lt;attribute name="type" use="required"&amp;gt;
-  *         &amp;lt;simpleType&amp;gt;
-  *           &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&amp;gt;
-  *             &amp;lt;enumeration value="alternative splicing"/&amp;gt;
-  *             &amp;lt;enumeration value="alternative initiation"/&amp;gt;
-  *             &amp;lt;enumeration value="alternative promoter"/&amp;gt;
-  *             &amp;lt;enumeration value="ribosomal frameshifting"/&amp;gt;
-  *           &amp;lt;/restriction&amp;gt;
-  *         &amp;lt;/simpleType&amp;gt;
-  *       &amp;lt;/attribute&amp;gt;
-  *     &amp;lt;/restriction&amp;gt;
-  *   &amp;lt;/complexContent&amp;gt;
-  * &amp;lt;/complexType&amp;gt;
-  * &lt;/pre&gt;
+  * <pre>
+  * &lt;complexType name="eventType">
+  *   &lt;complexContent>
+  *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+  *       &lt;attribute name="type" use="required">
+  *         &lt;simpleType>
+  *           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
+  *             &lt;enumeration value="alternative splicing"/>
+  *             &lt;enumeration value="alternative initiation"/>
+  *             &lt;enumeration value="alternative promoter"/>
+  *             &lt;enumeration value="ribosomal frameshifting"/>
+  *           &lt;/restriction>
+  *         &lt;/simpleType>
+  *       &lt;/attribute>
+  *     &lt;/restriction>
+  *   &lt;/complexContent>
+  * &lt;/complexType>
+  * </pre>
   * 
   * 
   */
@@@ -1,11 -1,10 +1,11 @@@
  //
- // This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
- // See https://eclipse-ee4j.github.io/jaxb-ri 
+ // 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: 2022.02.07 at 04:44:21 PM GMT 
 -// 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.math.BigInteger;
@@@ -14,29 -13,30 +14,29 @@@ import javax.xml.bind.annotation.XmlAcc
  import javax.xml.bind.annotation.XmlAttribute;
  import javax.xml.bind.annotation.XmlType;
  
 +
  /**
 - * Describes the evidence for an annotation. No flat file equivalent.
 + * Describes the evidence for an annotation.
 + *             No flat file equivalent.
   * 
-  * &lt;p&gt;Java class for evidenceType complex type.
 - * <p>
 - * Java class for evidenceType complex type.
++ * <p>Java class for evidenceType complex type.
   * 
-  * &lt;p&gt;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.
++ * <p>The following schema fragment specifies the expected content contained within this class.
   * 
-  * &lt;pre&gt;
-  * &amp;lt;complexType name="evidenceType"&amp;gt;
-  *   &amp;lt;complexContent&amp;gt;
-  *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *       &amp;lt;sequence&amp;gt;
-  *         &amp;lt;element name="source" type="{http://uniprot.org/uniprot}sourceType" minOccurs="0"/&amp;gt;
-  *         &amp;lt;element name="importedFrom" type="{http://uniprot.org/uniprot}importedFromType" minOccurs="0"/&amp;gt;
-  *       &amp;lt;/sequence&amp;gt;
-  *       &amp;lt;attribute name="type" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *       &amp;lt;attribute name="key" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
-  *     &amp;lt;/restriction&amp;gt;
-  *   &amp;lt;/complexContent&amp;gt;
-  * &amp;lt;/complexType&amp;gt;
-  * &lt;/pre&gt;
+  * <pre>
+  * &lt;complexType name="evidenceType">
+  *   &lt;complexContent>
+  *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+  *       &lt;sequence>
+  *         &lt;element name="source" type="{http://uniprot.org/uniprot}sourceType" minOccurs="0"/>
+  *         &lt;element name="importedFrom" type="{http://uniprot.org/uniprot}importedFromType" minOccurs="0"/>
+  *       &lt;/sequence>
+  *       &lt;attribute name="type" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+  *       &lt;attribute name="key" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
+  *     &lt;/restriction>
+  *   &lt;/complexContent>
+  * &lt;/complexType>
+  * </pre>
   * 
   * 
   */
@@@ -1,11 -1,10 +1,11 @@@
  //
- // This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
- // See https://eclipse-ee4j.github.io/jaxb-ri 
+ // 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: 2022.02.07 at 04:44:21 PM GMT 
 -// 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;
@@@ -16,121 -15,124 +16,121 @@@ import javax.xml.bind.annotation.XmlAtt
  import javax.xml.bind.annotation.XmlType;
  import javax.xml.bind.annotation.XmlValue;
  
 +
  /**
-  * &lt;p&gt;Java class for evidencedStringType complex type.
 - * <p>
 - * Java class for evidencedStringType complex type.
++ * <p>Java class for evidencedStringType complex type.
   * 
-  * &lt;p&gt;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.
++ * <p>The following schema fragment specifies the expected content contained within this class.
   * 
-  * &lt;pre&gt;
-  * &amp;lt;complexType name="evidencedStringType"&amp;gt;
-  *   &amp;lt;simpleContent&amp;gt;
-  *     &amp;lt;extension base="&amp;lt;http://www.w3.org/2001/XMLSchema&amp;gt;string"&amp;gt;
-  *       &amp;lt;attribute name="evidence" type="{http://uniprot.org/uniprot}intListType" /&amp;gt;
-  *       &amp;lt;attribute name="status"&amp;gt;
-  *         &amp;lt;simpleType&amp;gt;
-  *           &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&amp;gt;
-  *             &amp;lt;enumeration value="by similarity"/&amp;gt;
-  *             &amp;lt;enumeration value="probable"/&amp;gt;
-  *             &amp;lt;enumeration value="potential"/&amp;gt;
-  *           &amp;lt;/restriction&amp;gt;
-  *         &amp;lt;/simpleType&amp;gt;
-  *       &amp;lt;/attribute&amp;gt;
-  *     &amp;lt;/extension&amp;gt;
-  *   &amp;lt;/simpleContent&amp;gt;
-  * &amp;lt;/complexType&amp;gt;
-  * &lt;/pre&gt;
+  * <pre>
+  * &lt;complexType name="evidencedStringType">
+  *   &lt;simpleContent>
+  *     &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
+  *       &lt;attribute name="evidence" type="{http://uniprot.org/uniprot}intListType" />
+  *       &lt;attribute name="status">
+  *         &lt;simpleType>
+  *           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
+  *             &lt;enumeration value="by similarity"/>
+  *             &lt;enumeration value="probable"/>
+  *             &lt;enumeration value="potential"/>
+  *           &lt;/restriction>
+  *         &lt;/simpleType>
+  *       &lt;/attribute>
+  *     &lt;/extension>
+  *   &lt;/simpleContent>
+  * &lt;/complexType>
+  * </pre>
   * 
   * 
   */
  @XmlAccessorType(XmlAccessType.FIELD)
 -@XmlType(name = "evidencedStringType", propOrder = { "value" })
 -public class EvidencedStringType
 -{
 -
 -  @XmlValue
 -  protected String value;
 -
 -  @XmlAttribute(name = "evidence")
 -  protected List<Integer> evidence;
 +@XmlType(name = "evidencedStringType", propOrder = {
 +    "value"
 +})
 +public class EvidencedStringType {
  
 -  @XmlAttribute(name = "status")
 -  protected String status;
 +    @XmlValue
 +    protected String value;
 +    @XmlAttribute(name = "evidence")
 +    protected List<Integer> evidence;
 +    @XmlAttribute(name = "status")
 +    protected String status;
  
 -  /**
 -   * Gets the value of the value property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getValue()
 -  {
 -    return value;
 -  }
 +    /**
 +     * Gets the value of the value property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link String }
 +     *     
 +     */
 +    public String getValue() {
 +        return value;
 +    }
  
 -  /**
 -   * Sets the value of the value property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setValue(String value)
 -  {
 -    this.value = value;
 -  }
 +    /**
 +     * Sets the value of the value property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link String }
 +     *     
 +     */
 +    public void setValue(String value) {
 +        this.value = value;
 +    }
  
 -  /**
 -   * Gets the value of the evidence 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 evidence property.
 -   * 
 -   * <p>
 -   * For example, to add a new item, do as follows:
 -   * 
 -   * <pre>
 -   * getEvidence().add(newItem);
 -   * </pre>
 -   * 
 -   * 
 -   * <p>
 -   * Objects of the following type(s) are allowed in the list {@link Integer }
 -   * 
 -   * 
 -   */
 -  public List<Integer> getEvidence()
 -  {
 -    if (evidence == null)
 -    {
 -      evidence = new ArrayList<Integer>();
 +    /**
 +     * Gets the value of the evidence property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the evidence property.
++     * This is why there is not a <CODE>set</CODE> method for the evidence property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getEvidence().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link Integer }
 +     * 
 +     * 
 +     */
 +    public List<Integer> getEvidence() {
 +        if (evidence == null) {
 +            evidence = new ArrayList<Integer>();
 +        }
 +        return this.evidence;
      }
 -    return this.evidence;
 -  }
  
 -  /**
 -   * Gets the value of the status property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getStatus()
 -  {
 -    return status;
 -  }
 +    /**
 +     * Gets the value of the status property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link String }
 +     *     
 +     */
 +    public String getStatus() {
 +        return status;
 +    }
  
 -  /**
 -   * Sets the value of the status property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setStatus(String value)
 -  {
 -    this.status = value;
 -  }
 +    /**
 +     * Sets the value of the status property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link String }
 +     *     
 +     */
 +    public void setStatus(String value) {
 +        this.status = value;
 +    }
  
  }
@@@ -1,11 -1,10 +1,11 @@@
  //
- // This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
- // See https://eclipse-ee4j.github.io/jaxb-ri 
+ // 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: 2022.02.07 at 04:44:21 PM GMT 
 -// 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;
@@@ -16,338 -15,345 +16,338 @@@ import javax.xml.bind.annotation.XmlAtt
  import javax.xml.bind.annotation.XmlElement;
  import javax.xml.bind.annotation.XmlType;
  
 +
  /**
 - * Describes different types of sequence annotations. Equivalent to the flat
 - * file FT-line.
 + * Describes different types of sequence annotations.
 + *             Equivalent to the flat file FT-line.
   * 
-  * &lt;p&gt;Java class for featureType complex type.
 - * <p>
 - * Java class for featureType complex type.
++ * <p>Java class for featureType complex type.
   * 
-  * &lt;p&gt;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.
++ * <p>The following schema fragment specifies the expected content contained within this class.
   * 
-  * &lt;pre&gt;
-  * &amp;lt;complexType name="featureType"&amp;gt;
-  *   &amp;lt;complexContent&amp;gt;
-  *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *       &amp;lt;sequence&amp;gt;
-  *         &amp;lt;element name="original" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&amp;gt;
-  *         &amp;lt;element name="variation" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
-  *         &amp;lt;element name="location" type="{http://uniprot.org/uniprot}locationType"/&amp;gt;
-  *       &amp;lt;/sequence&amp;gt;
-  *       &amp;lt;attribute name="type" use="required"&amp;gt;
-  *         &amp;lt;simpleType&amp;gt;
-  *           &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&amp;gt;
-  *             &amp;lt;enumeration value="active site"/&amp;gt;
-  *             &amp;lt;enumeration value="binding site"/&amp;gt;
-  *             &amp;lt;enumeration value="calcium-binding region"/&amp;gt;
-  *             &amp;lt;enumeration value="chain"/&amp;gt;
-  *             &amp;lt;enumeration value="coiled-coil region"/&amp;gt;
-  *             &amp;lt;enumeration value="compositionally biased region"/&amp;gt;
-  *             &amp;lt;enumeration value="cross-link"/&amp;gt;
-  *             &amp;lt;enumeration value="disulfide bond"/&amp;gt;
-  *             &amp;lt;enumeration value="DNA-binding region"/&amp;gt;
-  *             &amp;lt;enumeration value="domain"/&amp;gt;
-  *             &amp;lt;enumeration value="glycosylation site"/&amp;gt;
-  *             &amp;lt;enumeration value="helix"/&amp;gt;
-  *             &amp;lt;enumeration value="initiator methionine"/&amp;gt;
-  *             &amp;lt;enumeration value="lipid moiety-binding region"/&amp;gt;
-  *             &amp;lt;enumeration value="metal ion-binding site"/&amp;gt;
-  *             &amp;lt;enumeration value="modified residue"/&amp;gt;
-  *             &amp;lt;enumeration value="mutagenesis site"/&amp;gt;
-  *             &amp;lt;enumeration value="non-consecutive residues"/&amp;gt;
-  *             &amp;lt;enumeration value="non-terminal residue"/&amp;gt;
-  *             &amp;lt;enumeration value="nucleotide phosphate-binding region"/&amp;gt;
-  *             &amp;lt;enumeration value="peptide"/&amp;gt;
-  *             &amp;lt;enumeration value="propeptide"/&amp;gt;
-  *             &amp;lt;enumeration value="region of interest"/&amp;gt;
-  *             &amp;lt;enumeration value="repeat"/&amp;gt;
-  *             &amp;lt;enumeration value="non-standard amino acid"/&amp;gt;
-  *             &amp;lt;enumeration value="sequence conflict"/&amp;gt;
-  *             &amp;lt;enumeration value="sequence variant"/&amp;gt;
-  *             &amp;lt;enumeration value="short sequence motif"/&amp;gt;
-  *             &amp;lt;enumeration value="signal peptide"/&amp;gt;
-  *             &amp;lt;enumeration value="site"/&amp;gt;
-  *             &amp;lt;enumeration value="splice variant"/&amp;gt;
-  *             &amp;lt;enumeration value="strand"/&amp;gt;
-  *             &amp;lt;enumeration value="topological domain"/&amp;gt;
-  *             &amp;lt;enumeration value="transit peptide"/&amp;gt;
-  *             &amp;lt;enumeration value="transmembrane region"/&amp;gt;
-  *             &amp;lt;enumeration value="turn"/&amp;gt;
-  *             &amp;lt;enumeration value="unsure residue"/&amp;gt;
-  *             &amp;lt;enumeration value="zinc finger region"/&amp;gt;
-  *             &amp;lt;enumeration value="intramembrane region"/&amp;gt;
-  *           &amp;lt;/restriction&amp;gt;
-  *         &amp;lt;/simpleType&amp;gt;
-  *       &amp;lt;/attribute&amp;gt;
-  *       &amp;lt;attribute name="status"&amp;gt;
-  *         &amp;lt;simpleType&amp;gt;
-  *           &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&amp;gt;
-  *             &amp;lt;enumeration value="by similarity"/&amp;gt;
-  *             &amp;lt;enumeration value="probable"/&amp;gt;
-  *             &amp;lt;enumeration value="potential"/&amp;gt;
-  *           &amp;lt;/restriction&amp;gt;
-  *         &amp;lt;/simpleType&amp;gt;
-  *       &amp;lt;/attribute&amp;gt;
-  *       &amp;lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *       &amp;lt;attribute name="description" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *       &amp;lt;attribute name="evidence" type="{http://uniprot.org/uniprot}intListType" /&amp;gt;
-  *       &amp;lt;attribute name="ref" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *     &amp;lt;/restriction&amp;gt;
-  *   &amp;lt;/complexContent&amp;gt;
-  * &amp;lt;/complexType&amp;gt;
-  * &lt;/pre&gt;
+  * <pre>
+  * &lt;complexType name="featureType">
+  *   &lt;complexContent>
+  *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+  *       &lt;sequence>
+  *         &lt;element name="original" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+  *         &lt;element name="variation" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/>
+  *         &lt;element name="location" type="{http://uniprot.org/uniprot}locationType"/>
+  *       &lt;/sequence>
+  *       &lt;attribute name="type" use="required">
+  *         &lt;simpleType>
+  *           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
+  *             &lt;enumeration value="active site"/>
+  *             &lt;enumeration value="binding site"/>
+  *             &lt;enumeration value="calcium-binding region"/>
+  *             &lt;enumeration value="chain"/>
+  *             &lt;enumeration value="coiled-coil region"/>
+  *             &lt;enumeration value="compositionally biased region"/>
+  *             &lt;enumeration value="cross-link"/>
+  *             &lt;enumeration value="disulfide bond"/>
+  *             &lt;enumeration value="DNA-binding region"/>
+  *             &lt;enumeration value="domain"/>
+  *             &lt;enumeration value="glycosylation site"/>
+  *             &lt;enumeration value="helix"/>
+  *             &lt;enumeration value="initiator methionine"/>
+  *             &lt;enumeration value="lipid moiety-binding region"/>
+  *             &lt;enumeration value="metal ion-binding site"/>
+  *             &lt;enumeration value="modified residue"/>
+  *             &lt;enumeration value="mutagenesis site"/>
+  *             &lt;enumeration value="non-consecutive residues"/>
+  *             &lt;enumeration value="non-terminal residue"/>
+  *             &lt;enumeration value="nucleotide phosphate-binding region"/>
+  *             &lt;enumeration value="peptide"/>
+  *             &lt;enumeration value="propeptide"/>
+  *             &lt;enumeration value="region of interest"/>
+  *             &lt;enumeration value="repeat"/>
+  *             &lt;enumeration value="non-standard amino acid"/>
+  *             &lt;enumeration value="sequence conflict"/>
+  *             &lt;enumeration value="sequence variant"/>
+  *             &lt;enumeration value="short sequence motif"/>
+  *             &lt;enumeration value="signal peptide"/>
+  *             &lt;enumeration value="site"/>
+  *             &lt;enumeration value="splice variant"/>
+  *             &lt;enumeration value="strand"/>
+  *             &lt;enumeration value="topological domain"/>
+  *             &lt;enumeration value="transit peptide"/>
+  *             &lt;enumeration value="transmembrane region"/>
+  *             &lt;enumeration value="turn"/>
+  *             &lt;enumeration value="unsure residue"/>
+  *             &lt;enumeration value="zinc finger region"/>
+  *             &lt;enumeration value="intramembrane region"/>
+  *           &lt;/restriction>
+  *         &lt;/simpleType>
+  *       &lt;/attribute>
+  *       &lt;attribute name="status">
+  *         &lt;simpleType>
+  *           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
+  *             &lt;enumeration value="by similarity"/>
+  *             &lt;enumeration value="probable"/>
+  *             &lt;enumeration value="potential"/>
+  *           &lt;/restriction>
+  *         &lt;/simpleType>
+  *       &lt;/attribute>
+  *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string" />
+  *       &lt;attribute name="description" type="{http://www.w3.org/2001/XMLSchema}string" />
+  *       &lt;attribute name="evidence" type="{http://uniprot.org/uniprot}intListType" />
+  *       &lt;attribute name="ref" type="{http://www.w3.org/2001/XMLSchema}string" />
+  *     &lt;/restriction>
+  *   &lt;/complexContent>
+  * &lt;/complexType>
+  * </pre>
   * 
   * 
   */
  @XmlAccessorType(XmlAccessType.FIELD)
 -@XmlType(
 -  name = "featureType",
 -  propOrder =
 -  { "original", "variation", "location" })
 -public class FeatureType
 -{
 -
 -  protected String original;
 -
 -  protected List<String> variation;
 -
 -  @XmlElement(required = true)
 -  protected LocationType location;
 -
 -  @XmlAttribute(name = "type", required = true)
 -  protected String type;
 +@XmlType(name = "featureType", propOrder = {
 +    "original",
 +    "variation",
 +    "location"
 +})
 +public class FeatureType {
  
 -  @XmlAttribute(name = "status")
 -  protected String status;
 +    protected String original;
 +    protected List<String> variation;
 +    @XmlElement(required = true)
 +    protected LocationType location;
 +    @XmlAttribute(name = "type", required = true)
 +    protected String type;
 +    @XmlAttribute(name = "status")
 +    protected String status;
 +    @XmlAttribute(name = "id")
 +    protected String id;
 +    @XmlAttribute(name = "description")
 +    protected String description;
 +    @XmlAttribute(name = "evidence")
 +    protected List<Integer> evidence;
 +    @XmlAttribute(name = "ref")
 +    protected String ref;
  
 -  @XmlAttribute(name = "id")
 -  protected String id;
 -
 -  @XmlAttribute(name = "description")
 -  protected String description;
 -
 -  @XmlAttribute(name = "evidence")
 -  protected List<Integer> evidence;
 -
 -  @XmlAttribute(name = "ref")
 -  protected String ref;
 -
 -  /**
 -   * Gets the value of the original property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getOriginal()
 -  {
 -    return original;
 -  }
 +    /**
 +     * Gets the value of the original property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link String }
 +     *     
 +     */
 +    public String getOriginal() {
 +        return original;
 +    }
  
 -  /**
 -   * Sets the value of the original property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setOriginal(String value)
 -  {
 -    this.original = value;
 -  }
 +    /**
 +     * Sets the value of the original property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link String }
 +     *     
 +     */
 +    public void setOriginal(String value) {
 +        this.original = value;
 +    }
  
 -  /**
 -   * Gets the value of the variation 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 variation property.
 -   * 
 -   * <p>
 -   * For example, to add a new item, do as follows:
 -   * 
 -   * <pre>
 -   * getVariation().add(newItem);
 -   * </pre>
 -   * 
 -   * 
 -   * <p>
 -   * Objects of the following type(s) are allowed in the list {@link String }
 -   * 
 -   * 
 -   */
 -  public List<String> getVariation()
 -  {
 -    if (variation == null)
 -    {
 -      variation = new ArrayList<String>();
 +    /**
 +     * Gets the value of the variation property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the variation property.
++     * This is why there is not a <CODE>set</CODE> method for the variation property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getVariation().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link String }
 +     * 
 +     * 
 +     */
 +    public List<String> getVariation() {
 +        if (variation == null) {
 +            variation = new ArrayList<String>();
 +        }
 +        return this.variation;
      }
 -    return this.variation;
 -  }
  
 -  /**
 -   * Gets the value of the location property.
 -   * 
 -   * @return possible object is {@link LocationType }
 -   * 
 -   */
 -  public LocationType getLocation()
 -  {
 -    return location;
 -  }
 +    /**
 +     * Gets the value of the location property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link LocationType }
 +     *     
 +     */
 +    public LocationType getLocation() {
 +        return location;
 +    }
  
 -  /**
 -   * Sets the value of the location property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link LocationType }
 -   * 
 -   */
 -  public void setLocation(LocationType value)
 -  {
 -    this.location = value;
 -  }
 +    /**
 +     * Sets the value of the location property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link LocationType }
 +     *     
 +     */
 +    public void setLocation(LocationType value) {
 +        this.location = value;
 +    }
  
 -  /**
 -   * Gets the value of the type property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getType()
 -  {
 -    return type;
 -  }
 +    /**
 +     * Gets the value of the type property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link String }
 +     *     
 +     */
 +    public String getType() {
 +        return type;
 +    }
  
 -  /**
 -   * Sets the value of the type property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setType(String value)
 -  {
 -    this.type = value;
 -  }
 +    /**
 +     * Sets the value of the type property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link String }
 +     *     
 +     */
 +    public void setType(String value) {
 +        this.type = value;
 +    }
  
 -  /**
 -   * Gets the value of the status property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getStatus()
 -  {
 -    return status;
 -  }
 +    /**
 +     * Gets the value of the status property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link String }
 +     *     
 +     */
 +    public String getStatus() {
 +        return status;
 +    }
  
 -  /**
 -   * Sets the value of the status property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setStatus(String value)
 -  {
 -    this.status = value;
 -  }
 +    /**
 +     * Sets the value of the status property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link String }
 +     *     
 +     */
 +    public void setStatus(String value) {
 +        this.status = value;
 +    }
  
 -  /**
 -   * Gets the value of the id property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getId()
 -  {
 -    return id;
 -  }
 +    /**
 +     * Gets the value of the id property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link String }
 +     *     
 +     */
 +    public String getId() {
 +        return id;
 +    }
  
 -  /**
 -   * Sets the value of the id property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setId(String value)
 -  {
 -    this.id = value;
 -  }
 +    /**
 +     * Sets the value of the id property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link String }
 +     *     
 +     */
 +    public void setId(String value) {
 +        this.id = value;
 +    }
  
 -  /**
 -   * Gets the value of the description property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getDescription()
 -  {
 -    return description;
 -  }
 +    /**
 +     * Gets the value of the description property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link String }
 +     *     
 +     */
 +    public String getDescription() {
 +        return description;
 +    }
  
 -  /**
 -   * Sets the value of the description property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setDescription(String value)
 -  {
 -    this.description = value;
 -  }
 +    /**
 +     * Sets the value of the description property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link String }
 +     *     
 +     */
 +    public void setDescription(String value) {
 +        this.description = value;
 +    }
  
 -  /**
 -   * Gets the value of the evidence 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 evidence property.
 -   * 
 -   * <p>
 -   * For example, to add a new item, do as follows:
 -   * 
 -   * <pre>
 -   * getEvidence().add(newItem);
 -   * </pre>
 -   * 
 -   * 
 -   * <p>
 -   * Objects of the following type(s) are allowed in the list {@link Integer }
 -   * 
 -   * 
 -   */
 -  public List<Integer> getEvidence()
 -  {
 -    if (evidence == null)
 -    {
 -      evidence = new ArrayList<Integer>();
 +    /**
 +     * Gets the value of the evidence property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the evidence property.
++     * This is why there is not a <CODE>set</CODE> method for the evidence property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getEvidence().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link Integer }
 +     * 
 +     * 
 +     */
 +    public List<Integer> getEvidence() {
 +        if (evidence == null) {
 +            evidence = new ArrayList<Integer>();
 +        }
 +        return this.evidence;
      }
 -    return this.evidence;
 -  }
  
 -  /**
 -   * Gets the value of the ref property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getRef()
 -  {
 -    return ref;
 -  }
 +    /**
 +     * Gets the value of the ref property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link String }
 +     *     
 +     */
 +    public String getRef() {
 +        return ref;
 +    }
  
 -  /**
 -   * Sets the value of the ref property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setRef(String value)
 -  {
 -    this.ref = value;
 -  }
 +    /**
 +     * Sets the value of the ref property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link String }
 +     *     
 +     */
 +    public void setRef(String value) {
 +        this.ref = value;
 +    }
  
  }
@@@ -1,11 -1,10 +1,11 @@@
  //
- // This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
- // See https://eclipse-ee4j.github.io/jaxb-ri 
+ // 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: 2022.02.07 at 04:44:21 PM GMT 
 -// 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;
@@@ -15,138 -14,145 +15,138 @@@ import javax.xml.bind.annotation.XmlAcc
  import javax.xml.bind.annotation.XmlAttribute;
  import javax.xml.bind.annotation.XmlType;
  
 +
  /**
 - * Describes non-nuclear gene locations (organelles and plasmids). Equivalent to
 - * the flat file OG-line.
 + * Describes non-nuclear gene locations (organelles and plasmids).
 + *             Equivalent to the flat file OG-line.
   * 
-  * &lt;p&gt;Java class for geneLocationType complex type.
 - * <p>
 - * Java class for geneLocationType complex type.
++ * <p>Java class for geneLocationType complex type.
   * 
-  * &lt;p&gt;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.
++ * <p>The following schema fragment specifies the expected content contained within this class.
   * 
-  * &lt;pre&gt;
-  * &amp;lt;complexType name="geneLocationType"&amp;gt;
-  *   &amp;lt;complexContent&amp;gt;
-  *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *       &amp;lt;sequence&amp;gt;
-  *         &amp;lt;element name="name" type="{http://uniprot.org/uniprot}statusType" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
-  *       &amp;lt;/sequence&amp;gt;
-  *       &amp;lt;attribute name="type" use="required"&amp;gt;
-  *         &amp;lt;simpleType&amp;gt;
-  *           &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&amp;gt;
-  *             &amp;lt;enumeration value="apicoplast"/&amp;gt;
-  *             &amp;lt;enumeration value="chloroplast"/&amp;gt;
-  *             &amp;lt;enumeration value="organellar chromatophore"/&amp;gt;
-  *             &amp;lt;enumeration value="cyanelle"/&amp;gt;
-  *             &amp;lt;enumeration value="hydrogenosome"/&amp;gt;
-  *             &amp;lt;enumeration value="mitochondrion"/&amp;gt;
-  *             &amp;lt;enumeration value="non-photosynthetic plastid"/&amp;gt;
-  *             &amp;lt;enumeration value="nucleomorph"/&amp;gt;
-  *             &amp;lt;enumeration value="plasmid"/&amp;gt;
-  *             &amp;lt;enumeration value="plastid"/&amp;gt;
-  *           &amp;lt;/restriction&amp;gt;
-  *         &amp;lt;/simpleType&amp;gt;
-  *       &amp;lt;/attribute&amp;gt;
-  *       &amp;lt;attribute name="evidence" type="{http://uniprot.org/uniprot}intListType" /&amp;gt;
-  *     &amp;lt;/restriction&amp;gt;
-  *   &amp;lt;/complexContent&amp;gt;
-  * &amp;lt;/complexType&amp;gt;
-  * &lt;/pre&gt;
+  * <pre>
+  * &lt;complexType name="geneLocationType">
+  *   &lt;complexContent>
+  *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+  *       &lt;sequence>
+  *         &lt;element name="name" type="{http://uniprot.org/uniprot}statusType" maxOccurs="unbounded" minOccurs="0"/>
+  *       &lt;/sequence>
+  *       &lt;attribute name="type" use="required">
+  *         &lt;simpleType>
+  *           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
+  *             &lt;enumeration value="apicoplast"/>
+  *             &lt;enumeration value="chloroplast"/>
+  *             &lt;enumeration value="organellar chromatophore"/>
+  *             &lt;enumeration value="cyanelle"/>
+  *             &lt;enumeration value="hydrogenosome"/>
+  *             &lt;enumeration value="mitochondrion"/>
+  *             &lt;enumeration value="non-photosynthetic plastid"/>
+  *             &lt;enumeration value="nucleomorph"/>
+  *             &lt;enumeration value="plasmid"/>
+  *             &lt;enumeration value="plastid"/>
+  *           &lt;/restriction>
+  *         &lt;/simpleType>
+  *       &lt;/attribute>
+  *       &lt;attribute name="evidence" type="{http://uniprot.org/uniprot}intListType" />
+  *     &lt;/restriction>
+  *   &lt;/complexContent>
+  * &lt;/complexType>
+  * </pre>
   * 
   * 
   */
  @XmlAccessorType(XmlAccessType.FIELD)
 -@XmlType(name = "geneLocationType", propOrder = { "name" })
 -public class GeneLocationType
 -{
 -
 -  protected List<StatusType> name;
 +@XmlType(name = "geneLocationType", propOrder = {
 +    "name"
 +})
 +public class GeneLocationType {
  
 -  @XmlAttribute(name = "type", required = true)
 -  protected String type;
 +    protected List<StatusType> name;
 +    @XmlAttribute(name = "type", required = true)
 +    protected String type;
 +    @XmlAttribute(name = "evidence")
 +    protected List<Integer> evidence;
  
 -  @XmlAttribute(name = "evidence")
 -  protected List<Integer> evidence;
 -
 -  /**
 -   * Gets the value of the name 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 name property.
 -   * 
 -   * <p>
 -   * For example, to add a new item, do as follows:
 -   * 
 -   * <pre>
 -   * getName().add(newItem);
 -   * </pre>
 -   * 
 -   * 
 -   * <p>
 -   * Objects of the following type(s) are allowed in the list {@link StatusType
 -   * }
 -   * 
 -   * 
 -   */
 -  public List<StatusType> getName()
 -  {
 -    if (name == null)
 -    {
 -      name = new ArrayList<StatusType>();
 +    /**
 +     * Gets the value of the name property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the name property.
++     * This is why there is not a <CODE>set</CODE> method for the name property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getName().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link StatusType }
 +     * 
 +     * 
 +     */
 +    public List<StatusType> getName() {
 +        if (name == null) {
 +            name = new ArrayList<StatusType>();
 +        }
 +        return this.name;
      }
 -    return this.name;
 -  }
  
 -  /**
 -   * Gets the value of the type property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getType()
 -  {
 -    return type;
 -  }
 +    /**
 +     * Gets the value of the type property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link String }
 +     *     
 +     */
 +    public String getType() {
 +        return type;
 +    }
  
 -  /**
 -   * Sets the value of the type property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setType(String value)
 -  {
 -    this.type = value;
 -  }
 +    /**
 +     * Sets the value of the type property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link String }
 +     *     
 +     */
 +    public void setType(String value) {
 +        this.type = value;
 +    }
  
 -  /**
 -   * Gets the value of the evidence 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 evidence property.
 -   * 
 -   * <p>
 -   * For example, to add a new item, do as follows:
 -   * 
 -   * <pre>
 -   * getEvidence().add(newItem);
 -   * </pre>
 -   * 
 -   * 
 -   * <p>
 -   * Objects of the following type(s) are allowed in the list {@link Integer }
 -   * 
 -   * 
 -   */
 -  public List<Integer> getEvidence()
 -  {
 -    if (evidence == null)
 -    {
 -      evidence = new ArrayList<Integer>();
 +    /**
 +     * Gets the value of the evidence property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the evidence property.
++     * This is why there is not a <CODE>set</CODE> method for the evidence property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getEvidence().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link Integer }
 +     * 
 +     * 
 +     */
 +    public List<Integer> getEvidence() {
 +        if (evidence == null) {
 +            evidence = new ArrayList<Integer>();
 +        }
 +        return this.evidence;
      }
 -    return this.evidence;
 -  }
  
  }
@@@ -1,11 -1,10 +1,11 @@@
  //
- // This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
- // See https://eclipse-ee4j.github.io/jaxb-ri 
+ // 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: 2022.02.07 at 04:44:21 PM GMT 
 -// 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;
@@@ -16,125 -15,128 +16,125 @@@ import javax.xml.bind.annotation.XmlAtt
  import javax.xml.bind.annotation.XmlType;
  import javax.xml.bind.annotation.XmlValue;
  
 +
  /**
 - * Describes different types of gene designations. Equivalent to the flat file
 - * GN-line.
 + * Describes different types of gene designations.
 + *             Equivalent to the flat file GN-line.
   * 
-  * &lt;p&gt;Java class for geneNameType complex type.
 - * <p>
 - * Java class for geneNameType complex type.
++ * <p>Java class for geneNameType complex type.
   * 
-  * &lt;p&gt;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.
++ * <p>The following schema fragment specifies the expected content contained within this class.
   * 
-  * &lt;pre&gt;
-  * &amp;lt;complexType name="geneNameType"&amp;gt;
-  *   &amp;lt;simpleContent&amp;gt;
-  *     &amp;lt;extension base="&amp;lt;http://www.w3.org/2001/XMLSchema&amp;gt;string"&amp;gt;
-  *       &amp;lt;attribute name="evidence" type="{http://uniprot.org/uniprot}intListType" /&amp;gt;
-  *       &amp;lt;attribute name="type" use="required"&amp;gt;
-  *         &amp;lt;simpleType&amp;gt;
-  *           &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&amp;gt;
-  *             &amp;lt;enumeration value="primary"/&amp;gt;
-  *             &amp;lt;enumeration value="synonym"/&amp;gt;
-  *             &amp;lt;enumeration value="ordered locus"/&amp;gt;
-  *             &amp;lt;enumeration value="ORF"/&amp;gt;
-  *           &amp;lt;/restriction&amp;gt;
-  *         &amp;lt;/simpleType&amp;gt;
-  *       &amp;lt;/attribute&amp;gt;
-  *     &amp;lt;/extension&amp;gt;
-  *   &amp;lt;/simpleContent&amp;gt;
-  * &amp;lt;/complexType&amp;gt;
-  * &lt;/pre&gt;
+  * <pre>
+  * &lt;complexType name="geneNameType">
+  *   &lt;simpleContent>
+  *     &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
+  *       &lt;attribute name="evidence" type="{http://uniprot.org/uniprot}intListType" />
+  *       &lt;attribute name="type" use="required">
+  *         &lt;simpleType>
+  *           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
+  *             &lt;enumeration value="primary"/>
+  *             &lt;enumeration value="synonym"/>
+  *             &lt;enumeration value="ordered locus"/>
+  *             &lt;enumeration value="ORF"/>
+  *           &lt;/restriction>
+  *         &lt;/simpleType>
+  *       &lt;/attribute>
+  *     &lt;/extension>
+  *   &lt;/simpleContent>
+  * &lt;/complexType>
+  * </pre>
   * 
   * 
   */
  @XmlAccessorType(XmlAccessType.FIELD)
 -@XmlType(name = "geneNameType", propOrder = { "value" })
 -public class GeneNameType
 -{
 -
 -  @XmlValue
 -  protected String value;
 -
 -  @XmlAttribute(name = "evidence")
 -  protected List<Integer> evidence;
 +@XmlType(name = "geneNameType", propOrder = {
 +    "value"
 +})
 +public class GeneNameType {
  
 -  @XmlAttribute(name = "type", required = true)
 -  protected String type;
 +    @XmlValue
 +    protected String value;
 +    @XmlAttribute(name = "evidence")
 +    protected List<Integer> evidence;
 +    @XmlAttribute(name = "type", required = true)
 +    protected String type;
  
 -  /**
 -   * Gets the value of the value property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getValue()
 -  {
 -    return value;
 -  }
 +    /**
 +     * Gets the value of the value property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link String }
 +     *     
 +     */
 +    public String getValue() {
 +        return value;
 +    }
  
 -  /**
 -   * Sets the value of the value property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setValue(String value)
 -  {
 -    this.value = value;
 -  }
 +    /**
 +     * Sets the value of the value property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link String }
 +     *     
 +     */
 +    public void setValue(String value) {
 +        this.value = value;
 +    }
  
 -  /**
 -   * Gets the value of the evidence 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 evidence property.
 -   * 
 -   * <p>
 -   * For example, to add a new item, do as follows:
 -   * 
 -   * <pre>
 -   * getEvidence().add(newItem);
 -   * </pre>
 -   * 
 -   * 
 -   * <p>
 -   * Objects of the following type(s) are allowed in the list {@link Integer }
 -   * 
 -   * 
 -   */
 -  public List<Integer> getEvidence()
 -  {
 -    if (evidence == null)
 -    {
 -      evidence = new ArrayList<Integer>();
 +    /**
 +     * Gets the value of the evidence property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the evidence property.
++     * This is why there is not a <CODE>set</CODE> method for the evidence property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getEvidence().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link Integer }
 +     * 
 +     * 
 +     */
 +    public List<Integer> getEvidence() {
 +        if (evidence == null) {
 +            evidence = new ArrayList<Integer>();
 +        }
 +        return this.evidence;
      }
 -    return this.evidence;
 -  }
  
 -  /**
 -   * Gets the value of the type property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getType()
 -  {
 -    return type;
 -  }
 +    /**
 +     * Gets the value of the type property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link String }
 +     *     
 +     */
 +    public String getType() {
 +        return type;
 +    }
  
 -  /**
 -   * Sets the value of the type property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setType(String value)
 -  {
 -    this.type = value;
 -  }
 +    /**
 +     * Sets the value of the type property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link String }
 +     *     
 +     */
 +    public void setType(String value) {
 +        this.type = value;
 +    }
  
  }
@@@ -1,11 -1,10 +1,11 @@@
  //
- // This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
- // See https://eclipse-ee4j.github.io/jaxb-ri 
+ // 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: 2022.02.07 at 04:44:21 PM GMT 
 -// 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;
@@@ -15,65 -14,68 +15,65 @@@ import javax.xml.bind.annotation.XmlAcc
  import javax.xml.bind.annotation.XmlElement;
  import javax.xml.bind.annotation.XmlType;
  
 +
  /**
 - * Describes a gene. Equivalent to the flat file GN-line.
 + * Describes a gene.
 + *             Equivalent to the flat file GN-line.
   * 
-  * &lt;p&gt;Java class for geneType complex type.
 - * <p>
 - * Java class for geneType complex type.
++ * <p>Java class for geneType complex type.
   * 
-  * &lt;p&gt;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.
++ * <p>The following schema fragment specifies the expected content contained within this class.
   * 
-  * &lt;pre&gt;
-  * &amp;lt;complexType name="geneType"&amp;gt;
-  *   &amp;lt;complexContent&amp;gt;
-  *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *       &amp;lt;sequence&amp;gt;
-  *         &amp;lt;element name="name" type="{http://uniprot.org/uniprot}geneNameType" maxOccurs="unbounded"/&amp;gt;
-  *       &amp;lt;/sequence&amp;gt;
-  *     &amp;lt;/restriction&amp;gt;
-  *   &amp;lt;/complexContent&amp;gt;
-  * &amp;lt;/complexType&amp;gt;
-  * &lt;/pre&gt;
+  * <pre>
+  * &lt;complexType name="geneType">
+  *   &lt;complexContent>
+  *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+  *       &lt;sequence>
+  *         &lt;element name="name" type="{http://uniprot.org/uniprot}geneNameType" maxOccurs="unbounded"/>
+  *       &lt;/sequence>
+  *     &lt;/restriction>
+  *   &lt;/complexContent>
+  * &lt;/complexType>
+  * </pre>
   * 
   * 
   */
  @XmlAccessorType(XmlAccessType.FIELD)
 -@XmlType(name = "geneType", propOrder = { "name" })
 -public class GeneType
 -{
 +@XmlType(name = "geneType", propOrder = {
 +    "name"
 +})
 +public class GeneType {
  
 -  @XmlElement(required = true)
 -  protected List<GeneNameType> name;
 +    @XmlElement(required = true)
 +    protected List<GeneNameType> name;
  
 -  /**
 -   * Gets the value of the name 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 name property.
 -   * 
 -   * <p>
 -   * For example, to add a new item, do as follows:
 -   * 
 -   * <pre>
 -   * getName().add(newItem);
 -   * </pre>
 -   * 
 -   * 
 -   * <p>
 -   * Objects of the following type(s) are allowed in the list
 -   * {@link GeneNameType }
 -   * 
 -   * 
 -   */
 -  public List<GeneNameType> getName()
 -  {
 -    if (name == null)
 -    {
 -      name = new ArrayList<GeneNameType>();
 +    /**
 +     * Gets the value of the name property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the name property.
++     * This is why there is not a <CODE>set</CODE> method for the name property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getName().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link GeneNameType }
 +     * 
 +     * 
 +     */
 +    public List<GeneNameType> getName() {
 +        if (name == null) {
 +            name = new ArrayList<GeneNameType>();
 +        }
 +        return this.name;
      }
 -    return this.name;
 -  }
  
  }
@@@ -1,11 -1,10 +1,11 @@@
  //
- // This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
- // See https://eclipse-ee4j.github.io/jaxb-ri 
+ // 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: 2022.02.07 at 04:44:21 PM GMT 
 -// 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 javax.xml.bind.annotation.XmlAccessType;
@@@ -13,25 -12,28 +13,25 @@@ import javax.xml.bind.annotation.XmlAcc
  import javax.xml.bind.annotation.XmlElement;
  import javax.xml.bind.annotation.XmlType;
  
 +
  /**
 - * Describes the source of the evidence, when it is not assigned by UniProt, but
 - * imported from an external database.
 + * Describes the source of the evidence, when it is not assigned by UniProt, but imported from an external database.
   * 
-  * &lt;p&gt;Java class for importedFromType complex type.
 - * <p>
 - * Java class for importedFromType complex type.
++ * <p>Java class for importedFromType complex type.
   * 
-  * &lt;p&gt;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.
++ * <p>The following schema fragment specifies the expected content contained within this class.
   * 
-  * &lt;pre&gt;
-  * &amp;lt;complexType name="importedFromType"&amp;gt;
-  *   &amp;lt;complexContent&amp;gt;
-  *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *       &amp;lt;sequence&amp;gt;
-  *         &amp;lt;element name="dbReference" type="{http://uniprot.org/uniprot}dbReferenceType"/&amp;gt;
-  *       &amp;lt;/sequence&amp;gt;
-  *     &amp;lt;/restriction&amp;gt;
-  *   &amp;lt;/complexContent&amp;gt;
-  * &amp;lt;/complexType&amp;gt;
-  * &lt;/pre&gt;
+  * <pre>
+  * &lt;complexType name="importedFromType">
+  *   &lt;complexContent>
+  *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+  *       &lt;sequence>
+  *         &lt;element name="dbReference" type="{http://uniprot.org/uniprot}dbReferenceType"/>
+  *       &lt;/sequence>
+  *     &lt;/restriction>
+  *   &lt;/complexContent>
+  * &lt;/complexType>
+  * </pre>
   * 
   * 
   */
@@@ -1,11 -1,10 +1,11 @@@
  //
- // This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
- // See https://eclipse-ee4j.github.io/jaxb-ri 
+ // 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: 2022.02.07 at 04:44:21 PM GMT 
 -// 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 javax.xml.bind.annotation.XmlAccessType;
@@@ -13,22 -12,24 +13,22 @@@ import javax.xml.bind.annotation.XmlAcc
  import javax.xml.bind.annotation.XmlAttribute;
  import javax.xml.bind.annotation.XmlType;
  
 +
  /**
-  * &lt;p&gt;Java class for interactantType complex type.
 - * <p>
 - * Java class for interactantType complex type.
++ * <p>Java class for interactantType complex type.
   * 
-  * &lt;p&gt;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.
++ * <p>The following schema fragment specifies the expected content contained within this class.
   * 
-  * &lt;pre&gt;
-  * &amp;lt;complexType name="interactantType"&amp;gt;
-  *   &amp;lt;complexContent&amp;gt;
-  *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *       &amp;lt;group ref="{http://uniprot.org/uniprot}interactantGroup" minOccurs="0"/&amp;gt;
-  *       &amp;lt;attribute name="intactId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *     &amp;lt;/restriction&amp;gt;
-  *   &amp;lt;/complexContent&amp;gt;
-  * &amp;lt;/complexType&amp;gt;
-  * &lt;/pre&gt;
+  * <pre>
+  * &lt;complexType name="interactantType">
+  *   &lt;complexContent>
+  *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+  *       &lt;group ref="{http://uniprot.org/uniprot}interactantGroup" minOccurs="0"/>
+  *       &lt;attribute name="intactId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+  *     &lt;/restriction>
+  *   &lt;/complexContent>
+  * &lt;/complexType>
+  * </pre>
   * 
   * 
   */
@@@ -1,11 -1,10 +1,11 @@@
  //
- // This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
- // See https://eclipse-ee4j.github.io/jaxb-ri 
+ // 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: 2022.02.07 at 04:44:21 PM GMT 
 -// 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;
@@@ -21,118 -19,266 +21,118 @@@ import javax.xml.bind.annotation.XmlVal
  /**
   * Describes isoforms in 'alternative products' annotations.
   * 
-  * &lt;p&gt;Java class for isoformType complex type.
 - * <p>
 - * Java class for isoformType complex type.
++ * <p>Java class for isoformType complex type.
   * 
-  * &lt;p&gt;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.
++ * <p>The following schema fragment specifies the expected content contained within this class.
   * 
-  * &lt;pre&gt;
-  * &amp;lt;complexType name="isoformType"&amp;gt;
-  *   &amp;lt;complexContent&amp;gt;
-  *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *       &amp;lt;sequence&amp;gt;
-  *         &amp;lt;element name="id" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded"/&amp;gt;
-  *         &amp;lt;element name="name" maxOccurs="unbounded"&amp;gt;
-  *           &amp;lt;complexType&amp;gt;
-  *             &amp;lt;simpleContent&amp;gt;
-  *               &amp;lt;extension base="&amp;lt;http://www.w3.org/2001/XMLSchema&amp;gt;string"&amp;gt;
-  *                 &amp;lt;attribute name="evidence" type="{http://uniprot.org/uniprot}intListType" /&amp;gt;
-  *               &amp;lt;/extension&amp;gt;
-  *             &amp;lt;/simpleContent&amp;gt;
-  *           &amp;lt;/complexType&amp;gt;
-  *         &amp;lt;/element&amp;gt;
-  *         &amp;lt;element name="sequence"&amp;gt;
-  *           &amp;lt;complexType&amp;gt;
-  *             &amp;lt;complexContent&amp;gt;
-  *               &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *                 &amp;lt;attribute name="type" use="required"&amp;gt;
-  *                   &amp;lt;simpleType&amp;gt;
-  *                     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&amp;gt;
-  *                       &amp;lt;enumeration value="not described"/&amp;gt;
-  *                       &amp;lt;enumeration value="described"/&amp;gt;
-  *                       &amp;lt;enumeration value="displayed"/&amp;gt;
-  *                       &amp;lt;enumeration value="external"/&amp;gt;
-  *                     &amp;lt;/restriction&amp;gt;
-  *                   &amp;lt;/simpleType&amp;gt;
-  *                 &amp;lt;/attribute&amp;gt;
-  *                 &amp;lt;attribute name="ref" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *               &amp;lt;/restriction&amp;gt;
-  *             &amp;lt;/complexContent&amp;gt;
-  *           &amp;lt;/complexType&amp;gt;
-  *         &amp;lt;/element&amp;gt;
-  *         &amp;lt;element name="text" type="{http://uniprot.org/uniprot}evidencedStringType" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
-  *       &amp;lt;/sequence&amp;gt;
-  *     &amp;lt;/restriction&amp;gt;
-  *   &amp;lt;/complexContent&amp;gt;
-  * &amp;lt;/complexType&amp;gt;
-  * &lt;/pre&gt;
+  * <pre>
+  * &lt;complexType name="isoformType">
+  *   &lt;complexContent>
+  *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+  *       &lt;sequence>
+  *         &lt;element name="id" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded"/>
+  *         &lt;element name="name" maxOccurs="unbounded">
+  *           &lt;complexType>
+  *             &lt;simpleContent>
+  *               &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
+  *                 &lt;attribute name="evidence" type="{http://uniprot.org/uniprot}intListType" />
+  *               &lt;/extension>
+  *             &lt;/simpleContent>
+  *           &lt;/complexType>
+  *         &lt;/element>
+  *         &lt;element name="sequence">
+  *           &lt;complexType>
+  *             &lt;complexContent>
+  *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+  *                 &lt;attribute name="type" use="required">
+  *                   &lt;simpleType>
+  *                     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
+  *                       &lt;enumeration value="not described"/>
+  *                       &lt;enumeration value="described"/>
+  *                       &lt;enumeration value="displayed"/>
+  *                       &lt;enumeration value="external"/>
+  *                     &lt;/restriction>
+  *                   &lt;/simpleType>
+  *                 &lt;/attribute>
+  *                 &lt;attribute name="ref" type="{http://www.w3.org/2001/XMLSchema}string" />
+  *               &lt;/restriction>
+  *             &lt;/complexContent>
+  *           &lt;/complexType>
+  *         &lt;/element>
+  *         &lt;element name="text" type="{http://uniprot.org/uniprot}evidencedStringType" maxOccurs="unbounded" minOccurs="0"/>
+  *       &lt;/sequence>
+  *     &lt;/restriction>
+  *   &lt;/complexContent>
+  * &lt;/complexType>
+  * </pre>
   * 
   * 
   */
  @XmlAccessorType(XmlAccessType.FIELD)
 -@XmlType(
 -  name = "isoformType",
 -  propOrder =
 -  { "id", "name", "sequence", "text" })
 -public class IsoformType
 -{
 -
 -  @XmlElement(required = true)
 -  protected List<String> id;
 -
 -  @XmlElement(required = true)
 -  protected List<IsoformType.Name> name;
 -
 -  @XmlElement(required = true)
 -  protected IsoformType.Sequence sequence;
 -
 -  protected List<EvidencedStringType> text;
 -
 -  /**
 -   * Gets the value of the id 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 id property.
 -   * 
 -   * <p>
 -   * For example, to add a new item, do as follows:
 -   * 
 -   * <pre>
 -   * getId().add(newItem);
 -   * </pre>
 -   * 
 -   * 
 -   * <p>
 -   * Objects of the following type(s) are allowed in the list {@link String }
 -   * 
 -   * 
 -   */
 -  public List<String> getId()
 -  {
 -    if (id == null)
 -    {
 -      id = new ArrayList<String>();
 -    }
 -    return this.id;
 -  }
 -
 -  /**
 -   * Gets the value of the name 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 name property.
 -   * 
 -   * <p>
 -   * For example, to add a new item, do as follows:
 -   * 
 -   * <pre>
 -   * getName().add(newItem);
 -   * </pre>
 -   * 
 -   * 
 -   * <p>
 -   * Objects of the following type(s) are allowed in the list
 -   * {@link IsoformType.Name }
 -   * 
 -   * 
 -   */
 -  public List<IsoformType.Name> getName()
 -  {
 -    if (name == null)
 -    {
 -      name = new ArrayList<IsoformType.Name>();
 -    }
 -    return this.name;
 -  }
 +@XmlType(name = "isoformType", propOrder = {
 +    "id",
 +    "name",
 +    "sequence",
 +    "text"
 +})
 +public class IsoformType {
  
 -  /**
 -   * Gets the value of the sequence property.
 -   * 
 -   * @return possible object is {@link IsoformType.Sequence }
 -   * 
 -   */
 -  public IsoformType.Sequence getSequence()
 -  {
 -    return sequence;
 -  }
 -
 -  /**
 -   * Sets the value of the sequence property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link IsoformType.Sequence }
 -   * 
 -   */
 -  public void setSequence(IsoformType.Sequence value)
 -  {
 -    this.sequence = value;
 -  }
 -
 -  /**
 -   * Gets the value of the text 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 text property.
 -   * 
 -   * <p>
 -   * For example, to add a new item, do as follows:
 -   * 
 -   * <pre>
 -   * getText().add(newItem);
 -   * </pre>
 -   * 
 -   * 
 -   * <p>
 -   * Objects of the following type(s) are allowed in the list
 -   * {@link EvidencedStringType }
 -   * 
 -   * 
 -   */
 -  public List<EvidencedStringType> getText()
 -  {
 -    if (text == null)
 -    {
 -      text = new ArrayList<EvidencedStringType>();
 -    }
 -    return this.text;
 -  }
 -
 -  /**
 -   * <p>
 -   * Java class for anonymous complex type.
 -   * 
 -   * <p>
 -   * The following schema fragment specifies the expected content contained
 -   * within this class.
 -   * 
 -   * <pre>
 -   * &lt;complexType>
 -   *   &lt;simpleContent>
 -   *     &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
 -   *       &lt;attribute name="evidence" type="{http://uniprot.org/uniprot}intListType" />
 -   *     &lt;/extension>
 -   *   &lt;/simpleContent>
 -   * &lt;/complexType>
 -   * </pre>
 -   * 
 -   * 
 -   */
 -  @XmlAccessorType(XmlAccessType.FIELD)
 -  @XmlType(name = "", propOrder = { "value" })
 -  public static class Name
 -  {
 -
 -    @XmlValue
 -    protected String value;
 -
 -    @XmlAttribute(name = "evidence")
 -    protected List<Integer> evidence;
 +    @XmlElement(required = true)
 +    protected List<String> id;
 +    @XmlElement(required = true)
 +    protected List<IsoformType.Name> name;
 +    @XmlElement(required = true)
 +    protected IsoformType.Sequence sequence;
 +    protected List<EvidencedStringType> text;
  
      /**
 -     * Gets the value of the value property.
 +     * Gets the value of the id property.
       * 
-      * &lt;p&gt;
 -     * @return possible object is {@link String }
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the id property.
++     * This is why there is not a <CODE>set</CODE> method for the id property.
       * 
-      * &lt;p&gt;
 -     */
 -    public String getValue()
 -    {
 -      return value;
 -    }
 -
 -    /**
 -     * Sets the value of the value property.
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getId().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link String }
       * 
 -     * @param value
 -     *          allowed object is {@link String }
       * 
       */
 -    public void setValue(String value)
 -    {
 -      this.value = value;
 +    public List<String> getId() {
 +        if (id == null) {
 +            id = new ArrayList<String>();
 +        }
 +        return this.id;
      }
  
      /**
 -     * Gets the value of the evidence property.
 +     * Gets the value of the name property.
       * 
-      * &lt;p&gt;
+      * <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 evidence 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 &lt;CODE&gt;set&lt;/CODE&gt; method for the name property.
++     * This is why there is not a <CODE>set</CODE> method for the name property.
       * 
-      * &lt;p&gt;
+      * <p>
       * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
 -     * 
+      * <pre>
 -     * getEvidence().add(newItem);
 +     *    getName().add(newItem);
-      * &lt;/pre&gt;
+      * </pre>
       * 
       * 
-      * &lt;p&gt;
+      * <p>
 -     * Objects of the following type(s) are allowed in the list {@link Integer }
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link IsoformType.Name }
       * 
       * 
       */
      }
  
      /**
 -     * Gets the value of the ref property.
 +     * Gets the value of the text property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the text property.
++     * This is why there is not a <CODE>set</CODE> method for the text property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getText().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link EvidencedStringType }
       * 
 -     * @return possible object is {@link String }
       * 
       */
 -    public String getRef()
 -    {
 -      return ref;
 +    public List<EvidencedStringType> getText() {
 +        if (text == null) {
 +            text = new ArrayList<EvidencedStringType>();
 +        }
 +        return this.text;
      }
  
 +
      /**
-      * &lt;p&gt;Java class for anonymous complex type.
 -     * Sets the value of the ref property.
++     * <p>Java class for anonymous complex type.
 +     * 
-      * &lt;p&gt;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.
 +     * 
-      * &lt;pre&gt;
-      * &amp;lt;complexType&amp;gt;
-      *   &amp;lt;simpleContent&amp;gt;
-      *     &amp;lt;extension base="&amp;lt;http://www.w3.org/2001/XMLSchema&amp;gt;string"&amp;gt;
-      *       &amp;lt;attribute name="evidence" type="{http://uniprot.org/uniprot}intListType" /&amp;gt;
-      *     &amp;lt;/extension&amp;gt;
-      *   &amp;lt;/simpleContent&amp;gt;
-      * &amp;lt;/complexType&amp;gt;
-      * &lt;/pre&gt;
++     * <pre>
++     * &lt;complexType>
++     *   &lt;simpleContent>
++     *     &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
++     *       &lt;attribute name="evidence" type="{http://uniprot.org/uniprot}intListType" />
++     *     &lt;/extension>
++     *   &lt;/simpleContent>
++     * &lt;/complexType>
++     * </pre>
       * 
 -     * @param value
 -     *          allowed object is {@link String }
       * 
       */
 -    public void setRef(String value)
 -    {
 -      this.ref = value;
 +    @XmlAccessorType(XmlAccessType.FIELD)
 +    @XmlType(name = "", propOrder = {
 +        "value"
 +    })
 +    public static class Name {
 +
 +        @XmlValue
 +        protected String value;
 +        @XmlAttribute(name = "evidence")
 +        protected List<Integer> evidence;
 +
 +        /**
 +         * Gets the value of the value property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link String }
 +         *     
 +         */
 +        public String getValue() {
 +            return value;
 +        }
 +
 +        /**
 +         * Sets the value of the value property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link String }
 +         *     
 +         */
 +        public void setValue(String value) {
 +            this.value = value;
 +        }
 +
 +        /**
 +         * Gets the value of the evidence property.
 +         * 
-          * &lt;p&gt;
++         * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the evidence property.
++         * This is why there is not a <CODE>set</CODE> method for the evidence property.
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * For example, to add a new item, do as follows:
-          * &lt;pre&gt;
++         * <pre>
 +         *    getEvidence().add(newItem);
-          * &lt;/pre&gt;
++         * </pre>
 +         * 
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * Objects of the following type(s) are allowed in the list
 +         * {@link Integer }
 +         * 
 +         * 
 +         */
 +        public List<Integer> getEvidence() {
 +            if (evidence == null) {
 +                evidence = new ArrayList<Integer>();
 +            }
 +            return this.evidence;
 +        }
 +
      }
  
 -  }
 +
 +    /**
-      * &lt;p&gt;Java class for anonymous complex type.
++     * <p>Java class for anonymous complex type.
 +     * 
-      * &lt;p&gt;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.
 +     * 
-      * &lt;pre&gt;
-      * &amp;lt;complexType&amp;gt;
-      *   &amp;lt;complexContent&amp;gt;
-      *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-      *       &amp;lt;attribute name="type" use="required"&amp;gt;
-      *         &amp;lt;simpleType&amp;gt;
-      *           &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&amp;gt;
-      *             &amp;lt;enumeration value="not described"/&amp;gt;
-      *             &amp;lt;enumeration value="described"/&amp;gt;
-      *             &amp;lt;enumeration value="displayed"/&amp;gt;
-      *             &amp;lt;enumeration value="external"/&amp;gt;
-      *           &amp;lt;/restriction&amp;gt;
-      *         &amp;lt;/simpleType&amp;gt;
-      *       &amp;lt;/attribute&amp;gt;
-      *       &amp;lt;attribute name="ref" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-      *     &amp;lt;/restriction&amp;gt;
-      *   &amp;lt;/complexContent&amp;gt;
-      * &amp;lt;/complexType&amp;gt;
-      * &lt;/pre&gt;
++     * <pre>
++     * &lt;complexType>
++     *   &lt;complexContent>
++     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++     *       &lt;attribute name="type" use="required">
++     *         &lt;simpleType>
++     *           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
++     *             &lt;enumeration value="not described"/>
++     *             &lt;enumeration value="described"/>
++     *             &lt;enumeration value="displayed"/>
++     *             &lt;enumeration value="external"/>
++     *           &lt;/restriction>
++     *         &lt;/simpleType>
++     *       &lt;/attribute>
++     *       &lt;attribute name="ref" type="{http://www.w3.org/2001/XMLSchema}string" />
++     *     &lt;/restriction>
++     *   &lt;/complexContent>
++     * &lt;/complexType>
++     * </pre>
 +     * 
 +     * 
 +     */
 +    @XmlAccessorType(XmlAccessType.FIELD)
 +    @XmlType(name = "")
 +    public static class Sequence {
 +
 +        @XmlAttribute(name = "type", required = true)
 +        protected String type;
 +        @XmlAttribute(name = "ref")
 +        protected String ref;
 +
 +        /**
 +         * Gets the value of the type property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link String }
 +         *     
 +         */
 +        public String getType() {
 +            return type;
 +        }
 +
 +        /**
 +         * Sets the value of the type property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link String }
 +         *     
 +         */
 +        public void setType(String value) {
 +            this.type = value;
 +        }
 +
 +        /**
 +         * Gets the value of the ref property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link String }
 +         *     
 +         */
 +        public String getRef() {
 +            return ref;
 +        }
 +
 +        /**
 +         * Sets the value of the ref property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link String }
 +         *     
 +         */
 +        public void setRef(String value) {
 +            this.ref = value;
 +        }
 +
 +    }
  
  }
@@@ -1,11 -1,10 +1,11 @@@
  //
- // This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
- // See https://eclipse-ee4j.github.io/jaxb-ri 
+ // 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: 2022.02.07 at 04:44:21 PM GMT 
 -// 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;
@@@ -16,113 -15,116 +16,113 @@@ import javax.xml.bind.annotation.XmlAtt
  import javax.xml.bind.annotation.XmlType;
  import javax.xml.bind.annotation.XmlValue;
  
 +
  /**
-  * &lt;p&gt;Java class for keywordType complex type.
 - * <p>
 - * Java class for keywordType complex type.
++ * <p>Java class for keywordType complex type.
   * 
-  * &lt;p&gt;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.
++ * <p>The following schema fragment specifies the expected content contained within this class.
   * 
-  * &lt;pre&gt;
-  * &amp;lt;complexType name="keywordType"&amp;gt;
-  *   &amp;lt;simpleContent&amp;gt;
-  *     &amp;lt;extension base="&amp;lt;http://www.w3.org/2001/XMLSchema&amp;gt;string"&amp;gt;
-  *       &amp;lt;attribute name="evidence" type="{http://uniprot.org/uniprot}intListType" /&amp;gt;
-  *       &amp;lt;attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *     &amp;lt;/extension&amp;gt;
-  *   &amp;lt;/simpleContent&amp;gt;
-  * &amp;lt;/complexType&amp;gt;
-  * &lt;/pre&gt;
+  * <pre>
+  * &lt;complexType name="keywordType">
+  *   &lt;simpleContent>
+  *     &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
+  *       &lt;attribute name="evidence" type="{http://uniprot.org/uniprot}intListType" />
+  *       &lt;attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+  *     &lt;/extension>
+  *   &lt;/simpleContent>
+  * &lt;/complexType>
+  * </pre>
   * 
   * 
   */
  @XmlAccessorType(XmlAccessType.FIELD)
 -@XmlType(name = "keywordType", propOrder = { "value" })
 -public class KeywordType
 -{
 -
 -  @XmlValue
 -  protected String value;
 -
 -  @XmlAttribute(name = "evidence")
 -  protected List<Integer> evidence;
 +@XmlType(name = "keywordType", propOrder = {
 +    "value"
 +})
 +public class KeywordType {
  
 -  @XmlAttribute(name = "id", required = true)
 -  protected String id;
 +    @XmlValue
 +    protected String value;
 +    @XmlAttribute(name = "evidence")
 +    protected List<Integer> evidence;
 +    @XmlAttribute(name = "id", required = true)
 +    protected String id;
  
 -  /**
 -   * Gets the value of the value property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getValue()
 -  {
 -    return value;
 -  }
 +    /**
 +     * Gets the value of the value property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link String }
 +     *     
 +     */
 +    public String getValue() {
 +        return value;
 +    }
  
 -  /**
 -   * Sets the value of the value property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setValue(String value)
 -  {
 -    this.value = value;
 -  }
 +    /**
 +     * Sets the value of the value property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link String }
 +     *     
 +     */
 +    public void setValue(String value) {
 +        this.value = value;
 +    }
  
 -  /**
 -   * Gets the value of the evidence 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 evidence property.
 -   * 
 -   * <p>
 -   * For example, to add a new item, do as follows:
 -   * 
 -   * <pre>
 -   * getEvidence().add(newItem);
 -   * </pre>
 -   * 
 -   * 
 -   * <p>
 -   * Objects of the following type(s) are allowed in the list {@link Integer }
 -   * 
 -   * 
 -   */
 -  public List<Integer> getEvidence()
 -  {
 -    if (evidence == null)
 -    {
 -      evidence = new ArrayList<Integer>();
 +    /**
 +     * Gets the value of the evidence property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the evidence property.
++     * This is why there is not a <CODE>set</CODE> method for the evidence property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getEvidence().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link Integer }
 +     * 
 +     * 
 +     */
 +    public List<Integer> getEvidence() {
 +        if (evidence == null) {
 +            evidence = new ArrayList<Integer>();
 +        }
 +        return this.evidence;
      }
 -    return this.evidence;
 -  }
  
 -  /**
 -   * Gets the value of the id property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getId()
 -  {
 -    return id;
 -  }
 +    /**
 +     * Gets the value of the id property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link String }
 +     *     
 +     */
 +    public String getId() {
 +        return id;
 +    }
  
 -  /**
 -   * Sets the value of the id property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setId(String value)
 -  {
 -    this.id = value;
 -  }
 +    /**
 +     * Sets the value of the id property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link String }
 +     *     
 +     */
 +    public void setId(String value) {
 +        this.id = value;
 +    }
  
  }
@@@ -1,11 -1,10 +1,11 @@@
  //
- // This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
- // See https://eclipse-ee4j.github.io/jaxb-ri 
+ // 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: 2022.02.07 at 04:44:21 PM GMT 
 -// 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 javax.xml.bind.annotation.XmlAccessType;
@@@ -13,30 -12,34 +13,30 @@@ import javax.xml.bind.annotation.XmlAcc
  import javax.xml.bind.annotation.XmlAttribute;
  import javax.xml.bind.annotation.XmlType;
  
 +
  /**
 - * Describes a sequence location as either a range with a begin and end or as a
 - * position. The 'sequence' attribute is only used when the location is not on
 - * the canonical sequence displayed in the current entry.
 + * Describes a sequence location as either a range with a begin and end or as a position. The 'sequence' attribute is only used when the location is not on the canonical sequence displayed in the current entry.
   * 
-  * &lt;p&gt;Java class for locationType complex type.
 - * <p>
 - * Java class for locationType complex type.
++ * <p>Java class for locationType complex type.
   * 
-  * &lt;p&gt;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.
++ * <p>The following schema fragment specifies the expected content contained within this class.
   * 
-  * &lt;pre&gt;
-  * &amp;lt;complexType name="locationType"&amp;gt;
-  *   &amp;lt;complexContent&amp;gt;
-  *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *       &amp;lt;choice&amp;gt;
-  *         &amp;lt;sequence&amp;gt;
-  *           &amp;lt;element name="begin" type="{http://uniprot.org/uniprot}positionType"/&amp;gt;
-  *           &amp;lt;element name="end" type="{http://uniprot.org/uniprot}positionType"/&amp;gt;
-  *         &amp;lt;/sequence&amp;gt;
-  *         &amp;lt;element name="position" type="{http://uniprot.org/uniprot}positionType"/&amp;gt;
-  *       &amp;lt;/choice&amp;gt;
-  *       &amp;lt;attribute name="sequence" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *     &amp;lt;/restriction&amp;gt;
-  *   &amp;lt;/complexContent&amp;gt;
-  * &amp;lt;/complexType&amp;gt;
-  * &lt;/pre&gt;
+  * <pre>
+  * &lt;complexType name="locationType">
+  *   &lt;complexContent>
+  *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+  *       &lt;choice>
+  *         &lt;sequence>
+  *           &lt;element name="begin" type="{http://uniprot.org/uniprot}positionType"/>
+  *           &lt;element name="end" type="{http://uniprot.org/uniprot}positionType"/>
+  *         &lt;/sequence>
+  *         &lt;element name="position" type="{http://uniprot.org/uniprot}positionType"/>
+  *       &lt;/choice>
+  *       &lt;attribute name="sequence" type="{http://www.w3.org/2001/XMLSchema}string" />
+  *     &lt;/restriction>
+  *   &lt;/complexContent>
+  * &lt;/complexType>
+  * </pre>
   * 
   * 
   */
@@@ -1,11 -1,10 +1,11 @@@
  //
- // This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
- // See https://eclipse-ee4j.github.io/jaxb-ri 
+ // 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: 2022.02.07 at 04:44:21 PM GMT 
 -// 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 javax.xml.bind.annotation.XmlAccessType;
@@@ -18,19 -16,22 +18,19 @@@ import javax.xml.bind.annotation.XmlVal
  /**
   * Describes a molecule by name or unique identifier.
   * 
-  * &lt;p&gt;Java class for moleculeType complex type.
 - * <p>
 - * Java class for moleculeType complex type.
++ * <p>Java class for moleculeType complex type.
   * 
-  * &lt;p&gt;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.
++ * <p>The following schema fragment specifies the expected content contained within this class.
   * 
-  * &lt;pre&gt;
-  * &amp;lt;complexType name="moleculeType"&amp;gt;
-  *   &amp;lt;simpleContent&amp;gt;
-  *     &amp;lt;extension base="&amp;lt;http://www.w3.org/2001/XMLSchema&amp;gt;string"&amp;gt;
-  *       &amp;lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *     &amp;lt;/extension&amp;gt;
-  *   &amp;lt;/simpleContent&amp;gt;
-  * &amp;lt;/complexType&amp;gt;
-  * &lt;/pre&gt;
+  * <pre>
+  * &lt;complexType name="moleculeType">
+  *   &lt;simpleContent>
+  *     &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
+  *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string" />
+  *     &lt;/extension>
+  *   &lt;/simpleContent>
+  * &lt;/complexType>
+  * </pre>
   * 
   * 
   */
@@@ -1,11 -1,10 +1,11 @@@
  //
- // This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
- // See https://eclipse-ee4j.github.io/jaxb-ri 
+ // 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: 2022.02.07 at 04:44:21 PM GMT 
 -// 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;
@@@ -16,67 -15,69 +16,67 @@@ import javax.xml.bind.annotation.XmlEle
  import javax.xml.bind.annotation.XmlElements;
  import javax.xml.bind.annotation.XmlType;
  
 +
  /**
-  * &lt;p&gt;Java class for nameListType complex type.
 - * <p>
 - * Java class for nameListType complex type.
++ * <p>Java class for nameListType complex type.
   * 
-  * &lt;p&gt;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.
++ * <p>The following schema fragment specifies the expected content contained within this class.
   * 
-  * &lt;pre&gt;
-  * &amp;lt;complexType name="nameListType"&amp;gt;
-  *   &amp;lt;complexContent&amp;gt;
-  *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *       &amp;lt;choice maxOccurs="unbounded"&amp;gt;
-  *         &amp;lt;element name="consortium" type="{http://uniprot.org/uniprot}consortiumType"/&amp;gt;
-  *         &amp;lt;element name="person" type="{http://uniprot.org/uniprot}personType"/&amp;gt;
-  *       &amp;lt;/choice&amp;gt;
-  *     &amp;lt;/restriction&amp;gt;
-  *   &amp;lt;/complexContent&amp;gt;
-  * &amp;lt;/complexType&amp;gt;
-  * &lt;/pre&gt;
+  * <pre>
+  * &lt;complexType name="nameListType">
+  *   &lt;complexContent>
+  *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+  *       &lt;choice maxOccurs="unbounded">
+  *         &lt;element name="consortium" type="{http://uniprot.org/uniprot}consortiumType"/>
+  *         &lt;element name="person" type="{http://uniprot.org/uniprot}personType"/>
+  *       &lt;/choice>
+  *     &lt;/restriction>
+  *   &lt;/complexContent>
+  * &lt;/complexType>
+  * </pre>
   * 
   * 
   */
  @XmlAccessorType(XmlAccessType.FIELD)
 -@XmlType(name = "nameListType", propOrder = { "consortiumOrPerson" })
 -public class NameListType
 -{
 +@XmlType(name = "nameListType", propOrder = {
 +    "consortiumOrPerson"
 +})
 +public class NameListType {
  
 -  @XmlElements({
 -      @XmlElement(name = "consortium", type = ConsortiumType.class),
 -      @XmlElement(name = "person", type = PersonType.class) })
 -  protected List<Object> consortiumOrPerson;
 +    @XmlElements({
 +        @XmlElement(name = "consortium", type = ConsortiumType.class),
 +        @XmlElement(name = "person", type = PersonType.class)
 +    })
 +    protected List<Object> consortiumOrPerson;
  
 -  /**
 -   * Gets the value of the consortiumOrPerson 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 consortiumOrPerson property.
 -   * 
 -   * <p>
 -   * For example, to add a new item, do as follows:
 -   * 
 -   * <pre>
 -   * getConsortiumOrPerson().add(newItem);
 -   * </pre>
 -   * 
 -   * 
 -   * <p>
 -   * Objects of the following type(s) are allowed in the list
 -   * {@link ConsortiumType } {@link PersonType }
 -   * 
 -   * 
 -   */
 -  public List<Object> getConsortiumOrPerson()
 -  {
 -    if (consortiumOrPerson == null)
 -    {
 -      consortiumOrPerson = new ArrayList<Object>();
 +    /**
 +     * Gets the value of the consortiumOrPerson property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the consortiumOrPerson property.
++     * This is why there is not a <CODE>set</CODE> method for the consortiumOrPerson property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getConsortiumOrPerson().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link ConsortiumType }
 +     * {@link PersonType }
 +     * 
 +     * 
 +     */
 +    public List<Object> getConsortiumOrPerson() {
 +        if (consortiumOrPerson == null) {
 +            consortiumOrPerson = new ArrayList<Object>();
 +        }
 +        return this.consortiumOrPerson;
      }
 -    return this.consortiumOrPerson;
 -  }
  
  }
@@@ -1,11 -1,10 +1,11 @@@
  //
- // This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
- // See https://eclipse-ee4j.github.io/jaxb-ri 
+ // 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: 2022.02.07 at 04:44:21 PM GMT 
 -// 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 javax.xml.bind.JAXBElement;
@@@ -13,500 -12,558 +13,496 @@@ import javax.xml.bind.annotation.XmlEle
  import javax.xml.bind.annotation.XmlRegistry;
  import javax.xml.namespace.QName;
  
 +
  /**
 - * This object contains factory methods for each Java content interface and Java
 - * element interface generated in the jalview.xml.binding.uniprot package.
 - * <p>
 - * An ObjectFactory allows you to programatically construct new instances of the
 - * Java representation for XML content. The Java representation of XML content
 - * can consist of schema derived interfaces and classes representing the binding
 - * of schema type definitions, element declarations and model groups. Factory
 - * methods for each of these are provided in this class.
 + * This object contains factory methods for each 
 + * Java content interface and Java element interface 
 + * generated in the jalview.xml.binding.uniprot package. 
-  * &lt;p&gt;An ObjectFactory allows you to programatically 
++ * <p>An ObjectFactory allows you to programatically 
 + * construct new instances of the Java representation 
 + * for XML content. The Java representation of XML 
 + * content can consist of schema derived interfaces 
 + * and classes representing the binding of schema 
 + * type definitions, element declarations and model 
 + * groups.  Factory methods for each of these are 
 + * provided in this class.
   * 
   */
  @XmlRegistry
 -public class ObjectFactory
 -{
 -
 -  private final static QName _Copyright_QNAME = new QName(
 -          "http://uniprot.org/uniprot", "copyright");
 -
 -  /**
 -   * Create a new ObjectFactory that can be used to create new instances of
 -   * schema derived classes for package: jalview.xml.binding.uniprot
 -   * 
 -   */
 -  public ObjectFactory()
 -  {
 -  }
 -
 -  /**
 -   * Create an instance of {@link SourceDataType }
 -   * 
 -   */
 -  public SourceDataType createSourceDataType()
 -  {
 -    return new SourceDataType();
 -  }
 -
 -  /**
 -   * Create an instance of {@link IsoformType }
 -   * 
 -   */
 -  public IsoformType createIsoformType()
 -  {
 -    return new IsoformType();
 -  }
 -
 -  /**
 -   * Create an instance of {@link CommentType }
 -   * 
 -   */
 -  public CommentType createCommentType()
 -  {
 -    return new CommentType();
 -  }
 -
 -  /**
 -   * Create an instance of {@link CommentType.Conflict }
 -   * 
 -   */
 -  public CommentType.Conflict createCommentTypeConflict()
 -  {
 -    return new CommentType.Conflict();
 -  }
 -
 -  /**
 -   * Create an instance of {@link OrganismType }
 -   * 
 -   */
 -  public OrganismType createOrganismType()
 -  {
 -    return new OrganismType();
 -  }
 -
 -  /**
 -   * Create an instance of {@link ProteinType }
 -   * 
 -   */
 -  public ProteinType createProteinType()
 -  {
 -    return new ProteinType();
 -  }
 -
 -  /**
 -   * Create an instance of {@link Entry }
 -   * 
 -   */
 -  public Entry createEntry()
 -  {
 -    return new Entry();
 -  }
 -
 -  /**
 -   * Create an instance of {@link GeneType }
 -   * 
 -   */
 -  public GeneType createGeneType()
 -  {
 -    return new GeneType();
 -  }
 -
 -  /**
 -   * Create an instance of {@link GeneLocationType }
 -   * 
 -   */
 -  public GeneLocationType createGeneLocationType()
 -  {
 -    return new GeneLocationType();
 -  }
 -
 -  /**
 -   * Create an instance of {@link ReferenceType }
 -   * 
 -   */
 -  public ReferenceType createReferenceType()
 -  {
 -    return new ReferenceType();
 -  }
 -
 -  /**
 -   * Create an instance of {@link DbReferenceType }
 -   * 
 -   */
 -  public DbReferenceType createDbReferenceType()
 -  {
 -    return new DbReferenceType();
 -  }
 -
 -  /**
 -   * Create an instance of {@link ProteinExistenceType }
 -   * 
 -   */
 -  public ProteinExistenceType createProteinExistenceType()
 -  {
 -    return new ProteinExistenceType();
 -  }
 -
 -  /**
 -   * Create an instance of {@link KeywordType }
 -   * 
 -   */
 -  public KeywordType createKeywordType()
 -  {
 -    return new KeywordType();
 -  }
 -
 -  /**
 -   * Create an instance of {@link FeatureType }
 -   * 
 -   */
 -  public FeatureType createFeatureType()
 -  {
 -    return new FeatureType();
 -  }
 -
 -  /**
 -   * Create an instance of {@link EvidenceType }
 -   * 
 -   */
 -  public EvidenceType createEvidenceType()
 -  {
 -    return new EvidenceType();
 -  }
 -
 -  /**
 -   * Create an instance of {@link SequenceType }
 -   * 
 -   */
 -  public SequenceType createSequenceType()
 -  {
 -    return new SequenceType();
 -  }
 -
 -  /**
 -   * Create an instance of {@link Uniprot }
 -   * 
 -   */
 -  public Uniprot createUniprot()
 -  {
 -    return new Uniprot();
 -  }
 -
 -  /**
 -   * Create an instance of {@link StatusType }
 -   * 
 -   */
 -  public StatusType createStatusType()
 -  {
 -    return new StatusType();
 -  }
 -
 -  /**
 -   * Create an instance of {@link PositionType }
 -   * 
 -   */
 -  public PositionType createPositionType()
 -  {
 -    return new PositionType();
 -  }
 -
 -  /**
 -   * Create an instance of {@link ConsortiumType }
 -   * 
 -   */
 -  public ConsortiumType createConsortiumType()
 -  {
 -    return new ConsortiumType();
 -  }
 -
 -  /**
 -   * Create an instance of {@link GeneNameType }
 -   * 
 -   */
 -  public GeneNameType createGeneNameType()
 -  {
 -    return new GeneNameType();
 -  }
 -
 -  /**
 -   * Create an instance of {@link LocationType }
 -   * 
 -   */
 -  public LocationType createLocationType()
 -  {
 -    return new LocationType();
 -  }
 -
 -  /**
 -   * Create an instance of {@link CitationType }
 -   * 
 -   */
 -  public CitationType createCitationType()
 -  {
 -    return new CitationType();
 -  }
 -
 -  /**
 -   * Create an instance of {@link PropertyType }
 -   * 
 -   */
 -  public PropertyType createPropertyType()
 -  {
 -    return new PropertyType();
 -  }
 -
 -  /**
 -   * Create an instance of {@link PhysiologicalReactionType }
 -   * 
 -   */
 -  public PhysiologicalReactionType createPhysiologicalReactionType()
 -  {
 -    return new PhysiologicalReactionType();
 -  }
 -
 -  /**
 -   * Create an instance of {@link CofactorType }
 -   * 
 -   */
 -  public CofactorType createCofactorType()
 -  {
 -    return new CofactorType();
 -  }
 -
 -  /**
 -   * Create an instance of {@link EvidencedStringType }
 -   * 
 -   */
 -  public EvidencedStringType createEvidencedStringType()
 -  {
 -    return new EvidencedStringType();
 -  }
 -
 -  /**
 -   * Create an instance of {@link PersonType }
 -   * 
 -   */
 -  public PersonType createPersonType()
 -  {
 -    return new PersonType();
 -  }
 -
 -  /**
 -   * Create an instance of {@link ImportedFromType }
 -   * 
 -   */
 -  public ImportedFromType createImportedFromType()
 -  {
 -    return new ImportedFromType();
 -  }
 -
 -  /**
 -   * Create an instance of {@link EventType }
 -   * 
 -   */
 -  public EventType createEventType()
 -  {
 -    return new EventType();
 -  }
 -
 -  /**
 -   * Create an instance of {@link InteractantType }
 -   * 
 -   */
 -  public InteractantType createInteractantType()
 -  {
 -    return new InteractantType();
 -  }
 -
 -  /**
 -   * Create an instance of {@link NameListType }
 -   * 
 -   */
 -  public NameListType createNameListType()
 -  {
 -    return new NameListType();
 -  }
 -
 -  /**
 -   * Create an instance of {@link ReactionType }
 -   * 
 -   */
 -  public ReactionType createReactionType()
 -  {
 -    return new ReactionType();
 -  }
 -
 -  /**
 -   * Create an instance of {@link SourceType }
 -   * 
 -   */
 -  public SourceType createSourceType()
 -  {
 -    return new SourceType();
 -  }
 -
 -  /**
 -   * Create an instance of {@link MoleculeType }
 -   * 
 -   */
 -  public MoleculeType createMoleculeType()
 -  {
 -    return new MoleculeType();
 -  }
 -
 -  /**
 -   * Create an instance of {@link OrganismNameType }
 -   * 
 -   */
 -  public OrganismNameType createOrganismNameType()
 -  {
 -    return new OrganismNameType();
 -  }
 -
 -  /**
 -   * Create an instance of {@link SubcellularLocationType }
 -   * 
 -   */
 -  public SubcellularLocationType createSubcellularLocationType()
 -  {
 -    return new SubcellularLocationType();
 -  }
 -
 -  /**
 -   * Create an instance of {@link SourceDataType.Strain }
 -   * 
 -   */
 -  public SourceDataType.Strain createSourceDataTypeStrain()
 -  {
 -    return new SourceDataType.Strain();
 -  }
 -
 -  /**
 -   * Create an instance of {@link SourceDataType.Plasmid }
 -   * 
 -   */
 -  public SourceDataType.Plasmid createSourceDataTypePlasmid()
 -  {
 -    return new SourceDataType.Plasmid();
 -  }
 -
 -  /**
 -   * Create an instance of {@link SourceDataType.Transposon }
 -   * 
 -   */
 -  public SourceDataType.Transposon createSourceDataTypeTransposon()
 -  {
 -    return new SourceDataType.Transposon();
 -  }
 -
 -  /**
 -   * Create an instance of {@link SourceDataType.Tissue }
 -   * 
 -   */
 -  public SourceDataType.Tissue createSourceDataTypeTissue()
 -  {
 -    return new SourceDataType.Tissue();
 -  }
 -
 -  /**
 -   * Create an instance of {@link IsoformType.Name }
 -   * 
 -   */
 -  public IsoformType.Name createIsoformTypeName()
 -  {
 -    return new IsoformType.Name();
 -  }
 -
 -  /**
 -   * Create an instance of {@link IsoformType.Sequence }
 -   * 
 -   */
 -  public IsoformType.Sequence createIsoformTypeSequence()
 -  {
 -    return new IsoformType.Sequence();
 -  }
 -
 -  /**
 -   * Create an instance of {@link CommentType.Absorption }
 -   * 
 -   */
 -  public CommentType.Absorption createCommentTypeAbsorption()
 -  {
 -    return new CommentType.Absorption();
 -  }
 -
 -  /**
 -   * Create an instance of {@link CommentType.Kinetics }
 -   * 
 -   */
 -  public CommentType.Kinetics createCommentTypeKinetics()
 -  {
 -    return new CommentType.Kinetics();
 -  }
 -
 -  /**
 -   * Create an instance of {@link CommentType.PhDependence }
 -   * 
 -   */
 -  public CommentType.PhDependence createCommentTypePhDependence()
 -  {
 -    return new CommentType.PhDependence();
 -  }
 -
 -  /**
 -   * Create an instance of {@link CommentType.RedoxPotential }
 -   * 
 -   */
 -  public CommentType.RedoxPotential createCommentTypeRedoxPotential()
 -  {
 -    return new CommentType.RedoxPotential();
 -  }
 -
 -  /**
 -   * Create an instance of {@link CommentType.TemperatureDependence }
 -   * 
 -   */
 -  public CommentType.TemperatureDependence createCommentTypeTemperatureDependence()
 -  {
 -    return new CommentType.TemperatureDependence();
 -  }
 -
 -  /**
 -   * Create an instance of {@link CommentType.Link }
 -   * 
 -   */
 -  public CommentType.Link createCommentTypeLink()
 -  {
 -    return new CommentType.Link();
 -  }
 -
 -  /**
 -   * Create an instance of {@link CommentType.Disease }
 -   * 
 -   */
 -  public CommentType.Disease createCommentTypeDisease()
 -  {
 -    return new CommentType.Disease();
 -  }
 -
 -  /**
 -   * Create an instance of {@link CommentType.Conflict.Sequence }
 -   * 
 -   */
 -  public CommentType.Conflict.Sequence createCommentTypeConflictSequence()
 -  {
 -    return new CommentType.Conflict.Sequence();
 -  }
 -
 -  /**
 -   * Create an instance of {@link OrganismType.Lineage }
 -   * 
 -   */
 -  public OrganismType.Lineage createOrganismTypeLineage()
 -  {
 -    return new OrganismType.Lineage();
 -  }
 -
 -  /**
 -   * Create an instance of {@link ProteinType.RecommendedName }
 -   * 
 -   */
 -  public ProteinType.RecommendedName createProteinTypeRecommendedName()
 -  {
 -    return new ProteinType.RecommendedName();
 -  }
 -
 -  /**
 -   * Create an instance of {@link ProteinType.AlternativeName }
 -   * 
 -   */
 -  public ProteinType.AlternativeName createProteinTypeAlternativeName()
 -  {
 -    return new ProteinType.AlternativeName();
 -  }
 -
 -  /**
 -   * Create an instance of {@link ProteinType.SubmittedName }
 -   * 
 -   */
 -  public ProteinType.SubmittedName createProteinTypeSubmittedName()
 -  {
 -    return new ProteinType.SubmittedName();
 -  }
 -
 -  /**
 -   * Create an instance of {@link ProteinType.Domain }
 -   * 
 -   */
 -  public ProteinType.Domain createProteinTypeDomain()
 -  {
 -    return new ProteinType.Domain();
 -  }
 -
 -  /**
 -   * Create an instance of {@link ProteinType.Component }
 -   * 
 -   */
 -  public ProteinType.Component createProteinTypeComponent()
 -  {
 -    return new ProteinType.Component();
 -  }
 -
 -  /**
 -   * Create an instance of {@link JAXBElement }{@code <}{@link String
 -   * }{@code >}}
 -   * 
 -   */
 -  @XmlElementDecl(
 -    namespace = "http://uniprot.org/uniprot",
 -    name = "copyright")
 -  public JAXBElement<String> createCopyright(String value)
 -  {
 -    return new JAXBElement<String>(_Copyright_QNAME, String.class, null,
 -            value);
 -  }
 +public class ObjectFactory {
 +
 +    private final static QName _Copyright_QNAME = new QName("http://uniprot.org/uniprot", "copyright");
 +
 +    /**
 +     * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: jalview.xml.binding.uniprot
 +     * 
 +     */
 +    public ObjectFactory() {
 +    }
 +
 +    /**
-      * Create an instance of {@link IsoformType }
++     * Create an instance of {@link SourceDataType }
 +     * 
 +     */
-     public IsoformType createIsoformType() {
-         return new IsoformType();
++    public SourceDataType createSourceDataType() {
++        return new SourceDataType();
 +    }
 +
 +    /**
-      * Create an instance of {@link SourceDataType }
++     * Create an instance of {@link IsoformType }
 +     * 
 +     */
-     public SourceDataType createSourceDataType() {
-         return new SourceDataType();
++    public IsoformType createIsoformType() {
++        return new IsoformType();
 +    }
 +
 +    /**
 +     * Create an instance of {@link CommentType }
 +     * 
 +     */
 +    public CommentType createCommentType() {
 +        return new CommentType();
 +    }
 +
 +    /**
 +     * Create an instance of {@link CommentType.Conflict }
 +     * 
 +     */
 +    public CommentType.Conflict createCommentTypeConflict() {
 +        return new CommentType.Conflict();
 +    }
 +
 +    /**
 +     * Create an instance of {@link OrganismType }
 +     * 
 +     */
 +    public OrganismType createOrganismType() {
 +        return new OrganismType();
 +    }
 +
 +    /**
 +     * Create an instance of {@link ProteinType }
 +     * 
 +     */
 +    public ProteinType createProteinType() {
 +        return new ProteinType();
 +    }
 +
 +    /**
-      * Create an instance of {@link Uniprot }
-      * 
-      */
-     public Uniprot createUniprot() {
-         return new Uniprot();
-     }
-     /**
 +     * Create an instance of {@link Entry }
 +     * 
 +     */
 +    public Entry createEntry() {
 +        return new Entry();
 +    }
 +
 +    /**
 +     * Create an instance of {@link GeneType }
 +     * 
 +     */
 +    public GeneType createGeneType() {
 +        return new GeneType();
 +    }
 +
 +    /**
 +     * Create an instance of {@link GeneLocationType }
 +     * 
 +     */
 +    public GeneLocationType createGeneLocationType() {
 +        return new GeneLocationType();
 +    }
 +
 +    /**
 +     * Create an instance of {@link ReferenceType }
 +     * 
 +     */
 +    public ReferenceType createReferenceType() {
 +        return new ReferenceType();
 +    }
 +
 +    /**
 +     * Create an instance of {@link DbReferenceType }
 +     * 
 +     */
 +    public DbReferenceType createDbReferenceType() {
 +        return new DbReferenceType();
 +    }
 +
 +    /**
 +     * Create an instance of {@link ProteinExistenceType }
 +     * 
 +     */
 +    public ProteinExistenceType createProteinExistenceType() {
 +        return new ProteinExistenceType();
 +    }
 +
 +    /**
 +     * Create an instance of {@link KeywordType }
 +     * 
 +     */
 +    public KeywordType createKeywordType() {
 +        return new KeywordType();
 +    }
 +
 +    /**
 +     * Create an instance of {@link FeatureType }
 +     * 
 +     */
 +    public FeatureType createFeatureType() {
 +        return new FeatureType();
 +    }
 +
 +    /**
 +     * Create an instance of {@link EvidenceType }
 +     * 
 +     */
 +    public EvidenceType createEvidenceType() {
 +        return new EvidenceType();
 +    }
 +
 +    /**
 +     * Create an instance of {@link SequenceType }
 +     * 
 +     */
 +    public SequenceType createSequenceType() {
 +        return new SequenceType();
 +    }
 +
 +    /**
-      * Create an instance of {@link GeneNameType }
-      * 
-      */
-     public GeneNameType createGeneNameType() {
-         return new GeneNameType();
-     }
-     /**
-      * Create an instance of {@link OrganismNameType }
++     * Create an instance of {@link Uniprot }
 +     * 
 +     */
-     public OrganismNameType createOrganismNameType() {
-         return new OrganismNameType();
++    public Uniprot createUniprot() {
++        return new Uniprot();
 +    }
 +
 +    /**
 +     * Create an instance of {@link StatusType }
 +     * 
 +     */
 +    public StatusType createStatusType() {
 +        return new StatusType();
 +    }
 +
 +    /**
-      * Create an instance of {@link CitationType }
++     * Create an instance of {@link PositionType }
 +     * 
 +     */
-     public CitationType createCitationType() {
-         return new CitationType();
++    public PositionType createPositionType() {
++        return new PositionType();
 +    }
 +
 +    /**
 +     * Create an instance of {@link ConsortiumType }
 +     * 
 +     */
 +    public ConsortiumType createConsortiumType() {
 +        return new ConsortiumType();
 +    }
 +
 +    /**
-      * Create an instance of {@link PersonType }
++     * Create an instance of {@link GeneNameType }
 +     * 
 +     */
-     public PersonType createPersonType() {
-         return new PersonType();
++    public GeneNameType createGeneNameType() {
++        return new GeneNameType();
 +    }
 +
 +    /**
-      * Create an instance of {@link NameListType }
++     * Create an instance of {@link LocationType }
 +     * 
 +     */
-     public NameListType createNameListType() {
-         return new NameListType();
++    public LocationType createLocationType() {
++        return new LocationType();
 +    }
 +
 +    /**
-      * Create an instance of {@link ReactionType }
++     * Create an instance of {@link CitationType }
 +     * 
 +     */
-     public ReactionType createReactionType() {
-         return new ReactionType();
++    public CitationType createCitationType() {
++        return new CitationType();
++    }
++
++    /**
++     * Create an instance of {@link PropertyType }
++     * 
++     */
++    public PropertyType createPropertyType() {
++        return new PropertyType();
 +    }
 +
 +    /**
 +     * Create an instance of {@link PhysiologicalReactionType }
 +     * 
 +     */
 +    public PhysiologicalReactionType createPhysiologicalReactionType() {
 +        return new PhysiologicalReactionType();
 +    }
 +
 +    /**
 +     * Create an instance of {@link CofactorType }
 +     * 
 +     */
 +    public CofactorType createCofactorType() {
 +        return new CofactorType();
 +    }
 +
 +    /**
-      * Create an instance of {@link SubcellularLocationType }
++     * Create an instance of {@link EvidencedStringType }
 +     * 
 +     */
-     public SubcellularLocationType createSubcellularLocationType() {
-         return new SubcellularLocationType();
++    public EvidencedStringType createEvidencedStringType() {
++        return new EvidencedStringType();
 +    }
 +
 +    /**
-      * Create an instance of {@link EventType }
++     * Create an instance of {@link PersonType }
 +     * 
 +     */
-     public EventType createEventType() {
-         return new EventType();
++    public PersonType createPersonType() {
++        return new PersonType();
 +    }
 +
 +    /**
-      * Create an instance of {@link InteractantType }
++     * Create an instance of {@link ImportedFromType }
 +     * 
 +     */
-     public InteractantType createInteractantType() {
-         return new InteractantType();
++    public ImportedFromType createImportedFromType() {
++        return new ImportedFromType();
 +    }
 +
 +    /**
-      * Create an instance of {@link PropertyType }
++     * Create an instance of {@link EventType }
 +     * 
 +     */
-     public PropertyType createPropertyType() {
-         return new PropertyType();
++    public EventType createEventType() {
++        return new EventType();
 +    }
 +
 +    /**
-      * Create an instance of {@link LocationType }
++     * Create an instance of {@link InteractantType }
 +     * 
 +     */
-     public LocationType createLocationType() {
-         return new LocationType();
++    public InteractantType createInteractantType() {
++        return new InteractantType();
 +    }
 +
 +    /**
-      * Create an instance of {@link PositionType }
++     * Create an instance of {@link NameListType }
 +     * 
 +     */
-     public PositionType createPositionType() {
-         return new PositionType();
++    public NameListType createNameListType() {
++        return new NameListType();
 +    }
 +
 +    /**
-      * Create an instance of {@link MoleculeType }
++     * Create an instance of {@link ReactionType }
 +     * 
 +     */
-     public MoleculeType createMoleculeType() {
-         return new MoleculeType();
++    public ReactionType createReactionType() {
++        return new ReactionType();
 +    }
 +
 +    /**
 +     * Create an instance of {@link SourceType }
 +     * 
 +     */
 +    public SourceType createSourceType() {
 +        return new SourceType();
 +    }
 +
 +    /**
-      * Create an instance of {@link ImportedFromType }
-      * 
-      */
-     public ImportedFromType createImportedFromType() {
-         return new ImportedFromType();
-     }
-     /**
-      * Create an instance of {@link EvidencedStringType }
++     * Create an instance of {@link MoleculeType }
 +     * 
 +     */
-     public EvidencedStringType createEvidencedStringType() {
-         return new EvidencedStringType();
++    public MoleculeType createMoleculeType() {
++        return new MoleculeType();
 +    }
 +
 +    /**
-      * Create an instance of {@link IsoformType.Name }
++     * Create an instance of {@link OrganismNameType }
 +     * 
 +     */
-     public IsoformType.Name createIsoformTypeName() {
-         return new IsoformType.Name();
++    public OrganismNameType createOrganismNameType() {
++        return new OrganismNameType();
 +    }
 +
 +    /**
-      * Create an instance of {@link IsoformType.Sequence }
++     * Create an instance of {@link SubcellularLocationType }
 +     * 
 +     */
-     public IsoformType.Sequence createIsoformTypeSequence() {
-         return new IsoformType.Sequence();
++    public SubcellularLocationType createSubcellularLocationType() {
++        return new SubcellularLocationType();
 +    }
 +
 +    /**
 +     * Create an instance of {@link SourceDataType.Strain }
 +     * 
 +     */
 +    public SourceDataType.Strain createSourceDataTypeStrain() {
 +        return new SourceDataType.Strain();
 +    }
 +
 +    /**
 +     * Create an instance of {@link SourceDataType.Plasmid }
 +     * 
 +     */
 +    public SourceDataType.Plasmid createSourceDataTypePlasmid() {
 +        return new SourceDataType.Plasmid();
 +    }
 +
 +    /**
 +     * Create an instance of {@link SourceDataType.Transposon }
 +     * 
 +     */
 +    public SourceDataType.Transposon createSourceDataTypeTransposon() {
 +        return new SourceDataType.Transposon();
 +    }
 +
 +    /**
 +     * Create an instance of {@link SourceDataType.Tissue }
 +     * 
 +     */
 +    public SourceDataType.Tissue createSourceDataTypeTissue() {
 +        return new SourceDataType.Tissue();
 +    }
 +
 +    /**
++     * Create an instance of {@link IsoformType.Name }
++     * 
++     */
++    public IsoformType.Name createIsoformTypeName() {
++        return new IsoformType.Name();
++    }
++
++    /**
++     * Create an instance of {@link IsoformType.Sequence }
++     * 
++     */
++    public IsoformType.Sequence createIsoformTypeSequence() {
++        return new IsoformType.Sequence();
++    }
++
++    /**
 +     * Create an instance of {@link CommentType.Absorption }
 +     * 
 +     */
 +    public CommentType.Absorption createCommentTypeAbsorption() {
 +        return new CommentType.Absorption();
 +    }
 +
 +    /**
 +     * Create an instance of {@link CommentType.Kinetics }
 +     * 
 +     */
 +    public CommentType.Kinetics createCommentTypeKinetics() {
 +        return new CommentType.Kinetics();
 +    }
 +
 +    /**
 +     * Create an instance of {@link CommentType.PhDependence }
 +     * 
 +     */
 +    public CommentType.PhDependence createCommentTypePhDependence() {
 +        return new CommentType.PhDependence();
 +    }
 +
 +    /**
 +     * Create an instance of {@link CommentType.RedoxPotential }
 +     * 
 +     */
 +    public CommentType.RedoxPotential createCommentTypeRedoxPotential() {
 +        return new CommentType.RedoxPotential();
 +    }
 +
 +    /**
 +     * Create an instance of {@link CommentType.TemperatureDependence }
 +     * 
 +     */
 +    public CommentType.TemperatureDependence createCommentTypeTemperatureDependence() {
 +        return new CommentType.TemperatureDependence();
 +    }
 +
 +    /**
 +     * Create an instance of {@link CommentType.Link }
 +     * 
 +     */
 +    public CommentType.Link createCommentTypeLink() {
 +        return new CommentType.Link();
 +    }
 +
 +    /**
 +     * Create an instance of {@link CommentType.Disease }
 +     * 
 +     */
 +    public CommentType.Disease createCommentTypeDisease() {
 +        return new CommentType.Disease();
 +    }
 +
 +    /**
 +     * Create an instance of {@link CommentType.Conflict.Sequence }
 +     * 
 +     */
 +    public CommentType.Conflict.Sequence createCommentTypeConflictSequence() {
 +        return new CommentType.Conflict.Sequence();
 +    }
 +
 +    /**
 +     * Create an instance of {@link OrganismType.Lineage }
 +     * 
 +     */
 +    public OrganismType.Lineage createOrganismTypeLineage() {
 +        return new OrganismType.Lineage();
 +    }
 +
 +    /**
 +     * Create an instance of {@link ProteinType.RecommendedName }
 +     * 
 +     */
 +    public ProteinType.RecommendedName createProteinTypeRecommendedName() {
 +        return new ProteinType.RecommendedName();
 +    }
 +
 +    /**
 +     * Create an instance of {@link ProteinType.AlternativeName }
 +     * 
 +     */
 +    public ProteinType.AlternativeName createProteinTypeAlternativeName() {
 +        return new ProteinType.AlternativeName();
 +    }
 +
 +    /**
 +     * Create an instance of {@link ProteinType.SubmittedName }
 +     * 
 +     */
 +    public ProteinType.SubmittedName createProteinTypeSubmittedName() {
 +        return new ProteinType.SubmittedName();
 +    }
 +
 +    /**
 +     * Create an instance of {@link ProteinType.Domain }
 +     * 
 +     */
 +    public ProteinType.Domain createProteinTypeDomain() {
 +        return new ProteinType.Domain();
 +    }
 +
 +    /**
 +     * Create an instance of {@link ProteinType.Component }
 +     * 
 +     */
 +    public ProteinType.Component createProteinTypeComponent() {
 +        return new ProteinType.Component();
 +    }
 +
 +    /**
-      * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
++     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
 +     * 
-      * @param value
-      *     Java instance representing xml element's value.
-      * @return
-      *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
 +     */
 +    @XmlElementDecl(namespace = "http://uniprot.org/uniprot", name = "copyright")
 +    public JAXBElement<String> createCopyright(String value) {
 +        return new JAXBElement<String>(_Copyright_QNAME, String.class, null, value);
 +    }
  
  }
@@@ -1,11 -1,10 +1,11 @@@
  //
- // This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
- // See https://eclipse-ee4j.github.io/jaxb-ri 
+ // 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: 2022.02.07 at 04:44:21 PM GMT 
 -// 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 javax.xml.bind.annotation.XmlAccessType;
@@@ -18,29 -16,32 +18,29 @@@ import javax.xml.bind.annotation.XmlVal
  /**
   * Describes different types of source organism names.
   * 
-  * &lt;p&gt;Java class for organismNameType complex type.
 - * <p>
 - * Java class for organismNameType complex type.
++ * <p>Java class for organismNameType complex type.
   * 
-  * &lt;p&gt;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.
++ * <p>The following schema fragment specifies the expected content contained within this class.
   * 
-  * &lt;pre&gt;
-  * &amp;lt;complexType name="organismNameType"&amp;gt;
-  *   &amp;lt;simpleContent&amp;gt;
-  *     &amp;lt;extension base="&amp;lt;http://www.w3.org/2001/XMLSchema&amp;gt;string"&amp;gt;
-  *       &amp;lt;attribute name="type" use="required"&amp;gt;
-  *         &amp;lt;simpleType&amp;gt;
-  *           &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&amp;gt;
-  *             &amp;lt;enumeration value="common"/&amp;gt;
-  *             &amp;lt;enumeration value="full"/&amp;gt;
-  *             &amp;lt;enumeration value="scientific"/&amp;gt;
-  *             &amp;lt;enumeration value="synonym"/&amp;gt;
-  *             &amp;lt;enumeration value="abbreviation"/&amp;gt;
-  *           &amp;lt;/restriction&amp;gt;
-  *         &amp;lt;/simpleType&amp;gt;
-  *       &amp;lt;/attribute&amp;gt;
-  *     &amp;lt;/extension&amp;gt;
-  *   &amp;lt;/simpleContent&amp;gt;
-  * &amp;lt;/complexType&amp;gt;
-  * &lt;/pre&gt;
+  * <pre>
+  * &lt;complexType name="organismNameType">
+  *   &lt;simpleContent>
+  *     &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
+  *       &lt;attribute name="type" use="required">
+  *         &lt;simpleType>
+  *           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
+  *             &lt;enumeration value="common"/>
+  *             &lt;enumeration value="full"/>
+  *             &lt;enumeration value="scientific"/>
+  *             &lt;enumeration value="synonym"/>
+  *             &lt;enumeration value="abbreviation"/>
+  *           &lt;/restriction>
+  *         &lt;/simpleType>
+  *       &lt;/attribute>
+  *     &lt;/extension>
+  *   &lt;/simpleContent>
+  * &lt;/complexType>
+  * </pre>
   * 
   * 
   */
@@@ -1,11 -1,10 +1,11 @@@
  //
- // This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
- // See https://eclipse-ee4j.github.io/jaxb-ri 
+ // 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: 2022.02.07 at 04:44:21 PM GMT 
 -// 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;
@@@ -20,222 -18,238 +20,222 @@@ import javax.xml.bind.annotation.XmlTyp
  /**
   * Describes the source organism.
   * 
-  * &lt;p&gt;Java class for organismType complex type.
 - * <p>
 - * Java class for organismType complex type.
++ * <p>Java class for organismType complex type.
   * 
-  * &lt;p&gt;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.
++ * <p>The following schema fragment specifies the expected content contained within this class.
   * 
-  * &lt;pre&gt;
-  * &amp;lt;complexType name="organismType"&amp;gt;
-  *   &amp;lt;complexContent&amp;gt;
-  *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *       &amp;lt;sequence&amp;gt;
-  *         &amp;lt;element name="name" type="{http://uniprot.org/uniprot}organismNameType" maxOccurs="unbounded"/&amp;gt;
-  *         &amp;lt;element name="dbReference" type="{http://uniprot.org/uniprot}dbReferenceType" maxOccurs="unbounded"/&amp;gt;
-  *         &amp;lt;element name="lineage" minOccurs="0"&amp;gt;
-  *           &amp;lt;complexType&amp;gt;
-  *             &amp;lt;complexContent&amp;gt;
-  *               &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *                 &amp;lt;sequence&amp;gt;
-  *                   &amp;lt;element name="taxon" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded"/&amp;gt;
-  *                 &amp;lt;/sequence&amp;gt;
-  *               &amp;lt;/restriction&amp;gt;
-  *             &amp;lt;/complexContent&amp;gt;
-  *           &amp;lt;/complexType&amp;gt;
-  *         &amp;lt;/element&amp;gt;
-  *       &amp;lt;/sequence&amp;gt;
-  *       &amp;lt;attribute name="evidence" type="{http://uniprot.org/uniprot}intListType" /&amp;gt;
-  *     &amp;lt;/restriction&amp;gt;
-  *   &amp;lt;/complexContent&amp;gt;
-  * &amp;lt;/complexType&amp;gt;
-  * &lt;/pre&gt;
+  * <pre>
+  * &lt;complexType name="organismType">
+  *   &lt;complexContent>
+  *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+  *       &lt;sequence>
+  *         &lt;element name="name" type="{http://uniprot.org/uniprot}organismNameType" maxOccurs="unbounded"/>
+  *         &lt;element name="dbReference" type="{http://uniprot.org/uniprot}dbReferenceType" maxOccurs="unbounded"/>
+  *         &lt;element name="lineage" minOccurs="0">
+  *           &lt;complexType>
+  *             &lt;complexContent>
+  *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+  *                 &lt;sequence>
+  *                   &lt;element name="taxon" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded"/>
+  *                 &lt;/sequence>
+  *               &lt;/restriction>
+  *             &lt;/complexContent>
+  *           &lt;/complexType>
+  *         &lt;/element>
+  *       &lt;/sequence>
+  *       &lt;attribute name="evidence" type="{http://uniprot.org/uniprot}intListType" />
+  *     &lt;/restriction>
+  *   &lt;/complexContent>
+  * &lt;/complexType>
+  * </pre>
   * 
   * 
   */
  @XmlAccessorType(XmlAccessType.FIELD)
 -@XmlType(
 -  name = "organismType",
 -  propOrder =
 -  { "name", "dbReference", "lineage" })
 -public class OrganismType
 -{
 -
 -  @XmlElement(required = true)
 -  protected List<OrganismNameType> name;
 -
 -  @XmlElement(required = true)
 -  protected List<DbReferenceType> dbReference;
 -
 -  protected OrganismType.Lineage lineage;
 -
 -  @XmlAttribute(name = "evidence")
 -  protected List<Integer> evidence;
 -
 -  /**
 -   * Gets the value of the name 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 name property.
 -   * 
 -   * <p>
 -   * For example, to add a new item, do as follows:
 -   * 
 -   * <pre>
 -   * getName().add(newItem);
 -   * </pre>
 -   * 
 -   * 
 -   * <p>
 -   * Objects of the following type(s) are allowed in the list
 -   * {@link OrganismNameType }
 -   * 
 -   * 
 -   */
 -  public List<OrganismNameType> getName()
 -  {
 -    if (name == null)
 -    {
 -      name = new ArrayList<OrganismNameType>();
 +@XmlType(name = "organismType", propOrder = {
 +    "name",
 +    "dbReference",
 +    "lineage"
 +})
 +public class OrganismType {
 +
 +    @XmlElement(required = true)
 +    protected List<OrganismNameType> name;
 +    @XmlElement(required = true)
 +    protected List<DbReferenceType> dbReference;
 +    protected OrganismType.Lineage lineage;
 +    @XmlAttribute(name = "evidence")
 +    protected List<Integer> evidence;
 +
 +    /**
 +     * Gets the value of the name property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the name property.
++     * This is why there is not a <CODE>set</CODE> method for the name property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getName().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link OrganismNameType }
 +     * 
 +     * 
 +     */
 +    public List<OrganismNameType> getName() {
 +        if (name == null) {
 +            name = new ArrayList<OrganismNameType>();
 +        }
 +        return this.name;
      }
 -    return this.name;
 -  }
 -
 -  /**
 -   * Gets the value of the dbReference 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 dbReference property.
 -   * 
 -   * <p>
 -   * For example, to add a new item, do as follows:
 -   * 
 -   * <pre>
 -   * getDbReference().add(newItem);
 -   * </pre>
 -   * 
 -   * 
 -   * <p>
 -   * Objects of the following type(s) are allowed in the list
 -   * {@link DbReferenceType }
 -   * 
 -   * 
 -   */
 -  public List<DbReferenceType> getDbReference()
 -  {
 -    if (dbReference == null)
 -    {
 -      dbReference = new ArrayList<DbReferenceType>();
 +
 +    /**
 +     * Gets the value of the dbReference property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the dbReference property.
++     * This is why there is not a <CODE>set</CODE> method for the dbReference property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getDbReference().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link DbReferenceType }
 +     * 
 +     * 
 +     */
 +    public List<DbReferenceType> getDbReference() {
 +        if (dbReference == null) {
 +            dbReference = new ArrayList<DbReferenceType>();
 +        }
 +        return this.dbReference;
      }
 -    return this.dbReference;
 -  }
 -
 -  /**
 -   * Gets the value of the lineage property.
 -   * 
 -   * @return possible object is {@link OrganismType.Lineage }
 -   * 
 -   */
 -  public OrganismType.Lineage getLineage()
 -  {
 -    return lineage;
 -  }
 -
 -  /**
 -   * Sets the value of the lineage property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link OrganismType.Lineage }
 -   * 
 -   */
 -  public void setLineage(OrganismType.Lineage value)
 -  {
 -    this.lineage = value;
 -  }
 -
 -  /**
 -   * Gets the value of the evidence 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 evidence property.
 -   * 
 -   * <p>
 -   * For example, to add a new item, do as follows:
 -   * 
 -   * <pre>
 -   * getEvidence().add(newItem);
 -   * </pre>
 -   * 
 -   * 
 -   * <p>
 -   * Objects of the following type(s) are allowed in the list {@link Integer }
 -   * 
 -   * 
 -   */
 -  public List<Integer> getEvidence()
 -  {
 -    if (evidence == null)
 -    {
 -      evidence = new ArrayList<Integer>();
 +
 +    /**
 +     * Gets the value of the lineage property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link OrganismType.Lineage }
 +     *     
 +     */
 +    public OrganismType.Lineage getLineage() {
 +        return lineage;
      }
 -    return this.evidence;
 -  }
 -
 -  /**
 -   * <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="taxon" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded"/>
 -   *       &lt;/sequence>
 -   *     &lt;/restriction>
 -   *   &lt;/complexContent>
 -   * &lt;/complexType>
 -   * </pre>
 -   * 
 -   * 
 -   */
 -  @XmlAccessorType(XmlAccessType.FIELD)
 -  @XmlType(name = "", propOrder = { "taxon" })
 -  public static class Lineage
 -  {
  
 -    @XmlElement(required = true)
 -    protected List<String> taxon;
 +    /**
 +     * Sets the value of the lineage property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link OrganismType.Lineage }
 +     *     
 +     */
 +    public void setLineage(OrganismType.Lineage value) {
 +        this.lineage = value;
 +    }
  
      /**
 -     * Gets the value of the taxon property.
 +     * Gets the value of the evidence property.
       * 
-      * &lt;p&gt;
+      * <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 taxon 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 &lt;CODE&gt;set&lt;/CODE&gt; method for the evidence property.
++     * This is why there is not a <CODE>set</CODE> method for the evidence property.
       * 
-      * &lt;p&gt;
+      * <p>
       * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
 -     * 
+      * <pre>
 -     * getTaxon().add(newItem);
 +     *    getEvidence().add(newItem);
-      * &lt;/pre&gt;
+      * </pre>
       * 
       * 
-      * &lt;p&gt;
+      * <p>
 -     * Objects of the following type(s) are allowed in the list {@link String }
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link Integer }
       * 
       * 
       */
 -    public List<String> getTaxon()
 -    {
 -      if (taxon == null)
 -      {
 -        taxon = new ArrayList<String>();
 -      }
 -      return this.taxon;
 +    public List<Integer> getEvidence() {
 +        if (evidence == null) {
 +            evidence = new ArrayList<Integer>();
 +        }
 +        return this.evidence;
      }
  
 -  }
 +
 +    /**
-      * &lt;p&gt;Java class for anonymous complex type.
++     * <p>Java class for anonymous complex type.
 +     * 
-      * &lt;p&gt;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.
 +     * 
-      * &lt;pre&gt;
-      * &amp;lt;complexType&amp;gt;
-      *   &amp;lt;complexContent&amp;gt;
-      *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-      *       &amp;lt;sequence&amp;gt;
-      *         &amp;lt;element name="taxon" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded"/&amp;gt;
-      *       &amp;lt;/sequence&amp;gt;
-      *     &amp;lt;/restriction&amp;gt;
-      *   &amp;lt;/complexContent&amp;gt;
-      * &amp;lt;/complexType&amp;gt;
-      * &lt;/pre&gt;
++     * <pre>
++     * &lt;complexType>
++     *   &lt;complexContent>
++     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
++     *       &lt;sequence>
++     *         &lt;element name="taxon" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded"/>
++     *       &lt;/sequence>
++     *     &lt;/restriction>
++     *   &lt;/complexContent>
++     * &lt;/complexType>
++     * </pre>
 +     * 
 +     * 
 +     */
 +    @XmlAccessorType(XmlAccessType.FIELD)
 +    @XmlType(name = "", propOrder = {
 +        "taxon"
 +    })
 +    public static class Lineage {
 +
 +        @XmlElement(required = true)
 +        protected List<String> taxon;
 +
 +        /**
 +         * Gets the value of the taxon property.
 +         * 
-          * &lt;p&gt;
++         * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the taxon property.
++         * This is why there is not a <CODE>set</CODE> method for the taxon property.
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * For example, to add a new item, do as follows:
-          * &lt;pre&gt;
++         * <pre>
 +         *    getTaxon().add(newItem);
-          * &lt;/pre&gt;
++         * </pre>
 +         * 
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * Objects of the following type(s) are allowed in the list
 +         * {@link String }
 +         * 
 +         * 
 +         */
 +        public List<String> getTaxon() {
 +            if (taxon == null) {
 +                taxon = new ArrayList<String>();
 +            }
 +            return this.taxon;
 +        }
 +
 +    }
  
  }
@@@ -1,11 -1,10 +1,11 @@@
  //
- // This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
- // See https://eclipse-ee4j.github.io/jaxb-ri 
+ // 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: 2022.02.07 at 04:44:21 PM GMT 
 -// 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 javax.xml.bind.annotation.XmlAccessType;
@@@ -13,21 -12,23 +13,21 @@@ import javax.xml.bind.annotation.XmlAcc
  import javax.xml.bind.annotation.XmlAttribute;
  import javax.xml.bind.annotation.XmlType;
  
 +
  /**
-  * &lt;p&gt;Java class for personType complex type.
 - * <p>
 - * Java class for personType complex type.
++ * <p>Java class for personType complex type.
   * 
-  * &lt;p&gt;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.
++ * <p>The following schema fragment specifies the expected content contained within this class.
   * 
-  * &lt;pre&gt;
-  * &amp;lt;complexType name="personType"&amp;gt;
-  *   &amp;lt;complexContent&amp;gt;
-  *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *       &amp;lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *     &amp;lt;/restriction&amp;gt;
-  *   &amp;lt;/complexContent&amp;gt;
-  * &amp;lt;/complexType&amp;gt;
-  * &lt;/pre&gt;
+  * <pre>
+  * &lt;complexType name="personType">
+  *   &lt;complexContent>
+  *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+  *       &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+  *     &lt;/restriction>
+  *   &lt;/complexContent>
+  * &lt;/complexType>
+  * </pre>
   * 
   * 
   */
@@@ -1,11 -1,10 +1,11 @@@
  //
- // This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
- // See https://eclipse-ee4j.github.io/jaxb-ri 
+ // 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: 2022.02.07 at 04:44:21 PM GMT 
 -// 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;
@@@ -20,121 -18,125 +20,121 @@@ import javax.xml.bind.annotation.XmlTyp
  /**
   * Describes a physiological reaction.
   * 
-  * &lt;p&gt;Java class for physiologicalReactionType complex type.
 - * <p>
 - * Java class for physiologicalReactionType complex type.
++ * <p>Java class for physiologicalReactionType complex type.
   * 
-  * &lt;p&gt;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.
++ * <p>The following schema fragment specifies the expected content contained within this class.
   * 
-  * &lt;pre&gt;
-  * &amp;lt;complexType name="physiologicalReactionType"&amp;gt;
-  *   &amp;lt;complexContent&amp;gt;
-  *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *       &amp;lt;sequence&amp;gt;
-  *         &amp;lt;element name="dbReference" type="{http://uniprot.org/uniprot}dbReferenceType"/&amp;gt;
-  *       &amp;lt;/sequence&amp;gt;
-  *       &amp;lt;attribute name="direction" use="required"&amp;gt;
-  *         &amp;lt;simpleType&amp;gt;
-  *           &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&amp;gt;
-  *             &amp;lt;enumeration value="left-to-right"/&amp;gt;
-  *             &amp;lt;enumeration value="right-to-left"/&amp;gt;
-  *           &amp;lt;/restriction&amp;gt;
-  *         &amp;lt;/simpleType&amp;gt;
-  *       &amp;lt;/attribute&amp;gt;
-  *       &amp;lt;attribute name="evidence" type="{http://uniprot.org/uniprot}intListType" /&amp;gt;
-  *     &amp;lt;/restriction&amp;gt;
-  *   &amp;lt;/complexContent&amp;gt;
-  * &amp;lt;/complexType&amp;gt;
-  * &lt;/pre&gt;
+  * <pre>
+  * &lt;complexType name="physiologicalReactionType">
+  *   &lt;complexContent>
+  *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+  *       &lt;sequence>
+  *         &lt;element name="dbReference" type="{http://uniprot.org/uniprot}dbReferenceType"/>
+  *       &lt;/sequence>
+  *       &lt;attribute name="direction" use="required">
+  *         &lt;simpleType>
+  *           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
+  *             &lt;enumeration value="left-to-right"/>
+  *             &lt;enumeration value="right-to-left"/>
+  *           &lt;/restriction>
+  *         &lt;/simpleType>
+  *       &lt;/attribute>
+  *       &lt;attribute name="evidence" type="{http://uniprot.org/uniprot}intListType" />
+  *     &lt;/restriction>
+  *   &lt;/complexContent>
+  * &lt;/complexType>
+  * </pre>
   * 
   * 
   */
  @XmlAccessorType(XmlAccessType.FIELD)
 -@XmlType(name = "physiologicalReactionType", propOrder = { "dbReference" })
 -public class PhysiologicalReactionType
 -{
 -
 -  @XmlElement(required = true)
 -  protected DbReferenceType dbReference;
 -
 -  @XmlAttribute(name = "direction", required = true)
 -  protected String direction;
 +@XmlType(name = "physiologicalReactionType", propOrder = {
 +    "dbReference"
 +})
 +public class PhysiologicalReactionType {
  
 -  @XmlAttribute(name = "evidence")
 -  protected List<Integer> evidence;
 +    @XmlElement(required = true)
 +    protected DbReferenceType dbReference;
 +    @XmlAttribute(name = "direction", required = true)
 +    protected String direction;
 +    @XmlAttribute(name = "evidence")
 +    protected List<Integer> evidence;
  
 -  /**
 -   * Gets the value of the dbReference property.
 -   * 
 -   * @return possible object is {@link DbReferenceType }
 -   * 
 -   */
 -  public DbReferenceType getDbReference()
 -  {
 -    return dbReference;
 -  }
 +    /**
 +     * Gets the value of the dbReference property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link DbReferenceType }
 +     *     
 +     */
 +    public DbReferenceType getDbReference() {
 +        return dbReference;
 +    }
  
 -  /**
 -   * Sets the value of the dbReference property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link DbReferenceType }
 -   * 
 -   */
 -  public void setDbReference(DbReferenceType value)
 -  {
 -    this.dbReference = value;
 -  }
 +    /**
 +     * Sets the value of the dbReference property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link DbReferenceType }
 +     *     
 +     */
 +    public void setDbReference(DbReferenceType value) {
 +        this.dbReference = value;
 +    }
  
 -  /**
 -   * Gets the value of the direction property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getDirection()
 -  {
 -    return direction;
 -  }
 +    /**
 +     * Gets the value of the direction property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link String }
 +     *     
 +     */
 +    public String getDirection() {
 +        return direction;
 +    }
  
 -  /**
 -   * Sets the value of the direction property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setDirection(String value)
 -  {
 -    this.direction = value;
 -  }
 +    /**
 +     * Sets the value of the direction property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link String }
 +     *     
 +     */
 +    public void setDirection(String value) {
 +        this.direction = value;
 +    }
  
 -  /**
 -   * Gets the value of the evidence 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 evidence property.
 -   * 
 -   * <p>
 -   * For example, to add a new item, do as follows:
 -   * 
 -   * <pre>
 -   * getEvidence().add(newItem);
 -   * </pre>
 -   * 
 -   * 
 -   * <p>
 -   * Objects of the following type(s) are allowed in the list {@link Integer }
 -   * 
 -   * 
 -   */
 -  public List<Integer> getEvidence()
 -  {
 -    if (evidence == null)
 -    {
 -      evidence = new ArrayList<Integer>();
 +    /**
 +     * Gets the value of the evidence property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the evidence property.
++     * This is why there is not a <CODE>set</CODE> method for the evidence property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getEvidence().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link Integer }
 +     * 
 +     * 
 +     */
 +    public List<Integer> getEvidence() {
 +        if (evidence == null) {
 +            evidence = new ArrayList<Integer>();
 +        }
 +        return this.evidence;
      }
 -    return this.evidence;
 -  }
  
  }
@@@ -1,11 -1,10 +1,11 @@@
  //
- // This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
- // See https://eclipse-ee4j.github.io/jaxb-ri 
+ // 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: 2022.02.07 at 04:44:21 PM GMT 
 -// 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.math.BigInteger;
@@@ -17,127 -16,135 +17,127 @@@ import javax.xml.bind.annotation.XmlAtt
  import javax.xml.bind.annotation.XmlSchemaType;
  import javax.xml.bind.annotation.XmlType;
  
 +
  /**
-  * &lt;p&gt;Java class for positionType complex type.
 - * <p>
 - * Java class for positionType complex type.
++ * <p>Java class for positionType complex type.
   * 
-  * &lt;p&gt;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.
++ * <p>The following schema fragment specifies the expected content contained within this class.
   * 
-  * &lt;pre&gt;
-  * &amp;lt;complexType name="positionType"&amp;gt;
-  *   &amp;lt;complexContent&amp;gt;
-  *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *       &amp;lt;attribute name="position" type="{http://www.w3.org/2001/XMLSchema}unsignedLong" /&amp;gt;
-  *       &amp;lt;attribute name="status" default="certain"&amp;gt;
-  *         &amp;lt;simpleType&amp;gt;
-  *           &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&amp;gt;
-  *             &amp;lt;enumeration value="certain"/&amp;gt;
-  *             &amp;lt;enumeration value="uncertain"/&amp;gt;
-  *             &amp;lt;enumeration value="less than"/&amp;gt;
-  *             &amp;lt;enumeration value="greater than"/&amp;gt;
-  *             &amp;lt;enumeration value="unknown"/&amp;gt;
-  *           &amp;lt;/restriction&amp;gt;
-  *         &amp;lt;/simpleType&amp;gt;
-  *       &amp;lt;/attribute&amp;gt;
-  *       &amp;lt;attribute name="evidence" type="{http://uniprot.org/uniprot}intListType" /&amp;gt;
-  *     &amp;lt;/restriction&amp;gt;
-  *   &amp;lt;/complexContent&amp;gt;
-  * &amp;lt;/complexType&amp;gt;
-  * &lt;/pre&gt;
+  * <pre>
+  * &lt;complexType name="positionType">
+  *   &lt;complexContent>
+  *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+  *       &lt;attribute name="position" type="{http://www.w3.org/2001/XMLSchema}unsignedLong" />
+  *       &lt;attribute name="status" default="certain">
+  *         &lt;simpleType>
+  *           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
+  *             &lt;enumeration value="certain"/>
+  *             &lt;enumeration value="uncertain"/>
+  *             &lt;enumeration value="less than"/>
+  *             &lt;enumeration value="greater than"/>
+  *             &lt;enumeration value="unknown"/>
+  *           &lt;/restriction>
+  *         &lt;/simpleType>
+  *       &lt;/attribute>
+  *       &lt;attribute name="evidence" type="{http://uniprot.org/uniprot}intListType" />
+  *     &lt;/restriction>
+  *   &lt;/complexContent>
+  * &lt;/complexType>
+  * </pre>
   * 
   * 
   */
  @XmlAccessorType(XmlAccessType.FIELD)
  @XmlType(name = "positionType")
 -public class PositionType
 -{
 -
 -  @XmlAttribute(name = "position")
 -  @XmlSchemaType(name = "unsignedLong")
 -  protected BigInteger position;
 -
 -  @XmlAttribute(name = "status")
 -  protected String status;
 +public class PositionType {
  
 -  @XmlAttribute(name = "evidence")
 -  protected List<Integer> evidence;
 +    @XmlAttribute(name = "position")
 +    @XmlSchemaType(name = "unsignedLong")
 +    protected BigInteger position;
 +    @XmlAttribute(name = "status")
 +    protected String status;
 +    @XmlAttribute(name = "evidence")
 +    protected List<Integer> evidence;
  
 -  /**
 -   * Gets the value of the position property.
 -   * 
 -   * @return possible object is {@link BigInteger }
 -   * 
 -   */
 -  public BigInteger getPosition()
 -  {
 -    return position;
 -  }
 -
 -  /**
 -   * Sets the value of the position property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link BigInteger }
 -   * 
 -   */
 -  public void setPosition(BigInteger value)
 -  {
 -    this.position = value;
 -  }
 +    /**
 +     * Gets the value of the position property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link BigInteger }
 +     *     
 +     */
 +    public BigInteger getPosition() {
 +        return position;
 +    }
  
 -  /**
 -   * Gets the value of the status property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getStatus()
 -  {
 -    if (status == null)
 -    {
 -      return "certain";
 +    /**
 +     * Sets the value of the position property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link BigInteger }
 +     *     
 +     */
 +    public void setPosition(BigInteger value) {
 +        this.position = value;
      }
 -    else
 -    {
 -      return status;
 +
 +    /**
 +     * Gets the value of the status property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link String }
 +     *     
 +     */
 +    public String getStatus() {
 +        if (status == null) {
 +            return "certain";
 +        } else {
 +            return status;
 +        }
      }
 -  }
  
 -  /**
 -   * Sets the value of the status property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setStatus(String value)
 -  {
 -    this.status = value;
 -  }
 +    /**
 +     * Sets the value of the status property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link String }
 +     *     
 +     */
 +    public void setStatus(String value) {
 +        this.status = value;
 +    }
  
 -  /**
 -   * Gets the value of the evidence 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 evidence property.
 -   * 
 -   * <p>
 -   * For example, to add a new item, do as follows:
 -   * 
 -   * <pre>
 -   * getEvidence().add(newItem);
 -   * </pre>
 -   * 
 -   * 
 -   * <p>
 -   * Objects of the following type(s) are allowed in the list {@link Integer }
 -   * 
 -   * 
 -   */
 -  public List<Integer> getEvidence()
 -  {
 -    if (evidence == null)
 -    {
 -      evidence = new ArrayList<Integer>();
 +    /**
 +     * Gets the value of the evidence property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the evidence property.
++     * This is why there is not a <CODE>set</CODE> method for the evidence property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getEvidence().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link Integer }
 +     * 
 +     * 
 +     */
 +    public List<Integer> getEvidence() {
 +        if (evidence == null) {
 +            evidence = new ArrayList<Integer>();
 +        }
 +        return this.evidence;
      }
 -    return this.evidence;
 -  }
  
  }
@@@ -1,11 -1,10 +1,11 @@@
  //
- // This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
- // See https://eclipse-ee4j.github.io/jaxb-ri 
+ // 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: 2022.02.07 at 04:44:21 PM GMT 
 -// 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 javax.xml.bind.annotation.XmlAccessType;
@@@ -13,22 -12,24 +13,22 @@@ import javax.xml.bind.annotation.XmlAcc
  import javax.xml.bind.annotation.XmlAttribute;
  import javax.xml.bind.annotation.XmlType;
  
 +
  /**
-  * &lt;p&gt;Java class for propertyType complex type.
 - * <p>
 - * Java class for propertyType complex type.
++ * <p>Java class for propertyType complex type.
   * 
-  * &lt;p&gt;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.
++ * <p>The following schema fragment specifies the expected content contained within this class.
   * 
-  * &lt;pre&gt;
-  * &amp;lt;complexType name="propertyType"&amp;gt;
-  *   &amp;lt;complexContent&amp;gt;
-  *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *       &amp;lt;attribute name="type" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *       &amp;lt;attribute name="value" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *     &amp;lt;/restriction&amp;gt;
-  *   &amp;lt;/complexContent&amp;gt;
-  * &amp;lt;/complexType&amp;gt;
-  * &lt;/pre&gt;
+  * <pre>
+  * &lt;complexType name="propertyType">
+  *   &lt;complexContent>
+  *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+  *       &lt;attribute name="type" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+  *       &lt;attribute name="value" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+  *     &lt;/restriction>
+  *   &lt;/complexContent>
+  * &lt;/complexType>
+  * </pre>
   * 
   * 
   */
@@@ -1,11 -1,10 +1,11 @@@
  //
- // This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
- // See https://eclipse-ee4j.github.io/jaxb-ri 
+ // 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: 2022.02.07 at 04:44:21 PM GMT 
 -// 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 javax.xml.bind.annotation.XmlAccessType;
@@@ -13,34 -12,36 +13,34 @@@ import javax.xml.bind.annotation.XmlAcc
  import javax.xml.bind.annotation.XmlAttribute;
  import javax.xml.bind.annotation.XmlType;
  
 +
  /**
 - * Describes the evidence for the protein's existence. Equivalent to the flat
 - * file PE-line.
 + * Describes the evidence for the protein's existence.
 + *             Equivalent to the flat file PE-line.
   * 
-  * &lt;p&gt;Java class for proteinExistenceType complex type.
 - * <p>
 - * Java class for proteinExistenceType complex type.
++ * <p>Java class for proteinExistenceType complex type.
   * 
-  * &lt;p&gt;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.
++ * <p>The following schema fragment specifies the expected content contained within this class.
   * 
-  * &lt;pre&gt;
-  * &amp;lt;complexType name="proteinExistenceType"&amp;gt;
-  *   &amp;lt;complexContent&amp;gt;
-  *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *       &amp;lt;attribute name="type" use="required"&amp;gt;
-  *         &amp;lt;simpleType&amp;gt;
-  *           &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&amp;gt;
-  *             &amp;lt;enumeration value="evidence at protein level"/&amp;gt;
-  *             &amp;lt;enumeration value="evidence at transcript level"/&amp;gt;
-  *             &amp;lt;enumeration value="inferred from homology"/&amp;gt;
-  *             &amp;lt;enumeration value="predicted"/&amp;gt;
-  *             &amp;lt;enumeration value="uncertain"/&amp;gt;
-  *           &amp;lt;/restriction&amp;gt;
-  *         &amp;lt;/simpleType&amp;gt;
-  *       &amp;lt;/attribute&amp;gt;
-  *     &amp;lt;/restriction&amp;gt;
-  *   &amp;lt;/complexContent&amp;gt;
-  * &amp;lt;/complexType&amp;gt;
-  * &lt;/pre&gt;
+  * <pre>
+  * &lt;complexType name="proteinExistenceType">
+  *   &lt;complexContent>
+  *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+  *       &lt;attribute name="type" use="required">
+  *         &lt;simpleType>
+  *           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
+  *             &lt;enumeration value="evidence at protein level"/>
+  *             &lt;enumeration value="evidence at transcript level"/>
+  *             &lt;enumeration value="inferred from homology"/>
+  *             &lt;enumeration value="predicted"/>
+  *             &lt;enumeration value="uncertain"/>
+  *           &lt;/restriction>
+  *         &lt;/simpleType>
+  *       &lt;/attribute>
+  *     &lt;/restriction>
+  *   &lt;/complexContent>
+  * &lt;/complexType>
+  * </pre>
   * 
   * 
   */
@@@ -1,11 -1,10 +1,11 @@@
  //
- // This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
- // See https://eclipse-ee4j.github.io/jaxb-ri 
+ // 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: 2022.02.07 at 04:44:21 PM GMT 
 -// 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;
@@@ -15,44 -14,46 +15,44 @@@ import javax.xml.bind.annotation.XmlAcc
  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.
   * 
-  * &lt;p&gt;Java class for proteinType complex type.
 - * <p>
 - * Java class for proteinType complex type.
++ * <p>Java class for proteinType complex type.
   * 
-  * &lt;p&gt;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.
++ * <p>The following schema fragment specifies the expected content contained within this class.
   * 
-  * &lt;pre&gt;
-  * &amp;lt;complexType name="proteinType"&amp;gt;
-  *   &amp;lt;complexContent&amp;gt;
-  *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *       &amp;lt;sequence&amp;gt;
-  *         &amp;lt;group ref="{http://uniprot.org/uniprot}proteinNameGroup"/&amp;gt;
-  *         &amp;lt;element name="domain" maxOccurs="unbounded" minOccurs="0"&amp;gt;
-  *           &amp;lt;complexType&amp;gt;
-  *             &amp;lt;complexContent&amp;gt;
-  *               &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *                 &amp;lt;group ref="{http://uniprot.org/uniprot}proteinNameGroup"/&amp;gt;
-  *               &amp;lt;/restriction&amp;gt;
-  *             &amp;lt;/complexContent&amp;gt;
-  *           &amp;lt;/complexType&amp;gt;
-  *         &amp;lt;/element&amp;gt;
-  *         &amp;lt;element name="component" maxOccurs="unbounded" minOccurs="0"&amp;gt;
-  *           &amp;lt;complexType&amp;gt;
-  *             &amp;lt;complexContent&amp;gt;
-  *               &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *                 &amp;lt;group ref="{http://uniprot.org/uniprot}proteinNameGroup"/&amp;gt;
-  *               &amp;lt;/restriction&amp;gt;
-  *             &amp;lt;/complexContent&amp;gt;
-  *           &amp;lt;/complexType&amp;gt;
-  *         &amp;lt;/element&amp;gt;
-  *       &amp;lt;/sequence&amp;gt;
-  *     &amp;lt;/restriction&amp;gt;
-  *   &amp;lt;/complexContent&amp;gt;
-  * &amp;lt;/complexType&amp;gt;
-  * &lt;/pre&gt;
+  * <pre>
+  * &lt;complexType name="proteinType">
+  *   &lt;complexContent>
+  *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+  *       &lt;sequence>
+  *         &lt;group ref="{http://uniprot.org/uniprot}proteinNameGroup"/>
+  *         &lt;element name="domain" maxOccurs="unbounded" minOccurs="0">
+  *           &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>
+  *         &lt;/element>
+  *         &lt;element name="component" maxOccurs="unbounded" minOccurs="0">
+  *           &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>
+  *         &lt;/element>
+  *       &lt;/sequence>
+  *     &lt;/restriction>
+  *   &lt;/complexContent>
+  * &lt;/complexType>
+  * </pre>
   * 
   * 
   */
@@@ -107,20 -538,21 +107,20 @@@ public class ProteinType 
      /**
       * Gets the value of the alternativeName property.
       * 
-      * &lt;p&gt;
+      * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the alternativeName property.
++     * This is why there is not a <CODE>set</CODE> method for the alternativeName property.
       * 
-      * &lt;p&gt;
+      * <p>
       * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
 -     * 
+      * <pre>
 -     * getAlternativeName().add(newItem);
 +     *    getAlternativeName().add(newItem);
-      * &lt;/pre&gt;
+      * </pre>
       * 
       * 
-      * &lt;p&gt;
+      * <p>
       * Objects of the following type(s) are allowed in the list
       * {@link ProteinType.AlternativeName }
       * 
      /**
       * Gets the value of the submittedName property.
       * 
-      * &lt;p&gt;
+      * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the submittedName property.
++     * This is why there is not a <CODE>set</CODE> method for the submittedName property.
       * 
-      * &lt;p&gt;
+      * <p>
       * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
 -     * 
+      * <pre>
 -     * getSubmittedName().add(newItem);
 +     *    getSubmittedName().add(newItem);
-      * &lt;/pre&gt;
+      * </pre>
       * 
       * 
-      * &lt;p&gt;
+      * <p>
       * Objects of the following type(s) are allowed in the list
       * {@link ProteinType.SubmittedName }
       * 
      /**
       * Gets the value of the cdAntigenName property.
       * 
-      * &lt;p&gt;
+      * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the cdAntigenName property.
++     * This is why there is not a <CODE>set</CODE> method for the cdAntigenName property.
       * 
-      * &lt;p&gt;
+      * <p>
       * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
 -     * 
+      * <pre>
 -     * getCdAntigenName().add(newItem);
 +     *    getCdAntigenName().add(newItem);
-      * &lt;/pre&gt;
+      * </pre>
       * 
       * 
-      * &lt;p&gt;
+      * <p>
       * Objects of the following type(s) are allowed in the list
       * {@link EvidencedStringType }
       * 
      /**
       * Gets the value of the innName property.
       * 
-      * &lt;p&gt;
+      * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the innName property.
++     * This is why there is not a <CODE>set</CODE> method for the innName property.
       * 
-      * &lt;p&gt;
+      * <p>
       * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
 -     * 
+      * <pre>
 -     * getInnName().add(newItem);
 +     *    getInnName().add(newItem);
-      * &lt;/pre&gt;
+      * </pre>
       * 
       * 
-      * &lt;p&gt;
+      * <p>
       * Objects of the following type(s) are allowed in the list
       * {@link EvidencedStringType }
       * 
      }
  
      /**
 -     * 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.
       * 
-      * &lt;p&gt;
+      * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the domain property.
++     * This is why there is not a <CODE>set</CODE> method for the domain property.
       * 
-      * &lt;p&gt;
+      * <p>
       * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
 -     * 
+      * <pre>
 -     * getAlternativeName().add(newItem);
 +     *    getDomain().add(newItem);
-      * &lt;/pre&gt;
+      * </pre>
       * 
       * 
-      * &lt;p&gt;
+      * <p>
       * Objects of the following type(s) are allowed in the list
 -     * {@link ProteinType.AlternativeName }
 +     * {@link ProteinType.Domain }
       * 
       * 
       */
      }
  
      /**
 -     * Gets the value of the submittedName property.
 +     * Gets the value of the component property.
       * 
-      * &lt;p&gt;
+      * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the component property.
++     * This is why there is not a <CODE>set</CODE> method for the component property.
       * 
-      * &lt;p&gt;
+      * <p>
       * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
 -     * 
+      * <pre>
 -     * getSubmittedName().add(newItem);
 +     *    getComponent().add(newItem);
-      * &lt;/pre&gt;
+      * </pre>
       * 
       * 
-      * &lt;p&gt;
+      * <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;
 -    }
  
      /**
-      * &lt;p&gt;Java class for anonymous complex type.
 -     * Sets the value of the biotechName property.
++     * <p>Java class for anonymous complex type.
       * 
-      * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
 -     * @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.
       * 
-      * &lt;pre&gt;
-      * &amp;lt;complexType&amp;gt;
-      *   &amp;lt;complexContent&amp;gt;
-      *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-      *       &amp;lt;sequence&amp;gt;
-      *         &amp;lt;element name="fullName" type="{http://uniprot.org/uniprot}evidencedStringType" minOccurs="0"/&amp;gt;
-      *         &amp;lt;element name="shortName" type="{http://uniprot.org/uniprot}evidencedStringType" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
-      *         &amp;lt;element name="ecNumber" type="{http://uniprot.org/uniprot}evidencedStringType" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
-      *       &amp;lt;/sequence&amp;gt;
-      *     &amp;lt;/restriction&amp;gt;
-      *   &amp;lt;/complexContent&amp;gt;
-      * &amp;lt;/complexType&amp;gt;
-      * &lt;/pre&gt;
+      * <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.
 +         * 
-          * &lt;p&gt;
++         * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the shortName property.
++         * This is why there is not a <CODE>set</CODE> method for the shortName property.
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * For example, to add a new item, do as follows:
-          * &lt;pre&gt;
++         * <pre>
 +         *    getShortName().add(newItem);
-          * &lt;/pre&gt;
++         * </pre>
 +         * 
 +         * 
-          * &lt;p&gt;
++         * <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.
 +         * 
-          * &lt;p&gt;
++         * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the ecNumber property.
++         * This is why there is not a <CODE>set</CODE> method for the ecNumber property.
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * For example, to add a new item, do as follows:
-          * &lt;pre&gt;
++         * <pre>
 +         *    getEcNumber().add(newItem);
-          * &lt;/pre&gt;
++         * </pre>
 +         * 
 +         * 
-          * &lt;p&gt;
++         * <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;
 +        }
 +
      }
  
 +
      /**
-      * &lt;p&gt;Java class for anonymous complex type.
 -     * Gets the value of the innName property.
++     * <p>Java class for anonymous complex type.
       * 
-      * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
 -     * <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.
       * 
-      * &lt;pre&gt;
-      * &amp;lt;complexType&amp;gt;
-      *   &amp;lt;complexContent&amp;gt;
-      *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-      *       &amp;lt;group ref="{http://uniprot.org/uniprot}proteinNameGroup"/&amp;gt;
-      *     &amp;lt;/restriction&amp;gt;
-      *   &amp;lt;/complexContent&amp;gt;
-      * &amp;lt;/complexType&amp;gt;
-      * &lt;/pre&gt;
+      * <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.
 +         * 
-          * &lt;p&gt;
++         * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the alternativeName property.
++         * This is why there is not a <CODE>set</CODE> method for the alternativeName property.
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * For example, to add a new item, do as follows:
-          * &lt;pre&gt;
++         * <pre>
 +         *    getAlternativeName().add(newItem);
-          * &lt;/pre&gt;
++         * </pre>
 +         * 
 +         * 
-          * &lt;p&gt;
++         * <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.
 +         * 
-          * &lt;p&gt;
++         * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the submittedName property.
++         * This is why there is not a <CODE>set</CODE> method for the submittedName property.
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * For example, to add a new item, do as follows:
-          * &lt;pre&gt;
++         * <pre>
 +         *    getSubmittedName().add(newItem);
-          * &lt;/pre&gt;
++         * </pre>
 +         * 
 +         * 
-          * &lt;p&gt;
++         * <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.
 +         * 
-          * &lt;p&gt;
++         * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the cdAntigenName property.
++         * This is why there is not a <CODE>set</CODE> method for the cdAntigenName property.
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * For example, to add a new item, do as follows:
-          * &lt;pre&gt;
++         * <pre>
 +         *    getCdAntigenName().add(newItem);
-          * &lt;/pre&gt;
++         * </pre>
 +         * 
 +         * 
-          * &lt;p&gt;
++         * <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.
 +         * 
-          * &lt;p&gt;
++         * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the innName property.
++         * This is why there is not a <CODE>set</CODE> method for the innName property.
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * For example, to add a new item, do as follows:
-          * &lt;pre&gt;
++         * <pre>
 +         *    getInnName().add(newItem);
-          * &lt;/pre&gt;
++         * </pre>
 +         * 
 +         * 
-          * &lt;p&gt;
++         * <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;
 -    }
  
      /**
-      * &lt;p&gt;Java class for anonymous complex type.
 -     * Gets the value of the shortName property.
++     * <p>Java class for anonymous complex type.
       * 
-      * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
 -     * <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.
       * 
-      * &lt;pre&gt;
-      * &amp;lt;complexType&amp;gt;
-      *   &amp;lt;complexContent&amp;gt;
-      *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-      *       &amp;lt;group ref="{http://uniprot.org/uniprot}proteinNameGroup"/&amp;gt;
-      *     &amp;lt;/restriction&amp;gt;
-      *   &amp;lt;/complexContent&amp;gt;
-      * &amp;lt;/complexType&amp;gt;
-      * &lt;/pre&gt;
+      * <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.
 +         * 
-          * &lt;p&gt;
++         * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the alternativeName property.
++         * This is why there is not a <CODE>set</CODE> method for the alternativeName property.
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * For example, to add a new item, do as follows:
-          * &lt;pre&gt;
++         * <pre>
 +         *    getAlternativeName().add(newItem);
-          * &lt;/pre&gt;
++         * </pre>
 +         * 
 +         * 
-          * &lt;p&gt;
++         * <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.
 +         * 
-          * &lt;p&gt;
++         * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the submittedName property.
++         * This is why there is not a <CODE>set</CODE> method for the submittedName property.
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * For example, to add a new item, do as follows:
-          * &lt;pre&gt;
++         * <pre>
 +         *    getSubmittedName().add(newItem);
-          * &lt;/pre&gt;
++         * </pre>
 +         * 
 +         * 
-          * &lt;p&gt;
++         * <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.
 +         * 
-          * &lt;p&gt;
++         * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the cdAntigenName property.
++         * This is why there is not a <CODE>set</CODE> method for the cdAntigenName property.
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * For example, to add a new item, do as follows:
-          * &lt;pre&gt;
++         * <pre>
 +         *    getCdAntigenName().add(newItem);
-          * &lt;/pre&gt;
++         * </pre>
 +         * 
 +         * 
-          * &lt;p&gt;
++         * <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.
 +         * 
-          * &lt;p&gt;
++         * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the innName property.
++         * This is why there is not a <CODE>set</CODE> method for the innName property.
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * For example, to add a new item, do as follows:
-          * &lt;pre&gt;
++         * <pre>
 +         *    getInnName().add(newItem);
-          * &lt;/pre&gt;
++         * </pre>
 +         * 
 +         * 
-          * &lt;p&gt;
++         * <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;
 +        }
 +
      }
  
 +
      /**
-      * &lt;p&gt;Java class for anonymous complex type.
 -     * 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.
       * 
-      * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
 -     * <p>
 -     * For example, to add a new item, do as follows:
++     * <p>The following schema fragment specifies the expected content contained within this class.
       * 
-      * &lt;pre&gt;
-      * &amp;lt;complexType&amp;gt;
-      *   &amp;lt;complexContent&amp;gt;
-      *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-      *       &amp;lt;sequence&amp;gt;
-      *         &amp;lt;element name="fullName" type="{http://uniprot.org/uniprot}evidencedStringType"/&amp;gt;
-      *         &amp;lt;element name="shortName" type="{http://uniprot.org/uniprot}evidencedStringType" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
-      *         &amp;lt;element name="ecNumber" type="{http://uniprot.org/uniprot}evidencedStringType" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
-      *       &amp;lt;/sequence&amp;gt;
-      *     &amp;lt;/restriction&amp;gt;
-      *   &amp;lt;/complexContent&amp;gt;
-      * &amp;lt;/complexType&amp;gt;
-      * &lt;/pre&gt;
+      * <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.
 +         * 
-          * &lt;p&gt;
++         * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the shortName property.
++         * This is why there is not a <CODE>set</CODE> method for the shortName property.
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * For example, to add a new item, do as follows:
-          * &lt;pre&gt;
++         * <pre>
 +         *    getShortName().add(newItem);
-          * &lt;/pre&gt;
++         * </pre>
 +         * 
 +         * 
-          * &lt;p&gt;
++         * <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.
 +         * 
-          * &lt;p&gt;
++         * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the ecNumber property.
++         * This is why there is not a <CODE>set</CODE> method for the ecNumber property.
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * For example, to add a new item, do as follows:
-          * &lt;pre&gt;
++         * <pre>
 +         *    getEcNumber().add(newItem);
-          * &lt;/pre&gt;
++         * </pre>
 +         * 
 +         * 
-          * &lt;p&gt;
++         * <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;
 -    }
  
      /**
-      * &lt;p&gt;Java class for anonymous complex type.
 -     * Gets the value of the ecNumber property.
++     * <p>Java class for anonymous complex type.
       * 
-      * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
 -     * <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.
       * 
-      * &lt;pre&gt;
-      * &amp;lt;complexType&amp;gt;
-      *   &amp;lt;complexContent&amp;gt;
-      *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-      *       &amp;lt;sequence&amp;gt;
-      *         &amp;lt;element name="fullName" type="{http://uniprot.org/uniprot}evidencedStringType"/&amp;gt;
-      *         &amp;lt;element name="ecNumber" type="{http://uniprot.org/uniprot}evidencedStringType" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
-      *       &amp;lt;/sequence&amp;gt;
-      *     &amp;lt;/restriction&amp;gt;
-      *   &amp;lt;/complexContent&amp;gt;
-      * &amp;lt;/complexType&amp;gt;
-      * &lt;/pre&gt;
+      * <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.
 +         * 
-          * &lt;p&gt;
++         * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the ecNumber property.
++         * This is why there is not a <CODE>set</CODE> method for the ecNumber property.
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * For example, to add a new item, do as follows:
-          * &lt;pre&gt;
++         * <pre>
 +         *    getEcNumber().add(newItem);
-          * &lt;/pre&gt;
++         * </pre>
 +         * 
 +         * 
-          * &lt;p&gt;
++         * <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;
 +        }
  
 -  }
 +    }
  
  }
@@@ -1,11 -1,10 +1,11 @@@
  //
- // This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
- // See https://eclipse-ee4j.github.io/jaxb-ri 
+ // 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: 2022.02.07 at 04:44:21 PM GMT 
 -// 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;
@@@ -20,120 -18,127 +20,120 @@@ import javax.xml.bind.annotation.XmlTyp
  /**
   * Describes a chemical reaction.
   * 
-  * &lt;p&gt;Java class for reactionType complex type.
 - * <p>
 - * Java class for reactionType complex type.
++ * <p>Java class for reactionType complex type.
   * 
-  * &lt;p&gt;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.
++ * <p>The following schema fragment specifies the expected content contained within this class.
   * 
-  * &lt;pre&gt;
-  * &amp;lt;complexType name="reactionType"&amp;gt;
-  *   &amp;lt;complexContent&amp;gt;
-  *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *       &amp;lt;sequence&amp;gt;
-  *         &amp;lt;element name="text" type="{http://www.w3.org/2001/XMLSchema}string"/&amp;gt;
-  *         &amp;lt;element name="dbReference" type="{http://uniprot.org/uniprot}dbReferenceType" maxOccurs="unbounded"/&amp;gt;
-  *       &amp;lt;/sequence&amp;gt;
-  *       &amp;lt;attribute name="evidence" type="{http://uniprot.org/uniprot}intListType" /&amp;gt;
-  *     &amp;lt;/restriction&amp;gt;
-  *   &amp;lt;/complexContent&amp;gt;
-  * &amp;lt;/complexType&amp;gt;
-  * &lt;/pre&gt;
+  * <pre>
+  * &lt;complexType name="reactionType">
+  *   &lt;complexContent>
+  *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+  *       &lt;sequence>
+  *         &lt;element name="text" type="{http://www.w3.org/2001/XMLSchema}string"/>
+  *         &lt;element name="dbReference" type="{http://uniprot.org/uniprot}dbReferenceType" maxOccurs="unbounded"/>
+  *       &lt;/sequence>
+  *       &lt;attribute name="evidence" type="{http://uniprot.org/uniprot}intListType" />
+  *     &lt;/restriction>
+  *   &lt;/complexContent>
+  * &lt;/complexType>
+  * </pre>
   * 
   * 
   */
  @XmlAccessorType(XmlAccessType.FIELD)
 -@XmlType(name = "reactionType", propOrder = { "text", "dbReference" })
 -public class ReactionType
 -{
 -
 -  @XmlElement(required = true)
 -  protected String text;
 +@XmlType(name = "reactionType", propOrder = {
 +    "text",
 +    "dbReference"
 +})
 +public class ReactionType {
  
 -  @XmlElement(required = true)
 -  protected List<DbReferenceType> dbReference;
 +    @XmlElement(required = true)
 +    protected String text;
 +    @XmlElement(required = true)
 +    protected List<DbReferenceType> dbReference;
 +    @XmlAttribute(name = "evidence")
 +    protected List<Integer> evidence;
  
 -  @XmlAttribute(name = "evidence")
 -  protected List<Integer> evidence;
 -
 -  /**
 -   * Gets the value of the text property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getText()
 -  {
 -    return text;
 -  }
 +    /**
 +     * Gets the value of the text property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link String }
 +     *     
 +     */
 +    public String getText() {
 +        return text;
 +    }
  
 -  /**
 -   * Sets the value of the text property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setText(String value)
 -  {
 -    this.text = value;
 -  }
 +    /**
 +     * Sets the value of the text property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link String }
 +     *     
 +     */
 +    public void setText(String value) {
 +        this.text = value;
 +    }
  
 -  /**
 -   * Gets the value of the dbReference 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 dbReference property.
 -   * 
 -   * <p>
 -   * For example, to add a new item, do as follows:
 -   * 
 -   * <pre>
 -   * getDbReference().add(newItem);
 -   * </pre>
 -   * 
 -   * 
 -   * <p>
 -   * Objects of the following type(s) are allowed in the list
 -   * {@link DbReferenceType }
 -   * 
 -   * 
 -   */
 -  public List<DbReferenceType> getDbReference()
 -  {
 -    if (dbReference == null)
 -    {
 -      dbReference = new ArrayList<DbReferenceType>();
 +    /**
 +     * Gets the value of the dbReference property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the dbReference property.
++     * This is why there is not a <CODE>set</CODE> method for the dbReference property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getDbReference().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link DbReferenceType }
 +     * 
 +     * 
 +     */
 +    public List<DbReferenceType> getDbReference() {
 +        if (dbReference == null) {
 +            dbReference = new ArrayList<DbReferenceType>();
 +        }
 +        return this.dbReference;
      }
 -    return this.dbReference;
 -  }
  
 -  /**
 -   * Gets the value of the evidence 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 evidence property.
 -   * 
 -   * <p>
 -   * For example, to add a new item, do as follows:
 -   * 
 -   * <pre>
 -   * getEvidence().add(newItem);
 -   * </pre>
 -   * 
 -   * 
 -   * <p>
 -   * Objects of the following type(s) are allowed in the list {@link Integer }
 -   * 
 -   * 
 -   */
 -  public List<Integer> getEvidence()
 -  {
 -    if (evidence == null)
 -    {
 -      evidence = new ArrayList<Integer>();
 +    /**
 +     * Gets the value of the evidence property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the evidence property.
++     * This is why there is not a <CODE>set</CODE> method for the evidence property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getEvidence().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link Integer }
 +     * 
 +     * 
 +     */
 +    public List<Integer> getEvidence() {
 +        if (evidence == null) {
 +            evidence = new ArrayList<Integer>();
 +        }
 +        return this.evidence;
      }
 -    return this.evidence;
 -  }
  
  }
@@@ -1,11 -1,10 +1,11 @@@
  //
- // This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
- // See https://eclipse-ee4j.github.io/jaxb-ri 
+ // 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: 2022.02.07 at 04:44:21 PM GMT 
 -// 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;
@@@ -16,178 -15,185 +16,178 @@@ import javax.xml.bind.annotation.XmlAtt
  import javax.xml.bind.annotation.XmlElement;
  import javax.xml.bind.annotation.XmlType;
  
 +
  /**
 - * Describes a citation and a summary of its content. Equivalent to the flat
 - * file RN-, RP-, RC-, RX-, RG-, RA-, RT- and RL-lines.
 + * Describes a citation and a summary of its content.
 + *             Equivalent to the flat file RN-, RP-, RC-, RX-, RG-, RA-, RT- and RL-lines.
   * 
-  * &lt;p&gt;Java class for referenceType complex type.
 - * <p>
 - * Java class for referenceType complex type.
++ * <p>Java class for referenceType complex type.
   * 
-  * &lt;p&gt;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.
++ * <p>The following schema fragment specifies the expected content contained within this class.
   * 
-  * &lt;pre&gt;
-  * &amp;lt;complexType name="referenceType"&amp;gt;
-  *   &amp;lt;complexContent&amp;gt;
-  *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *       &amp;lt;sequence&amp;gt;
-  *         &amp;lt;element name="citation" type="{http://uniprot.org/uniprot}citationType"/&amp;gt;
-  *         &amp;lt;group ref="{http://uniprot.org/uniprot}sptrCitationGroup"/&amp;gt;
-  *       &amp;lt;/sequence&amp;gt;
-  *       &amp;lt;attribute name="evidence" type="{http://uniprot.org/uniprot}intListType" /&amp;gt;
-  *       &amp;lt;attribute name="key" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *     &amp;lt;/restriction&amp;gt;
-  *   &amp;lt;/complexContent&amp;gt;
-  * &amp;lt;/complexType&amp;gt;
-  * &lt;/pre&gt;
+  * <pre>
+  * &lt;complexType name="referenceType">
+  *   &lt;complexContent>
+  *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+  *       &lt;sequence>
+  *         &lt;element name="citation" type="{http://uniprot.org/uniprot}citationType"/>
+  *         &lt;group ref="{http://uniprot.org/uniprot}sptrCitationGroup"/>
+  *       &lt;/sequence>
+  *       &lt;attribute name="evidence" type="{http://uniprot.org/uniprot}intListType" />
+  *       &lt;attribute name="key" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+  *     &lt;/restriction>
+  *   &lt;/complexContent>
+  * &lt;/complexType>
+  * </pre>
   * 
   * 
   */
  @XmlAccessorType(XmlAccessType.FIELD)
 -@XmlType(
 -  name = "referenceType",
 -  propOrder =
 -  { "citation", "scope", "source" })
 -public class ReferenceType
 -{
 -
 -  @XmlElement(required = true)
 -  protected CitationType citation;
 -
 -  @XmlElement(required = true)
 -  protected List<String> scope;
 -
 -  protected SourceDataType source;
 -
 -  @XmlAttribute(name = "evidence")
 -  protected List<Integer> evidence;
 -
 -  @XmlAttribute(name = "key", required = true)
 -  protected String key;
 -
 -  /**
 -   * Gets the value of the citation property.
 -   * 
 -   * @return possible object is {@link CitationType }
 -   * 
 -   */
 -  public CitationType getCitation()
 -  {
 -    return citation;
 -  }
 +@XmlType(name = "referenceType", propOrder = {
 +    "citation",
 +    "scope",
 +    "source"
 +})
 +public class ReferenceType {
 +
 +    @XmlElement(required = true)
 +    protected CitationType citation;
 +    @XmlElement(required = true)
 +    protected List<String> scope;
 +    protected SourceDataType source;
 +    @XmlAttribute(name = "evidence")
 +    protected List<Integer> evidence;
 +    @XmlAttribute(name = "key", required = true)
 +    protected String key;
 +
 +    /**
 +     * Gets the value of the citation property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link CitationType }
 +     *     
 +     */
 +    public CitationType getCitation() {
 +        return citation;
 +    }
  
 -  /**
 -   * Sets the value of the citation property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link CitationType }
 -   * 
 -   */
 -  public void setCitation(CitationType value)
 -  {
 -    this.citation = value;
 -  }
 +    /**
 +     * Sets the value of the citation property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link CitationType }
 +     *     
 +     */
 +    public void setCitation(CitationType value) {
 +        this.citation = value;
 +    }
  
 -  /**
 -   * Gets the value of the scope 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 scope property.
 -   * 
 -   * <p>
 -   * For example, to add a new item, do as follows:
 -   * 
 -   * <pre>
 -   * getScope().add(newItem);
 -   * </pre>
 -   * 
 -   * 
 -   * <p>
 -   * Objects of the following type(s) are allowed in the list {@link String }
 -   * 
 -   * 
 -   */
 -  public List<String> getScope()
 -  {
 -    if (scope == null)
 -    {
 -      scope = new ArrayList<String>();
 +    /**
 +     * Gets the value of the scope property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the scope property.
++     * This is why there is not a <CODE>set</CODE> method for the scope property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getScope().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link String }
 +     * 
 +     * 
 +     */
 +    public List<String> getScope() {
 +        if (scope == null) {
 +            scope = new ArrayList<String>();
 +        }
 +        return this.scope;
      }
 -    return this.scope;
 -  }
  
 -  /**
 -   * Gets the value of the source property.
 -   * 
 -   * @return possible object is {@link SourceDataType }
 -   * 
 -   */
 -  public SourceDataType getSource()
 -  {
 -    return source;
 -  }
 +    /**
 +     * Gets the value of the source property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link SourceDataType }
 +     *     
 +     */
 +    public SourceDataType getSource() {
 +        return source;
 +    }
  
 -  /**
 -   * Sets the value of the source property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link SourceDataType }
 -   * 
 -   */
 -  public void setSource(SourceDataType value)
 -  {
 -    this.source = value;
 -  }
 +    /**
 +     * Sets the value of the source property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link SourceDataType }
 +     *     
 +     */
 +    public void setSource(SourceDataType value) {
 +        this.source = value;
 +    }
  
 -  /**
 -   * Gets the value of the evidence 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 evidence property.
 -   * 
 -   * <p>
 -   * For example, to add a new item, do as follows:
 -   * 
 -   * <pre>
 -   * getEvidence().add(newItem);
 -   * </pre>
 -   * 
 -   * 
 -   * <p>
 -   * Objects of the following type(s) are allowed in the list {@link Integer }
 -   * 
 -   * 
 -   */
 -  public List<Integer> getEvidence()
 -  {
 -    if (evidence == null)
 -    {
 -      evidence = new ArrayList<Integer>();
 +    /**
 +     * Gets the value of the evidence property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the evidence property.
++     * This is why there is not a <CODE>set</CODE> method for the evidence property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getEvidence().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link Integer }
 +     * 
 +     * 
 +     */
 +    public List<Integer> getEvidence() {
 +        if (evidence == null) {
 +            evidence = new ArrayList<Integer>();
 +        }
 +        return this.evidence;
      }
 -    return this.evidence;
 -  }
  
 -  /**
 -   * Gets the value of the key property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getKey()
 -  {
 -    return key;
 -  }
 +    /**
 +     * Gets the value of the key property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link String }
 +     *     
 +     */
 +    public String getKey() {
 +        return key;
 +    }
  
 -  /**
 -   * Sets the value of the key property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setKey(String value)
 -  {
 -    this.key = value;
 -  }
 +    /**
 +     * Sets the value of the key property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link String }
 +     *     
 +     */
 +    public void setKey(String value) {
 +        this.key = value;
 +    }
  
  }
@@@ -1,11 -1,10 +1,11 @@@
  //
- // This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
- // See https://eclipse-ee4j.github.io/jaxb-ri 
+ // 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: 2022.02.07 at 04:44:21 PM GMT 
 -// 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 javax.xml.bind.annotation.XmlAccessType;
@@@ -16,34 -15,36 +16,34 @@@ import javax.xml.bind.annotation.XmlTyp
  import javax.xml.bind.annotation.XmlValue;
  import javax.xml.datatype.XMLGregorianCalendar;
  
 +
  /**
-  * &lt;p&gt;Java class for sequenceType complex type.
 - * <p>
 - * Java class for sequenceType complex type.
++ * <p>Java class for sequenceType complex type.
   * 
-  * &lt;p&gt;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.
++ * <p>The following schema fragment specifies the expected content contained within this class.
   * 
-  * &lt;pre&gt;
-  * &amp;lt;complexType name="sequenceType"&amp;gt;
-  *   &amp;lt;simpleContent&amp;gt;
-  *     &amp;lt;extension base="&amp;lt;http://www.w3.org/2001/XMLSchema&amp;gt;string"&amp;gt;
-  *       &amp;lt;attribute name="length" use="required" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-  *       &amp;lt;attribute name="mass" use="required" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-  *       &amp;lt;attribute name="checksum" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&amp;gt;
-  *       &amp;lt;attribute name="modified" use="required" type="{http://www.w3.org/2001/XMLSchema}date" /&amp;gt;
-  *       &amp;lt;attribute name="version" use="required" type="{http://www.w3.org/2001/XMLSchema}int" /&amp;gt;
-  *       &amp;lt;attribute name="precursor" type="{http://www.w3.org/2001/XMLSchema}boolean" /&amp;gt;
-  *       &amp;lt;attribute name="fragment"&amp;gt;
-  *         &amp;lt;simpleType&amp;gt;
-  *           &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&amp;gt;
-  *             &amp;lt;enumeration value="single"/&amp;gt;
-  *             &amp;lt;enumeration value="multiple"/&amp;gt;
-  *           &amp;lt;/restriction&amp;gt;
-  *         &amp;lt;/simpleType&amp;gt;
-  *       &amp;lt;/attribute&amp;gt;
-  *     &amp;lt;/extension&amp;gt;
-  *   &amp;lt;/simpleContent&amp;gt;
-  * &amp;lt;/complexType&amp;gt;
-  * &lt;/pre&gt;
+  * <pre>
+  * &lt;complexType name="sequenceType">
+  *   &lt;simpleContent>
+  *     &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
+  *       &lt;attribute name="length" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
+  *       &lt;attribute name="mass" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
+  *       &lt;attribute name="checksum" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+  *       &lt;attribute name="modified" use="required" type="{http://www.w3.org/2001/XMLSchema}date" />
+  *       &lt;attribute name="version" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
+  *       &lt;attribute name="precursor" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+  *       &lt;attribute name="fragment">
+  *         &lt;simpleType>
+  *           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
+  *             &lt;enumeration value="single"/>
+  *             &lt;enumeration value="multiple"/>
+  *           &lt;/restriction>
+  *         &lt;/simpleType>
+  *       &lt;/attribute>
+  *     &lt;/extension>
+  *   &lt;/simpleContent>
+  * &lt;/complexType>
+  * </pre>
   * 
   * 
   */
@@@ -1,11 -1,10 +1,11 @@@
  //
- // This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
- // See https://eclipse-ee4j.github.io/jaxb-ri 
+ // 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: 2022.02.07 at 04:44:21 PM GMT 
 -// 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;
@@@ -18,444 -17,462 +18,444 @@@ import javax.xml.bind.annotation.XmlEle
  import javax.xml.bind.annotation.XmlType;
  import javax.xml.bind.annotation.XmlValue;
  
 +
  /**
 - * Describes the source of the sequence according to the citation. Equivalent to
 - * the flat file RC-line.
 + * Describes the source of the sequence according to the citation.
 + *             Equivalent to the flat file RC-line.
   * 
-  * &lt;p&gt;Java class for sourceDataType complex type.
 - * <p>
 - * Java class for sourceDataType complex type.
++ * <p>Java class for sourceDataType complex type.
   * 
-  * &lt;p&gt;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.
++ * <p>The following schema fragment specifies the expected content contained within this class.
   * 
-  * &lt;pre&gt;
-  * &amp;lt;complexType name="sourceDataType"&amp;gt;
-  *   &amp;lt;complexContent&amp;gt;
-  *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *       &amp;lt;choice maxOccurs="unbounded"&amp;gt;
-  *         &amp;lt;element name="strain"&amp;gt;
-  *           &amp;lt;complexType&amp;gt;
-  *             &amp;lt;simpleContent&amp;gt;
-  *               &amp;lt;extension base="&amp;lt;http://www.w3.org/2001/XMLSchema&amp;gt;string"&amp;gt;
-  *                 &amp;lt;attribute name="evidence" type="{http://uniprot.org/uniprot}intListType" /&amp;gt;
-  *               &amp;lt;/extension&amp;gt;
-  *             &amp;lt;/simpleContent&amp;gt;
-  *           &amp;lt;/complexType&amp;gt;
-  *         &amp;lt;/element&amp;gt;
-  *         &amp;lt;element name="plasmid"&amp;gt;
-  *           &amp;lt;complexType&amp;gt;
-  *             &amp;lt;simpleContent&amp;gt;
-  *               &amp;lt;extension base="&amp;lt;http://www.w3.org/2001/XMLSchema&amp;gt;string"&amp;gt;
-  *                 &amp;lt;attribute name="evidence" type="{http://uniprot.org/uniprot}intListType" /&amp;gt;
-  *               &amp;lt;/extension&amp;gt;
-  *             &amp;lt;/simpleContent&amp;gt;
-  *           &amp;lt;/complexType&amp;gt;
-  *         &amp;lt;/element&amp;gt;
-  *         &amp;lt;element name="transposon"&amp;gt;
-  *           &amp;lt;complexType&amp;gt;
-  *             &amp;lt;simpleContent&amp;gt;
-  *               &amp;lt;extension base="&amp;lt;http://www.w3.org/2001/XMLSchema&amp;gt;string"&amp;gt;
-  *                 &amp;lt;attribute name="evidence" type="{http://uniprot.org/uniprot}intListType" /&amp;gt;
-  *               &amp;lt;/extension&amp;gt;
-  *             &amp;lt;/simpleContent&amp;gt;
-  *           &amp;lt;/complexType&amp;gt;
-  *         &amp;lt;/element&amp;gt;
-  *         &amp;lt;element name="tissue"&amp;gt;
-  *           &amp;lt;complexType&amp;gt;
-  *             &amp;lt;simpleContent&amp;gt;
-  *               &amp;lt;extension base="&amp;lt;http://www.w3.org/2001/XMLSchema&amp;gt;string"&amp;gt;
-  *                 &amp;lt;attribute name="evidence" type="{http://uniprot.org/uniprot}intListType" /&amp;gt;
-  *               &amp;lt;/extension&amp;gt;
-  *             &amp;lt;/simpleContent&amp;gt;
-  *           &amp;lt;/complexType&amp;gt;
-  *         &amp;lt;/element&amp;gt;
-  *       &amp;lt;/choice&amp;gt;
-  *     &amp;lt;/restriction&amp;gt;
-  *   &amp;lt;/complexContent&amp;gt;
-  * &amp;lt;/complexType&amp;gt;
-  * &lt;/pre&gt;
+  * <pre>
+  * &lt;complexType name="sourceDataType">
+  *   &lt;complexContent>
+  *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+  *       &lt;choice maxOccurs="unbounded">
+  *         &lt;element name="strain">
+  *           &lt;complexType>
+  *             &lt;simpleContent>
+  *               &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
+  *                 &lt;attribute name="evidence" type="{http://uniprot.org/uniprot}intListType" />
+  *               &lt;/extension>
+  *             &lt;/simpleContent>
+  *           &lt;/complexType>
+  *         &lt;/element>
+  *         &lt;element name="plasmid">
+  *           &lt;complexType>
+  *             &lt;simpleContent>
+  *               &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
+  *                 &lt;attribute name="evidence" type="{http://uniprot.org/uniprot}intListType" />
+  *               &lt;/extension>
+  *             &lt;/simpleContent>
+  *           &lt;/complexType>
+  *         &lt;/element>
+  *         &lt;element name="transposon">
+  *           &lt;complexType>
+  *             &lt;simpleContent>
+  *               &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
+  *                 &lt;attribute name="evidence" type="{http://uniprot.org/uniprot}intListType" />
+  *               &lt;/extension>
+  *             &lt;/simpleContent>
+  *           &lt;/complexType>
+  *         &lt;/element>
+  *         &lt;element name="tissue">
+  *           &lt;complexType>
+  *             &lt;simpleContent>
+  *               &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
+  *                 &lt;attribute name="evidence" type="{http://uniprot.org/uniprot}intListType" />
+  *               &lt;/extension>
+  *             &lt;/simpleContent>
+  *           &lt;/complexType>
+  *         &lt;/element>
+  *       &lt;/choice>
+  *     &lt;/restriction>
+  *   &lt;/complexContent>
+  * &lt;/complexType>
+  * </pre>
   * 
   * 
   */
  @XmlAccessorType(XmlAccessType.FIELD)
 -@XmlType(
 -  name = "sourceDataType",
 -  propOrder =
 -  { "strainOrPlasmidOrTransposon" })
 -public class SourceDataType
 -{
 -
 -  @XmlElements({
 -      @XmlElement(name = "strain", type = SourceDataType.Strain.class),
 -      @XmlElement(name = "plasmid", type = SourceDataType.Plasmid.class),
 -      @XmlElement(
 -        name = "transposon",
 -        type = SourceDataType.Transposon.class),
 -      @XmlElement(name = "tissue", type = SourceDataType.Tissue.class) })
 -  protected List<Object> strainOrPlasmidOrTransposon;
 -
 -  /**
 -   * Gets the value of the strainOrPlasmidOrTransposon 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 strainOrPlasmidOrTransposon property.
 -   * 
 -   * <p>
 -   * For example, to add a new item, do as follows:
 -   * 
 -   * <pre>
 -   * getStrainOrPlasmidOrTransposon().add(newItem);
 -   * </pre>
 -   * 
 -   * 
 -   * <p>
 -   * Objects of the following type(s) are allowed in the list
 -   * {@link SourceDataType.Strain } {@link SourceDataType.Plasmid }
 -   * {@link SourceDataType.Transposon } {@link SourceDataType.Tissue }
 -   * 
 -   * 
 -   */
 -  public List<Object> getStrainOrPlasmidOrTransposon()
 -  {
 -    if (strainOrPlasmidOrTransposon == null)
 -    {
 -      strainOrPlasmidOrTransposon = new ArrayList<Object>();
 -    }
 -    return this.strainOrPlasmidOrTransposon;
 -  }
 -
 -  /**
 -   * <p>
 -   * Java class for anonymous complex type.
 -   * 
 -   * <p>
 -   * The following schema fragment specifies the expected content contained
 -   * within this class.
 -   * 
 -   * <pre>
 -   * &lt;complexType>
 -   *   &lt;simpleContent>
 -   *     &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
 -   *       &lt;attribute name="evidence" type="{http://uniprot.org/uniprot}intListType" />
 -   *     &lt;/extension>
 -   *   &lt;/simpleContent>
 -   * &lt;/complexType>
 -   * </pre>
 -   * 
 -   * 
 -   */
 -  @XmlAccessorType(XmlAccessType.FIELD)
 -  @XmlType(name = "", propOrder = { "value" })
 -  public static class Plasmid
 -  {
 -
 -    @XmlValue
 -    protected String value;
 -
 -    @XmlAttribute(name = "evidence")
 -    protected List<Integer> evidence;
 -
 -    /**
 -     * Gets the value of the value property.
 -     * 
 -     * @return possible object is {@link String }
 -     * 
 -     */
 -    public String getValue()
 -    {
 -      return value;
 -    }
 +@XmlType(name = "sourceDataType", propOrder = {
 +    "strainOrPlasmidOrTransposon"
 +})
 +public class SourceDataType {
 +
 +    @XmlElements({
 +        @XmlElement(name = "strain", type = SourceDataType.Strain.class),
 +        @XmlElement(name = "plasmid", type = SourceDataType.Plasmid.class),
 +        @XmlElement(name = "transposon", type = SourceDataType.Transposon.class),
 +        @XmlElement(name = "tissue", type = SourceDataType.Tissue.class)
 +    })
 +    protected List<Object> strainOrPlasmidOrTransposon;
  
      /**
 -     * Sets the value of the value property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link String }
 -     * 
 -     */
 -    public void setValue(String value)
 -    {
 -      this.value = value;
 -    }
 -
 -    /**
 -     * Gets the value of the evidence property.
 +     * Gets the value of the strainOrPlasmidOrTransposon property.
       * 
-      * &lt;p&gt;
+      * <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 evidence 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 &lt;CODE&gt;set&lt;/CODE&gt; method for the strainOrPlasmidOrTransposon property.
++     * This is why there is not a <CODE>set</CODE> method for the strainOrPlasmidOrTransposon property.
       * 
-      * &lt;p&gt;
+      * <p>
       * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
 -     * 
+      * <pre>
 -     * getEvidence().add(newItem);
 +     *    getStrainOrPlasmidOrTransposon().add(newItem);
-      * &lt;/pre&gt;
+      * </pre>
       * 
       * 
-      * &lt;p&gt;
+      * <p>
 -     * Objects of the following type(s) are allowed in the list {@link Integer }
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link SourceDataType.Strain }
 +     * {@link SourceDataType.Plasmid }
 +     * {@link SourceDataType.Transposon }
 +     * {@link SourceDataType.Tissue }
       * 
       * 
       */
 -    public List<Integer> getEvidence()
 -    {
 -      if (evidence == null)
 -      {
 -        evidence = new ArrayList<Integer>();
 -      }
 -      return this.evidence;
 +    public List<Object> getStrainOrPlasmidOrTransposon() {
 +        if (strainOrPlasmidOrTransposon == null) {
 +            strainOrPlasmidOrTransposon = new ArrayList<Object>();
 +        }
 +        return this.strainOrPlasmidOrTransposon;
      }
  
 -  }
 -
 -  /**
 -   * <p>
 -   * Java class for anonymous complex type.
 -   * 
 -   * <p>
 -   * The following schema fragment specifies the expected content contained
 -   * within this class.
 -   * 
 -   * <pre>
 -   * &lt;complexType>
 -   *   &lt;simpleContent>
 -   *     &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
 -   *       &lt;attribute name="evidence" type="{http://uniprot.org/uniprot}intListType" />
 -   *     &lt;/extension>
 -   *   &lt;/simpleContent>
 -   * &lt;/complexType>
 -   * </pre>
 -   * 
 -   * 
 -   */
 -  @XmlAccessorType(XmlAccessType.FIELD)
 -  @XmlType(name = "", propOrder = { "value" })
 -  public static class Strain
 -  {
 -
 -    @XmlValue
 -    protected String value;
 -
 -    @XmlAttribute(name = "evidence")
 -    protected List<Integer> evidence;
  
      /**
-      * &lt;p&gt;Java class for anonymous complex type.
 -     * Gets the value of the value property.
++     * <p>Java class for anonymous complex type.
       * 
-      * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
 -     * @return possible object is {@link String }
++     * <p>The following schema fragment specifies the expected content contained within this class.
       * 
-      * &lt;pre&gt;
-      * &amp;lt;complexType&amp;gt;
-      *   &amp;lt;simpleContent&amp;gt;
-      *     &amp;lt;extension base="&amp;lt;http://www.w3.org/2001/XMLSchema&amp;gt;string"&amp;gt;
-      *       &amp;lt;attribute name="evidence" type="{http://uniprot.org/uniprot}intListType" /&amp;gt;
-      *     &amp;lt;/extension&amp;gt;
-      *   &amp;lt;/simpleContent&amp;gt;
-      * &amp;lt;/complexType&amp;gt;
-      * &lt;/pre&gt;
 -     */
 -    public String getValue()
 -    {
 -      return value;
 -    }
 -
 -    /**
 -     * Sets the value of the value property.
++     * <pre>
++     * &lt;complexType>
++     *   &lt;simpleContent>
++     *     &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
++     *       &lt;attribute name="evidence" type="{http://uniprot.org/uniprot}intListType" />
++     *     &lt;/extension>
++     *   &lt;/simpleContent>
++     * &lt;/complexType>
++     * </pre>
       * 
 -     * @param value
 -     *          allowed object is {@link String }
       * 
       */
 -    public void setValue(String value)
 -    {
 -      this.value = value;
 +    @XmlAccessorType(XmlAccessType.FIELD)
 +    @XmlType(name = "", propOrder = {
 +        "value"
 +    })
 +    public static class Plasmid {
 +
 +        @XmlValue
 +        protected String value;
 +        @XmlAttribute(name = "evidence")
 +        protected List<Integer> evidence;
 +
 +        /**
 +         * Gets the value of the value property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link String }
 +         *     
 +         */
 +        public String getValue() {
 +            return value;
 +        }
 +
 +        /**
 +         * Sets the value of the value property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link String }
 +         *     
 +         */
 +        public void setValue(String value) {
 +            this.value = value;
 +        }
 +
 +        /**
 +         * Gets the value of the evidence property.
 +         * 
-          * &lt;p&gt;
++         * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the evidence property.
++         * This is why there is not a <CODE>set</CODE> method for the evidence property.
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * For example, to add a new item, do as follows:
-          * &lt;pre&gt;
++         * <pre>
 +         *    getEvidence().add(newItem);
-          * &lt;/pre&gt;
++         * </pre>
 +         * 
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * Objects of the following type(s) are allowed in the list
 +         * {@link Integer }
 +         * 
 +         * 
 +         */
 +        public List<Integer> getEvidence() {
 +            if (evidence == null) {
 +                evidence = new ArrayList<Integer>();
 +            }
 +            return this.evidence;
 +        }
 +
      }
  
 +
      /**
-      * &lt;p&gt;Java class for anonymous complex type.
 -     * Gets the value of the evidence property.
++     * <p>Java class for anonymous complex type.
       * 
-      * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
 -     * <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 evidence 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.
       * 
-      * &lt;pre&gt;
-      * &amp;lt;complexType&amp;gt;
-      *   &amp;lt;simpleContent&amp;gt;
-      *     &amp;lt;extension base="&amp;lt;http://www.w3.org/2001/XMLSchema&amp;gt;string"&amp;gt;
-      *       &amp;lt;attribute name="evidence" type="{http://uniprot.org/uniprot}intListType" /&amp;gt;
-      *     &amp;lt;/extension&amp;gt;
-      *   &amp;lt;/simpleContent&amp;gt;
-      * &amp;lt;/complexType&amp;gt;
-      * &lt;/pre&gt;
+      * <pre>
 -     * getEvidence().add(newItem);
++     * &lt;complexType>
++     *   &lt;simpleContent>
++     *     &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
++     *       &lt;attribute name="evidence" type="{http://uniprot.org/uniprot}intListType" />
++     *     &lt;/extension>
++     *   &lt;/simpleContent>
++     * &lt;/complexType>
+      * </pre>
       * 
       * 
 -     * <p>
 -     * Objects of the following type(s) are allowed in the list {@link Integer }
 -     * 
 -     * 
       */
 -    public List<Integer> getEvidence()
 -    {
 -      if (evidence == null)
 -      {
 -        evidence = new ArrayList<Integer>();
 -      }
 -      return this.evidence;
 -    }
 -
 -  }
 -
 -  /**
 -   * <p>
 -   * Java class for anonymous complex type.
 -   * 
 -   * <p>
 -   * The following schema fragment specifies the expected content contained
 -   * within this class.
 -   * 
 -   * <pre>
 -   * &lt;complexType>
 -   *   &lt;simpleContent>
 -   *     &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
 -   *       &lt;attribute name="evidence" type="{http://uniprot.org/uniprot}intListType" />
 -   *     &lt;/extension>
 -   *   &lt;/simpleContent>
 -   * &lt;/complexType>
 -   * </pre>
 -   * 
 -   * 
 -   */
 -  @XmlAccessorType(XmlAccessType.FIELD)
 -  @XmlType(name = "", propOrder = { "value" })
 -  public static class Tissue
 -  {
 -
 -    @XmlValue
 -    protected String value;
 -
 -    @XmlAttribute(name = "evidence")
 -    protected List<Integer> evidence;
 +    @XmlAccessorType(XmlAccessType.FIELD)
 +    @XmlType(name = "", propOrder = {
 +        "value"
 +    })
 +    public static class Strain {
 +
 +        @XmlValue
 +        protected String value;
 +        @XmlAttribute(name = "evidence")
 +        protected List<Integer> evidence;
 +
 +        /**
 +         * Gets the value of the value property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link String }
 +         *     
 +         */
 +        public String getValue() {
 +            return value;
 +        }
 +
 +        /**
 +         * Sets the value of the value property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link String }
 +         *     
 +         */
 +        public void setValue(String value) {
 +            this.value = value;
 +        }
 +
 +        /**
 +         * Gets the value of the evidence property.
 +         * 
-          * &lt;p&gt;
++         * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the evidence property.
++         * This is why there is not a <CODE>set</CODE> method for the evidence property.
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * For example, to add a new item, do as follows:
-          * &lt;pre&gt;
++         * <pre>
 +         *    getEvidence().add(newItem);
-          * &lt;/pre&gt;
++         * </pre>
 +         * 
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * Objects of the following type(s) are allowed in the list
 +         * {@link Integer }
 +         * 
 +         * 
 +         */
 +        public List<Integer> getEvidence() {
 +            if (evidence == null) {
 +                evidence = new ArrayList<Integer>();
 +            }
 +            return this.evidence;
 +        }
  
 -    /**
 -     * Gets the value of the value property.
 -     * 
 -     * @return possible object is {@link String }
 -     * 
 -     */
 -    public String getValue()
 -    {
 -      return value;
      }
  
 -    /**
 -     * Sets the value of the value property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link String }
 -     * 
 -     */
 -    public void setValue(String value)
 -    {
 -      this.value = value;
 -    }
  
      /**
-      * &lt;p&gt;Java class for anonymous complex type.
 -     * Gets the value of the evidence property.
++     * <p>Java class for anonymous complex type.
       * 
-      * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
 -     * <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 evidence 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.
       * 
-      * &lt;pre&gt;
-      * &amp;lt;complexType&amp;gt;
-      *   &amp;lt;simpleContent&amp;gt;
-      *     &amp;lt;extension base="&amp;lt;http://www.w3.org/2001/XMLSchema&amp;gt;string"&amp;gt;
-      *       &amp;lt;attribute name="evidence" type="{http://uniprot.org/uniprot}intListType" /&amp;gt;
-      *     &amp;lt;/extension&amp;gt;
-      *   &amp;lt;/simpleContent&amp;gt;
-      * &amp;lt;/complexType&amp;gt;
-      * &lt;/pre&gt;
+      * <pre>
 -     * getEvidence().add(newItem);
++     * &lt;complexType>
++     *   &lt;simpleContent>
++     *     &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
++     *       &lt;attribute name="evidence" type="{http://uniprot.org/uniprot}intListType" />
++     *     &lt;/extension>
++     *   &lt;/simpleContent>
++     * &lt;/complexType>
+      * </pre>
       * 
       * 
 -     * <p>
 -     * Objects of the following type(s) are allowed in the list {@link Integer }
 -     * 
 -     * 
       */
 -    public List<Integer> getEvidence()
 -    {
 -      if (evidence == null)
 -      {
 -        evidence = new ArrayList<Integer>();
 -      }
 -      return this.evidence;
 -    }
 +    @XmlAccessorType(XmlAccessType.FIELD)
 +    @XmlType(name = "", propOrder = {
 +        "value"
 +    })
 +    public static class Tissue {
 +
 +        @XmlValue
 +        protected String value;
 +        @XmlAttribute(name = "evidence")
 +        protected List<Integer> evidence;
 +
 +        /**
 +         * Gets the value of the value property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link String }
 +         *     
 +         */
 +        public String getValue() {
 +            return value;
 +        }
 +
 +        /**
 +         * Sets the value of the value property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link String }
 +         *     
 +         */
 +        public void setValue(String value) {
 +            this.value = value;
 +        }
 +
 +        /**
 +         * Gets the value of the evidence property.
 +         * 
-          * &lt;p&gt;
++         * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the evidence property.
++         * This is why there is not a <CODE>set</CODE> method for the evidence property.
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * For example, to add a new item, do as follows:
-          * &lt;pre&gt;
++         * <pre>
 +         *    getEvidence().add(newItem);
-          * &lt;/pre&gt;
++         * </pre>
 +         * 
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * Objects of the following type(s) are allowed in the list
 +         * {@link Integer }
 +         * 
 +         * 
 +         */
 +        public List<Integer> getEvidence() {
 +            if (evidence == null) {
 +                evidence = new ArrayList<Integer>();
 +            }
 +            return this.evidence;
 +        }
  
 -  }
 -
 -  /**
 -   * <p>
 -   * Java class for anonymous complex type.
 -   * 
 -   * <p>
 -   * The following schema fragment specifies the expected content contained
 -   * within this class.
 -   * 
 -   * <pre>
 -   * &lt;complexType>
 -   *   &lt;simpleContent>
 -   *     &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
 -   *       &lt;attribute name="evidence" type="{http://uniprot.org/uniprot}intListType" />
 -   *     &lt;/extension>
 -   *   &lt;/simpleContent>
 -   * &lt;/complexType>
 -   * </pre>
 -   * 
 -   * 
 -   */
 -  @XmlAccessorType(XmlAccessType.FIELD)
 -  @XmlType(name = "", propOrder = { "value" })
 -  public static class Transposon
 -  {
 -
 -    @XmlValue
 -    protected String value;
 -
 -    @XmlAttribute(name = "evidence")
 -    protected List<Integer> evidence;
 -
 -    /**
 -     * Gets the value of the value property.
 -     * 
 -     * @return possible object is {@link String }
 -     * 
 -     */
 -    public String getValue()
 -    {
 -      return value;
      }
  
 -    /**
 -     * Sets the value of the value property.
 -     * 
 -     * @param value
 -     *          allowed object is {@link String }
 -     * 
 -     */
 -    public void setValue(String value)
 -    {
 -      this.value = value;
 -    }
  
      /**
-      * &lt;p&gt;Java class for anonymous complex type.
 -     * Gets the value of the evidence property.
++     * <p>Java class for anonymous complex type.
       * 
-      * &lt;p&gt;The following schema fragment specifies the expected content contained within this class.
 -     * <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 evidence 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.
       * 
-      * &lt;pre&gt;
-      * &amp;lt;complexType&amp;gt;
-      *   &amp;lt;simpleContent&amp;gt;
-      *     &amp;lt;extension base="&amp;lt;http://www.w3.org/2001/XMLSchema&amp;gt;string"&amp;gt;
-      *       &amp;lt;attribute name="evidence" type="{http://uniprot.org/uniprot}intListType" /&amp;gt;
-      *     &amp;lt;/extension&amp;gt;
-      *   &amp;lt;/simpleContent&amp;gt;
-      * &amp;lt;/complexType&amp;gt;
-      * &lt;/pre&gt;
+      * <pre>
 -     * getEvidence().add(newItem);
++     * &lt;complexType>
++     *   &lt;simpleContent>
++     *     &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
++     *       &lt;attribute name="evidence" type="{http://uniprot.org/uniprot}intListType" />
++     *     &lt;/extension>
++     *   &lt;/simpleContent>
++     * &lt;/complexType>
+      * </pre>
       * 
       * 
 -     * <p>
 -     * Objects of the following type(s) are allowed in the list {@link Integer }
 -     * 
 -     * 
       */
 -    public List<Integer> getEvidence()
 -    {
 -      if (evidence == null)
 -      {
 -        evidence = new ArrayList<Integer>();
 -      }
 -      return this.evidence;
 -    }
 +    @XmlAccessorType(XmlAccessType.FIELD)
 +    @XmlType(name = "", propOrder = {
 +        "value"
 +    })
 +    public static class Transposon {
 +
 +        @XmlValue
 +        protected String value;
 +        @XmlAttribute(name = "evidence")
 +        protected List<Integer> evidence;
 +
 +        /**
 +         * Gets the value of the value property.
 +         * 
 +         * @return
 +         *     possible object is
 +         *     {@link String }
 +         *     
 +         */
 +        public String getValue() {
 +            return value;
 +        }
 +
 +        /**
 +         * Sets the value of the value property.
 +         * 
 +         * @param value
 +         *     allowed object is
 +         *     {@link String }
 +         *     
 +         */
 +        public void setValue(String value) {
 +            this.value = value;
 +        }
 +
 +        /**
 +         * Gets the value of the evidence property.
 +         * 
-          * &lt;p&gt;
++         * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the evidence property.
++         * This is why there is not a <CODE>set</CODE> method for the evidence property.
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * For example, to add a new item, do as follows:
-          * &lt;pre&gt;
++         * <pre>
 +         *    getEvidence().add(newItem);
-          * &lt;/pre&gt;
++         * </pre>
 +         * 
 +         * 
-          * &lt;p&gt;
++         * <p>
 +         * Objects of the following type(s) are allowed in the list
 +         * {@link Integer }
 +         * 
 +         * 
 +         */
 +        public List<Integer> getEvidence() {
 +            if (evidence == null) {
 +                evidence = new ArrayList<Integer>();
 +            }
 +            return this.evidence;
 +        }
  
 -  }
 +    }
  
  }
@@@ -1,11 -1,10 +1,11 @@@
  //
- // This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
- // See https://eclipse-ee4j.github.io/jaxb-ri 
+ // 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: 2022.02.07 at 04:44:21 PM GMT 
 -// 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.math.BigInteger;
@@@ -14,26 -13,30 +14,26 @@@ import javax.xml.bind.annotation.XmlAcc
  import javax.xml.bind.annotation.XmlAttribute;
  import javax.xml.bind.annotation.XmlType;
  
 +
  /**
 - * Describes the source of the data using a database cross-reference (or a 'ref'
 - * attribute when the source cannot be found in a public data source, such as
 - * PubMed, and is cited only within the UniProtKB entry).
 + * Describes the source of the data using a database cross-reference (or a 'ref' attribute when the source cannot be found in a public data source, such as PubMed, and is cited only within the UniProtKB entry).
   * 
-  * &lt;p&gt;Java class for sourceType complex type.
 - * <p>
 - * Java class for sourceType complex type.
++ * <p>Java class for sourceType complex type.
   * 
-  * &lt;p&gt;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.
++ * <p>The following schema fragment specifies the expected content contained within this class.
   * 
-  * &lt;pre&gt;
-  * &amp;lt;complexType name="sourceType"&amp;gt;
-  *   &amp;lt;complexContent&amp;gt;
-  *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *       &amp;lt;sequence&amp;gt;
-  *         &amp;lt;element name="dbReference" type="{http://uniprot.org/uniprot}dbReferenceType" minOccurs="0"/&amp;gt;
-  *       &amp;lt;/sequence&amp;gt;
-  *       &amp;lt;attribute name="ref" type="{http://www.w3.org/2001/XMLSchema}integer" /&amp;gt;
-  *     &amp;lt;/restriction&amp;gt;
-  *   &amp;lt;/complexContent&amp;gt;
-  * &amp;lt;/complexType&amp;gt;
-  * &lt;/pre&gt;
+  * <pre>
+  * &lt;complexType name="sourceType">
+  *   &lt;complexContent>
+  *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+  *       &lt;sequence>
+  *         &lt;element name="dbReference" type="{http://uniprot.org/uniprot}dbReferenceType" minOccurs="0"/>
+  *       &lt;/sequence>
+  *       &lt;attribute name="ref" type="{http://www.w3.org/2001/XMLSchema}integer" />
+  *     &lt;/restriction>
+  *   &lt;/complexContent>
+  * &lt;/complexType>
+  * </pre>
   * 
   * 
   */
@@@ -1,11 -1,10 +1,11 @@@
  //
- // This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
- // See https://eclipse-ee4j.github.io/jaxb-ri 
+ // 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: 2022.02.07 at 04:44:21 PM GMT 
 -// 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 javax.xml.bind.annotation.XmlAccessType;
@@@ -18,26 -16,29 +18,26 @@@ import javax.xml.bind.annotation.XmlVal
  /**
   * Indicates whether the name of a plasmid is known or unknown.
   * 
-  * &lt;p&gt;Java class for statusType complex type.
 - * <p>
 - * Java class for statusType complex type.
++ * <p>Java class for statusType complex type.
   * 
-  * &lt;p&gt;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.
++ * <p>The following schema fragment specifies the expected content contained within this class.
   * 
-  * &lt;pre&gt;
-  * &amp;lt;complexType name="statusType"&amp;gt;
-  *   &amp;lt;simpleContent&amp;gt;
-  *     &amp;lt;extension base="&amp;lt;http://www.w3.org/2001/XMLSchema&amp;gt;string"&amp;gt;
-  *       &amp;lt;attribute name="status" default="known"&amp;gt;
-  *         &amp;lt;simpleType&amp;gt;
-  *           &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&amp;gt;
-  *             &amp;lt;enumeration value="known"/&amp;gt;
-  *             &amp;lt;enumeration value="unknown"/&amp;gt;
-  *           &amp;lt;/restriction&amp;gt;
-  *         &amp;lt;/simpleType&amp;gt;
-  *       &amp;lt;/attribute&amp;gt;
-  *     &amp;lt;/extension&amp;gt;
-  *   &amp;lt;/simpleContent&amp;gt;
-  * &amp;lt;/complexType&amp;gt;
-  * &lt;/pre&gt;
+  * <pre>
+  * &lt;complexType name="statusType">
+  *   &lt;simpleContent>
+  *     &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
+  *       &lt;attribute name="status" default="known">
+  *         &lt;simpleType>
+  *           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
+  *             &lt;enumeration value="known"/>
+  *             &lt;enumeration value="unknown"/>
+  *           &lt;/restriction>
+  *         &lt;/simpleType>
+  *       &lt;/attribute>
+  *     &lt;/extension>
+  *   &lt;/simpleContent>
+  * &lt;/complexType>
+  * </pre>
   * 
   * 
   */
@@@ -1,11 -1,10 +1,11 @@@
  //
- // This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
- // See https://eclipse-ee4j.github.io/jaxb-ri 
+ // 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: 2022.02.07 at 04:44:21 PM GMT 
 -// 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;
@@@ -15,128 -14,142 +15,128 @@@ import javax.xml.bind.annotation.XmlAcc
  import javax.xml.bind.annotation.XmlElement;
  import javax.xml.bind.annotation.XmlType;
  
 +
  /**
 - * Describes the subcellular location and optionally the topology and
 - * orientation of a molecule.
 + * Describes the subcellular location and optionally the topology and orientation of a molecule.
   * 
-  * &lt;p&gt;Java class for subcellularLocationType complex type.
 - * <p>
 - * Java class for subcellularLocationType complex type.
++ * <p>Java class for subcellularLocationType complex type.
   * 
-  * &lt;p&gt;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.
++ * <p>The following schema fragment specifies the expected content contained within this class.
   * 
-  * &lt;pre&gt;
-  * &amp;lt;complexType name="subcellularLocationType"&amp;gt;
-  *   &amp;lt;complexContent&amp;gt;
-  *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *       &amp;lt;sequence&amp;gt;
-  *         &amp;lt;element name="location" type="{http://uniprot.org/uniprot}evidencedStringType" maxOccurs="unbounded"/&amp;gt;
-  *         &amp;lt;element name="topology" type="{http://uniprot.org/uniprot}evidencedStringType" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
-  *         &amp;lt;element name="orientation" type="{http://uniprot.org/uniprot}evidencedStringType" maxOccurs="unbounded" minOccurs="0"/&amp;gt;
-  *       &amp;lt;/sequence&amp;gt;
-  *     &amp;lt;/restriction&amp;gt;
-  *   &amp;lt;/complexContent&amp;gt;
-  * &amp;lt;/complexType&amp;gt;
-  * &lt;/pre&gt;
+  * <pre>
+  * &lt;complexType name="subcellularLocationType">
+  *   &lt;complexContent>
+  *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+  *       &lt;sequence>
+  *         &lt;element name="location" type="{http://uniprot.org/uniprot}evidencedStringType" maxOccurs="unbounded"/>
+  *         &lt;element name="topology" type="{http://uniprot.org/uniprot}evidencedStringType" maxOccurs="unbounded" minOccurs="0"/>
+  *         &lt;element name="orientation" type="{http://uniprot.org/uniprot}evidencedStringType" maxOccurs="unbounded" minOccurs="0"/>
+  *       &lt;/sequence>
+  *     &lt;/restriction>
+  *   &lt;/complexContent>
+  * &lt;/complexType>
+  * </pre>
   * 
   * 
   */
  @XmlAccessorType(XmlAccessType.FIELD)
 -@XmlType(
 -  name = "subcellularLocationType",
 -  propOrder =
 -  { "location", "topology", "orientation" })
 -public class SubcellularLocationType
 -{
 -
 -  @XmlElement(required = true)
 -  protected List<EvidencedStringType> location;
 -
 -  protected List<EvidencedStringType> topology;
 +@XmlType(name = "subcellularLocationType", propOrder = {
 +    "location",
 +    "topology",
 +    "orientation"
 +})
 +public class SubcellularLocationType {
  
 -  protected List<EvidencedStringType> orientation;
 +    @XmlElement(required = true)
 +    protected List<EvidencedStringType> location;
 +    protected List<EvidencedStringType> topology;
 +    protected List<EvidencedStringType> orientation;
  
 -  /**
 -   * Gets the value of the location 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 location property.
 -   * 
 -   * <p>
 -   * For example, to add a new item, do as follows:
 -   * 
 -   * <pre>
 -   * getLocation().add(newItem);
 -   * </pre>
 -   * 
 -   * 
 -   * <p>
 -   * Objects of the following type(s) are allowed in the list
 -   * {@link EvidencedStringType }
 -   * 
 -   * 
 -   */
 -  public List<EvidencedStringType> getLocation()
 -  {
 -    if (location == null)
 -    {
 -      location = new ArrayList<EvidencedStringType>();
 +    /**
 +     * Gets the value of the location property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the location property.
++     * This is why there is not a <CODE>set</CODE> method for the location property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getLocation().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link EvidencedStringType }
 +     * 
 +     * 
 +     */
 +    public List<EvidencedStringType> getLocation() {
 +        if (location == null) {
 +            location = new ArrayList<EvidencedStringType>();
 +        }
 +        return this.location;
      }
 -    return this.location;
 -  }
  
 -  /**
 -   * Gets the value of the topology 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 topology property.
 -   * 
 -   * <p>
 -   * For example, to add a new item, do as follows:
 -   * 
 -   * <pre>
 -   * getTopology().add(newItem);
 -   * </pre>
 -   * 
 -   * 
 -   * <p>
 -   * Objects of the following type(s) are allowed in the list
 -   * {@link EvidencedStringType }
 -   * 
 -   * 
 -   */
 -  public List<EvidencedStringType> getTopology()
 -  {
 -    if (topology == null)
 -    {
 -      topology = new ArrayList<EvidencedStringType>();
 +    /**
 +     * Gets the value of the topology property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the topology property.
++     * This is why there is not a <CODE>set</CODE> method for the topology property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getTopology().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link EvidencedStringType }
 +     * 
 +     * 
 +     */
 +    public List<EvidencedStringType> getTopology() {
 +        if (topology == null) {
 +            topology = new ArrayList<EvidencedStringType>();
 +        }
 +        return this.topology;
      }
 -    return this.topology;
 -  }
  
 -  /**
 -   * Gets the value of the orientation 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 orientation property.
 -   * 
 -   * <p>
 -   * For example, to add a new item, do as follows:
 -   * 
 -   * <pre>
 -   * getOrientation().add(newItem);
 -   * </pre>
 -   * 
 -   * 
 -   * <p>
 -   * Objects of the following type(s) are allowed in the list
 -   * {@link EvidencedStringType }
 -   * 
 -   * 
 -   */
 -  public List<EvidencedStringType> getOrientation()
 -  {
 -    if (orientation == null)
 -    {
 -      orientation = new ArrayList<EvidencedStringType>();
 +    /**
 +     * Gets the value of the orientation property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the orientation property.
++     * This is why there is not a <CODE>set</CODE> method for the orientation property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getOrientation().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link EvidencedStringType }
 +     * 
 +     * 
 +     */
 +    public List<EvidencedStringType> getOrientation() {
 +        if (orientation == null) {
 +            orientation = new ArrayList<EvidencedStringType>();
 +        }
 +        return this.orientation;
      }
 -    return this.orientation;
 -  }
  
  }
@@@ -1,11 -1,10 +1,11 @@@
  //
- // This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
- // See https://eclipse-ee4j.github.io/jaxb-ri 
+ // 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: 2022.02.07 at 04:44:21 PM GMT 
 -// 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;
@@@ -16,90 -15,92 +16,90 @@@ import javax.xml.bind.annotation.XmlEle
  import javax.xml.bind.annotation.XmlRootElement;
  import javax.xml.bind.annotation.XmlType;
  
 +
  /**
-  * &lt;p&gt;Java class for anonymous complex type.
 - * <p>
 - * Java class for anonymous complex type.
++ * <p>Java class for anonymous complex type.
   * 
-  * &lt;p&gt;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.
++ * <p>The following schema fragment specifies the expected content contained within this class.
   * 
-  * &lt;pre&gt;
-  * &amp;lt;complexType&amp;gt;
-  *   &amp;lt;complexContent&amp;gt;
-  *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&amp;gt;
-  *       &amp;lt;sequence&amp;gt;
-  *         &amp;lt;element ref="{http://uniprot.org/uniprot}entry" maxOccurs="unbounded"/&amp;gt;
-  *         &amp;lt;element ref="{http://uniprot.org/uniprot}copyright" minOccurs="0"/&amp;gt;
-  *       &amp;lt;/sequence&amp;gt;
-  *     &amp;lt;/restriction&amp;gt;
-  *   &amp;lt;/complexContent&amp;gt;
-  * &amp;lt;/complexType&amp;gt;
-  * &lt;/pre&gt;
+  * <pre>
+  * &lt;complexType>
+  *   &lt;complexContent>
+  *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+  *       &lt;sequence>
+  *         &lt;element ref="{http://uniprot.org/uniprot}entry" maxOccurs="unbounded"/>
+  *         &lt;element ref="{http://uniprot.org/uniprot}copyright" minOccurs="0"/>
+  *       &lt;/sequence>
+  *     &lt;/restriction>
+  *   &lt;/complexContent>
+  * &lt;/complexType>
+  * </pre>
   * 
   * 
   */
  @XmlAccessorType(XmlAccessType.FIELD)
 -@XmlType(name = "", propOrder = { "entry", "copyright" })
 +@XmlType(name = "", propOrder = {
 +    "entry",
 +    "copyright"
 +})
  @XmlRootElement(name = "uniprot")
 -public class Uniprot
 -{
 -
 -  @XmlElement(required = true)
 -  protected List<Entry> entry;
 +public class Uniprot {
  
 -  protected String copyright;
 +    @XmlElement(required = true)
 +    protected List<Entry> entry;
 +    protected String copyright;
  
 -  /**
 -   * Gets the value of the entry 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 entry property.
 -   * 
 -   * <p>
 -   * For example, to add a new item, do as follows:
 -   * 
 -   * <pre>
 -   * getEntry().add(newItem);
 -   * </pre>
 -   * 
 -   * 
 -   * <p>
 -   * Objects of the following type(s) are allowed in the list {@link Entry }
 -   * 
 -   * 
 -   */
 -  public List<Entry> getEntry()
 -  {
 -    if (entry == null)
 -    {
 -      entry = new ArrayList<Entry>();
 +    /**
 +     * Gets the value of the entry property.
 +     * 
-      * &lt;p&gt;
++     * <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 &lt;CODE&gt;set&lt;/CODE&gt; method for the entry property.
++     * This is why there is not a <CODE>set</CODE> method for the entry property.
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * For example, to add a new item, do as follows:
-      * &lt;pre&gt;
++     * <pre>
 +     *    getEntry().add(newItem);
-      * &lt;/pre&gt;
++     * </pre>
 +     * 
 +     * 
-      * &lt;p&gt;
++     * <p>
 +     * Objects of the following type(s) are allowed in the list
 +     * {@link Entry }
 +     * 
 +     * 
 +     */
 +    public List<Entry> getEntry() {
 +        if (entry == null) {
 +            entry = new ArrayList<Entry>();
 +        }
 +        return this.entry;
      }
 -    return this.entry;
 -  }
  
 -  /**
 -   * Gets the value of the copyright property.
 -   * 
 -   * @return possible object is {@link String }
 -   * 
 -   */
 -  public String getCopyright()
 -  {
 -    return copyright;
 -  }
 +    /**
 +     * Gets the value of the copyright property.
 +     * 
 +     * @return
 +     *     possible object is
 +     *     {@link String }
 +     *     
 +     */
 +    public String getCopyright() {
 +        return copyright;
 +    }
  
 -  /**
 -   * Sets the value of the copyright property.
 -   * 
 -   * @param value
 -   *          allowed object is {@link String }
 -   * 
 -   */
 -  public void setCopyright(String value)
 -  {
 -    this.copyright = value;
 -  }
 +    /**
 +     * Sets the value of the copyright property.
 +     * 
 +     * @param value
 +     *     allowed object is
 +     *     {@link String }
 +     *     
 +     */
 +    public void setCopyright(String value) {
 +        this.copyright = value;
 +    }
  
  }
@@@ -1,9 -1,11 +1,9 @@@
  //
- // This file was generated by the Eclipse Implementation of JAXB, v2.3.3 
- // See https://eclipse-ee4j.github.io/jaxb-ri 
+ // 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: 2022.02.07 at 04:44:21 PM GMT 
 -// Generated on: 2019.04.05 at 08:01:44 AM BST 
++// Generated on: 2023.01.31 at 04:07:10 PM GMT 
  //
  
 -@javax.xml.bind.annotation.XmlSchema(
 -  namespace = "http://uniprot.org/uniprot",
 -  elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
 +@javax.xml.bind.annotation.XmlSchema(namespace = "http://uniprot.org/uniprot", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
  package jalview.xml.binding.uniprot;