merge from 2_4_Release branch
[jalview.git] / src / jalview / schemabinding / version2 / SequenceSet.java
index 481c37f..3179078 100755 (executable)
@@ -1,15 +1,26 @@
 /*\r
- * This class was automatically generated with \r
- * <a href="http://www.castor.org">Castor 1.1</a>, using an XML\r
- * Schema.\r
- * $Id$\r
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.4)\r
+ * Copyright (C) 2008 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
+ * \r
+ * This program is free software; you can redistribute it and/or\r
+ * modify it under the terms of the GNU General Public License\r
+ * as published by the Free Software Foundation; either version 2\r
+ * of the License, or (at your option) any later version.\r
+ * \r
+ * This program is distributed in the hope that it will be useful,\r
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+ * GNU General Public License for more details.\r
+ * \r
+ * You should have received a copy of the GNU General Public License\r
+ * along with this program; if not, write to the Free Software\r
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA\r
  */\r
-\r
 package jalview.schemabinding.version2;\r
 \r
-  //---------------------------------/\r
- //- Imported classes and packages -/\r
-//---------------------------------/\r
+// ---------------------------------/\r
+// - Imported classes and packages -/\r
+// ---------------------------------/\r
 \r
 import org.exolab.castor.xml.Marshaller;\r
 import org.exolab.castor.xml.Unmarshaller;\r
@@ -19,789 +30,858 @@ import org.exolab.castor.xml.Unmarshaller;
  * \r
  * @version $Revision$ $Date$\r
  */\r
-public class SequenceSet implements java.io.Serializable {\r
-\r
-\r
-      //--------------------------/\r
-     //- Class/Member Variables -/\r
-    //--------------------------/\r
-\r
-    /**\r
-     * Field _gapChar.\r
-     */\r
-    private java.lang.String _gapChar;\r
-\r
-    /**\r
-     * reference to set where jalview will gather the dataset\r
-     * sequences for all sequences in the set. \r
-     *  \r
-     */\r
-    private java.lang.String _datasetId;\r
-\r
-    /**\r
-     * Field _sequenceList.\r
-     */\r
-    private java.util.Vector _sequenceList;\r
-\r
-    /**\r
-     * Field _annotationList.\r
-     */\r
-    private java.util.Vector _annotationList;\r
-\r
-    /**\r
-     * Field _sequenceSetPropertiesList.\r
-     */\r
-    private java.util.Vector _sequenceSetPropertiesList;\r
-\r
-    /**\r
-     * Field _alcodonFrameList.\r
-     */\r
-    private java.util.Vector _alcodonFrameList;\r
-\r
-\r
-      //----------------/\r
-     //- Constructors -/\r
-    //----------------/\r
-\r
-    public SequenceSet() {\r
-        super();\r
-        this._sequenceList = new java.util.Vector();\r
-        this._annotationList = new java.util.Vector();\r
-        this._sequenceSetPropertiesList = new java.util.Vector();\r
-        this._alcodonFrameList = new java.util.Vector();\r
-    }\r
-\r
-\r
-      //-----------/\r
-     //- Methods -/\r
-    //-----------/\r
-\r
-    /**\r
-     * \r
-     * \r
-     * @param vAlcodonFrame\r
-     * @throws java.lang.IndexOutOfBoundsException if the index\r
-     * given is outside the bounds of the collection\r
-     */\r
-    public void addAlcodonFrame(\r
-            final jalview.schemabinding.version2.AlcodonFrame vAlcodonFrame)\r
-    throws java.lang.IndexOutOfBoundsException {\r
-        this._alcodonFrameList.addElement(vAlcodonFrame);\r
-    }\r
-\r
-    /**\r
-     * \r
-     * \r
-     * @param index\r
-     * @param vAlcodonFrame\r
-     * @throws java.lang.IndexOutOfBoundsException if the index\r
-     * given is outside the bounds of the collection\r
-     */\r
-    public void addAlcodonFrame(\r
-            final int index,\r
-            final jalview.schemabinding.version2.AlcodonFrame vAlcodonFrame)\r
-    throws java.lang.IndexOutOfBoundsException {\r
-        this._alcodonFrameList.add(index, vAlcodonFrame);\r
-    }\r
-\r
-    /**\r
-     * \r
-     * \r
-     * @param vAnnotation\r
-     * @throws java.lang.IndexOutOfBoundsException if the index\r
-     * given is outside the bounds of the collection\r
-     */\r
-    public void addAnnotation(\r
-            final jalview.schemabinding.version2.Annotation vAnnotation)\r
-    throws java.lang.IndexOutOfBoundsException {\r
-        this._annotationList.addElement(vAnnotation);\r
-    }\r
-\r
-    /**\r
-     * \r
-     * \r
-     * @param index\r
-     * @param vAnnotation\r
-     * @throws java.lang.IndexOutOfBoundsException if the index\r
-     * given is outside the bounds of the collection\r
-     */\r
-    public void addAnnotation(\r
-            final int index,\r
-            final jalview.schemabinding.version2.Annotation vAnnotation)\r
-    throws java.lang.IndexOutOfBoundsException {\r
-        this._annotationList.add(index, vAnnotation);\r
-    }\r
-\r
-    /**\r
-     * \r
-     * \r
-     * @param vSequence\r
-     * @throws java.lang.IndexOutOfBoundsException if the index\r
-     * given is outside the bounds of the collection\r
-     */\r
-    public void addSequence(\r
-            final jalview.schemabinding.version2.Sequence vSequence)\r
-    throws java.lang.IndexOutOfBoundsException {\r
-        this._sequenceList.addElement(vSequence);\r
-    }\r
-\r
-    /**\r
-     * \r
-     * \r
-     * @param index\r
-     * @param vSequence\r
-     * @throws java.lang.IndexOutOfBoundsException if the index\r
-     * given is outside the bounds of the collection\r
-     */\r
-    public void addSequence(\r
-            final int index,\r
-            final jalview.schemabinding.version2.Sequence vSequence)\r
-    throws java.lang.IndexOutOfBoundsException {\r
-        this._sequenceList.add(index, vSequence);\r
-    }\r
-\r
-    /**\r
-     * \r
-     * \r
-     * @param vSequenceSetProperties\r
-     * @throws java.lang.IndexOutOfBoundsException if the index\r
-     * given is outside the bounds of the collection\r
-     */\r
-    public void addSequenceSetProperties(\r
-            final jalview.schemabinding.version2.SequenceSetProperties vSequenceSetProperties)\r
-    throws java.lang.IndexOutOfBoundsException {\r
-        this._sequenceSetPropertiesList.addElement(vSequenceSetProperties);\r
-    }\r
-\r
-    /**\r
-     * \r
-     * \r
-     * @param index\r
-     * @param vSequenceSetProperties\r
-     * @throws java.lang.IndexOutOfBoundsException if the index\r
-     * given is outside the bounds of the collection\r
-     */\r
-    public void addSequenceSetProperties(\r
-            final int index,\r
-            final jalview.schemabinding.version2.SequenceSetProperties vSequenceSetProperties)\r
-    throws java.lang.IndexOutOfBoundsException {\r
-        this._sequenceSetPropertiesList.add(index, vSequenceSetProperties);\r
-    }\r
-\r
-    /**\r
-     * Method enumerateAlcodonFrame.\r
-     * \r
-     * @return an Enumeration over all\r
-     * jalview.schemabinding.version2.AlcodonFrame elements\r
-     */\r
-    public java.util.Enumeration enumerateAlcodonFrame(\r
-    ) {\r
-        return this._alcodonFrameList.elements();\r
-    }\r
-\r
-    /**\r
-     * Method enumerateAnnotation.\r
-     * \r
-     * @return an Enumeration over all\r
-     * jalview.schemabinding.version2.Annotation elements\r
-     */\r
-    public java.util.Enumeration enumerateAnnotation(\r
-    ) {\r
-        return this._annotationList.elements();\r
-    }\r
-\r
-    /**\r
-     * Method enumerateSequence.\r
-     * \r
-     * @return an Enumeration over all\r
-     * jalview.schemabinding.version2.Sequence elements\r
-     */\r
-    public java.util.Enumeration enumerateSequence(\r
-    ) {\r
-        return this._sequenceList.elements();\r
-    }\r
-\r
-    /**\r
-     * Method enumerateSequenceSetProperties.\r
-     * \r
-     * @return an Enumeration over all\r
-     * jalview.schemabinding.version2.SequenceSetProperties elements\r
-     */\r
-    public java.util.Enumeration enumerateSequenceSetProperties(\r
-    ) {\r
-        return this._sequenceSetPropertiesList.elements();\r
-    }\r
-\r
-    /**\r
-     * Method getAlcodonFrame.\r
-     * \r
-     * @param index\r
-     * @throws java.lang.IndexOutOfBoundsException if the index\r
-     * given is outside the bounds of the collection\r
-     * @return the value of the\r
-     * jalview.schemabinding.version2.AlcodonFrame at the given inde\r
-     */\r
-    public jalview.schemabinding.version2.AlcodonFrame getAlcodonFrame(\r
-            final int index)\r
-    throws java.lang.IndexOutOfBoundsException {\r
-        // check bounds for index\r
-        if (index < 0 || index >= this._alcodonFrameList.size()) {\r
-            throw new IndexOutOfBoundsException("getAlcodonFrame: Index value '" + index + "' not in range [0.." + (this._alcodonFrameList.size() - 1) + "]");\r
-        }\r
-        \r
-        return (jalview.schemabinding.version2.AlcodonFrame) _alcodonFrameList.get(index);\r
-    }\r
-\r
-    /**\r
-     * Method getAlcodonFrame.Returns the contents of the\r
-     * collection in an Array.  <p>Note:  Just in case the\r
-     * collection contents are changing in another thread, we pass\r
-     * a 0-length Array of the correct type into the API call. \r
-     * This way we <i>know</i> that the Array returned is of\r
-     * exactly the correct length.\r
-     * \r
-     * @return this collection as an Array\r
-     */\r
-    public jalview.schemabinding.version2.AlcodonFrame[] getAlcodonFrame(\r
-    ) {\r
-        jalview.schemabinding.version2.AlcodonFrame[] array = new jalview.schemabinding.version2.AlcodonFrame[0];\r
-        return (jalview.schemabinding.version2.AlcodonFrame[]) this._alcodonFrameList.toArray(array);\r
-    }\r
-\r
-    /**\r
-     * Method getAlcodonFrameCount.\r
-     * \r
-     * @return the size of this collection\r
-     */\r
-    public int getAlcodonFrameCount(\r
-    ) {\r
-        return this._alcodonFrameList.size();\r
-    }\r
-\r
-    /**\r
-     * Method getAnnotation.\r
-     * \r
-     * @param index\r
-     * @throws java.lang.IndexOutOfBoundsException if the index\r
-     * given is outside the bounds of the collection\r
-     * @return the value of the\r
-     * jalview.schemabinding.version2.Annotation at the given index\r
-     */\r
-    public jalview.schemabinding.version2.Annotation getAnnotation(\r
-            final int index)\r
-    throws java.lang.IndexOutOfBoundsException {\r
-        // check bounds for index\r
-        if (index < 0 || index >= this._annotationList.size()) {\r
-            throw new IndexOutOfBoundsException("getAnnotation: Index value '" + index + "' not in range [0.." + (this._annotationList.size() - 1) + "]");\r
-        }\r
-        \r
-        return (jalview.schemabinding.version2.Annotation) _annotationList.get(index);\r
-    }\r
-\r
-    /**\r
-     * Method getAnnotation.Returns the contents of the collection\r
-     * in an Array.  <p>Note:  Just in case the collection contents\r
-     * are changing in another thread, we pass a 0-length Array of\r
-     * the correct type into the API call.  This way we <i>know</i>\r
-     * that the Array returned is of exactly the correct length.\r
-     * \r
-     * @return this collection as an Array\r
-     */\r
-    public jalview.schemabinding.version2.Annotation[] getAnnotation(\r
-    ) {\r
-        jalview.schemabinding.version2.Annotation[] array = new jalview.schemabinding.version2.Annotation[0];\r
-        return (jalview.schemabinding.version2.Annotation[]) this._annotationList.toArray(array);\r
-    }\r
-\r
-    /**\r
-     * Method getAnnotationCount.\r
-     * \r
-     * @return the size of this collection\r
-     */\r
-    public int getAnnotationCount(\r
-    ) {\r
-        return this._annotationList.size();\r
-    }\r
-\r
-    /**\r
-     * Returns the value of field 'datasetId'. The field\r
-     * 'datasetId' has the following description: reference to set\r
-     * where jalview will gather the dataset sequences for all\r
-     * sequences in the set. \r
-     *  \r
-     * \r
-     * @return the value of field 'DatasetId'.\r
-     */\r
-    public java.lang.String getDatasetId(\r
-    ) {\r
-        return this._datasetId;\r
-    }\r
-\r
-    /**\r
-     * Returns the value of field 'gapChar'.\r
-     * \r
-     * @return the value of field 'GapChar'.\r
-     */\r
-    public java.lang.String getGapChar(\r
-    ) {\r
-        return this._gapChar;\r
-    }\r
-\r
-    /**\r
-     * Method getSequence.\r
-     * \r
-     * @param index\r
-     * @throws java.lang.IndexOutOfBoundsException if the index\r
-     * given is outside the bounds of the collection\r
-     * @return the value of the\r
-     * jalview.schemabinding.version2.Sequence at the given index\r
-     */\r
-    public jalview.schemabinding.version2.Sequence getSequence(\r
-            final int index)\r
-    throws java.lang.IndexOutOfBoundsException {\r
-        // check bounds for index\r
-        if (index < 0 || index >= this._sequenceList.size()) {\r
-            throw new IndexOutOfBoundsException("getSequence: Index value '" + index + "' not in range [0.." + (this._sequenceList.size() - 1) + "]");\r
-        }\r
-        \r
-        return (jalview.schemabinding.version2.Sequence) _sequenceList.get(index);\r
-    }\r
-\r
-    /**\r
-     * Method getSequence.Returns the contents of the collection in\r
-     * an Array.  <p>Note:  Just in case the collection contents\r
-     * are changing in another thread, we pass a 0-length Array of\r
-     * the correct type into the API call.  This way we <i>know</i>\r
-     * that the Array returned is of exactly the correct length.\r
-     * \r
-     * @return this collection as an Array\r
-     */\r
-    public jalview.schemabinding.version2.Sequence[] getSequence(\r
-    ) {\r
-        jalview.schemabinding.version2.Sequence[] array = new jalview.schemabinding.version2.Sequence[0];\r
-        return (jalview.schemabinding.version2.Sequence[]) this._sequenceList.toArray(array);\r
-    }\r
-\r
-    /**\r
-     * Method getSequenceCount.\r
-     * \r
-     * @return the size of this collection\r
-     */\r
-    public int getSequenceCount(\r
-    ) {\r
-        return this._sequenceList.size();\r
-    }\r
-\r
-    /**\r
-     * Method getSequenceSetProperties.\r
-     * \r
-     * @param index\r
-     * @throws java.lang.IndexOutOfBoundsException if the index\r
-     * given is outside the bounds of the collection\r
-     * @return the value of the\r
-     * jalview.schemabinding.version2.SequenceSetProperties at the\r
-     * given index\r
-     */\r
-    public jalview.schemabinding.version2.SequenceSetProperties getSequenceSetProperties(\r
-            final int index)\r
-    throws java.lang.IndexOutOfBoundsException {\r
-        // check bounds for index\r
-        if (index < 0 || index >= this._sequenceSetPropertiesList.size()) {\r
-            throw new IndexOutOfBoundsException("getSequenceSetProperties: Index value '" + index + "' not in range [0.." + (this._sequenceSetPropertiesList.size() - 1) + "]");\r
-        }\r
-        \r
-        return (jalview.schemabinding.version2.SequenceSetProperties) _sequenceSetPropertiesList.get(index);\r
-    }\r
-\r
-    /**\r
-     * Method getSequenceSetProperties.Returns the contents of the\r
-     * collection in an Array.  <p>Note:  Just in case the\r
-     * collection contents are changing in another thread, we pass\r
-     * a 0-length Array of the correct type into the API call. \r
-     * This way we <i>know</i> that the Array returned is of\r
-     * exactly the correct length.\r
-     * \r
-     * @return this collection as an Array\r
-     */\r
-    public jalview.schemabinding.version2.SequenceSetProperties[] getSequenceSetProperties(\r
-    ) {\r
-        jalview.schemabinding.version2.SequenceSetProperties[] array = new jalview.schemabinding.version2.SequenceSetProperties[0];\r
-        return (jalview.schemabinding.version2.SequenceSetProperties[]) this._sequenceSetPropertiesList.toArray(array);\r
-    }\r
-\r
-    /**\r
-     * Method getSequenceSetPropertiesCount.\r
-     * \r
-     * @return the size of this collection\r
-     */\r
-    public int getSequenceSetPropertiesCount(\r
-    ) {\r
-        return this._sequenceSetPropertiesList.size();\r
-    }\r
-\r
-    /**\r
-     * Method isValid.\r
-     * \r
-     * @return true if this object is valid according to the schema\r
-     */\r
-    public boolean isValid(\r
-    ) {\r
-        try {\r
-            validate();\r
-        } catch (org.exolab.castor.xml.ValidationException vex) {\r
-            return false;\r
-        }\r
-        return true;\r
-    }\r
-\r
-    /**\r
-     * \r
-     * \r
-     * @param out\r
-     * @throws org.exolab.castor.xml.MarshalException if object is\r
-     * null or if any SAXException is thrown during marshaling\r
-     * @throws org.exolab.castor.xml.ValidationException if this\r
-     * object is an invalid instance according to the schema\r
-     */\r
-    public void marshal(\r
-            final java.io.Writer out)\r
-    throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {\r
-        Marshaller.marshal(this, out);\r
-    }\r
-\r
-    /**\r
-     * \r
-     * \r
-     * @param handler\r
-     * @throws java.io.IOException if an IOException occurs during\r
-     * marshaling\r
-     * @throws org.exolab.castor.xml.ValidationException if this\r
-     * object is an invalid instance according to the schema\r
-     * @throws org.exolab.castor.xml.MarshalException if object is\r
-     * null or if any SAXException is thrown during marshaling\r
-     */\r
-    public void marshal(\r
-            final org.xml.sax.ContentHandler handler)\r
-    throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {\r
-        Marshaller.marshal(this, handler);\r
-    }\r
-\r
-    /**\r
-     * Method removeAlcodonFrame.\r
-     * \r
-     * @param vAlcodonFrame\r
-     * @return true if the object was removed from the collection.\r
-     */\r
-    public boolean removeAlcodonFrame(\r
-            final jalview.schemabinding.version2.AlcodonFrame vAlcodonFrame) {\r
-        boolean removed = _alcodonFrameList.remove(vAlcodonFrame);\r
-        return removed;\r
-    }\r
-\r
-    /**\r
-     * Method removeAlcodonFrameAt.\r
-     * \r
-     * @param index\r
-     * @return the element removed from the collection\r
-     */\r
-    public jalview.schemabinding.version2.AlcodonFrame removeAlcodonFrameAt(\r
-            final int index) {\r
-        java.lang.Object obj = this._alcodonFrameList.remove(index);\r
-        return (jalview.schemabinding.version2.AlcodonFrame) obj;\r
-    }\r
-\r
-    /**\r
-     */\r
-    public void removeAllAlcodonFrame(\r
-    ) {\r
-        this._alcodonFrameList.clear();\r
-    }\r
-\r
-    /**\r
-     */\r
-    public void removeAllAnnotation(\r
-    ) {\r
-        this._annotationList.clear();\r
-    }\r
-\r
-    /**\r
-     */\r
-    public void removeAllSequence(\r
-    ) {\r
-        this._sequenceList.clear();\r
-    }\r
-\r
-    /**\r
-     */\r
-    public void removeAllSequenceSetProperties(\r
-    ) {\r
-        this._sequenceSetPropertiesList.clear();\r
-    }\r
-\r
-    /**\r
-     * Method removeAnnotation.\r
-     * \r
-     * @param vAnnotation\r
-     * @return true if the object was removed from the collection.\r
-     */\r
-    public boolean removeAnnotation(\r
-            final jalview.schemabinding.version2.Annotation vAnnotation) {\r
-        boolean removed = _annotationList.remove(vAnnotation);\r
-        return removed;\r
-    }\r
-\r
-    /**\r
-     * Method removeAnnotationAt.\r
-     * \r
-     * @param index\r
-     * @return the element removed from the collection\r
-     */\r
-    public jalview.schemabinding.version2.Annotation removeAnnotationAt(\r
-            final int index) {\r
-        java.lang.Object obj = this._annotationList.remove(index);\r
-        return (jalview.schemabinding.version2.Annotation) obj;\r
-    }\r
-\r
-    /**\r
-     * Method removeSequence.\r
-     * \r
-     * @param vSequence\r
-     * @return true if the object was removed from the collection.\r
-     */\r
-    public boolean removeSequence(\r
-            final jalview.schemabinding.version2.Sequence vSequence) {\r
-        boolean removed = _sequenceList.remove(vSequence);\r
-        return removed;\r
-    }\r
-\r
-    /**\r
-     * Method removeSequenceAt.\r
-     * \r
-     * @param index\r
-     * @return the element removed from the collection\r
-     */\r
-    public jalview.schemabinding.version2.Sequence removeSequenceAt(\r
-            final int index) {\r
-        java.lang.Object obj = this._sequenceList.remove(index);\r
-        return (jalview.schemabinding.version2.Sequence) obj;\r
-    }\r
-\r
-    /**\r
-     * Method removeSequenceSetProperties.\r
-     * \r
-     * @param vSequenceSetProperties\r
-     * @return true if the object was removed from the collection.\r
-     */\r
-    public boolean removeSequenceSetProperties(\r
-            final jalview.schemabinding.version2.SequenceSetProperties vSequenceSetProperties) {\r
-        boolean removed = _sequenceSetPropertiesList.remove(vSequenceSetProperties);\r
-        return removed;\r
-    }\r
-\r
-    /**\r
-     * Method removeSequenceSetPropertiesAt.\r
-     * \r
-     * @param index\r
-     * @return the element removed from the collection\r
-     */\r
-    public jalview.schemabinding.version2.SequenceSetProperties removeSequenceSetPropertiesAt(\r
-            final int index) {\r
-        java.lang.Object obj = this._sequenceSetPropertiesList.remove(index);\r
-        return (jalview.schemabinding.version2.SequenceSetProperties) obj;\r
-    }\r
-\r
-    /**\r
-     * \r
-     * \r
-     * @param index\r
-     * @param vAlcodonFrame\r
-     * @throws java.lang.IndexOutOfBoundsException if the index\r
-     * given is outside the bounds of the collection\r
-     */\r
-    public void setAlcodonFrame(\r
-            final int index,\r
-            final jalview.schemabinding.version2.AlcodonFrame vAlcodonFrame)\r
-    throws java.lang.IndexOutOfBoundsException {\r
-        // check bounds for index\r
-        if (index < 0 || index >= this._alcodonFrameList.size()) {\r
-            throw new IndexOutOfBoundsException("setAlcodonFrame: Index value '" + index + "' not in range [0.." + (this._alcodonFrameList.size() - 1) + "]");\r
-        }\r
-        \r
-        this._alcodonFrameList.set(index, vAlcodonFrame);\r
-    }\r
-\r
-    /**\r
-     * \r
-     * \r
-     * @param vAlcodonFrameArray\r
-     */\r
-    public void setAlcodonFrame(\r
-            final jalview.schemabinding.version2.AlcodonFrame[] vAlcodonFrameArray) {\r
-        //-- copy array\r
-        _alcodonFrameList.clear();\r
-        \r
-        for (int i = 0; i < vAlcodonFrameArray.length; i++) {\r
-                this._alcodonFrameList.add(vAlcodonFrameArray[i]);\r
-        }\r
-    }\r
-\r
-    /**\r
-     * \r
-     * \r
-     * @param index\r
-     * @param vAnnotation\r
-     * @throws java.lang.IndexOutOfBoundsException if the index\r
-     * given is outside the bounds of the collection\r
-     */\r
-    public void setAnnotation(\r
-            final int index,\r
-            final jalview.schemabinding.version2.Annotation vAnnotation)\r
-    throws java.lang.IndexOutOfBoundsException {\r
-        // check bounds for index\r
-        if (index < 0 || index >= this._annotationList.size()) {\r
-            throw new IndexOutOfBoundsException("setAnnotation: Index value '" + index + "' not in range [0.." + (this._annotationList.size() - 1) + "]");\r
-        }\r
-        \r
-        this._annotationList.set(index, vAnnotation);\r
-    }\r
-\r
-    /**\r
-     * \r
-     * \r
-     * @param vAnnotationArray\r
-     */\r
-    public void setAnnotation(\r
-            final jalview.schemabinding.version2.Annotation[] vAnnotationArray) {\r
-        //-- copy array\r
-        _annotationList.clear();\r
-        \r
-        for (int i = 0; i < vAnnotationArray.length; i++) {\r
-                this._annotationList.add(vAnnotationArray[i]);\r
-        }\r
-    }\r
-\r
-    /**\r
-     * Sets the value of field 'datasetId'. The field 'datasetId'\r
-     * has the following description: reference to set where\r
-     * jalview will gather the dataset sequences for all sequences\r
-     * in the set. \r
-     *  \r
-     * \r
-     * @param datasetId the value of field 'datasetId'.\r
-     */\r
-    public void setDatasetId(\r
-            final java.lang.String datasetId) {\r
-        this._datasetId = datasetId;\r
-    }\r
-\r
-    /**\r
-     * Sets the value of field 'gapChar'.\r
-     * \r
-     * @param gapChar the value of field 'gapChar'.\r
-     */\r
-    public void setGapChar(\r
-            final java.lang.String gapChar) {\r
-        this._gapChar = gapChar;\r
-    }\r
-\r
-    /**\r
-     * \r
-     * \r
-     * @param index\r
-     * @param vSequence\r
-     * @throws java.lang.IndexOutOfBoundsException if the index\r
-     * given is outside the bounds of the collection\r
-     */\r
-    public void setSequence(\r
-            final int index,\r
-            final jalview.schemabinding.version2.Sequence vSequence)\r
-    throws java.lang.IndexOutOfBoundsException {\r
-        // check bounds for index\r
-        if (index < 0 || index >= this._sequenceList.size()) {\r
-            throw new IndexOutOfBoundsException("setSequence: Index value '" + index + "' not in range [0.." + (this._sequenceList.size() - 1) + "]");\r
-        }\r
-        \r
-        this._sequenceList.set(index, vSequence);\r
-    }\r
-\r
-    /**\r
-     * \r
-     * \r
-     * @param vSequenceArray\r
-     */\r
-    public void setSequence(\r
-            final jalview.schemabinding.version2.Sequence[] vSequenceArray) {\r
-        //-- copy array\r
-        _sequenceList.clear();\r
-        \r
-        for (int i = 0; i < vSequenceArray.length; i++) {\r
-                this._sequenceList.add(vSequenceArray[i]);\r
-        }\r
-    }\r
-\r
-    /**\r
-     * \r
-     * \r
-     * @param index\r
-     * @param vSequenceSetProperties\r
-     * @throws java.lang.IndexOutOfBoundsException if the index\r
-     * given is outside the bounds of the collection\r
-     */\r
-    public void setSequenceSetProperties(\r
-            final int index,\r
-            final jalview.schemabinding.version2.SequenceSetProperties vSequenceSetProperties)\r
-    throws java.lang.IndexOutOfBoundsException {\r
-        // check bounds for index\r
-        if (index < 0 || index >= this._sequenceSetPropertiesList.size()) {\r
-            throw new IndexOutOfBoundsException("setSequenceSetProperties: Index value '" + index + "' not in range [0.." + (this._sequenceSetPropertiesList.size() - 1) + "]");\r
-        }\r
-        \r
-        this._sequenceSetPropertiesList.set(index, vSequenceSetProperties);\r
-    }\r
-\r
-    /**\r
-     * \r
-     * \r
-     * @param vSequenceSetPropertiesArray\r
-     */\r
-    public void setSequenceSetProperties(\r
-            final jalview.schemabinding.version2.SequenceSetProperties[] vSequenceSetPropertiesArray) {\r
-        //-- copy array\r
-        _sequenceSetPropertiesList.clear();\r
-        \r
-        for (int i = 0; i < vSequenceSetPropertiesArray.length; i++) {\r
-                this._sequenceSetPropertiesList.add(vSequenceSetPropertiesArray[i]);\r
-        }\r
-    }\r
-\r
-    /**\r
-     * Method unmarshal.\r
-     * \r
-     * @param reader\r
-     * @throws org.exolab.castor.xml.MarshalException if object is\r
-     * null or if any SAXException is thrown during marshaling\r
-     * @throws org.exolab.castor.xml.ValidationException if this\r
-     * object is an invalid instance according to the schema\r
-     * @return the unmarshaled\r
-     * jalview.schemabinding.version2.SequenceSet\r
-     */\r
-    public static jalview.schemabinding.version2.SequenceSet unmarshal(\r
-            final java.io.Reader reader)\r
-    throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {\r
-        return (jalview.schemabinding.version2.SequenceSet) Unmarshaller.unmarshal(jalview.schemabinding.version2.SequenceSet.class, reader);\r
-    }\r
-\r
-    /**\r
-     * \r
-     * \r
-     * @throws org.exolab.castor.xml.ValidationException if this\r
-     * object is an invalid instance according to the schema\r
-     */\r
-    public void validate(\r
-    )\r
-    throws org.exolab.castor.xml.ValidationException {\r
-        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();\r
-        validator.validate(this);\r
-    }\r
+public class SequenceSet implements java.io.Serializable\r
+{\r
+\r
+  // --------------------------/\r
+  // - Class/Member Variables -/\r
+  // --------------------------/\r
+\r
+  /**\r
+   * Field _gapChar.\r
+   */\r
+  private java.lang.String _gapChar;\r
+\r
+  /**\r
+   * reference to set where jalview will gather the dataset sequences for all\r
+   * sequences in the set.\r
+   * \r
+   */\r
+  private java.lang.String _datasetId;\r
+\r
+  /**\r
+   * Field _sequenceList.\r
+   */\r
+  private java.util.Vector _sequenceList;\r
+\r
+  /**\r
+   * Field _annotationList.\r
+   */\r
+  private java.util.Vector _annotationList;\r
+\r
+  /**\r
+   * Field _sequenceSetPropertiesList.\r
+   */\r
+  private java.util.Vector _sequenceSetPropertiesList;\r
+\r
+  /**\r
+   * Field _alcodonFrameList.\r
+   */\r
+  private java.util.Vector _alcodonFrameList;\r
+\r
+  // ----------------/\r
+  // - Constructors -/\r
+  // ----------------/\r
+\r
+  public SequenceSet()\r
+  {\r
+    super();\r
+    this._sequenceList = new java.util.Vector();\r
+    this._annotationList = new java.util.Vector();\r
+    this._sequenceSetPropertiesList = new java.util.Vector();\r
+    this._alcodonFrameList = new java.util.Vector();\r
+  }\r
+\r
+  // -----------/\r
+  // - Methods -/\r
+  // -----------/\r
+\r
+  /**\r
+   * \r
+   * \r
+   * @param vAlcodonFrame\r
+   * @throws java.lang.IndexOutOfBoundsException\r
+   *                 if the index given is outside the bounds of the collection\r
+   */\r
+  public void addAlcodonFrame(\r
+          final jalview.schemabinding.version2.AlcodonFrame vAlcodonFrame)\r
+          throws java.lang.IndexOutOfBoundsException\r
+  {\r
+    this._alcodonFrameList.addElement(vAlcodonFrame);\r
+  }\r
+\r
+  /**\r
+   * \r
+   * \r
+   * @param index\r
+   * @param vAlcodonFrame\r
+   * @throws java.lang.IndexOutOfBoundsException\r
+   *                 if the index given is outside the bounds of the collection\r
+   */\r
+  public void addAlcodonFrame(final int index,\r
+          final jalview.schemabinding.version2.AlcodonFrame vAlcodonFrame)\r
+          throws java.lang.IndexOutOfBoundsException\r
+  {\r
+    this._alcodonFrameList.add(index, vAlcodonFrame);\r
+  }\r
+\r
+  /**\r
+   * \r
+   * \r
+   * @param vAnnotation\r
+   * @throws java.lang.IndexOutOfBoundsException\r
+   *                 if the index given is outside the bounds of the collection\r
+   */\r
+  public void addAnnotation(\r
+          final jalview.schemabinding.version2.Annotation vAnnotation)\r
+          throws java.lang.IndexOutOfBoundsException\r
+  {\r
+    this._annotationList.addElement(vAnnotation);\r
+  }\r
+\r
+  /**\r
+   * \r
+   * \r
+   * @param index\r
+   * @param vAnnotation\r
+   * @throws java.lang.IndexOutOfBoundsException\r
+   *                 if the index given is outside the bounds of the collection\r
+   */\r
+  public void addAnnotation(final int index,\r
+          final jalview.schemabinding.version2.Annotation vAnnotation)\r
+          throws java.lang.IndexOutOfBoundsException\r
+  {\r
+    this._annotationList.add(index, vAnnotation);\r
+  }\r
+\r
+  /**\r
+   * \r
+   * \r
+   * @param vSequence\r
+   * @throws java.lang.IndexOutOfBoundsException\r
+   *                 if the index given is outside the bounds of the collection\r
+   */\r
+  public void addSequence(\r
+          final jalview.schemabinding.version2.Sequence vSequence)\r
+          throws java.lang.IndexOutOfBoundsException\r
+  {\r
+    this._sequenceList.addElement(vSequence);\r
+  }\r
+\r
+  /**\r
+   * \r
+   * \r
+   * @param index\r
+   * @param vSequence\r
+   * @throws java.lang.IndexOutOfBoundsException\r
+   *                 if the index given is outside the bounds of the collection\r
+   */\r
+  public void addSequence(final int index,\r
+          final jalview.schemabinding.version2.Sequence vSequence)\r
+          throws java.lang.IndexOutOfBoundsException\r
+  {\r
+    this._sequenceList.add(index, vSequence);\r
+  }\r
+\r
+  /**\r
+   * \r
+   * \r
+   * @param vSequenceSetProperties\r
+   * @throws java.lang.IndexOutOfBoundsException\r
+   *                 if the index given is outside the bounds of the collection\r
+   */\r
+  public void addSequenceSetProperties(\r
+          final jalview.schemabinding.version2.SequenceSetProperties vSequenceSetProperties)\r
+          throws java.lang.IndexOutOfBoundsException\r
+  {\r
+    this._sequenceSetPropertiesList.addElement(vSequenceSetProperties);\r
+  }\r
+\r
+  /**\r
+   * \r
+   * \r
+   * @param index\r
+   * @param vSequenceSetProperties\r
+   * @throws java.lang.IndexOutOfBoundsException\r
+   *                 if the index given is outside the bounds of the collection\r
+   */\r
+  public void addSequenceSetProperties(\r
+          final int index,\r
+          final jalview.schemabinding.version2.SequenceSetProperties vSequenceSetProperties)\r
+          throws java.lang.IndexOutOfBoundsException\r
+  {\r
+    this._sequenceSetPropertiesList.add(index, vSequenceSetProperties);\r
+  }\r
+\r
+  /**\r
+   * Method enumerateAlcodonFrame.\r
+   * \r
+   * @return an Enumeration over all jalview.schemabinding.version2.AlcodonFrame\r
+   *         elements\r
+   */\r
+  public java.util.Enumeration enumerateAlcodonFrame()\r
+  {\r
+    return this._alcodonFrameList.elements();\r
+  }\r
+\r
+  /**\r
+   * Method enumerateAnnotation.\r
+   * \r
+   * @return an Enumeration over all jalview.schemabinding.version2.Annotation\r
+   *         elements\r
+   */\r
+  public java.util.Enumeration enumerateAnnotation()\r
+  {\r
+    return this._annotationList.elements();\r
+  }\r
+\r
+  /**\r
+   * Method enumerateSequence.\r
+   * \r
+   * @return an Enumeration over all jalview.schemabinding.version2.Sequence\r
+   *         elements\r
+   */\r
+  public java.util.Enumeration enumerateSequence()\r
+  {\r
+    return this._sequenceList.elements();\r
+  }\r
+\r
+  /**\r
+   * Method enumerateSequenceSetProperties.\r
+   * \r
+   * @return an Enumeration over all\r
+   *         jalview.schemabinding.version2.SequenceSetProperties elements\r
+   */\r
+  public java.util.Enumeration enumerateSequenceSetProperties()\r
+  {\r
+    return this._sequenceSetPropertiesList.elements();\r
+  }\r
+\r
+  /**\r
+   * Method getAlcodonFrame.\r
+   * \r
+   * @param index\r
+   * @throws java.lang.IndexOutOfBoundsException\r
+   *                 if the index given is outside the bounds of the collection\r
+   * @return the value of the jalview.schemabinding.version2.AlcodonFrame at the\r
+   *         given inde\r
+   */\r
+  public jalview.schemabinding.version2.AlcodonFrame getAlcodonFrame(\r
+          final int index) throws java.lang.IndexOutOfBoundsException\r
+  {\r
+    // check bounds for index\r
+    if (index < 0 || index >= this._alcodonFrameList.size())\r
+    {\r
+      throw new IndexOutOfBoundsException("getAlcodonFrame: Index value '"\r
+              + index + "' not in range [0.."\r
+              + (this._alcodonFrameList.size() - 1) + "]");\r
+    }\r
+\r
+    return (jalview.schemabinding.version2.AlcodonFrame) _alcodonFrameList\r
+            .get(index);\r
+  }\r
+\r
+  /**\r
+   * Method getAlcodonFrame.Returns the contents of the collection in an Array.\r
+   * <p>\r
+   * Note: Just in case the collection contents are changing in another thread,\r
+   * we pass a 0-length Array of the correct type into the API call. This way we\r
+   * <i>know</i> that the Array returned is of exactly the correct length.\r
+   * \r
+   * @return this collection as an Array\r
+   */\r
+  public jalview.schemabinding.version2.AlcodonFrame[] getAlcodonFrame()\r
+  {\r
+    jalview.schemabinding.version2.AlcodonFrame[] array = new jalview.schemabinding.version2.AlcodonFrame[0];\r
+    return (jalview.schemabinding.version2.AlcodonFrame[]) this._alcodonFrameList\r
+            .toArray(array);\r
+  }\r
+\r
+  /**\r
+   * Method getAlcodonFrameCount.\r
+   * \r
+   * @return the size of this collection\r
+   */\r
+  public int getAlcodonFrameCount()\r
+  {\r
+    return this._alcodonFrameList.size();\r
+  }\r
+\r
+  /**\r
+   * Method getAnnotation.\r
+   * \r
+   * @param index\r
+   * @throws java.lang.IndexOutOfBoundsException\r
+   *                 if the index given is outside the bounds of the collection\r
+   * @return the value of the jalview.schemabinding.version2.Annotation at the\r
+   *         given index\r
+   */\r
+  public jalview.schemabinding.version2.Annotation getAnnotation(\r
+          final int index) throws java.lang.IndexOutOfBoundsException\r
+  {\r
+    // check bounds for index\r
+    if (index < 0 || index >= this._annotationList.size())\r
+    {\r
+      throw new IndexOutOfBoundsException("getAnnotation: Index value '"\r
+              + index + "' not in range [0.."\r
+              + (this._annotationList.size() - 1) + "]");\r
+    }\r
+\r
+    return (jalview.schemabinding.version2.Annotation) _annotationList\r
+            .get(index);\r
+  }\r
+\r
+  /**\r
+   * Method getAnnotation.Returns the contents of the collection in an Array.\r
+   * <p>\r
+   * Note: Just in case the collection contents are changing in another thread,\r
+   * we pass a 0-length Array of the correct type into the API call. This way we\r
+   * <i>know</i> that the Array returned is of exactly the correct length.\r
+   * \r
+   * @return this collection as an Array\r
+   */\r
+  public jalview.schemabinding.version2.Annotation[] getAnnotation()\r
+  {\r
+    jalview.schemabinding.version2.Annotation[] array = new jalview.schemabinding.version2.Annotation[0];\r
+    return (jalview.schemabinding.version2.Annotation[]) this._annotationList\r
+            .toArray(array);\r
+  }\r
+\r
+  /**\r
+   * Method getAnnotationCount.\r
+   * \r
+   * @return the size of this collection\r
+   */\r
+  public int getAnnotationCount()\r
+  {\r
+    return this._annotationList.size();\r
+  }\r
+\r
+  /**\r
+   * Returns the value of field 'datasetId'. The field 'datasetId' has the\r
+   * following description: reference to set where jalview will gather the\r
+   * dataset sequences for all sequences in the set.\r
+   * \r
+   * \r
+   * @return the value of field 'DatasetId'.\r
+   */\r
+  public java.lang.String getDatasetId()\r
+  {\r
+    return this._datasetId;\r
+  }\r
+\r
+  /**\r
+   * Returns the value of field 'gapChar'.\r
+   * \r
+   * @return the value of field 'GapChar'.\r
+   */\r
+  public java.lang.String getGapChar()\r
+  {\r
+    return this._gapChar;\r
+  }\r
+\r
+  /**\r
+   * Method getSequence.\r
+   * \r
+   * @param index\r
+   * @throws java.lang.IndexOutOfBoundsException\r
+   *                 if the index given is outside the bounds of the collection\r
+   * @return the value of the jalview.schemabinding.version2.Sequence at the\r
+   *         given index\r
+   */\r
+  public jalview.schemabinding.version2.Sequence getSequence(final int index)\r
+          throws java.lang.IndexOutOfBoundsException\r
+  {\r
+    // check bounds for index\r
+    if (index < 0 || index >= this._sequenceList.size())\r
+    {\r
+      throw new IndexOutOfBoundsException("getSequence: Index value '"\r
+              + index + "' not in range [0.."\r
+              + (this._sequenceList.size() - 1) + "]");\r
+    }\r
+\r
+    return (jalview.schemabinding.version2.Sequence) _sequenceList\r
+            .get(index);\r
+  }\r
+\r
+  /**\r
+   * Method getSequence.Returns the contents of the collection in an Array.\r
+   * <p>\r
+   * Note: Just in case the collection contents are changing in another thread,\r
+   * we pass a 0-length Array of the correct type into the API call. This way we\r
+   * <i>know</i> that the Array returned is of exactly the correct length.\r
+   * \r
+   * @return this collection as an Array\r
+   */\r
+  public jalview.schemabinding.version2.Sequence[] getSequence()\r
+  {\r
+    jalview.schemabinding.version2.Sequence[] array = new jalview.schemabinding.version2.Sequence[0];\r
+    return (jalview.schemabinding.version2.Sequence[]) this._sequenceList\r
+            .toArray(array);\r
+  }\r
+\r
+  /**\r
+   * Method getSequenceCount.\r
+   * \r
+   * @return the size of this collection\r
+   */\r
+  public int getSequenceCount()\r
+  {\r
+    return this._sequenceList.size();\r
+  }\r
+\r
+  /**\r
+   * Method getSequenceSetProperties.\r
+   * \r
+   * @param index\r
+   * @throws java.lang.IndexOutOfBoundsException\r
+   *                 if the index given is outside the bounds of the collection\r
+   * @return the value of the\r
+   *         jalview.schemabinding.version2.SequenceSetProperties at the given\r
+   *         index\r
+   */\r
+  public jalview.schemabinding.version2.SequenceSetProperties getSequenceSetProperties(\r
+          final int index) throws java.lang.IndexOutOfBoundsException\r
+  {\r
+    // check bounds for index\r
+    if (index < 0 || index >= this._sequenceSetPropertiesList.size())\r
+    {\r
+      throw new IndexOutOfBoundsException(\r
+              "getSequenceSetProperties: Index value '" + index\r
+                      + "' not in range [0.."\r
+                      + (this._sequenceSetPropertiesList.size() - 1) + "]");\r
+    }\r
+\r
+    return (jalview.schemabinding.version2.SequenceSetProperties) _sequenceSetPropertiesList\r
+            .get(index);\r
+  }\r
+\r
+  /**\r
+   * Method getSequenceSetProperties.Returns the contents of the collection in\r
+   * an Array.\r
+   * <p>\r
+   * Note: Just in case the collection contents are changing in another thread,\r
+   * we pass a 0-length Array of the correct type into the API call. This way we\r
+   * <i>know</i> that the Array returned is of exactly the correct length.\r
+   * \r
+   * @return this collection as an Array\r
+   */\r
+  public jalview.schemabinding.version2.SequenceSetProperties[] getSequenceSetProperties()\r
+  {\r
+    jalview.schemabinding.version2.SequenceSetProperties[] array = new jalview.schemabinding.version2.SequenceSetProperties[0];\r
+    return (jalview.schemabinding.version2.SequenceSetProperties[]) this._sequenceSetPropertiesList\r
+            .toArray(array);\r
+  }\r
+\r
+  /**\r
+   * Method getSequenceSetPropertiesCount.\r
+   * \r
+   * @return the size of this collection\r
+   */\r
+  public int getSequenceSetPropertiesCount()\r
+  {\r
+    return this._sequenceSetPropertiesList.size();\r
+  }\r
+\r
+  /**\r
+   * Method isValid.\r
+   * \r
+   * @return true if this object is valid according to the schema\r
+   */\r
+  public boolean isValid()\r
+  {\r
+    try\r
+    {\r
+      validate();\r
+    } catch (org.exolab.castor.xml.ValidationException vex)\r
+    {\r
+      return false;\r
+    }\r
+    return true;\r
+  }\r
+\r
+  /**\r
+   * \r
+   * \r
+   * @param out\r
+   * @throws org.exolab.castor.xml.MarshalException\r
+   *                 if object is null or if any SAXException is thrown during\r
+   *                 marshaling\r
+   * @throws org.exolab.castor.xml.ValidationException\r
+   *                 if this object is an invalid instance according to the\r
+   *                 schema\r
+   */\r
+  public void marshal(final java.io.Writer out)\r
+          throws org.exolab.castor.xml.MarshalException,\r
+          org.exolab.castor.xml.ValidationException\r
+  {\r
+    Marshaller.marshal(this, out);\r
+  }\r
+\r
+  /**\r
+   * \r
+   * \r
+   * @param handler\r
+   * @throws java.io.IOException\r
+   *                 if an IOException occurs during marshaling\r
+   * @throws org.exolab.castor.xml.ValidationException\r
+   *                 if this object is an invalid instance according to the\r
+   *                 schema\r
+   * @throws org.exolab.castor.xml.MarshalException\r
+   *                 if object is null or if any SAXException is thrown during\r
+   *                 marshaling\r
+   */\r
+  public void marshal(final org.xml.sax.ContentHandler handler)\r
+          throws java.io.IOException,\r
+          org.exolab.castor.xml.MarshalException,\r
+          org.exolab.castor.xml.ValidationException\r
+  {\r
+    Marshaller.marshal(this, handler);\r
+  }\r
+\r
+  /**\r
+   * Method removeAlcodonFrame.\r
+   * \r
+   * @param vAlcodonFrame\r
+   * @return true if the object was removed from the collection.\r
+   */\r
+  public boolean removeAlcodonFrame(\r
+          final jalview.schemabinding.version2.AlcodonFrame vAlcodonFrame)\r
+  {\r
+    boolean removed = _alcodonFrameList.remove(vAlcodonFrame);\r
+    return removed;\r
+  }\r
+\r
+  /**\r
+   * Method removeAlcodonFrameAt.\r
+   * \r
+   * @param index\r
+   * @return the element removed from the collection\r
+   */\r
+  public jalview.schemabinding.version2.AlcodonFrame removeAlcodonFrameAt(\r
+          final int index)\r
+  {\r
+    java.lang.Object obj = this._alcodonFrameList.remove(index);\r
+    return (jalview.schemabinding.version2.AlcodonFrame) obj;\r
+  }\r
+\r
+  /**\r
+   */\r
+  public void removeAllAlcodonFrame()\r
+  {\r
+    this._alcodonFrameList.clear();\r
+  }\r
+\r
+  /**\r
+   */\r
+  public void removeAllAnnotation()\r
+  {\r
+    this._annotationList.clear();\r
+  }\r
+\r
+  /**\r
+   */\r
+  public void removeAllSequence()\r
+  {\r
+    this._sequenceList.clear();\r
+  }\r
+\r
+  /**\r
+   */\r
+  public void removeAllSequenceSetProperties()\r
+  {\r
+    this._sequenceSetPropertiesList.clear();\r
+  }\r
+\r
+  /**\r
+   * Method removeAnnotation.\r
+   * \r
+   * @param vAnnotation\r
+   * @return true if the object was removed from the collection.\r
+   */\r
+  public boolean removeAnnotation(\r
+          final jalview.schemabinding.version2.Annotation vAnnotation)\r
+  {\r
+    boolean removed = _annotationList.remove(vAnnotation);\r
+    return removed;\r
+  }\r
+\r
+  /**\r
+   * Method removeAnnotationAt.\r
+   * \r
+   * @param index\r
+   * @return the element removed from the collection\r
+   */\r
+  public jalview.schemabinding.version2.Annotation removeAnnotationAt(\r
+          final int index)\r
+  {\r
+    java.lang.Object obj = this._annotationList.remove(index);\r
+    return (jalview.schemabinding.version2.Annotation) obj;\r
+  }\r
+\r
+  /**\r
+   * Method removeSequence.\r
+   * \r
+   * @param vSequence\r
+   * @return true if the object was removed from the collection.\r
+   */\r
+  public boolean removeSequence(\r
+          final jalview.schemabinding.version2.Sequence vSequence)\r
+  {\r
+    boolean removed = _sequenceList.remove(vSequence);\r
+    return removed;\r
+  }\r
+\r
+  /**\r
+   * Method removeSequenceAt.\r
+   * \r
+   * @param index\r
+   * @return the element removed from the collection\r
+   */\r
+  public jalview.schemabinding.version2.Sequence removeSequenceAt(\r
+          final int index)\r
+  {\r
+    java.lang.Object obj = this._sequenceList.remove(index);\r
+    return (jalview.schemabinding.version2.Sequence) obj;\r
+  }\r
+\r
+  /**\r
+   * Method removeSequenceSetProperties.\r
+   * \r
+   * @param vSequenceSetProperties\r
+   * @return true if the object was removed from the collection.\r
+   */\r
+  public boolean removeSequenceSetProperties(\r
+          final jalview.schemabinding.version2.SequenceSetProperties vSequenceSetProperties)\r
+  {\r
+    boolean removed = _sequenceSetPropertiesList\r
+            .remove(vSequenceSetProperties);\r
+    return removed;\r
+  }\r
+\r
+  /**\r
+   * Method removeSequenceSetPropertiesAt.\r
+   * \r
+   * @param index\r
+   * @return the element removed from the collection\r
+   */\r
+  public jalview.schemabinding.version2.SequenceSetProperties removeSequenceSetPropertiesAt(\r
+          final int index)\r
+  {\r
+    java.lang.Object obj = this._sequenceSetPropertiesList.remove(index);\r
+    return (jalview.schemabinding.version2.SequenceSetProperties) obj;\r
+  }\r
+\r
+  /**\r
+   * \r
+   * \r
+   * @param index\r
+   * @param vAlcodonFrame\r
+   * @throws java.lang.IndexOutOfBoundsException\r
+   *                 if the index given is outside the bounds of the collection\r
+   */\r
+  public void setAlcodonFrame(final int index,\r
+          final jalview.schemabinding.version2.AlcodonFrame vAlcodonFrame)\r
+          throws java.lang.IndexOutOfBoundsException\r
+  {\r
+    // check bounds for index\r
+    if (index < 0 || index >= this._alcodonFrameList.size())\r
+    {\r
+      throw new IndexOutOfBoundsException("setAlcodonFrame: Index value '"\r
+              + index + "' not in range [0.."\r
+              + (this._alcodonFrameList.size() - 1) + "]");\r
+    }\r
+\r
+    this._alcodonFrameList.set(index, vAlcodonFrame);\r
+  }\r
+\r
+  /**\r
+   * \r
+   * \r
+   * @param vAlcodonFrameArray\r
+   */\r
+  public void setAlcodonFrame(\r
+          final jalview.schemabinding.version2.AlcodonFrame[] vAlcodonFrameArray)\r
+  {\r
+    // -- copy array\r
+    _alcodonFrameList.clear();\r
+\r
+    for (int i = 0; i < vAlcodonFrameArray.length; i++)\r
+    {\r
+      this._alcodonFrameList.add(vAlcodonFrameArray[i]);\r
+    }\r
+  }\r
+\r
+  /**\r
+   * \r
+   * \r
+   * @param index\r
+   * @param vAnnotation\r
+   * @throws java.lang.IndexOutOfBoundsException\r
+   *                 if the index given is outside the bounds of the collection\r
+   */\r
+  public void setAnnotation(final int index,\r
+          final jalview.schemabinding.version2.Annotation vAnnotation)\r
+          throws java.lang.IndexOutOfBoundsException\r
+  {\r
+    // check bounds for index\r
+    if (index < 0 || index >= this._annotationList.size())\r
+    {\r
+      throw new IndexOutOfBoundsException("setAnnotation: Index value '"\r
+              + index + "' not in range [0.."\r
+              + (this._annotationList.size() - 1) + "]");\r
+    }\r
+\r
+    this._annotationList.set(index, vAnnotation);\r
+  }\r
+\r
+  /**\r
+   * \r
+   * \r
+   * @param vAnnotationArray\r
+   */\r
+  public void setAnnotation(\r
+          final jalview.schemabinding.version2.Annotation[] vAnnotationArray)\r
+  {\r
+    // -- copy array\r
+    _annotationList.clear();\r
+\r
+    for (int i = 0; i < vAnnotationArray.length; i++)\r
+    {\r
+      this._annotationList.add(vAnnotationArray[i]);\r
+    }\r
+  }\r
+\r
+  /**\r
+   * Sets the value of field 'datasetId'. The field 'datasetId' has the\r
+   * following description: reference to set where jalview will gather the\r
+   * dataset sequences for all sequences in the set.\r
+   * \r
+   * \r
+   * @param datasetId\r
+   *                the value of field 'datasetId'.\r
+   */\r
+  public void setDatasetId(final java.lang.String datasetId)\r
+  {\r
+    this._datasetId = datasetId;\r
+  }\r
+\r
+  /**\r
+   * Sets the value of field 'gapChar'.\r
+   * \r
+   * @param gapChar\r
+   *                the value of field 'gapChar'.\r
+   */\r
+  public void setGapChar(final java.lang.String gapChar)\r
+  {\r
+    this._gapChar = gapChar;\r
+  }\r
+\r
+  /**\r
+   * \r
+   * \r
+   * @param index\r
+   * @param vSequence\r
+   * @throws java.lang.IndexOutOfBoundsException\r
+   *                 if the index given is outside the bounds of the collection\r
+   */\r
+  public void setSequence(final int index,\r
+          final jalview.schemabinding.version2.Sequence vSequence)\r
+          throws java.lang.IndexOutOfBoundsException\r
+  {\r
+    // check bounds for index\r
+    if (index < 0 || index >= this._sequenceList.size())\r
+    {\r
+      throw new IndexOutOfBoundsException("setSequence: Index value '"\r
+              + index + "' not in range [0.."\r
+              + (this._sequenceList.size() - 1) + "]");\r
+    }\r
+\r
+    this._sequenceList.set(index, vSequence);\r
+  }\r
+\r
+  /**\r
+   * \r
+   * \r
+   * @param vSequenceArray\r
+   */\r
+  public void setSequence(\r
+          final jalview.schemabinding.version2.Sequence[] vSequenceArray)\r
+  {\r
+    // -- copy array\r
+    _sequenceList.clear();\r
+\r
+    for (int i = 0; i < vSequenceArray.length; i++)\r
+    {\r
+      this._sequenceList.add(vSequenceArray[i]);\r
+    }\r
+  }\r
+\r
+  /**\r
+   * \r
+   * \r
+   * @param index\r
+   * @param vSequenceSetProperties\r
+   * @throws java.lang.IndexOutOfBoundsException\r
+   *                 if the index given is outside the bounds of the collection\r
+   */\r
+  public void setSequenceSetProperties(\r
+          final int index,\r
+          final jalview.schemabinding.version2.SequenceSetProperties vSequenceSetProperties)\r
+          throws java.lang.IndexOutOfBoundsException\r
+  {\r
+    // check bounds for index\r
+    if (index < 0 || index >= this._sequenceSetPropertiesList.size())\r
+    {\r
+      throw new IndexOutOfBoundsException(\r
+              "setSequenceSetProperties: Index value '" + index\r
+                      + "' not in range [0.."\r
+                      + (this._sequenceSetPropertiesList.size() - 1) + "]");\r
+    }\r
+\r
+    this._sequenceSetPropertiesList.set(index, vSequenceSetProperties);\r
+  }\r
+\r
+  /**\r
+   * \r
+   * \r
+   * @param vSequenceSetPropertiesArray\r
+   */\r
+  public void setSequenceSetProperties(\r
+          final jalview.schemabinding.version2.SequenceSetProperties[] vSequenceSetPropertiesArray)\r
+  {\r
+    // -- copy array\r
+    _sequenceSetPropertiesList.clear();\r
+\r
+    for (int i = 0; i < vSequenceSetPropertiesArray.length; i++)\r
+    {\r
+      this._sequenceSetPropertiesList.add(vSequenceSetPropertiesArray[i]);\r
+    }\r
+  }\r
+\r
+  /**\r
+   * Method unmarshal.\r
+   * \r
+   * @param reader\r
+   * @throws org.exolab.castor.xml.MarshalException\r
+   *                 if object is null or if any SAXException is thrown during\r
+   *                 marshaling\r
+   * @throws org.exolab.castor.xml.ValidationException\r
+   *                 if this object is an invalid instance according to the\r
+   *                 schema\r
+   * @return the unmarshaled jalview.schemabinding.version2.SequenceSet\r
+   */\r
+  public static jalview.schemabinding.version2.SequenceSet unmarshal(\r
+          final java.io.Reader reader)\r
+          throws org.exolab.castor.xml.MarshalException,\r
+          org.exolab.castor.xml.ValidationException\r
+  {\r
+    return (jalview.schemabinding.version2.SequenceSet) Unmarshaller\r
+            .unmarshal(jalview.schemabinding.version2.SequenceSet.class,\r
+                    reader);\r
+  }\r
+\r
+  /**\r
+   * \r
+   * \r
+   * @throws org.exolab.castor.xml.ValidationException\r
+   *                 if this object is an invalid instance according to the\r
+   *                 schema\r
+   */\r
+  public void validate() throws org.exolab.castor.xml.ValidationException\r
+  {\r
+    org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();\r
+    validator.validate(this);\r
+  }\r
 \r
 }\r