apply version 2.7 copyright
[jalview.git] / src / jalview / schemabinding / version2 / descriptors / ViewportDescriptor.java
index 254b785..13ad9f7 100644 (file)
-/*\r
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.6)\r
- * Copyright (C) 2010 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle\r
- * \r
- * This file is part of Jalview.\r
- * \r
- * Jalview 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 3 of the License, or (at your option) any later version.\r
- * \r
- * Jalview is distributed in the hope that it will be useful, but \r
- * WITHOUT ANY WARRANTY; without even the implied warranty \r
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR \r
- * PURPOSE.  See the GNU General Public License for more details.\r
- * \r
- * You should have received a copy of the GNU General Public License along with Jalview.  If not, see <http://www.gnu.org/licenses/>.\r
- */\r
-package jalview.schemabinding.version2.descriptors;\r
-\r
-//---------------------------------/\r
-//- Imported classes and packages -/\r
-//---------------------------------/\r
-\r
-import jalview.schemabinding.version2.Viewport;\r
-\r
-/**\r
- * Class ViewportDescriptor.\r
- * \r
- * @version $Revision$ $Date$\r
- */\r
-public class ViewportDescriptor extends\r
-        org.exolab.castor.xml.util.XMLClassDescriptorImpl\r
-{\r
-\r
-  // --------------------------/\r
-  // - Class/Member Variables -/\r
-  // --------------------------/\r
-\r
-  /**\r
-   * Field _elementDefinition.\r
-   */\r
-  private boolean _elementDefinition;\r
-\r
-  /**\r
-   * Field _nsPrefix.\r
-   */\r
-  private java.lang.String _nsPrefix;\r
-\r
-  /**\r
-   * Field _nsURI.\r
-   */\r
-  private java.lang.String _nsURI;\r
-\r
-  /**\r
-   * Field _xmlName.\r
-   */\r
-  private java.lang.String _xmlName;\r
-\r
-  // ----------------/\r
-  // - Constructors -/\r
-  // ----------------/\r
-\r
-  public ViewportDescriptor()\r
-  {\r
-    super();\r
-    _nsURI = "www.jalview.org";\r
-    _xmlName = "Viewport";\r
-    _elementDefinition = true;\r
-\r
-    // -- set grouping compositor\r
-    setCompositorAsSequence();\r
-    org.exolab.castor.xml.util.XMLFieldDescriptorImpl desc = null;\r
-    org.exolab.castor.mapping.FieldHandler handler = null;\r
-    org.exolab.castor.xml.FieldValidator fieldValidator = null;\r
-    // -- initialize attribute descriptors\r
-\r
-    // -- _conservationSelected\r
-    desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
-            java.lang.Boolean.TYPE, "_conservationSelected",\r
-            "conservationSelected",\r
-            org.exolab.castor.xml.NodeType.Attribute);\r
-    handler = new org.exolab.castor.xml.XMLFieldHandler()\r
-    {\r
-      public java.lang.Object getValue(java.lang.Object object)\r
-              throws IllegalStateException\r
-      {\r
-        Viewport target = (Viewport) object;\r
-        if (!target.hasConservationSelected())\r
-        {\r
-          return null;\r
-        }\r
-        return (target.getConservationSelected() ? java.lang.Boolean.TRUE\r
-                : java.lang.Boolean.FALSE);\r
-      }\r
-\r
-      public void setValue(java.lang.Object object, java.lang.Object value)\r
-              throws IllegalStateException, IllegalArgumentException\r
-      {\r
-        try\r
-        {\r
-          Viewport target = (Viewport) object;\r
-          // if null, use delete method for optional primitives\r
-          if (value == null)\r
-          {\r
-            target.deleteConservationSelected();\r
-            return;\r
-          }\r
-          target.setConservationSelected(((java.lang.Boolean) value)\r
-                  .booleanValue());\r
-        } catch (java.lang.Exception ex)\r
-        {\r
-          throw new IllegalStateException(ex.toString());\r
-        }\r
-      }\r
-\r
-      public java.lang.Object newInstance(java.lang.Object parent)\r
-      {\r
-        return null;\r
-      }\r
-    };\r
-    desc.setHandler(handler);\r
-    desc.setMultivalued(false);\r
-    addFieldDescriptor(desc);\r
-\r
-    // -- validation code for: _conservationSelected\r
-    fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
-    { // -- local scope\r
-      org.exolab.castor.xml.validators.BooleanValidator typeValidator;\r
-      typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();\r
-      fieldValidator.setValidator(typeValidator);\r
-    }\r
-    desc.setValidator(fieldValidator);\r
-    // -- _pidSelected\r
-    desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
-            java.lang.Boolean.TYPE, "_pidSelected", "pidSelected",\r
-            org.exolab.castor.xml.NodeType.Attribute);\r
-    handler = new org.exolab.castor.xml.XMLFieldHandler()\r
-    {\r
-      public java.lang.Object getValue(java.lang.Object object)\r
-              throws IllegalStateException\r
-      {\r
-        Viewport target = (Viewport) object;\r
-        if (!target.hasPidSelected())\r
-        {\r
-          return null;\r
-        }\r
-        return (target.getPidSelected() ? java.lang.Boolean.TRUE\r
-                : java.lang.Boolean.FALSE);\r
-      }\r
-\r
-      public void setValue(java.lang.Object object, java.lang.Object value)\r
-              throws IllegalStateException, IllegalArgumentException\r
-      {\r
-        try\r
-        {\r
-          Viewport target = (Viewport) object;\r
-          // if null, use delete method for optional primitives\r
-          if (value == null)\r
-          {\r
-            target.deletePidSelected();\r
-            return;\r
-          }\r
-          target.setPidSelected(((java.lang.Boolean) value).booleanValue());\r
-        } catch (java.lang.Exception ex)\r
-        {\r
-          throw new IllegalStateException(ex.toString());\r
-        }\r
-      }\r
-\r
-      public java.lang.Object newInstance(java.lang.Object parent)\r
-      {\r
-        return null;\r
-      }\r
-    };\r
-    desc.setHandler(handler);\r
-    desc.setMultivalued(false);\r
-    addFieldDescriptor(desc);\r
-\r
-    // -- validation code for: _pidSelected\r
-    fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
-    { // -- local scope\r
-      org.exolab.castor.xml.validators.BooleanValidator typeValidator;\r
-      typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();\r
-      fieldValidator.setValidator(typeValidator);\r
-    }\r
-    desc.setValidator(fieldValidator);\r
-    // -- _bgColour\r
-    desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
-            java.lang.String.class, "_bgColour", "bgColour",\r
-            org.exolab.castor.xml.NodeType.Attribute);\r
-    desc.setImmutable(true);\r
-    handler = new org.exolab.castor.xml.XMLFieldHandler()\r
-    {\r
-      public java.lang.Object getValue(java.lang.Object object)\r
-              throws IllegalStateException\r
-      {\r
-        Viewport target = (Viewport) object;\r
-        return target.getBgColour();\r
-      }\r
-\r
-      public void setValue(java.lang.Object object, java.lang.Object value)\r
-              throws IllegalStateException, IllegalArgumentException\r
-      {\r
-        try\r
-        {\r
-          Viewport target = (Viewport) object;\r
-          target.setBgColour((java.lang.String) value);\r
-        } catch (java.lang.Exception ex)\r
-        {\r
-          throw new IllegalStateException(ex.toString());\r
-        }\r
-      }\r
-\r
-      public java.lang.Object newInstance(java.lang.Object parent)\r
-      {\r
-        return null;\r
-      }\r
-    };\r
-    desc.setHandler(handler);\r
-    desc.setMultivalued(false);\r
-    addFieldDescriptor(desc);\r
-\r
-    // -- validation code for: _bgColour\r
-    fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
-    { // -- local scope\r
-      org.exolab.castor.xml.validators.StringValidator typeValidator;\r
-      typeValidator = new org.exolab.castor.xml.validators.StringValidator();\r
-      fieldValidator.setValidator(typeValidator);\r
-      typeValidator.setWhiteSpace("preserve");\r
-    }\r
-    desc.setValidator(fieldValidator);\r
-    // -- _consThreshold\r
-    desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
-            java.lang.Integer.TYPE, "_consThreshold", "consThreshold",\r
-            org.exolab.castor.xml.NodeType.Attribute);\r
-    handler = new org.exolab.castor.xml.XMLFieldHandler()\r
-    {\r
-      public java.lang.Object getValue(java.lang.Object object)\r
-              throws IllegalStateException\r
-      {\r
-        Viewport target = (Viewport) object;\r
-        if (!target.hasConsThreshold())\r
-        {\r
-          return null;\r
-        }\r
-        return new java.lang.Integer(target.getConsThreshold());\r
-      }\r
-\r
-      public void setValue(java.lang.Object object, java.lang.Object value)\r
-              throws IllegalStateException, IllegalArgumentException\r
-      {\r
-        try\r
-        {\r
-          Viewport target = (Viewport) object;\r
-          // if null, use delete method for optional primitives\r
-          if (value == null)\r
-          {\r
-            target.deleteConsThreshold();\r
-            return;\r
-          }\r
-          target.setConsThreshold(((java.lang.Integer) value).intValue());\r
-        } catch (java.lang.Exception ex)\r
-        {\r
-          throw new IllegalStateException(ex.toString());\r
-        }\r
-      }\r
-\r
-      public java.lang.Object newInstance(java.lang.Object parent)\r
-      {\r
-        return null;\r
-      }\r
-    };\r
-    desc.setHandler(handler);\r
-    desc.setMultivalued(false);\r
-    addFieldDescriptor(desc);\r
-\r
-    // -- validation code for: _consThreshold\r
-    fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
-    { // -- local scope\r
-      org.exolab.castor.xml.validators.IntValidator typeValidator;\r
-      typeValidator = new org.exolab.castor.xml.validators.IntValidator();\r
-      fieldValidator.setValidator(typeValidator);\r
-      typeValidator.setMinInclusive(-2147483648);\r
-      typeValidator.setMaxInclusive(2147483647);\r
-    }\r
-    desc.setValidator(fieldValidator);\r
-    // -- _pidThreshold\r
-    desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
-            java.lang.Integer.TYPE, "_pidThreshold", "pidThreshold",\r
-            org.exolab.castor.xml.NodeType.Attribute);\r
-    handler = new org.exolab.castor.xml.XMLFieldHandler()\r
-    {\r
-      public java.lang.Object getValue(java.lang.Object object)\r
-              throws IllegalStateException\r
-      {\r
-        Viewport target = (Viewport) object;\r
-        if (!target.hasPidThreshold())\r
-        {\r
-          return null;\r
-        }\r
-        return new java.lang.Integer(target.getPidThreshold());\r
-      }\r
-\r
-      public void setValue(java.lang.Object object, java.lang.Object value)\r
-              throws IllegalStateException, IllegalArgumentException\r
-      {\r
-        try\r
-        {\r
-          Viewport target = (Viewport) object;\r
-          // if null, use delete method for optional primitives\r
-          if (value == null)\r
-          {\r
-            target.deletePidThreshold();\r
-            return;\r
-          }\r
-          target.setPidThreshold(((java.lang.Integer) value).intValue());\r
-        } catch (java.lang.Exception ex)\r
-        {\r
-          throw new IllegalStateException(ex.toString());\r
-        }\r
-      }\r
-\r
-      public java.lang.Object newInstance(java.lang.Object parent)\r
-      {\r
-        return null;\r
-      }\r
-    };\r
-    desc.setHandler(handler);\r
-    desc.setMultivalued(false);\r
-    addFieldDescriptor(desc);\r
-\r
-    // -- validation code for: _pidThreshold\r
-    fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
-    { // -- local scope\r
-      org.exolab.castor.xml.validators.IntValidator typeValidator;\r
-      typeValidator = new org.exolab.castor.xml.validators.IntValidator();\r
-      fieldValidator.setValidator(typeValidator);\r
-      typeValidator.setMinInclusive(-2147483648);\r
-      typeValidator.setMaxInclusive(2147483647);\r
-    }\r
-    desc.setValidator(fieldValidator);\r
-    // -- _title\r
-    desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
-            java.lang.String.class, "_title", "title",\r
-            org.exolab.castor.xml.NodeType.Attribute);\r
-    desc.setImmutable(true);\r
-    handler = new org.exolab.castor.xml.XMLFieldHandler()\r
-    {\r
-      public java.lang.Object getValue(java.lang.Object object)\r
-              throws IllegalStateException\r
-      {\r
-        Viewport target = (Viewport) object;\r
-        return target.getTitle();\r
-      }\r
-\r
-      public void setValue(java.lang.Object object, java.lang.Object value)\r
-              throws IllegalStateException, IllegalArgumentException\r
-      {\r
-        try\r
-        {\r
-          Viewport target = (Viewport) object;\r
-          target.setTitle((java.lang.String) value);\r
-        } catch (java.lang.Exception ex)\r
-        {\r
-          throw new IllegalStateException(ex.toString());\r
-        }\r
-      }\r
-\r
-      public java.lang.Object newInstance(java.lang.Object parent)\r
-      {\r
-        return null;\r
-      }\r
-    };\r
-    desc.setHandler(handler);\r
-    desc.setMultivalued(false);\r
-    addFieldDescriptor(desc);\r
-\r
-    // -- validation code for: _title\r
-    fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
-    { // -- local scope\r
-      org.exolab.castor.xml.validators.StringValidator typeValidator;\r
-      typeValidator = new org.exolab.castor.xml.validators.StringValidator();\r
-      fieldValidator.setValidator(typeValidator);\r
-      typeValidator.setWhiteSpace("preserve");\r
-    }\r
-    desc.setValidator(fieldValidator);\r
-    // -- _showFullId\r
-    desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
-            java.lang.Boolean.TYPE, "_showFullId", "showFullId",\r
-            org.exolab.castor.xml.NodeType.Attribute);\r
-    handler = new org.exolab.castor.xml.XMLFieldHandler()\r
-    {\r
-      public java.lang.Object getValue(java.lang.Object object)\r
-              throws IllegalStateException\r
-      {\r
-        Viewport target = (Viewport) object;\r
-        if (!target.hasShowFullId())\r
-        {\r
-          return null;\r
-        }\r
-        return (target.getShowFullId() ? java.lang.Boolean.TRUE\r
-                : java.lang.Boolean.FALSE);\r
-      }\r
-\r
-      public void setValue(java.lang.Object object, java.lang.Object value)\r
-              throws IllegalStateException, IllegalArgumentException\r
-      {\r
-        try\r
-        {\r
-          Viewport target = (Viewport) object;\r
-          // if null, use delete method for optional primitives\r
-          if (value == null)\r
-          {\r
-            target.deleteShowFullId();\r
-            return;\r
-          }\r
-          target.setShowFullId(((java.lang.Boolean) value).booleanValue());\r
-        } catch (java.lang.Exception ex)\r
-        {\r
-          throw new IllegalStateException(ex.toString());\r
-        }\r
-      }\r
-\r
-      public java.lang.Object newInstance(java.lang.Object parent)\r
-      {\r
-        return null;\r
-      }\r
-    };\r
-    desc.setHandler(handler);\r
-    desc.setMultivalued(false);\r
-    addFieldDescriptor(desc);\r
-\r
-    // -- validation code for: _showFullId\r
-    fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
-    { // -- local scope\r
-      org.exolab.castor.xml.validators.BooleanValidator typeValidator;\r
-      typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();\r
-      fieldValidator.setValidator(typeValidator);\r
-    }\r
-    desc.setValidator(fieldValidator);\r
-    // -- _rightAlignIds\r
-    desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
-            java.lang.Boolean.TYPE, "_rightAlignIds", "rightAlignIds",\r
-            org.exolab.castor.xml.NodeType.Attribute);\r
-    handler = new org.exolab.castor.xml.XMLFieldHandler()\r
-    {\r
-      public java.lang.Object getValue(java.lang.Object object)\r
-              throws IllegalStateException\r
-      {\r
-        Viewport target = (Viewport) object;\r
-        if (!target.hasRightAlignIds())\r
-        {\r
-          return null;\r
-        }\r
-        return (target.getRightAlignIds() ? java.lang.Boolean.TRUE\r
-                : java.lang.Boolean.FALSE);\r
-      }\r
-\r
-      public void setValue(java.lang.Object object, java.lang.Object value)\r
-              throws IllegalStateException, IllegalArgumentException\r
-      {\r
-        try\r
-        {\r
-          Viewport target = (Viewport) object;\r
-          // if null, use delete method for optional primitives\r
-          if (value == null)\r
-          {\r
-            target.deleteRightAlignIds();\r
-            return;\r
-          }\r
-          target.setRightAlignIds(((java.lang.Boolean) value)\r
-                  .booleanValue());\r
-        } catch (java.lang.Exception ex)\r
-        {\r
-          throw new IllegalStateException(ex.toString());\r
-        }\r
-      }\r
-\r
-      public java.lang.Object newInstance(java.lang.Object parent)\r
-      {\r
-        return null;\r
-      }\r
-    };\r
-    desc.setHandler(handler);\r
-    desc.setMultivalued(false);\r
-    addFieldDescriptor(desc);\r
-\r
-    // -- validation code for: _rightAlignIds\r
-    fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
-    { // -- local scope\r
-      org.exolab.castor.xml.validators.BooleanValidator typeValidator;\r
-      typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();\r
-      fieldValidator.setValidator(typeValidator);\r
-    }\r
-    desc.setValidator(fieldValidator);\r
-    // -- _showText\r
-    desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
-            java.lang.Boolean.TYPE, "_showText", "showText",\r
-            org.exolab.castor.xml.NodeType.Attribute);\r
-    handler = new org.exolab.castor.xml.XMLFieldHandler()\r
-    {\r
-      public java.lang.Object getValue(java.lang.Object object)\r
-              throws IllegalStateException\r
-      {\r
-        Viewport target = (Viewport) object;\r
-        if (!target.hasShowText())\r
-        {\r
-          return null;\r
-        }\r
-        return (target.getShowText() ? java.lang.Boolean.TRUE\r
-                : java.lang.Boolean.FALSE);\r
-      }\r
-\r
-      public void setValue(java.lang.Object object, java.lang.Object value)\r
-              throws IllegalStateException, IllegalArgumentException\r
-      {\r
-        try\r
-        {\r
-          Viewport target = (Viewport) object;\r
-          // if null, use delete method for optional primitives\r
-          if (value == null)\r
-          {\r
-            target.deleteShowText();\r
-            return;\r
-          }\r
-          target.setShowText(((java.lang.Boolean) value).booleanValue());\r
-        } catch (java.lang.Exception ex)\r
-        {\r
-          throw new IllegalStateException(ex.toString());\r
-        }\r
-      }\r
-\r
-      public java.lang.Object newInstance(java.lang.Object parent)\r
-      {\r
-        return null;\r
-      }\r
-    };\r
-    desc.setHandler(handler);\r
-    desc.setMultivalued(false);\r
-    addFieldDescriptor(desc);\r
-\r
-    // -- validation code for: _showText\r
-    fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
-    { // -- local scope\r
-      org.exolab.castor.xml.validators.BooleanValidator typeValidator;\r
-      typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();\r
-      fieldValidator.setValidator(typeValidator);\r
-    }\r
-    desc.setValidator(fieldValidator);\r
-    // -- _showColourText\r
-    desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
-            java.lang.Boolean.TYPE, "_showColourText", "showColourText",\r
-            org.exolab.castor.xml.NodeType.Attribute);\r
-    handler = new org.exolab.castor.xml.XMLFieldHandler()\r
-    {\r
-      public java.lang.Object getValue(java.lang.Object object)\r
-              throws IllegalStateException\r
-      {\r
-        Viewport target = (Viewport) object;\r
-        if (!target.hasShowColourText())\r
-        {\r
-          return null;\r
-        }\r
-        return (target.getShowColourText() ? java.lang.Boolean.TRUE\r
-                : java.lang.Boolean.FALSE);\r
-      }\r
-\r
-      public void setValue(java.lang.Object object, java.lang.Object value)\r
-              throws IllegalStateException, IllegalArgumentException\r
-      {\r
-        try\r
-        {\r
-          Viewport target = (Viewport) object;\r
-          // if null, use delete method for optional primitives\r
-          if (value == null)\r
-          {\r
-            target.deleteShowColourText();\r
-            return;\r
-          }\r
-          target.setShowColourText(((java.lang.Boolean) value)\r
-                  .booleanValue());\r
-        } catch (java.lang.Exception ex)\r
-        {\r
-          throw new IllegalStateException(ex.toString());\r
-        }\r
-      }\r
-\r
-      public java.lang.Object newInstance(java.lang.Object parent)\r
-      {\r
-        return null;\r
-      }\r
-    };\r
-    desc.setHandler(handler);\r
-    desc.setMultivalued(false);\r
-    addFieldDescriptor(desc);\r
-\r
-    // -- validation code for: _showColourText\r
-    fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
-    { // -- local scope\r
-      org.exolab.castor.xml.validators.BooleanValidator typeValidator;\r
-      typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();\r
-      fieldValidator.setValidator(typeValidator);\r
-    }\r
-    desc.setValidator(fieldValidator);\r
-    // -- _showUnconserved\r
-    desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
-            java.lang.Boolean.TYPE, "_showUnconserved", "showUnconserved",\r
-            org.exolab.castor.xml.NodeType.Attribute);\r
-    handler = new org.exolab.castor.xml.XMLFieldHandler()\r
-    {\r
-      public java.lang.Object getValue(java.lang.Object object)\r
-              throws IllegalStateException\r
-      {\r
-        Viewport target = (Viewport) object;\r
-        if (!target.hasShowUnconserved())\r
-        {\r
-          return null;\r
-        }\r
-        return (target.getShowUnconserved() ? java.lang.Boolean.TRUE\r
-                : java.lang.Boolean.FALSE);\r
-      }\r
-\r
-      public void setValue(java.lang.Object object, java.lang.Object value)\r
-              throws IllegalStateException, IllegalArgumentException\r
-      {\r
-        try\r
-        {\r
-          Viewport target = (Viewport) object;\r
-          // if null, use delete method for optional primitives\r
-          if (value == null)\r
-          {\r
-            target.deleteShowUnconserved();\r
-            return;\r
-          }\r
-          target.setShowUnconserved(((java.lang.Boolean) value)\r
-                  .booleanValue());\r
-        } catch (java.lang.Exception ex)\r
-        {\r
-          throw new IllegalStateException(ex.toString());\r
-        }\r
-      }\r
-\r
-      public java.lang.Object newInstance(java.lang.Object parent)\r
-      {\r
-        return null;\r
-      }\r
-    };\r
-    desc.setHandler(handler);\r
-    desc.setMultivalued(false);\r
-    addFieldDescriptor(desc);\r
-\r
-    // -- validation code for: _showUnconserved\r
-    fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
-    { // -- local scope\r
-      org.exolab.castor.xml.validators.BooleanValidator typeValidator;\r
-      typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();\r
-      fieldValidator.setValidator(typeValidator);\r
-    }\r
-    desc.setValidator(fieldValidator);\r
-    // -- _showBoxes\r
-    desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
-            java.lang.Boolean.TYPE, "_showBoxes", "showBoxes",\r
-            org.exolab.castor.xml.NodeType.Attribute);\r
-    handler = new org.exolab.castor.xml.XMLFieldHandler()\r
-    {\r
-      public java.lang.Object getValue(java.lang.Object object)\r
-              throws IllegalStateException\r
-      {\r
-        Viewport target = (Viewport) object;\r
-        if (!target.hasShowBoxes())\r
-        {\r
-          return null;\r
-        }\r
-        return (target.getShowBoxes() ? java.lang.Boolean.TRUE\r
-                : java.lang.Boolean.FALSE);\r
-      }\r
-\r
-      public void setValue(java.lang.Object object, java.lang.Object value)\r
-              throws IllegalStateException, IllegalArgumentException\r
-      {\r
-        try\r
-        {\r
-          Viewport target = (Viewport) object;\r
-          // if null, use delete method for optional primitives\r
-          if (value == null)\r
-          {\r
-            target.deleteShowBoxes();\r
-            return;\r
-          }\r
-          target.setShowBoxes(((java.lang.Boolean) value).booleanValue());\r
-        } catch (java.lang.Exception ex)\r
-        {\r
-          throw new IllegalStateException(ex.toString());\r
-        }\r
-      }\r
-\r
-      public java.lang.Object newInstance(java.lang.Object parent)\r
-      {\r
-        return null;\r
-      }\r
-    };\r
-    desc.setHandler(handler);\r
-    desc.setMultivalued(false);\r
-    addFieldDescriptor(desc);\r
-\r
-    // -- validation code for: _showBoxes\r
-    fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
-    { // -- local scope\r
-      org.exolab.castor.xml.validators.BooleanValidator typeValidator;\r
-      typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();\r
-      fieldValidator.setValidator(typeValidator);\r
-    }\r
-    desc.setValidator(fieldValidator);\r
-    // -- _wrapAlignment\r
-    desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
-            java.lang.Boolean.TYPE, "_wrapAlignment", "wrapAlignment",\r
-            org.exolab.castor.xml.NodeType.Attribute);\r
-    handler = new org.exolab.castor.xml.XMLFieldHandler()\r
-    {\r
-      public java.lang.Object getValue(java.lang.Object object)\r
-              throws IllegalStateException\r
-      {\r
-        Viewport target = (Viewport) object;\r
-        if (!target.hasWrapAlignment())\r
-        {\r
-          return null;\r
-        }\r
-        return (target.getWrapAlignment() ? java.lang.Boolean.TRUE\r
-                : java.lang.Boolean.FALSE);\r
-      }\r
-\r
-      public void setValue(java.lang.Object object, java.lang.Object value)\r
-              throws IllegalStateException, IllegalArgumentException\r
-      {\r
-        try\r
-        {\r
-          Viewport target = (Viewport) object;\r
-          // if null, use delete method for optional primitives\r
-          if (value == null)\r
-          {\r
-            target.deleteWrapAlignment();\r
-            return;\r
-          }\r
-          target.setWrapAlignment(((java.lang.Boolean) value)\r
-                  .booleanValue());\r
-        } catch (java.lang.Exception ex)\r
-        {\r
-          throw new IllegalStateException(ex.toString());\r
-        }\r
-      }\r
-\r
-      public java.lang.Object newInstance(java.lang.Object parent)\r
-      {\r
-        return null;\r
-      }\r
-    };\r
-    desc.setHandler(handler);\r
-    desc.setMultivalued(false);\r
-    addFieldDescriptor(desc);\r
-\r
-    // -- validation code for: _wrapAlignment\r
-    fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
-    { // -- local scope\r
-      org.exolab.castor.xml.validators.BooleanValidator typeValidator;\r
-      typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();\r
-      fieldValidator.setValidator(typeValidator);\r
-    }\r
-    desc.setValidator(fieldValidator);\r
-    // -- _renderGaps\r
-    desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
-            java.lang.Boolean.TYPE, "_renderGaps", "renderGaps",\r
-            org.exolab.castor.xml.NodeType.Attribute);\r
-    handler = new org.exolab.castor.xml.XMLFieldHandler()\r
-    {\r
-      public java.lang.Object getValue(java.lang.Object object)\r
-              throws IllegalStateException\r
-      {\r
-        Viewport target = (Viewport) object;\r
-        if (!target.hasRenderGaps())\r
-        {\r
-          return null;\r
-        }\r
-        return (target.getRenderGaps() ? java.lang.Boolean.TRUE\r
-                : java.lang.Boolean.FALSE);\r
-      }\r
-\r
-      public void setValue(java.lang.Object object, java.lang.Object value)\r
-              throws IllegalStateException, IllegalArgumentException\r
-      {\r
-        try\r
-        {\r
-          Viewport target = (Viewport) object;\r
-          // if null, use delete method for optional primitives\r
-          if (value == null)\r
-          {\r
-            target.deleteRenderGaps();\r
-            return;\r
-          }\r
-          target.setRenderGaps(((java.lang.Boolean) value).booleanValue());\r
-        } catch (java.lang.Exception ex)\r
-        {\r
-          throw new IllegalStateException(ex.toString());\r
-        }\r
-      }\r
-\r
-      public java.lang.Object newInstance(java.lang.Object parent)\r
-      {\r
-        return null;\r
-      }\r
-    };\r
-    desc.setHandler(handler);\r
-    desc.setMultivalued(false);\r
-    addFieldDescriptor(desc);\r
-\r
-    // -- validation code for: _renderGaps\r
-    fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
-    { // -- local scope\r
-      org.exolab.castor.xml.validators.BooleanValidator typeValidator;\r
-      typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();\r
-      fieldValidator.setValidator(typeValidator);\r
-    }\r
-    desc.setValidator(fieldValidator);\r
-    // -- _showSequenceFeatures\r
-    desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
-            java.lang.Boolean.TYPE, "_showSequenceFeatures",\r
-            "showSequenceFeatures",\r
-            org.exolab.castor.xml.NodeType.Attribute);\r
-    handler = new org.exolab.castor.xml.XMLFieldHandler()\r
-    {\r
-      public java.lang.Object getValue(java.lang.Object object)\r
-              throws IllegalStateException\r
-      {\r
-        Viewport target = (Viewport) object;\r
-        if (!target.hasShowSequenceFeatures())\r
-        {\r
-          return null;\r
-        }\r
-        return (target.getShowSequenceFeatures() ? java.lang.Boolean.TRUE\r
-                : java.lang.Boolean.FALSE);\r
-      }\r
-\r
-      public void setValue(java.lang.Object object, java.lang.Object value)\r
-              throws IllegalStateException, IllegalArgumentException\r
-      {\r
-        try\r
-        {\r
-          Viewport target = (Viewport) object;\r
-          // if null, use delete method for optional primitives\r
-          if (value == null)\r
-          {\r
-            target.deleteShowSequenceFeatures();\r
-            return;\r
-          }\r
-          target.setShowSequenceFeatures(((java.lang.Boolean) value)\r
-                  .booleanValue());\r
-        } catch (java.lang.Exception ex)\r
-        {\r
-          throw new IllegalStateException(ex.toString());\r
-        }\r
-      }\r
-\r
-      public java.lang.Object newInstance(java.lang.Object parent)\r
-      {\r
-        return null;\r
-      }\r
-    };\r
-    desc.setHandler(handler);\r
-    desc.setMultivalued(false);\r
-    addFieldDescriptor(desc);\r
-\r
-    // -- validation code for: _showSequenceFeatures\r
-    fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
-    { // -- local scope\r
-      org.exolab.castor.xml.validators.BooleanValidator typeValidator;\r
-      typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();\r
-      fieldValidator.setValidator(typeValidator);\r
-    }\r
-    desc.setValidator(fieldValidator);\r
-    // -- _showNPfeatureTooltip\r
-    desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
-            java.lang.Boolean.TYPE, "_showNPfeatureTooltip",\r
-            "showNPfeatureTooltip",\r
-            org.exolab.castor.xml.NodeType.Attribute);\r
-    handler = new org.exolab.castor.xml.XMLFieldHandler()\r
-    {\r
-      public java.lang.Object getValue(java.lang.Object object)\r
-              throws IllegalStateException\r
-      {\r
-        Viewport target = (Viewport) object;\r
-        if (!target.hasShowNPfeatureTooltip())\r
-        {\r
-          return null;\r
-        }\r
-        return (target.getShowNPfeatureTooltip() ? java.lang.Boolean.TRUE\r
-                : java.lang.Boolean.FALSE);\r
-      }\r
-\r
-      public void setValue(java.lang.Object object, java.lang.Object value)\r
-              throws IllegalStateException, IllegalArgumentException\r
-      {\r
-        try\r
-        {\r
-          Viewport target = (Viewport) object;\r
-          // if null, use delete method for optional primitives\r
-          if (value == null)\r
-          {\r
-            target.deleteShowNPfeatureTooltip();\r
-            return;\r
-          }\r
-          target.setShowNPfeatureTooltip(((java.lang.Boolean) value)\r
-                  .booleanValue());\r
-        } catch (java.lang.Exception ex)\r
-        {\r
-          throw new IllegalStateException(ex.toString());\r
-        }\r
-      }\r
-\r
-      public java.lang.Object newInstance(java.lang.Object parent)\r
-      {\r
-        return null;\r
-      }\r
-    };\r
-    desc.setHandler(handler);\r
-    desc.setMultivalued(false);\r
-    addFieldDescriptor(desc);\r
-\r
-    // -- validation code for: _showNPfeatureTooltip\r
-    fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
-    { // -- local scope\r
-      org.exolab.castor.xml.validators.BooleanValidator typeValidator;\r
-      typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();\r
-      fieldValidator.setValidator(typeValidator);\r
-    }\r
-    desc.setValidator(fieldValidator);\r
-    // -- _showDbRefTooltip\r
-    desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
-            java.lang.Boolean.TYPE, "_showDbRefTooltip",\r
-            "showDbRefTooltip", org.exolab.castor.xml.NodeType.Attribute);\r
-    handler = new org.exolab.castor.xml.XMLFieldHandler()\r
-    {\r
-      public java.lang.Object getValue(java.lang.Object object)\r
-              throws IllegalStateException\r
-      {\r
-        Viewport target = (Viewport) object;\r
-        if (!target.hasShowDbRefTooltip())\r
-        {\r
-          return null;\r
-        }\r
-        return (target.getShowDbRefTooltip() ? java.lang.Boolean.TRUE\r
-                : java.lang.Boolean.FALSE);\r
-      }\r
-\r
-      public void setValue(java.lang.Object object, java.lang.Object value)\r
-              throws IllegalStateException, IllegalArgumentException\r
-      {\r
-        try\r
-        {\r
-          Viewport target = (Viewport) object;\r
-          // if null, use delete method for optional primitives\r
-          if (value == null)\r
-          {\r
-            target.deleteShowDbRefTooltip();\r
-            return;\r
-          }\r
-          target.setShowDbRefTooltip(((java.lang.Boolean) value)\r
-                  .booleanValue());\r
-        } catch (java.lang.Exception ex)\r
-        {\r
-          throw new IllegalStateException(ex.toString());\r
-        }\r
-      }\r
-\r
-      public java.lang.Object newInstance(java.lang.Object parent)\r
-      {\r
-        return null;\r
-      }\r
-    };\r
-    desc.setHandler(handler);\r
-    desc.setMultivalued(false);\r
-    addFieldDescriptor(desc);\r
-\r
-    // -- validation code for: _showDbRefTooltip\r
-    fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
-    { // -- local scope\r
-      org.exolab.castor.xml.validators.BooleanValidator typeValidator;\r
-      typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();\r
-      fieldValidator.setValidator(typeValidator);\r
-    }\r
-    desc.setValidator(fieldValidator);\r
-    // -- _followHighlight\r
-    desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
-            java.lang.Boolean.TYPE, "_followHighlight", "followHighlight",\r
-            org.exolab.castor.xml.NodeType.Attribute);\r
-    handler = new org.exolab.castor.xml.XMLFieldHandler()\r
-    {\r
-      public java.lang.Object getValue(java.lang.Object object)\r
-              throws IllegalStateException\r
-      {\r
-        Viewport target = (Viewport) object;\r
-        if (!target.hasFollowHighlight())\r
-        {\r
-          return null;\r
-        }\r
-        return (target.getFollowHighlight() ? java.lang.Boolean.TRUE\r
-                : java.lang.Boolean.FALSE);\r
-      }\r
-\r
-      public void setValue(java.lang.Object object, java.lang.Object value)\r
-              throws IllegalStateException, IllegalArgumentException\r
-      {\r
-        try\r
-        {\r
-          Viewport target = (Viewport) object;\r
-          // if null, use delete method for optional primitives\r
-          if (value == null)\r
-          {\r
-            target.deleteFollowHighlight();\r
-            return;\r
-          }\r
-          target.setFollowHighlight(((java.lang.Boolean) value)\r
-                  .booleanValue());\r
-        } catch (java.lang.Exception ex)\r
-        {\r
-          throw new IllegalStateException(ex.toString());\r
-        }\r
-      }\r
-\r
-      public java.lang.Object newInstance(java.lang.Object parent)\r
-      {\r
-        return null;\r
-      }\r
-    };\r
-    desc.setHandler(handler);\r
-    desc.setMultivalued(false);\r
-    addFieldDescriptor(desc);\r
-\r
-    // -- validation code for: _followHighlight\r
-    fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
-    { // -- local scope\r
-      org.exolab.castor.xml.validators.BooleanValidator typeValidator;\r
-      typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();\r
-      fieldValidator.setValidator(typeValidator);\r
-    }\r
-    desc.setValidator(fieldValidator);\r
-    // -- _followSelection\r
-    desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
-            java.lang.Boolean.TYPE, "_followSelection", "followSelection",\r
-            org.exolab.castor.xml.NodeType.Attribute);\r
-    handler = new org.exolab.castor.xml.XMLFieldHandler()\r
-    {\r
-      public java.lang.Object getValue(java.lang.Object object)\r
-              throws IllegalStateException\r
-      {\r
-        Viewport target = (Viewport) object;\r
-        if (!target.hasFollowSelection())\r
-        {\r
-          return null;\r
-        }\r
-        return (target.getFollowSelection() ? java.lang.Boolean.TRUE\r
-                : java.lang.Boolean.FALSE);\r
-      }\r
-\r
-      public void setValue(java.lang.Object object, java.lang.Object value)\r
-              throws IllegalStateException, IllegalArgumentException\r
-      {\r
-        try\r
-        {\r
-          Viewport target = (Viewport) object;\r
-          // if null, use delete method for optional primitives\r
-          if (value == null)\r
-          {\r
-            target.deleteFollowSelection();\r
-            return;\r
-          }\r
-          target.setFollowSelection(((java.lang.Boolean) value)\r
-                  .booleanValue());\r
-        } catch (java.lang.Exception ex)\r
-        {\r
-          throw new IllegalStateException(ex.toString());\r
-        }\r
-      }\r
-\r
-      public java.lang.Object newInstance(java.lang.Object parent)\r
-      {\r
-        return null;\r
-      }\r
-    };\r
-    desc.setHandler(handler);\r
-    desc.setMultivalued(false);\r
-    addFieldDescriptor(desc);\r
-\r
-    // -- validation code for: _followSelection\r
-    fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
-    { // -- local scope\r
-      org.exolab.castor.xml.validators.BooleanValidator typeValidator;\r
-      typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();\r
-      fieldValidator.setValidator(typeValidator);\r
-    }\r
-    desc.setValidator(fieldValidator);\r
-    // -- _showAnnotation\r
-    desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
-            java.lang.Boolean.TYPE, "_showAnnotation", "showAnnotation",\r
-            org.exolab.castor.xml.NodeType.Attribute);\r
-    handler = new org.exolab.castor.xml.XMLFieldHandler()\r
-    {\r
-      public java.lang.Object getValue(java.lang.Object object)\r
-              throws IllegalStateException\r
-      {\r
-        Viewport target = (Viewport) object;\r
-        if (!target.hasShowAnnotation())\r
-        {\r
-          return null;\r
-        }\r
-        return (target.getShowAnnotation() ? java.lang.Boolean.TRUE\r
-                : java.lang.Boolean.FALSE);\r
-      }\r
-\r
-      public void setValue(java.lang.Object object, java.lang.Object value)\r
-              throws IllegalStateException, IllegalArgumentException\r
-      {\r
-        try\r
-        {\r
-          Viewport target = (Viewport) object;\r
-          // if null, use delete method for optional primitives\r
-          if (value == null)\r
-          {\r
-            target.deleteShowAnnotation();\r
-            return;\r
-          }\r
-          target.setShowAnnotation(((java.lang.Boolean) value)\r
-                  .booleanValue());\r
-        } catch (java.lang.Exception ex)\r
-        {\r
-          throw new IllegalStateException(ex.toString());\r
-        }\r
-      }\r
-\r
-      public java.lang.Object newInstance(java.lang.Object parent)\r
-      {\r
-        return null;\r
-      }\r
-    };\r
-    desc.setHandler(handler);\r
-    desc.setMultivalued(false);\r
-    addFieldDescriptor(desc);\r
-\r
-    // -- validation code for: _showAnnotation\r
-    fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
-    { // -- local scope\r
-      org.exolab.castor.xml.validators.BooleanValidator typeValidator;\r
-      typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();\r
-      fieldValidator.setValidator(typeValidator);\r
-    }\r
-    desc.setValidator(fieldValidator);\r
-    // -- _centreColumnLabels\r
-    desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
-            java.lang.Boolean.TYPE, "_centreColumnLabels",\r
-            "centreColumnLabels", org.exolab.castor.xml.NodeType.Attribute);\r
-    handler = new org.exolab.castor.xml.XMLFieldHandler()\r
-    {\r
-      public java.lang.Object getValue(java.lang.Object object)\r
-              throws IllegalStateException\r
-      {\r
-        Viewport target = (Viewport) object;\r
-        if (!target.hasCentreColumnLabels())\r
-        {\r
-          return null;\r
-        }\r
-        return (target.getCentreColumnLabels() ? java.lang.Boolean.TRUE\r
-                : java.lang.Boolean.FALSE);\r
-      }\r
-\r
-      public void setValue(java.lang.Object object, java.lang.Object value)\r
-              throws IllegalStateException, IllegalArgumentException\r
-      {\r
-        try\r
-        {\r
-          Viewport target = (Viewport) object;\r
-          // if null, use delete method for optional primitives\r
-          if (value == null)\r
-          {\r
-            target.deleteCentreColumnLabels();\r
-            return;\r
-          }\r
-          target.setCentreColumnLabels(((java.lang.Boolean) value)\r
-                  .booleanValue());\r
-        } catch (java.lang.Exception ex)\r
-        {\r
-          throw new IllegalStateException(ex.toString());\r
-        }\r
-      }\r
-\r
-      public java.lang.Object newInstance(java.lang.Object parent)\r
-      {\r
-        return null;\r
-      }\r
-    };\r
-    desc.setHandler(handler);\r
-    desc.setMultivalued(false);\r
-    addFieldDescriptor(desc);\r
-\r
-    // -- validation code for: _centreColumnLabels\r
-    fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
-    { // -- local scope\r
-      org.exolab.castor.xml.validators.BooleanValidator typeValidator;\r
-      typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();\r
-      fieldValidator.setValidator(typeValidator);\r
-    }\r
-    desc.setValidator(fieldValidator);\r
-    // -- _showGroupConservation\r
-    desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
-            java.lang.Boolean.TYPE, "_showGroupConservation",\r
-            "showGroupConservation",\r
-            org.exolab.castor.xml.NodeType.Attribute);\r
-    handler = new org.exolab.castor.xml.XMLFieldHandler()\r
-    {\r
-      public java.lang.Object getValue(java.lang.Object object)\r
-              throws IllegalStateException\r
-      {\r
-        Viewport target = (Viewport) object;\r
-        if (!target.hasShowGroupConservation())\r
-        {\r
-          return null;\r
-        }\r
-        return (target.getShowGroupConservation() ? java.lang.Boolean.TRUE\r
-                : java.lang.Boolean.FALSE);\r
-      }\r
-\r
-      public void setValue(java.lang.Object object, java.lang.Object value)\r
-              throws IllegalStateException, IllegalArgumentException\r
-      {\r
-        try\r
-        {\r
-          Viewport target = (Viewport) object;\r
-          // if null, use delete method for optional primitives\r
-          if (value == null)\r
-          {\r
-            target.deleteShowGroupConservation();\r
-            return;\r
-          }\r
-          target.setShowGroupConservation(((java.lang.Boolean) value)\r
-                  .booleanValue());\r
-        } catch (java.lang.Exception ex)\r
-        {\r
-          throw new IllegalStateException(ex.toString());\r
-        }\r
-      }\r
-\r
-      public java.lang.Object newInstance(java.lang.Object parent)\r
-      {\r
-        return null;\r
-      }\r
-    };\r
-    desc.setHandler(handler);\r
-    desc.setMultivalued(false);\r
-    addFieldDescriptor(desc);\r
-\r
-    // -- validation code for: _showGroupConservation\r
-    fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
-    { // -- local scope\r
-      org.exolab.castor.xml.validators.BooleanValidator typeValidator;\r
-      typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();\r
-      fieldValidator.setValidator(typeValidator);\r
-    }\r
-    desc.setValidator(fieldValidator);\r
-    // -- _showGroupConsensus\r
-    desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
-            java.lang.Boolean.TYPE, "_showGroupConsensus",\r
-            "showGroupConsensus", org.exolab.castor.xml.NodeType.Attribute);\r
-    handler = new org.exolab.castor.xml.XMLFieldHandler()\r
-    {\r
-      public java.lang.Object getValue(java.lang.Object object)\r
-              throws IllegalStateException\r
-      {\r
-        Viewport target = (Viewport) object;\r
-        if (!target.hasShowGroupConsensus())\r
-        {\r
-          return null;\r
-        }\r
-        return (target.getShowGroupConsensus() ? java.lang.Boolean.TRUE\r
-                : java.lang.Boolean.FALSE);\r
-      }\r
-\r
-      public void setValue(java.lang.Object object, java.lang.Object value)\r
-              throws IllegalStateException, IllegalArgumentException\r
-      {\r
-        try\r
-        {\r
-          Viewport target = (Viewport) object;\r
-          // if null, use delete method for optional primitives\r
-          if (value == null)\r
-          {\r
-            target.deleteShowGroupConsensus();\r
-            return;\r
-          }\r
-          target.setShowGroupConsensus(((java.lang.Boolean) value)\r
-                  .booleanValue());\r
-        } catch (java.lang.Exception ex)\r
-        {\r
-          throw new IllegalStateException(ex.toString());\r
-        }\r
-      }\r
-\r
-      public java.lang.Object newInstance(java.lang.Object parent)\r
-      {\r
-        return null;\r
-      }\r
-    };\r
-    desc.setHandler(handler);\r
-    desc.setMultivalued(false);\r
-    addFieldDescriptor(desc);\r
-\r
-    // -- validation code for: _showGroupConsensus\r
-    fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
-    { // -- local scope\r
-      org.exolab.castor.xml.validators.BooleanValidator typeValidator;\r
-      typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();\r
-      fieldValidator.setValidator(typeValidator);\r
-    }\r
-    desc.setValidator(fieldValidator);\r
-    // -- _showConsensusHistogram\r
-    desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
-            java.lang.Boolean.TYPE, "_showConsensusHistogram",\r
-            "showConsensusHistogram",\r
-            org.exolab.castor.xml.NodeType.Attribute);\r
-    handler = new org.exolab.castor.xml.XMLFieldHandler()\r
-    {\r
-      public java.lang.Object getValue(java.lang.Object object)\r
-              throws IllegalStateException\r
-      {\r
-        Viewport target = (Viewport) object;\r
-        if (!target.hasShowConsensusHistogram())\r
-        {\r
-          return null;\r
-        }\r
-        return (target.getShowConsensusHistogram() ? java.lang.Boolean.TRUE\r
-                : java.lang.Boolean.FALSE);\r
-      }\r
-\r
-      public void setValue(java.lang.Object object, java.lang.Object value)\r
-              throws IllegalStateException, IllegalArgumentException\r
-      {\r
-        try\r
-        {\r
-          Viewport target = (Viewport) object;\r
-          // if null, use delete method for optional primitives\r
-          if (value == null)\r
-          {\r
-            target.deleteShowConsensusHistogram();\r
-            return;\r
-          }\r
-          target.setShowConsensusHistogram(((java.lang.Boolean) value)\r
-                  .booleanValue());\r
-        } catch (java.lang.Exception ex)\r
-        {\r
-          throw new IllegalStateException(ex.toString());\r
-        }\r
-      }\r
-\r
-      public java.lang.Object newInstance(java.lang.Object parent)\r
-      {\r
-        return null;\r
-      }\r
-    };\r
-    desc.setHandler(handler);\r
-    desc.setMultivalued(false);\r
-    addFieldDescriptor(desc);\r
-\r
-    // -- validation code for: _showConsensusHistogram\r
-    fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
-    { // -- local scope\r
-      org.exolab.castor.xml.validators.BooleanValidator typeValidator;\r
-      typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();\r
-      fieldValidator.setValidator(typeValidator);\r
-    }\r
-    desc.setValidator(fieldValidator);\r
-    // -- _showSequenceLogo\r
-    desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
-            java.lang.Boolean.TYPE, "_showSequenceLogo",\r
-            "showSequenceLogo", org.exolab.castor.xml.NodeType.Attribute);\r
-    handler = new org.exolab.castor.xml.XMLFieldHandler()\r
-    {\r
-      public java.lang.Object getValue(java.lang.Object object)\r
-              throws IllegalStateException\r
-      {\r
-        Viewport target = (Viewport) object;\r
-        if (!target.hasShowSequenceLogo())\r
-        {\r
-          return null;\r
-        }\r
-        return (target.getShowSequenceLogo() ? java.lang.Boolean.TRUE\r
-                : java.lang.Boolean.FALSE);\r
-      }\r
-\r
-      public void setValue(java.lang.Object object, java.lang.Object value)\r
-              throws IllegalStateException, IllegalArgumentException\r
-      {\r
-        try\r
-        {\r
-          Viewport target = (Viewport) object;\r
-          // if null, use delete method for optional primitives\r
-          if (value == null)\r
-          {\r
-            target.deleteShowSequenceLogo();\r
-            return;\r
-          }\r
-          target.setShowSequenceLogo(((java.lang.Boolean) value)\r
-                  .booleanValue());\r
-        } catch (java.lang.Exception ex)\r
-        {\r
-          throw new IllegalStateException(ex.toString());\r
-        }\r
-      }\r
-\r
-      public java.lang.Object newInstance(java.lang.Object parent)\r
-      {\r
-        return null;\r
-      }\r
-    };\r
-    desc.setHandler(handler);\r
-    desc.setMultivalued(false);\r
-    addFieldDescriptor(desc);\r
-\r
-    // -- validation code for: _showSequenceLogo\r
-    fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
-    { // -- local scope\r
-      org.exolab.castor.xml.validators.BooleanValidator typeValidator;\r
-      typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();\r
-      fieldValidator.setValidator(typeValidator);\r
-    }\r
-    desc.setValidator(fieldValidator);\r
-    // -- _ignoreGapsinConsensus\r
-    desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
-            java.lang.Boolean.TYPE, "_ignoreGapsinConsensus",\r
-            "ignoreGapsinConsensus",\r
-            org.exolab.castor.xml.NodeType.Attribute);\r
-    handler = new org.exolab.castor.xml.XMLFieldHandler()\r
-    {\r
-      public java.lang.Object getValue(java.lang.Object object)\r
-              throws IllegalStateException\r
-      {\r
-        Viewport target = (Viewport) object;\r
-        if (!target.hasIgnoreGapsinConsensus())\r
-        {\r
-          return null;\r
-        }\r
-        return (target.getIgnoreGapsinConsensus() ? java.lang.Boolean.TRUE\r
-                : java.lang.Boolean.FALSE);\r
-      }\r
-\r
-      public void setValue(java.lang.Object object, java.lang.Object value)\r
-              throws IllegalStateException, IllegalArgumentException\r
-      {\r
-        try\r
-        {\r
-          Viewport target = (Viewport) object;\r
-          // if null, use delete method for optional primitives\r
-          if (value == null)\r
-          {\r
-            target.deleteIgnoreGapsinConsensus();\r
-            return;\r
-          }\r
-          target.setIgnoreGapsinConsensus(((java.lang.Boolean) value)\r
-                  .booleanValue());\r
-        } catch (java.lang.Exception ex)\r
-        {\r
-          throw new IllegalStateException(ex.toString());\r
-        }\r
-      }\r
-\r
-      public java.lang.Object newInstance(java.lang.Object parent)\r
-      {\r
-        return null;\r
-      }\r
-    };\r
-    desc.setHandler(handler);\r
-    desc.setMultivalued(false);\r
-    addFieldDescriptor(desc);\r
-\r
-    // -- validation code for: _ignoreGapsinConsensus\r
-    fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
-    { // -- local scope\r
-      org.exolab.castor.xml.validators.BooleanValidator typeValidator;\r
-      typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();\r
-      fieldValidator.setValidator(typeValidator);\r
-    }\r
-    desc.setValidator(fieldValidator);\r
-    // -- _xpos\r
-    desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
-            java.lang.Integer.TYPE, "_xpos", "xpos",\r
-            org.exolab.castor.xml.NodeType.Attribute);\r
-    handler = new org.exolab.castor.xml.XMLFieldHandler()\r
-    {\r
-      public java.lang.Object getValue(java.lang.Object object)\r
-              throws IllegalStateException\r
-      {\r
-        Viewport target = (Viewport) object;\r
-        if (!target.hasXpos())\r
-        {\r
-          return null;\r
-        }\r
-        return new java.lang.Integer(target.getXpos());\r
-      }\r
-\r
-      public void setValue(java.lang.Object object, java.lang.Object value)\r
-              throws IllegalStateException, IllegalArgumentException\r
-      {\r
-        try\r
-        {\r
-          Viewport target = (Viewport) object;\r
-          // if null, use delete method for optional primitives\r
-          if (value == null)\r
-          {\r
-            target.deleteXpos();\r
-            return;\r
-          }\r
-          target.setXpos(((java.lang.Integer) value).intValue());\r
-        } catch (java.lang.Exception ex)\r
-        {\r
-          throw new IllegalStateException(ex.toString());\r
-        }\r
-      }\r
-\r
-      public java.lang.Object newInstance(java.lang.Object parent)\r
-      {\r
-        return null;\r
-      }\r
-    };\r
-    desc.setHandler(handler);\r
-    desc.setMultivalued(false);\r
-    addFieldDescriptor(desc);\r
-\r
-    // -- validation code for: _xpos\r
-    fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
-    { // -- local scope\r
-      org.exolab.castor.xml.validators.IntValidator typeValidator;\r
-      typeValidator = new org.exolab.castor.xml.validators.IntValidator();\r
-      fieldValidator.setValidator(typeValidator);\r
-      typeValidator.setMinInclusive(-2147483648);\r
-      typeValidator.setMaxInclusive(2147483647);\r
-    }\r
-    desc.setValidator(fieldValidator);\r
-    // -- _ypos\r
-    desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
-            java.lang.Integer.TYPE, "_ypos", "ypos",\r
-            org.exolab.castor.xml.NodeType.Attribute);\r
-    handler = new org.exolab.castor.xml.XMLFieldHandler()\r
-    {\r
-      public java.lang.Object getValue(java.lang.Object object)\r
-              throws IllegalStateException\r
-      {\r
-        Viewport target = (Viewport) object;\r
-        if (!target.hasYpos())\r
-        {\r
-          return null;\r
-        }\r
-        return new java.lang.Integer(target.getYpos());\r
-      }\r
-\r
-      public void setValue(java.lang.Object object, java.lang.Object value)\r
-              throws IllegalStateException, IllegalArgumentException\r
-      {\r
-        try\r
-        {\r
-          Viewport target = (Viewport) object;\r
-          // if null, use delete method for optional primitives\r
-          if (value == null)\r
-          {\r
-            target.deleteYpos();\r
-            return;\r
-          }\r
-          target.setYpos(((java.lang.Integer) value).intValue());\r
-        } catch (java.lang.Exception ex)\r
-        {\r
-          throw new IllegalStateException(ex.toString());\r
-        }\r
-      }\r
-\r
-      public java.lang.Object newInstance(java.lang.Object parent)\r
-      {\r
-        return null;\r
-      }\r
-    };\r
-    desc.setHandler(handler);\r
-    desc.setMultivalued(false);\r
-    addFieldDescriptor(desc);\r
-\r
-    // -- validation code for: _ypos\r
-    fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
-    { // -- local scope\r
-      org.exolab.castor.xml.validators.IntValidator typeValidator;\r
-      typeValidator = new org.exolab.castor.xml.validators.IntValidator();\r
-      fieldValidator.setValidator(typeValidator);\r
-      typeValidator.setMinInclusive(-2147483648);\r
-      typeValidator.setMaxInclusive(2147483647);\r
-    }\r
-    desc.setValidator(fieldValidator);\r
-    // -- _width\r
-    desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
-            java.lang.Integer.TYPE, "_width", "width",\r
-            org.exolab.castor.xml.NodeType.Attribute);\r
-    handler = new org.exolab.castor.xml.XMLFieldHandler()\r
-    {\r
-      public java.lang.Object getValue(java.lang.Object object)\r
-              throws IllegalStateException\r
-      {\r
-        Viewport target = (Viewport) object;\r
-        if (!target.hasWidth())\r
-        {\r
-          return null;\r
-        }\r
-        return new java.lang.Integer(target.getWidth());\r
-      }\r
-\r
-      public void setValue(java.lang.Object object, java.lang.Object value)\r
-              throws IllegalStateException, IllegalArgumentException\r
-      {\r
-        try\r
-        {\r
-          Viewport target = (Viewport) object;\r
-          // if null, use delete method for optional primitives\r
-          if (value == null)\r
-          {\r
-            target.deleteWidth();\r
-            return;\r
-          }\r
-          target.setWidth(((java.lang.Integer) value).intValue());\r
-        } catch (java.lang.Exception ex)\r
-        {\r
-          throw new IllegalStateException(ex.toString());\r
-        }\r
-      }\r
-\r
-      public java.lang.Object newInstance(java.lang.Object parent)\r
-      {\r
-        return null;\r
-      }\r
-    };\r
-    desc.setHandler(handler);\r
-    desc.setMultivalued(false);\r
-    addFieldDescriptor(desc);\r
-\r
-    // -- validation code for: _width\r
-    fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
-    { // -- local scope\r
-      org.exolab.castor.xml.validators.IntValidator typeValidator;\r
-      typeValidator = new org.exolab.castor.xml.validators.IntValidator();\r
-      fieldValidator.setValidator(typeValidator);\r
-      typeValidator.setMinInclusive(-2147483648);\r
-      typeValidator.setMaxInclusive(2147483647);\r
-    }\r
-    desc.setValidator(fieldValidator);\r
-    // -- _height\r
-    desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
-            java.lang.Integer.TYPE, "_height", "height",\r
-            org.exolab.castor.xml.NodeType.Attribute);\r
-    handler = new org.exolab.castor.xml.XMLFieldHandler()\r
-    {\r
-      public java.lang.Object getValue(java.lang.Object object)\r
-              throws IllegalStateException\r
-      {\r
-        Viewport target = (Viewport) object;\r
-        if (!target.hasHeight())\r
-        {\r
-          return null;\r
-        }\r
-        return new java.lang.Integer(target.getHeight());\r
-      }\r
-\r
-      public void setValue(java.lang.Object object, java.lang.Object value)\r
-              throws IllegalStateException, IllegalArgumentException\r
-      {\r
-        try\r
-        {\r
-          Viewport target = (Viewport) object;\r
-          // if null, use delete method for optional primitives\r
-          if (value == null)\r
-          {\r
-            target.deleteHeight();\r
-            return;\r
-          }\r
-          target.setHeight(((java.lang.Integer) value).intValue());\r
-        } catch (java.lang.Exception ex)\r
-        {\r
-          throw new IllegalStateException(ex.toString());\r
-        }\r
-      }\r
-\r
-      public java.lang.Object newInstance(java.lang.Object parent)\r
-      {\r
-        return null;\r
-      }\r
-    };\r
-    desc.setHandler(handler);\r
-    desc.setMultivalued(false);\r
-    addFieldDescriptor(desc);\r
-\r
-    // -- validation code for: _height\r
-    fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
-    { // -- local scope\r
-      org.exolab.castor.xml.validators.IntValidator typeValidator;\r
-      typeValidator = new org.exolab.castor.xml.validators.IntValidator();\r
-      fieldValidator.setValidator(typeValidator);\r
-      typeValidator.setMinInclusive(-2147483648);\r
-      typeValidator.setMaxInclusive(2147483647);\r
-    }\r
-    desc.setValidator(fieldValidator);\r
-    // -- _startRes\r
-    desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
-            java.lang.Integer.TYPE, "_startRes", "startRes",\r
-            org.exolab.castor.xml.NodeType.Attribute);\r
-    handler = new org.exolab.castor.xml.XMLFieldHandler()\r
-    {\r
-      public java.lang.Object getValue(java.lang.Object object)\r
-              throws IllegalStateException\r
-      {\r
-        Viewport target = (Viewport) object;\r
-        if (!target.hasStartRes())\r
-        {\r
-          return null;\r
-        }\r
-        return new java.lang.Integer(target.getStartRes());\r
-      }\r
-\r
-      public void setValue(java.lang.Object object, java.lang.Object value)\r
-              throws IllegalStateException, IllegalArgumentException\r
-      {\r
-        try\r
-        {\r
-          Viewport target = (Viewport) object;\r
-          // if null, use delete method for optional primitives\r
-          if (value == null)\r
-          {\r
-            target.deleteStartRes();\r
-            return;\r
-          }\r
-          target.setStartRes(((java.lang.Integer) value).intValue());\r
-        } catch (java.lang.Exception ex)\r
-        {\r
-          throw new IllegalStateException(ex.toString());\r
-        }\r
-      }\r
-\r
-      public java.lang.Object newInstance(java.lang.Object parent)\r
-      {\r
-        return null;\r
-      }\r
-    };\r
-    desc.setHandler(handler);\r
-    desc.setMultivalued(false);\r
-    addFieldDescriptor(desc);\r
-\r
-    // -- validation code for: _startRes\r
-    fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
-    { // -- local scope\r
-      org.exolab.castor.xml.validators.IntValidator typeValidator;\r
-      typeValidator = new org.exolab.castor.xml.validators.IntValidator();\r
-      fieldValidator.setValidator(typeValidator);\r
-      typeValidator.setMinInclusive(-2147483648);\r
-      typeValidator.setMaxInclusive(2147483647);\r
-    }\r
-    desc.setValidator(fieldValidator);\r
-    // -- _startSeq\r
-    desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
-            java.lang.Integer.TYPE, "_startSeq", "startSeq",\r
-            org.exolab.castor.xml.NodeType.Attribute);\r
-    handler = new org.exolab.castor.xml.XMLFieldHandler()\r
-    {\r
-      public java.lang.Object getValue(java.lang.Object object)\r
-              throws IllegalStateException\r
-      {\r
-        Viewport target = (Viewport) object;\r
-        if (!target.hasStartSeq())\r
-        {\r
-          return null;\r
-        }\r
-        return new java.lang.Integer(target.getStartSeq());\r
-      }\r
-\r
-      public void setValue(java.lang.Object object, java.lang.Object value)\r
-              throws IllegalStateException, IllegalArgumentException\r
-      {\r
-        try\r
-        {\r
-          Viewport target = (Viewport) object;\r
-          // if null, use delete method for optional primitives\r
-          if (value == null)\r
-          {\r
-            target.deleteStartSeq();\r
-            return;\r
-          }\r
-          target.setStartSeq(((java.lang.Integer) value).intValue());\r
-        } catch (java.lang.Exception ex)\r
-        {\r
-          throw new IllegalStateException(ex.toString());\r
-        }\r
-      }\r
-\r
-      public java.lang.Object newInstance(java.lang.Object parent)\r
-      {\r
-        return null;\r
-      }\r
-    };\r
-    desc.setHandler(handler);\r
-    desc.setMultivalued(false);\r
-    addFieldDescriptor(desc);\r
-\r
-    // -- validation code for: _startSeq\r
-    fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
-    { // -- local scope\r
-      org.exolab.castor.xml.validators.IntValidator typeValidator;\r
-      typeValidator = new org.exolab.castor.xml.validators.IntValidator();\r
-      fieldValidator.setValidator(typeValidator);\r
-      typeValidator.setMinInclusive(-2147483648);\r
-      typeValidator.setMaxInclusive(2147483647);\r
-    }\r
-    desc.setValidator(fieldValidator);\r
-    // -- _fontName\r
-    desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
-            java.lang.String.class, "_fontName", "fontName",\r
-            org.exolab.castor.xml.NodeType.Attribute);\r
-    desc.setImmutable(true);\r
-    handler = new org.exolab.castor.xml.XMLFieldHandler()\r
-    {\r
-      public java.lang.Object getValue(java.lang.Object object)\r
-              throws IllegalStateException\r
-      {\r
-        Viewport target = (Viewport) object;\r
-        return target.getFontName();\r
-      }\r
-\r
-      public void setValue(java.lang.Object object, java.lang.Object value)\r
-              throws IllegalStateException, IllegalArgumentException\r
-      {\r
-        try\r
-        {\r
-          Viewport target = (Viewport) object;\r
-          target.setFontName((java.lang.String) value);\r
-        } catch (java.lang.Exception ex)\r
-        {\r
-          throw new IllegalStateException(ex.toString());\r
-        }\r
-      }\r
-\r
-      public java.lang.Object newInstance(java.lang.Object parent)\r
-      {\r
-        return null;\r
-      }\r
-    };\r
-    desc.setHandler(handler);\r
-    desc.setMultivalued(false);\r
-    addFieldDescriptor(desc);\r
-\r
-    // -- validation code for: _fontName\r
-    fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
-    { // -- local scope\r
-      org.exolab.castor.xml.validators.StringValidator typeValidator;\r
-      typeValidator = new org.exolab.castor.xml.validators.StringValidator();\r
-      fieldValidator.setValidator(typeValidator);\r
-      typeValidator.setWhiteSpace("preserve");\r
-    }\r
-    desc.setValidator(fieldValidator);\r
-    // -- _fontSize\r
-    desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
-            java.lang.Integer.TYPE, "_fontSize", "fontSize",\r
-            org.exolab.castor.xml.NodeType.Attribute);\r
-    handler = new org.exolab.castor.xml.XMLFieldHandler()\r
-    {\r
-      public java.lang.Object getValue(java.lang.Object object)\r
-              throws IllegalStateException\r
-      {\r
-        Viewport target = (Viewport) object;\r
-        if (!target.hasFontSize())\r
-        {\r
-          return null;\r
-        }\r
-        return new java.lang.Integer(target.getFontSize());\r
-      }\r
-\r
-      public void setValue(java.lang.Object object, java.lang.Object value)\r
-              throws IllegalStateException, IllegalArgumentException\r
-      {\r
-        try\r
-        {\r
-          Viewport target = (Viewport) object;\r
-          // if null, use delete method for optional primitives\r
-          if (value == null)\r
-          {\r
-            target.deleteFontSize();\r
-            return;\r
-          }\r
-          target.setFontSize(((java.lang.Integer) value).intValue());\r
-        } catch (java.lang.Exception ex)\r
-        {\r
-          throw new IllegalStateException(ex.toString());\r
-        }\r
-      }\r
-\r
-      public java.lang.Object newInstance(java.lang.Object parent)\r
-      {\r
-        return null;\r
-      }\r
-    };\r
-    desc.setHandler(handler);\r
-    desc.setMultivalued(false);\r
-    addFieldDescriptor(desc);\r
-\r
-    // -- validation code for: _fontSize\r
-    fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
-    { // -- local scope\r
-      org.exolab.castor.xml.validators.IntValidator typeValidator;\r
-      typeValidator = new org.exolab.castor.xml.validators.IntValidator();\r
-      fieldValidator.setValidator(typeValidator);\r
-      typeValidator.setMinInclusive(-2147483648);\r
-      typeValidator.setMaxInclusive(2147483647);\r
-    }\r
-    desc.setValidator(fieldValidator);\r
-    // -- _fontStyle\r
-    desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
-            java.lang.Integer.TYPE, "_fontStyle", "fontStyle",\r
-            org.exolab.castor.xml.NodeType.Attribute);\r
-    handler = new org.exolab.castor.xml.XMLFieldHandler()\r
-    {\r
-      public java.lang.Object getValue(java.lang.Object object)\r
-              throws IllegalStateException\r
-      {\r
-        Viewport target = (Viewport) object;\r
-        if (!target.hasFontStyle())\r
-        {\r
-          return null;\r
-        }\r
-        return new java.lang.Integer(target.getFontStyle());\r
-      }\r
-\r
-      public void setValue(java.lang.Object object, java.lang.Object value)\r
-              throws IllegalStateException, IllegalArgumentException\r
-      {\r
-        try\r
-        {\r
-          Viewport target = (Viewport) object;\r
-          // if null, use delete method for optional primitives\r
-          if (value == null)\r
-          {\r
-            target.deleteFontStyle();\r
-            return;\r
-          }\r
-          target.setFontStyle(((java.lang.Integer) value).intValue());\r
-        } catch (java.lang.Exception ex)\r
-        {\r
-          throw new IllegalStateException(ex.toString());\r
-        }\r
-      }\r
-\r
-      public java.lang.Object newInstance(java.lang.Object parent)\r
-      {\r
-        return null;\r
-      }\r
-    };\r
-    desc.setHandler(handler);\r
-    desc.setMultivalued(false);\r
-    addFieldDescriptor(desc);\r
-\r
-    // -- validation code for: _fontStyle\r
-    fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
-    { // -- local scope\r
-      org.exolab.castor.xml.validators.IntValidator typeValidator;\r
-      typeValidator = new org.exolab.castor.xml.validators.IntValidator();\r
-      fieldValidator.setValidator(typeValidator);\r
-      typeValidator.setMinInclusive(-2147483648);\r
-      typeValidator.setMaxInclusive(2147483647);\r
-    }\r
-    desc.setValidator(fieldValidator);\r
-    // -- _viewName\r
-    desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
-            java.lang.String.class, "_viewName", "viewName",\r
-            org.exolab.castor.xml.NodeType.Attribute);\r
-    desc.setImmutable(true);\r
-    handler = new org.exolab.castor.xml.XMLFieldHandler()\r
-    {\r
-      public java.lang.Object getValue(java.lang.Object object)\r
-              throws IllegalStateException\r
-      {\r
-        Viewport target = (Viewport) object;\r
-        return target.getViewName();\r
-      }\r
-\r
-      public void setValue(java.lang.Object object, java.lang.Object value)\r
-              throws IllegalStateException, IllegalArgumentException\r
-      {\r
-        try\r
-        {\r
-          Viewport target = (Viewport) object;\r
-          target.setViewName((java.lang.String) value);\r
-        } catch (java.lang.Exception ex)\r
-        {\r
-          throw new IllegalStateException(ex.toString());\r
-        }\r
-      }\r
-\r
-      public java.lang.Object newInstance(java.lang.Object parent)\r
-      {\r
-        return null;\r
-      }\r
-    };\r
-    desc.setHandler(handler);\r
-    desc.setMultivalued(false);\r
-    addFieldDescriptor(desc);\r
-\r
-    // -- validation code for: _viewName\r
-    fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
-    { // -- local scope\r
-      org.exolab.castor.xml.validators.StringValidator typeValidator;\r
-      typeValidator = new org.exolab.castor.xml.validators.StringValidator();\r
-      fieldValidator.setValidator(typeValidator);\r
-      typeValidator.setWhiteSpace("preserve");\r
-    }\r
-    desc.setValidator(fieldValidator);\r
-    // -- _sequenceSetId\r
-    desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
-            java.lang.String.class, "_sequenceSetId", "sequenceSetId",\r
-            org.exolab.castor.xml.NodeType.Attribute);\r
-    desc.setImmutable(true);\r
-    handler = new org.exolab.castor.xml.XMLFieldHandler()\r
-    {\r
-      public java.lang.Object getValue(java.lang.Object object)\r
-              throws IllegalStateException\r
-      {\r
-        Viewport target = (Viewport) object;\r
-        return target.getSequenceSetId();\r
-      }\r
-\r
-      public void setValue(java.lang.Object object, java.lang.Object value)\r
-              throws IllegalStateException, IllegalArgumentException\r
-      {\r
-        try\r
-        {\r
-          Viewport target = (Viewport) object;\r
-          target.setSequenceSetId((java.lang.String) value);\r
-        } catch (java.lang.Exception ex)\r
-        {\r
-          throw new IllegalStateException(ex.toString());\r
-        }\r
-      }\r
-\r
-      public java.lang.Object newInstance(java.lang.Object parent)\r
-      {\r
-        return null;\r
-      }\r
-    };\r
-    desc.setHandler(handler);\r
-    desc.setMultivalued(false);\r
-    addFieldDescriptor(desc);\r
-\r
-    // -- validation code for: _sequenceSetId\r
-    fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
-    { // -- local scope\r
-      org.exolab.castor.xml.validators.StringValidator typeValidator;\r
-      typeValidator = new org.exolab.castor.xml.validators.StringValidator();\r
-      fieldValidator.setValidator(typeValidator);\r
-      typeValidator.setWhiteSpace("preserve");\r
-    }\r
-    desc.setValidator(fieldValidator);\r
-    // -- _gatheredViews\r
-    desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
-            java.lang.Boolean.TYPE, "_gatheredViews", "gatheredViews",\r
-            org.exolab.castor.xml.NodeType.Attribute);\r
-    handler = new org.exolab.castor.xml.XMLFieldHandler()\r
-    {\r
-      public java.lang.Object getValue(java.lang.Object object)\r
-              throws IllegalStateException\r
-      {\r
-        Viewport target = (Viewport) object;\r
-        if (!target.hasGatheredViews())\r
-        {\r
-          return null;\r
-        }\r
-        return (target.getGatheredViews() ? java.lang.Boolean.TRUE\r
-                : java.lang.Boolean.FALSE);\r
-      }\r
-\r
-      public void setValue(java.lang.Object object, java.lang.Object value)\r
-              throws IllegalStateException, IllegalArgumentException\r
-      {\r
-        try\r
-        {\r
-          Viewport target = (Viewport) object;\r
-          // if null, use delete method for optional primitives\r
-          if (value == null)\r
-          {\r
-            target.deleteGatheredViews();\r
-            return;\r
-          }\r
-          target.setGatheredViews(((java.lang.Boolean) value)\r
-                  .booleanValue());\r
-        } catch (java.lang.Exception ex)\r
-        {\r
-          throw new IllegalStateException(ex.toString());\r
-        }\r
-      }\r
-\r
-      public java.lang.Object newInstance(java.lang.Object parent)\r
-      {\r
-        return null;\r
-      }\r
-    };\r
-    desc.setHandler(handler);\r
-    desc.setMultivalued(false);\r
-    addFieldDescriptor(desc);\r
-\r
-    // -- validation code for: _gatheredViews\r
-    fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
-    { // -- local scope\r
-      org.exolab.castor.xml.validators.BooleanValidator typeValidator;\r
-      typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();\r
-      fieldValidator.setValidator(typeValidator);\r
-    }\r
-    desc.setValidator(fieldValidator);\r
-    // -- _textCol1\r
-    desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
-            java.lang.Integer.TYPE, "_textCol1", "textCol1",\r
-            org.exolab.castor.xml.NodeType.Attribute);\r
-    handler = new org.exolab.castor.xml.XMLFieldHandler()\r
-    {\r
-      public java.lang.Object getValue(java.lang.Object object)\r
-              throws IllegalStateException\r
-      {\r
-        Viewport target = (Viewport) object;\r
-        if (!target.hasTextCol1())\r
-        {\r
-          return null;\r
-        }\r
-        return new java.lang.Integer(target.getTextCol1());\r
-      }\r
-\r
-      public void setValue(java.lang.Object object, java.lang.Object value)\r
-              throws IllegalStateException, IllegalArgumentException\r
-      {\r
-        try\r
-        {\r
-          Viewport target = (Viewport) object;\r
-          // if null, use delete method for optional primitives\r
-          if (value == null)\r
-          {\r
-            target.deleteTextCol1();\r
-            return;\r
-          }\r
-          target.setTextCol1(((java.lang.Integer) value).intValue());\r
-        } catch (java.lang.Exception ex)\r
-        {\r
-          throw new IllegalStateException(ex.toString());\r
-        }\r
-      }\r
-\r
-      public java.lang.Object newInstance(java.lang.Object parent)\r
-      {\r
-        return null;\r
-      }\r
-    };\r
-    desc.setHandler(handler);\r
-    desc.setMultivalued(false);\r
-    addFieldDescriptor(desc);\r
-\r
-    // -- validation code for: _textCol1\r
-    fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
-    { // -- local scope\r
-      org.exolab.castor.xml.validators.IntValidator typeValidator;\r
-      typeValidator = new org.exolab.castor.xml.validators.IntValidator();\r
-      fieldValidator.setValidator(typeValidator);\r
-      typeValidator.setMinInclusive(-2147483648);\r
-      typeValidator.setMaxInclusive(2147483647);\r
-    }\r
-    desc.setValidator(fieldValidator);\r
-    // -- _textCol2\r
-    desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
-            java.lang.Integer.TYPE, "_textCol2", "textCol2",\r
-            org.exolab.castor.xml.NodeType.Attribute);\r
-    handler = new org.exolab.castor.xml.XMLFieldHandler()\r
-    {\r
-      public java.lang.Object getValue(java.lang.Object object)\r
-              throws IllegalStateException\r
-      {\r
-        Viewport target = (Viewport) object;\r
-        if (!target.hasTextCol2())\r
-        {\r
-          return null;\r
-        }\r
-        return new java.lang.Integer(target.getTextCol2());\r
-      }\r
-\r
-      public void setValue(java.lang.Object object, java.lang.Object value)\r
-              throws IllegalStateException, IllegalArgumentException\r
-      {\r
-        try\r
-        {\r
-          Viewport target = (Viewport) object;\r
-          // if null, use delete method for optional primitives\r
-          if (value == null)\r
-          {\r
-            target.deleteTextCol2();\r
-            return;\r
-          }\r
-          target.setTextCol2(((java.lang.Integer) value).intValue());\r
-        } catch (java.lang.Exception ex)\r
-        {\r
-          throw new IllegalStateException(ex.toString());\r
-        }\r
-      }\r
-\r
-      public java.lang.Object newInstance(java.lang.Object parent)\r
-      {\r
-        return null;\r
-      }\r
-    };\r
-    desc.setHandler(handler);\r
-    desc.setMultivalued(false);\r
-    addFieldDescriptor(desc);\r
-\r
-    // -- validation code for: _textCol2\r
-    fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
-    { // -- local scope\r
-      org.exolab.castor.xml.validators.IntValidator typeValidator;\r
-      typeValidator = new org.exolab.castor.xml.validators.IntValidator();\r
-      fieldValidator.setValidator(typeValidator);\r
-      typeValidator.setMinInclusive(-2147483648);\r
-      typeValidator.setMaxInclusive(2147483647);\r
-    }\r
-    desc.setValidator(fieldValidator);\r
-    // -- _textColThreshold\r
-    desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
-            java.lang.Integer.TYPE, "_textColThreshold",\r
-            "textColThreshold", org.exolab.castor.xml.NodeType.Attribute);\r
-    handler = new org.exolab.castor.xml.XMLFieldHandler()\r
-    {\r
-      public java.lang.Object getValue(java.lang.Object object)\r
-              throws IllegalStateException\r
-      {\r
-        Viewport target = (Viewport) object;\r
-        if (!target.hasTextColThreshold())\r
-        {\r
-          return null;\r
-        }\r
-        return new java.lang.Integer(target.getTextColThreshold());\r
-      }\r
-\r
-      public void setValue(java.lang.Object object, java.lang.Object value)\r
-              throws IllegalStateException, IllegalArgumentException\r
-      {\r
-        try\r
-        {\r
-          Viewport target = (Viewport) object;\r
-          // if null, use delete method for optional primitives\r
-          if (value == null)\r
-          {\r
-            target.deleteTextColThreshold();\r
-            return;\r
-          }\r
-          target.setTextColThreshold(((java.lang.Integer) value).intValue());\r
-        } catch (java.lang.Exception ex)\r
-        {\r
-          throw new IllegalStateException(ex.toString());\r
-        }\r
-      }\r
-\r
-      public java.lang.Object newInstance(java.lang.Object parent)\r
-      {\r
-        return null;\r
-      }\r
-    };\r
-    desc.setHandler(handler);\r
-    desc.setMultivalued(false);\r
-    addFieldDescriptor(desc);\r
-\r
-    // -- validation code for: _textColThreshold\r
-    fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
-    { // -- local scope\r
-      org.exolab.castor.xml.validators.IntValidator typeValidator;\r
-      typeValidator = new org.exolab.castor.xml.validators.IntValidator();\r
-      fieldValidator.setValidator(typeValidator);\r
-      typeValidator.setMinInclusive(-2147483648);\r
-      typeValidator.setMaxInclusive(2147483647);\r
-    }\r
-    desc.setValidator(fieldValidator);\r
-    // -- _id\r
-    desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
-            java.lang.String.class, "_id", "id",\r
-            org.exolab.castor.xml.NodeType.Attribute);\r
-    super.setIdentity(desc);\r
-    handler = new org.exolab.castor.xml.XMLFieldHandler()\r
-    {\r
-      public java.lang.Object getValue(java.lang.Object object)\r
-              throws IllegalStateException\r
-      {\r
-        Viewport target = (Viewport) object;\r
-        return target.getId();\r
-      }\r
-\r
-      public void setValue(java.lang.Object object, java.lang.Object value)\r
-              throws IllegalStateException, IllegalArgumentException\r
-      {\r
-        try\r
-        {\r
-          Viewport target = (Viewport) object;\r
-          target.setId((java.lang.String) value);\r
-        } catch (java.lang.Exception ex)\r
-        {\r
-          throw new IllegalStateException(ex.toString());\r
-        }\r
-      }\r
-\r
-      public java.lang.Object newInstance(java.lang.Object parent)\r
-      {\r
-        return new java.lang.String();\r
-      }\r
-    };\r
-    desc.setHandler(handler);\r
-    desc.setMultivalued(false);\r
-    addFieldDescriptor(desc);\r
-\r
-    // -- validation code for: _id\r
-    fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
-    { // -- local scope\r
-      org.exolab.castor.xml.validators.IdValidator typeValidator;\r
-      typeValidator = new org.exolab.castor.xml.validators.IdValidator();\r
-      fieldValidator.setValidator(typeValidator);\r
-    }\r
-    desc.setValidator(fieldValidator);\r
-    // -- initialize element descriptors\r
-\r
-    // -- _annotationColours\r
-    desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
-            jalview.schemabinding.version2.AnnotationColours.class,\r
-            "_annotationColours", "AnnotationColours",\r
-            org.exolab.castor.xml.NodeType.Element);\r
-    handler = new org.exolab.castor.xml.XMLFieldHandler()\r
-    {\r
-      public java.lang.Object getValue(java.lang.Object object)\r
-              throws IllegalStateException\r
-      {\r
-        Viewport target = (Viewport) object;\r
-        return target.getAnnotationColours();\r
-      }\r
-\r
-      public void setValue(java.lang.Object object, java.lang.Object value)\r
-              throws IllegalStateException, IllegalArgumentException\r
-      {\r
-        try\r
-        {\r
-          Viewport target = (Viewport) object;\r
-          target.setAnnotationColours((jalview.schemabinding.version2.AnnotationColours) value);\r
-        } catch (java.lang.Exception ex)\r
-        {\r
-          throw new IllegalStateException(ex.toString());\r
-        }\r
-      }\r
-\r
-      public java.lang.Object newInstance(java.lang.Object parent)\r
-      {\r
-        return new jalview.schemabinding.version2.AnnotationColours();\r
-      }\r
-    };\r
-    desc.setHandler(handler);\r
-    desc.setNameSpaceURI("www.jalview.org");\r
-    desc.setMultivalued(false);\r
-    addFieldDescriptor(desc);\r
-\r
-    // -- validation code for: _annotationColours\r
-    fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
-    { // -- local scope\r
-    }\r
-    desc.setValidator(fieldValidator);\r
-    // -- _hiddenColumnsList\r
-    desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
-            jalview.schemabinding.version2.HiddenColumns.class,\r
-            "_hiddenColumnsList", "hiddenColumns",\r
-            org.exolab.castor.xml.NodeType.Element);\r
-    handler = new org.exolab.castor.xml.XMLFieldHandler()\r
-    {\r
-      public java.lang.Object getValue(java.lang.Object object)\r
-              throws IllegalStateException\r
-      {\r
-        Viewport target = (Viewport) object;\r
-        return target.getHiddenColumns();\r
-      }\r
-\r
-      public void setValue(java.lang.Object object, java.lang.Object value)\r
-              throws IllegalStateException, IllegalArgumentException\r
-      {\r
-        try\r
-        {\r
-          Viewport target = (Viewport) object;\r
-          target.addHiddenColumns((jalview.schemabinding.version2.HiddenColumns) value);\r
-        } catch (java.lang.Exception ex)\r
-        {\r
-          throw new IllegalStateException(ex.toString());\r
-        }\r
-      }\r
-\r
-      public void resetValue(Object object) throws IllegalStateException,\r
-              IllegalArgumentException\r
-      {\r
-        try\r
-        {\r
-          Viewport target = (Viewport) object;\r
-          target.removeAllHiddenColumns();\r
-        } catch (java.lang.Exception ex)\r
-        {\r
-          throw new IllegalStateException(ex.toString());\r
-        }\r
-      }\r
-\r
-      public java.lang.Object newInstance(java.lang.Object parent)\r
-      {\r
-        return new jalview.schemabinding.version2.HiddenColumns();\r
-      }\r
-    };\r
-    desc.setHandler(handler);\r
-    desc.setNameSpaceURI("www.jalview.org");\r
-    desc.setMultivalued(true);\r
-    addFieldDescriptor(desc);\r
-\r
-    // -- validation code for: _hiddenColumnsList\r
-    fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
-    fieldValidator.setMinOccurs(0);\r
-    { // -- local scope\r
-    }\r
-    desc.setValidator(fieldValidator);\r
-  }\r
-\r
-  // -----------/\r
-  // - Methods -/\r
-  // -----------/\r
-\r
-  /**\r
-   * Method getAccessMode.\r
-   * \r
-   * @return the access mode specified for this class.\r
-   */\r
-  public org.exolab.castor.mapping.AccessMode getAccessMode()\r
-  {\r
-    return null;\r
-  }\r
-\r
-  /**\r
-   * Method getIdentity.\r
-   * \r
-   * @return the identity field, null if this class has no identity.\r
-   */\r
-  public org.exolab.castor.mapping.FieldDescriptor getIdentity()\r
-  {\r
-    return super.getIdentity();\r
-  }\r
-\r
-  /**\r
-   * Method getJavaClass.\r
-   * \r
-   * @return the Java class represented by this descriptor.\r
-   */\r
-  public java.lang.Class getJavaClass()\r
-  {\r
-    return jalview.schemabinding.version2.Viewport.class;\r
-  }\r
-\r
-  /**\r
-   * Method getNameSpacePrefix.\r
-   * \r
-   * @return the namespace prefix to use when marshaling as XML.\r
-   */\r
-  public java.lang.String getNameSpacePrefix()\r
-  {\r
-    return _nsPrefix;\r
-  }\r
-\r
-  /**\r
-   * Method getNameSpaceURI.\r
-   * \r
-   * @return the namespace URI used when marshaling and unmarshaling as XML.\r
-   */\r
-  public java.lang.String getNameSpaceURI()\r
-  {\r
-    return _nsURI;\r
-  }\r
-\r
-  /**\r
-   * Method getValidator.\r
-   * \r
-   * @return a specific validator for the class described by this\r
-   *         ClassDescriptor.\r
-   */\r
-  public org.exolab.castor.xml.TypeValidator getValidator()\r
-  {\r
-    return this;\r
-  }\r
-\r
-  /**\r
-   * Method getXMLName.\r
-   * \r
-   * @return the XML Name for the Class being described.\r
-   */\r
-  public java.lang.String getXMLName()\r
-  {\r
-    return _xmlName;\r
-  }\r
-\r
-  /**\r
-   * Method isElementDefinition.\r
-   * \r
-   * @return true if XML schema definition of this Class is that of a global\r
-   *         element or element with anonymous type definition.\r
-   */\r
-  public boolean isElementDefinition()\r
-  {\r
-    return _elementDefinition;\r
-  }\r
-\r
-}\r
+/*******************************************************************************
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7)
+ * Copyright (C) 2011 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle
+ *
+ * This file is part of Jalview.
+ *
+ * Jalview is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License 
+ * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * Jalview is distributed in the hope that it will be useful, but 
+ * WITHOUT ANY WARRANTY; without even the implied warranty 
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
+ * PURPOSE.  See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
+ *******************************************************************************/
+/*
+ * This class was automatically generated with 
+ * <a href="http://www.castor.org">Castor 1.1</a>, using an XML
+ * Schema.
+ * $Id$
+ */
+
+package jalview.schemabinding.version2.descriptors;
+
+  //---------------------------------/
+ //- Imported classes and packages -/
+//---------------------------------/
+
+import jalview.schemabinding.version2.Viewport;
+
+/**
+ * Class ViewportDescriptor.
+ * 
+ * @version $Revision$ $Date$
+ */
+public class ViewportDescriptor extends org.exolab.castor.xml.util.XMLClassDescriptorImpl {
+
+
+      //--------------------------/
+     //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field _elementDefinition.
+     */
+    private boolean _elementDefinition;
+
+    /**
+     * Field _nsPrefix.
+     */
+    private java.lang.String _nsPrefix;
+
+    /**
+     * Field _nsURI.
+     */
+    private java.lang.String _nsURI;
+
+    /**
+     * Field _xmlName.
+     */
+    private java.lang.String _xmlName;
+
+
+      //----------------/
+     //- Constructors -/
+    //----------------/
+
+    public ViewportDescriptor() {
+        super();
+        _nsURI = "www.jalview.org";
+        _xmlName = "Viewport";
+        _elementDefinition = true;
+        
+        //-- set grouping compositor
+        setCompositorAsSequence();
+        org.exolab.castor.xml.util.XMLFieldDescriptorImpl  desc           = null;
+        org.exolab.castor.mapping.FieldHandler             handler        = null;
+        org.exolab.castor.xml.FieldValidator               fieldValidator = null;
+        //-- initialize attribute descriptors
+        
+        //-- _conservationSelected
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Boolean.TYPE, "_conservationSelected", "conservationSelected", org.exolab.castor.xml.NodeType.Attribute);
+        handler = new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue( java.lang.Object object ) 
+                throws IllegalStateException
+            {
+                Viewport target = (Viewport) object;
+                if (!target.hasConservationSelected()) { return null; }
+                return (target.getConservationSelected() ? java.lang.Boolean.TRUE : java.lang.Boolean.FALSE);
+            }
+            public void setValue( java.lang.Object object, java.lang.Object value) 
+                throws IllegalStateException, IllegalArgumentException
+            {
+                try {
+                    Viewport target = (Viewport) object;
+                    // if null, use delete method for optional primitives 
+                    if (value == null) {
+                        target.deleteConservationSelected();
+                        return;
+                    }
+                    target.setConservationSelected( ((java.lang.Boolean) value).booleanValue());
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        };
+        desc.setHandler(handler);
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+        
+        //-- validation code for: _conservationSelected
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            org.exolab.castor.xml.validators.BooleanValidator typeValidator;
+            typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();
+            fieldValidator.setValidator(typeValidator);
+        }
+        desc.setValidator(fieldValidator);
+        //-- _pidSelected
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Boolean.TYPE, "_pidSelected", "pidSelected", org.exolab.castor.xml.NodeType.Attribute);
+        handler = new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue( java.lang.Object object ) 
+                throws IllegalStateException
+            {
+                Viewport target = (Viewport) object;
+                if (!target.hasPidSelected()) { return null; }
+                return (target.getPidSelected() ? java.lang.Boolean.TRUE : java.lang.Boolean.FALSE);
+            }
+            public void setValue( java.lang.Object object, java.lang.Object value) 
+                throws IllegalStateException, IllegalArgumentException
+            {
+                try {
+                    Viewport target = (Viewport) object;
+                    // if null, use delete method for optional primitives 
+                    if (value == null) {
+                        target.deletePidSelected();
+                        return;
+                    }
+                    target.setPidSelected( ((java.lang.Boolean) value).booleanValue());
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        };
+        desc.setHandler(handler);
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+        
+        //-- validation code for: _pidSelected
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            org.exolab.castor.xml.validators.BooleanValidator typeValidator;
+            typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();
+            fieldValidator.setValidator(typeValidator);
+        }
+        desc.setValidator(fieldValidator);
+        //-- _bgColour
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_bgColour", "bgColour", org.exolab.castor.xml.NodeType.Attribute);
+        desc.setImmutable(true);
+        handler = new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue( java.lang.Object object ) 
+                throws IllegalStateException
+            {
+                Viewport target = (Viewport) object;
+                return target.getBgColour();
+            }
+            public void setValue( java.lang.Object object, java.lang.Object value) 
+                throws IllegalStateException, IllegalArgumentException
+            {
+                try {
+                    Viewport target = (Viewport) object;
+                    target.setBgColour( (java.lang.String) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        };
+        desc.setHandler(handler);
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+        
+        //-- validation code for: _bgColour
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            org.exolab.castor.xml.validators.StringValidator typeValidator;
+            typeValidator = new org.exolab.castor.xml.validators.StringValidator();
+            fieldValidator.setValidator(typeValidator);
+            typeValidator.setWhiteSpace("preserve");
+        }
+        desc.setValidator(fieldValidator);
+        //-- _consThreshold
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Integer.TYPE, "_consThreshold", "consThreshold", org.exolab.castor.xml.NodeType.Attribute);
+        handler = new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue( java.lang.Object object ) 
+                throws IllegalStateException
+            {
+                Viewport target = (Viewport) object;
+                if (!target.hasConsThreshold()) { return null; }
+                return new java.lang.Integer(target.getConsThreshold());
+            }
+            public void setValue( java.lang.Object object, java.lang.Object value) 
+                throws IllegalStateException, IllegalArgumentException
+            {
+                try {
+                    Viewport target = (Viewport) object;
+                    // if null, use delete method for optional primitives 
+                    if (value == null) {
+                        target.deleteConsThreshold();
+                        return;
+                    }
+                    target.setConsThreshold( ((java.lang.Integer) value).intValue());
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        };
+        desc.setHandler(handler);
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+        
+        //-- validation code for: _consThreshold
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            org.exolab.castor.xml.validators.IntValidator typeValidator;
+            typeValidator = new org.exolab.castor.xml.validators.IntValidator();
+            fieldValidator.setValidator(typeValidator);
+            typeValidator.setMinInclusive(-2147483648);
+            typeValidator.setMaxInclusive(2147483647);
+        }
+        desc.setValidator(fieldValidator);
+        //-- _pidThreshold
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Integer.TYPE, "_pidThreshold", "pidThreshold", org.exolab.castor.xml.NodeType.Attribute);
+        handler = new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue( java.lang.Object object ) 
+                throws IllegalStateException
+            {
+                Viewport target = (Viewport) object;
+                if (!target.hasPidThreshold()) { return null; }
+                return new java.lang.Integer(target.getPidThreshold());
+            }
+            public void setValue( java.lang.Object object, java.lang.Object value) 
+                throws IllegalStateException, IllegalArgumentException
+            {
+                try {
+                    Viewport target = (Viewport) object;
+                    // if null, use delete method for optional primitives 
+                    if (value == null) {
+                        target.deletePidThreshold();
+                        return;
+                    }
+                    target.setPidThreshold( ((java.lang.Integer) value).intValue());
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        };
+        desc.setHandler(handler);
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+        
+        //-- validation code for: _pidThreshold
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            org.exolab.castor.xml.validators.IntValidator typeValidator;
+            typeValidator = new org.exolab.castor.xml.validators.IntValidator();
+            fieldValidator.setValidator(typeValidator);
+            typeValidator.setMinInclusive(-2147483648);
+            typeValidator.setMaxInclusive(2147483647);
+        }
+        desc.setValidator(fieldValidator);
+        //-- _title
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_title", "title", org.exolab.castor.xml.NodeType.Attribute);
+        desc.setImmutable(true);
+        handler = new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue( java.lang.Object object ) 
+                throws IllegalStateException
+            {
+                Viewport target = (Viewport) object;
+                return target.getTitle();
+            }
+            public void setValue( java.lang.Object object, java.lang.Object value) 
+                throws IllegalStateException, IllegalArgumentException
+            {
+                try {
+                    Viewport target = (Viewport) object;
+                    target.setTitle( (java.lang.String) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        };
+        desc.setHandler(handler);
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+        
+        //-- validation code for: _title
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            org.exolab.castor.xml.validators.StringValidator typeValidator;
+            typeValidator = new org.exolab.castor.xml.validators.StringValidator();
+            fieldValidator.setValidator(typeValidator);
+            typeValidator.setWhiteSpace("preserve");
+        }
+        desc.setValidator(fieldValidator);
+        //-- _showFullId
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Boolean.TYPE, "_showFullId", "showFullId", org.exolab.castor.xml.NodeType.Attribute);
+        handler = new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue( java.lang.Object object ) 
+                throws IllegalStateException
+            {
+                Viewport target = (Viewport) object;
+                if (!target.hasShowFullId()) { return null; }
+                return (target.getShowFullId() ? java.lang.Boolean.TRUE : java.lang.Boolean.FALSE);
+            }
+            public void setValue( java.lang.Object object, java.lang.Object value) 
+                throws IllegalStateException, IllegalArgumentException
+            {
+                try {
+                    Viewport target = (Viewport) object;
+                    // if null, use delete method for optional primitives 
+                    if (value == null) {
+                        target.deleteShowFullId();
+                        return;
+                    }
+                    target.setShowFullId( ((java.lang.Boolean) value).booleanValue());
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        };
+        desc.setHandler(handler);
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+        
+        //-- validation code for: _showFullId
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            org.exolab.castor.xml.validators.BooleanValidator typeValidator;
+            typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();
+            fieldValidator.setValidator(typeValidator);
+        }
+        desc.setValidator(fieldValidator);
+        //-- _rightAlignIds
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Boolean.TYPE, "_rightAlignIds", "rightAlignIds", org.exolab.castor.xml.NodeType.Attribute);
+        handler = new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue( java.lang.Object object ) 
+                throws IllegalStateException
+            {
+                Viewport target = (Viewport) object;
+                if (!target.hasRightAlignIds()) { return null; }
+                return (target.getRightAlignIds() ? java.lang.Boolean.TRUE : java.lang.Boolean.FALSE);
+            }
+            public void setValue( java.lang.Object object, java.lang.Object value) 
+                throws IllegalStateException, IllegalArgumentException
+            {
+                try {
+                    Viewport target = (Viewport) object;
+                    // if null, use delete method for optional primitives 
+                    if (value == null) {
+                        target.deleteRightAlignIds();
+                        return;
+                    }
+                    target.setRightAlignIds( ((java.lang.Boolean) value).booleanValue());
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        };
+        desc.setHandler(handler);
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+        
+        //-- validation code for: _rightAlignIds
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            org.exolab.castor.xml.validators.BooleanValidator typeValidator;
+            typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();
+            fieldValidator.setValidator(typeValidator);
+        }
+        desc.setValidator(fieldValidator);
+        //-- _showText
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Boolean.TYPE, "_showText", "showText", org.exolab.castor.xml.NodeType.Attribute);
+        handler = new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue( java.lang.Object object ) 
+                throws IllegalStateException
+            {
+                Viewport target = (Viewport) object;
+                if (!target.hasShowText()) { return null; }
+                return (target.getShowText() ? java.lang.Boolean.TRUE : java.lang.Boolean.FALSE);
+            }
+            public void setValue( java.lang.Object object, java.lang.Object value) 
+                throws IllegalStateException, IllegalArgumentException
+            {
+                try {
+                    Viewport target = (Viewport) object;
+                    // if null, use delete method for optional primitives 
+                    if (value == null) {
+                        target.deleteShowText();
+                        return;
+                    }
+                    target.setShowText( ((java.lang.Boolean) value).booleanValue());
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        };
+        desc.setHandler(handler);
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+        
+        //-- validation code for: _showText
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            org.exolab.castor.xml.validators.BooleanValidator typeValidator;
+            typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();
+            fieldValidator.setValidator(typeValidator);
+        }
+        desc.setValidator(fieldValidator);
+        //-- _showColourText
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Boolean.TYPE, "_showColourText", "showColourText", org.exolab.castor.xml.NodeType.Attribute);
+        handler = new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue( java.lang.Object object ) 
+                throws IllegalStateException
+            {
+                Viewport target = (Viewport) object;
+                if (!target.hasShowColourText()) { return null; }
+                return (target.getShowColourText() ? java.lang.Boolean.TRUE : java.lang.Boolean.FALSE);
+            }
+            public void setValue( java.lang.Object object, java.lang.Object value) 
+                throws IllegalStateException, IllegalArgumentException
+            {
+                try {
+                    Viewport target = (Viewport) object;
+                    // if null, use delete method for optional primitives 
+                    if (value == null) {
+                        target.deleteShowColourText();
+                        return;
+                    }
+                    target.setShowColourText( ((java.lang.Boolean) value).booleanValue());
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        };
+        desc.setHandler(handler);
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+        
+        //-- validation code for: _showColourText
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            org.exolab.castor.xml.validators.BooleanValidator typeValidator;
+            typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();
+            fieldValidator.setValidator(typeValidator);
+        }
+        desc.setValidator(fieldValidator);
+        //-- _showUnconserved
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Boolean.TYPE, "_showUnconserved", "showUnconserved", org.exolab.castor.xml.NodeType.Attribute);
+        handler = new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue( java.lang.Object object ) 
+                throws IllegalStateException
+            {
+                Viewport target = (Viewport) object;
+                if (!target.hasShowUnconserved()) { return null; }
+                return (target.getShowUnconserved() ? java.lang.Boolean.TRUE : java.lang.Boolean.FALSE);
+            }
+            public void setValue( java.lang.Object object, java.lang.Object value) 
+                throws IllegalStateException, IllegalArgumentException
+            {
+                try {
+                    Viewport target = (Viewport) object;
+                    // if null, use delete method for optional primitives 
+                    if (value == null) {
+                        target.deleteShowUnconserved();
+                        return;
+                    }
+                    target.setShowUnconserved( ((java.lang.Boolean) value).booleanValue());
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        };
+        desc.setHandler(handler);
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+        
+        //-- validation code for: _showUnconserved
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            org.exolab.castor.xml.validators.BooleanValidator typeValidator;
+            typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();
+            fieldValidator.setValidator(typeValidator);
+        }
+        desc.setValidator(fieldValidator);
+        //-- _showBoxes
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Boolean.TYPE, "_showBoxes", "showBoxes", org.exolab.castor.xml.NodeType.Attribute);
+        handler = new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue( java.lang.Object object ) 
+                throws IllegalStateException
+            {
+                Viewport target = (Viewport) object;
+                if (!target.hasShowBoxes()) { return null; }
+                return (target.getShowBoxes() ? java.lang.Boolean.TRUE : java.lang.Boolean.FALSE);
+            }
+            public void setValue( java.lang.Object object, java.lang.Object value) 
+                throws IllegalStateException, IllegalArgumentException
+            {
+                try {
+                    Viewport target = (Viewport) object;
+                    // if null, use delete method for optional primitives 
+                    if (value == null) {
+                        target.deleteShowBoxes();
+                        return;
+                    }
+                    target.setShowBoxes( ((java.lang.Boolean) value).booleanValue());
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        };
+        desc.setHandler(handler);
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+        
+        //-- validation code for: _showBoxes
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            org.exolab.castor.xml.validators.BooleanValidator typeValidator;
+            typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();
+            fieldValidator.setValidator(typeValidator);
+        }
+        desc.setValidator(fieldValidator);
+        //-- _wrapAlignment
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Boolean.TYPE, "_wrapAlignment", "wrapAlignment", org.exolab.castor.xml.NodeType.Attribute);
+        handler = new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue( java.lang.Object object ) 
+                throws IllegalStateException
+            {
+                Viewport target = (Viewport) object;
+                if (!target.hasWrapAlignment()) { return null; }
+                return (target.getWrapAlignment() ? java.lang.Boolean.TRUE : java.lang.Boolean.FALSE);
+            }
+            public void setValue( java.lang.Object object, java.lang.Object value) 
+                throws IllegalStateException, IllegalArgumentException
+            {
+                try {
+                    Viewport target = (Viewport) object;
+                    // if null, use delete method for optional primitives 
+                    if (value == null) {
+                        target.deleteWrapAlignment();
+                        return;
+                    }
+                    target.setWrapAlignment( ((java.lang.Boolean) value).booleanValue());
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        };
+        desc.setHandler(handler);
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+        
+        //-- validation code for: _wrapAlignment
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            org.exolab.castor.xml.validators.BooleanValidator typeValidator;
+            typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();
+            fieldValidator.setValidator(typeValidator);
+        }
+        desc.setValidator(fieldValidator);
+        //-- _renderGaps
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Boolean.TYPE, "_renderGaps", "renderGaps", org.exolab.castor.xml.NodeType.Attribute);
+        handler = new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue( java.lang.Object object ) 
+                throws IllegalStateException
+            {
+                Viewport target = (Viewport) object;
+                if (!target.hasRenderGaps()) { return null; }
+                return (target.getRenderGaps() ? java.lang.Boolean.TRUE : java.lang.Boolean.FALSE);
+            }
+            public void setValue( java.lang.Object object, java.lang.Object value) 
+                throws IllegalStateException, IllegalArgumentException
+            {
+                try {
+                    Viewport target = (Viewport) object;
+                    // if null, use delete method for optional primitives 
+                    if (value == null) {
+                        target.deleteRenderGaps();
+                        return;
+                    }
+                    target.setRenderGaps( ((java.lang.Boolean) value).booleanValue());
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        };
+        desc.setHandler(handler);
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+        
+        //-- validation code for: _renderGaps
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            org.exolab.castor.xml.validators.BooleanValidator typeValidator;
+            typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();
+            fieldValidator.setValidator(typeValidator);
+        }
+        desc.setValidator(fieldValidator);
+        //-- _showSequenceFeatures
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Boolean.TYPE, "_showSequenceFeatures", "showSequenceFeatures", org.exolab.castor.xml.NodeType.Attribute);
+        handler = new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue( java.lang.Object object ) 
+                throws IllegalStateException
+            {
+                Viewport target = (Viewport) object;
+                if (!target.hasShowSequenceFeatures()) { return null; }
+                return (target.getShowSequenceFeatures() ? java.lang.Boolean.TRUE : java.lang.Boolean.FALSE);
+            }
+            public void setValue( java.lang.Object object, java.lang.Object value) 
+                throws IllegalStateException, IllegalArgumentException
+            {
+                try {
+                    Viewport target = (Viewport) object;
+                    // if null, use delete method for optional primitives 
+                    if (value == null) {
+                        target.deleteShowSequenceFeatures();
+                        return;
+                    }
+                    target.setShowSequenceFeatures( ((java.lang.Boolean) value).booleanValue());
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        };
+        desc.setHandler(handler);
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+        
+        //-- validation code for: _showSequenceFeatures
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            org.exolab.castor.xml.validators.BooleanValidator typeValidator;
+            typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();
+            fieldValidator.setValidator(typeValidator);
+        }
+        desc.setValidator(fieldValidator);
+        //-- _showNPfeatureTooltip
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Boolean.TYPE, "_showNPfeatureTooltip", "showNPfeatureTooltip", org.exolab.castor.xml.NodeType.Attribute);
+        handler = new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue( java.lang.Object object ) 
+                throws IllegalStateException
+            {
+                Viewport target = (Viewport) object;
+                if (!target.hasShowNPfeatureTooltip()) { return null; }
+                return (target.getShowNPfeatureTooltip() ? java.lang.Boolean.TRUE : java.lang.Boolean.FALSE);
+            }
+            public void setValue( java.lang.Object object, java.lang.Object value) 
+                throws IllegalStateException, IllegalArgumentException
+            {
+                try {
+                    Viewport target = (Viewport) object;
+                    // if null, use delete method for optional primitives 
+                    if (value == null) {
+                        target.deleteShowNPfeatureTooltip();
+                        return;
+                    }
+                    target.setShowNPfeatureTooltip( ((java.lang.Boolean) value).booleanValue());
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        };
+        desc.setHandler(handler);
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+        
+        //-- validation code for: _showNPfeatureTooltip
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            org.exolab.castor.xml.validators.BooleanValidator typeValidator;
+            typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();
+            fieldValidator.setValidator(typeValidator);
+        }
+        desc.setValidator(fieldValidator);
+        //-- _showDbRefTooltip
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Boolean.TYPE, "_showDbRefTooltip", "showDbRefTooltip", org.exolab.castor.xml.NodeType.Attribute);
+        handler = new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue( java.lang.Object object ) 
+                throws IllegalStateException
+            {
+                Viewport target = (Viewport) object;
+                if (!target.hasShowDbRefTooltip()) { return null; }
+                return (target.getShowDbRefTooltip() ? java.lang.Boolean.TRUE : java.lang.Boolean.FALSE);
+            }
+            public void setValue( java.lang.Object object, java.lang.Object value) 
+                throws IllegalStateException, IllegalArgumentException
+            {
+                try {
+                    Viewport target = (Viewport) object;
+                    // if null, use delete method for optional primitives 
+                    if (value == null) {
+                        target.deleteShowDbRefTooltip();
+                        return;
+                    }
+                    target.setShowDbRefTooltip( ((java.lang.Boolean) value).booleanValue());
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        };
+        desc.setHandler(handler);
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+        
+        //-- validation code for: _showDbRefTooltip
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            org.exolab.castor.xml.validators.BooleanValidator typeValidator;
+            typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();
+            fieldValidator.setValidator(typeValidator);
+        }
+        desc.setValidator(fieldValidator);
+        //-- _followHighlight
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Boolean.TYPE, "_followHighlight", "followHighlight", org.exolab.castor.xml.NodeType.Attribute);
+        handler = new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue( java.lang.Object object ) 
+                throws IllegalStateException
+            {
+                Viewport target = (Viewport) object;
+                if (!target.hasFollowHighlight()) { return null; }
+                return (target.getFollowHighlight() ? java.lang.Boolean.TRUE : java.lang.Boolean.FALSE);
+            }
+            public void setValue( java.lang.Object object, java.lang.Object value) 
+                throws IllegalStateException, IllegalArgumentException
+            {
+                try {
+                    Viewport target = (Viewport) object;
+                    // if null, use delete method for optional primitives 
+                    if (value == null) {
+                        target.deleteFollowHighlight();
+                        return;
+                    }
+                    target.setFollowHighlight( ((java.lang.Boolean) value).booleanValue());
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        };
+        desc.setHandler(handler);
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+        
+        //-- validation code for: _followHighlight
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            org.exolab.castor.xml.validators.BooleanValidator typeValidator;
+            typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();
+            fieldValidator.setValidator(typeValidator);
+        }
+        desc.setValidator(fieldValidator);
+        //-- _followSelection
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Boolean.TYPE, "_followSelection", "followSelection", org.exolab.castor.xml.NodeType.Attribute);
+        handler = new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue( java.lang.Object object ) 
+                throws IllegalStateException
+            {
+                Viewport target = (Viewport) object;
+                if (!target.hasFollowSelection()) { return null; }
+                return (target.getFollowSelection() ? java.lang.Boolean.TRUE : java.lang.Boolean.FALSE);
+            }
+            public void setValue( java.lang.Object object, java.lang.Object value) 
+                throws IllegalStateException, IllegalArgumentException
+            {
+                try {
+                    Viewport target = (Viewport) object;
+                    // if null, use delete method for optional primitives 
+                    if (value == null) {
+                        target.deleteFollowSelection();
+                        return;
+                    }
+                    target.setFollowSelection( ((java.lang.Boolean) value).booleanValue());
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        };
+        desc.setHandler(handler);
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+        
+        //-- validation code for: _followSelection
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            org.exolab.castor.xml.validators.BooleanValidator typeValidator;
+            typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();
+            fieldValidator.setValidator(typeValidator);
+        }
+        desc.setValidator(fieldValidator);
+        //-- _showAnnotation
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Boolean.TYPE, "_showAnnotation", "showAnnotation", org.exolab.castor.xml.NodeType.Attribute);
+        handler = new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue( java.lang.Object object ) 
+                throws IllegalStateException
+            {
+                Viewport target = (Viewport) object;
+                if (!target.hasShowAnnotation()) { return null; }
+                return (target.getShowAnnotation() ? java.lang.Boolean.TRUE : java.lang.Boolean.FALSE);
+            }
+            public void setValue( java.lang.Object object, java.lang.Object value) 
+                throws IllegalStateException, IllegalArgumentException
+            {
+                try {
+                    Viewport target = (Viewport) object;
+                    // if null, use delete method for optional primitives 
+                    if (value == null) {
+                        target.deleteShowAnnotation();
+                        return;
+                    }
+                    target.setShowAnnotation( ((java.lang.Boolean) value).booleanValue());
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        };
+        desc.setHandler(handler);
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+        
+        //-- validation code for: _showAnnotation
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            org.exolab.castor.xml.validators.BooleanValidator typeValidator;
+            typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();
+            fieldValidator.setValidator(typeValidator);
+        }
+        desc.setValidator(fieldValidator);
+        //-- _centreColumnLabels
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Boolean.TYPE, "_centreColumnLabels", "centreColumnLabels", org.exolab.castor.xml.NodeType.Attribute);
+        handler = new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue( java.lang.Object object ) 
+                throws IllegalStateException
+            {
+                Viewport target = (Viewport) object;
+                if (!target.hasCentreColumnLabels()) { return null; }
+                return (target.getCentreColumnLabels() ? java.lang.Boolean.TRUE : java.lang.Boolean.FALSE);
+            }
+            public void setValue( java.lang.Object object, java.lang.Object value) 
+                throws IllegalStateException, IllegalArgumentException
+            {
+                try {
+                    Viewport target = (Viewport) object;
+                    // if null, use delete method for optional primitives 
+                    if (value == null) {
+                        target.deleteCentreColumnLabels();
+                        return;
+                    }
+                    target.setCentreColumnLabels( ((java.lang.Boolean) value).booleanValue());
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        };
+        desc.setHandler(handler);
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+        
+        //-- validation code for: _centreColumnLabels
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            org.exolab.castor.xml.validators.BooleanValidator typeValidator;
+            typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();
+            fieldValidator.setValidator(typeValidator);
+        }
+        desc.setValidator(fieldValidator);
+        //-- _showGroupConservation
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Boolean.TYPE, "_showGroupConservation", "showGroupConservation", org.exolab.castor.xml.NodeType.Attribute);
+        handler = new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue( java.lang.Object object ) 
+                throws IllegalStateException
+            {
+                Viewport target = (Viewport) object;
+                if (!target.hasShowGroupConservation()) { return null; }
+                return (target.getShowGroupConservation() ? java.lang.Boolean.TRUE : java.lang.Boolean.FALSE);
+            }
+            public void setValue( java.lang.Object object, java.lang.Object value) 
+                throws IllegalStateException, IllegalArgumentException
+            {
+                try {
+                    Viewport target = (Viewport) object;
+                    // if null, use delete method for optional primitives 
+                    if (value == null) {
+                        target.deleteShowGroupConservation();
+                        return;
+                    }
+                    target.setShowGroupConservation( ((java.lang.Boolean) value).booleanValue());
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        };
+        desc.setHandler(handler);
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+        
+        //-- validation code for: _showGroupConservation
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            org.exolab.castor.xml.validators.BooleanValidator typeValidator;
+            typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();
+            fieldValidator.setValidator(typeValidator);
+        }
+        desc.setValidator(fieldValidator);
+        //-- _showGroupConsensus
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Boolean.TYPE, "_showGroupConsensus", "showGroupConsensus", org.exolab.castor.xml.NodeType.Attribute);
+        handler = new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue( java.lang.Object object ) 
+                throws IllegalStateException
+            {
+                Viewport target = (Viewport) object;
+                if (!target.hasShowGroupConsensus()) { return null; }
+                return (target.getShowGroupConsensus() ? java.lang.Boolean.TRUE : java.lang.Boolean.FALSE);
+            }
+            public void setValue( java.lang.Object object, java.lang.Object value) 
+                throws IllegalStateException, IllegalArgumentException
+            {
+                try {
+                    Viewport target = (Viewport) object;
+                    // if null, use delete method for optional primitives 
+                    if (value == null) {
+                        target.deleteShowGroupConsensus();
+                        return;
+                    }
+                    target.setShowGroupConsensus( ((java.lang.Boolean) value).booleanValue());
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        };
+        desc.setHandler(handler);
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+        
+        //-- validation code for: _showGroupConsensus
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            org.exolab.castor.xml.validators.BooleanValidator typeValidator;
+            typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();
+            fieldValidator.setValidator(typeValidator);
+        }
+        desc.setValidator(fieldValidator);
+        //-- _showConsensusHistogram
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Boolean.TYPE, "_showConsensusHistogram", "showConsensusHistogram", org.exolab.castor.xml.NodeType.Attribute);
+        handler = new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue( java.lang.Object object ) 
+                throws IllegalStateException
+            {
+                Viewport target = (Viewport) object;
+                if (!target.hasShowConsensusHistogram()) { return null; }
+                return (target.getShowConsensusHistogram() ? java.lang.Boolean.TRUE : java.lang.Boolean.FALSE);
+            }
+            public void setValue( java.lang.Object object, java.lang.Object value) 
+                throws IllegalStateException, IllegalArgumentException
+            {
+                try {
+                    Viewport target = (Viewport) object;
+                    // if null, use delete method for optional primitives 
+                    if (value == null) {
+                        target.deleteShowConsensusHistogram();
+                        return;
+                    }
+                    target.setShowConsensusHistogram( ((java.lang.Boolean) value).booleanValue());
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        };
+        desc.setHandler(handler);
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+        
+        //-- validation code for: _showConsensusHistogram
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            org.exolab.castor.xml.validators.BooleanValidator typeValidator;
+            typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();
+            fieldValidator.setValidator(typeValidator);
+        }
+        desc.setValidator(fieldValidator);
+        //-- _showSequenceLogo
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Boolean.TYPE, "_showSequenceLogo", "showSequenceLogo", org.exolab.castor.xml.NodeType.Attribute);
+        handler = new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue( java.lang.Object object ) 
+                throws IllegalStateException
+            {
+                Viewport target = (Viewport) object;
+                if (!target.hasShowSequenceLogo()) { return null; }
+                return (target.getShowSequenceLogo() ? java.lang.Boolean.TRUE : java.lang.Boolean.FALSE);
+            }
+            public void setValue( java.lang.Object object, java.lang.Object value) 
+                throws IllegalStateException, IllegalArgumentException
+            {
+                try {
+                    Viewport target = (Viewport) object;
+                    // if null, use delete method for optional primitives 
+                    if (value == null) {
+                        target.deleteShowSequenceLogo();
+                        return;
+                    }
+                    target.setShowSequenceLogo( ((java.lang.Boolean) value).booleanValue());
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        };
+        desc.setHandler(handler);
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+        
+        //-- validation code for: _showSequenceLogo
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            org.exolab.castor.xml.validators.BooleanValidator typeValidator;
+            typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();
+            fieldValidator.setValidator(typeValidator);
+        }
+        desc.setValidator(fieldValidator);
+        //-- _ignoreGapsinConsensus
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Boolean.TYPE, "_ignoreGapsinConsensus", "ignoreGapsinConsensus", org.exolab.castor.xml.NodeType.Attribute);
+        handler = new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue( java.lang.Object object ) 
+                throws IllegalStateException
+            {
+                Viewport target = (Viewport) object;
+                if (!target.hasIgnoreGapsinConsensus()) { return null; }
+                return (target.getIgnoreGapsinConsensus() ? java.lang.Boolean.TRUE : java.lang.Boolean.FALSE);
+            }
+            public void setValue( java.lang.Object object, java.lang.Object value) 
+                throws IllegalStateException, IllegalArgumentException
+            {
+                try {
+                    Viewport target = (Viewport) object;
+                    // if null, use delete method for optional primitives 
+                    if (value == null) {
+                        target.deleteIgnoreGapsinConsensus();
+                        return;
+                    }
+                    target.setIgnoreGapsinConsensus( ((java.lang.Boolean) value).booleanValue());
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        };
+        desc.setHandler(handler);
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+        
+        //-- validation code for: _ignoreGapsinConsensus
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            org.exolab.castor.xml.validators.BooleanValidator typeValidator;
+            typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();
+            fieldValidator.setValidator(typeValidator);
+        }
+        desc.setValidator(fieldValidator);
+        //-- _startRes
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Integer.TYPE, "_startRes", "startRes", org.exolab.castor.xml.NodeType.Attribute);
+        handler = new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue( java.lang.Object object ) 
+                throws IllegalStateException
+            {
+                Viewport target = (Viewport) object;
+                if (!target.hasStartRes()) { return null; }
+                return new java.lang.Integer(target.getStartRes());
+            }
+            public void setValue( java.lang.Object object, java.lang.Object value) 
+                throws IllegalStateException, IllegalArgumentException
+            {
+                try {
+                    Viewport target = (Viewport) object;
+                    // if null, use delete method for optional primitives 
+                    if (value == null) {
+                        target.deleteStartRes();
+                        return;
+                    }
+                    target.setStartRes( ((java.lang.Integer) value).intValue());
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        };
+        desc.setHandler(handler);
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+        
+        //-- validation code for: _startRes
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            org.exolab.castor.xml.validators.IntValidator typeValidator;
+            typeValidator = new org.exolab.castor.xml.validators.IntValidator();
+            fieldValidator.setValidator(typeValidator);
+            typeValidator.setMinInclusive(-2147483648);
+            typeValidator.setMaxInclusive(2147483647);
+        }
+        desc.setValidator(fieldValidator);
+        //-- _startSeq
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Integer.TYPE, "_startSeq", "startSeq", org.exolab.castor.xml.NodeType.Attribute);
+        handler = new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue( java.lang.Object object ) 
+                throws IllegalStateException
+            {
+                Viewport target = (Viewport) object;
+                if (!target.hasStartSeq()) { return null; }
+                return new java.lang.Integer(target.getStartSeq());
+            }
+            public void setValue( java.lang.Object object, java.lang.Object value) 
+                throws IllegalStateException, IllegalArgumentException
+            {
+                try {
+                    Viewport target = (Viewport) object;
+                    // if null, use delete method for optional primitives 
+                    if (value == null) {
+                        target.deleteStartSeq();
+                        return;
+                    }
+                    target.setStartSeq( ((java.lang.Integer) value).intValue());
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        };
+        desc.setHandler(handler);
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+        
+        //-- validation code for: _startSeq
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            org.exolab.castor.xml.validators.IntValidator typeValidator;
+            typeValidator = new org.exolab.castor.xml.validators.IntValidator();
+            fieldValidator.setValidator(typeValidator);
+            typeValidator.setMinInclusive(-2147483648);
+            typeValidator.setMaxInclusive(2147483647);
+        }
+        desc.setValidator(fieldValidator);
+        //-- _fontName
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_fontName", "fontName", org.exolab.castor.xml.NodeType.Attribute);
+        desc.setImmutable(true);
+        handler = new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue( java.lang.Object object ) 
+                throws IllegalStateException
+            {
+                Viewport target = (Viewport) object;
+                return target.getFontName();
+            }
+            public void setValue( java.lang.Object object, java.lang.Object value) 
+                throws IllegalStateException, IllegalArgumentException
+            {
+                try {
+                    Viewport target = (Viewport) object;
+                    target.setFontName( (java.lang.String) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        };
+        desc.setHandler(handler);
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+        
+        //-- validation code for: _fontName
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            org.exolab.castor.xml.validators.StringValidator typeValidator;
+            typeValidator = new org.exolab.castor.xml.validators.StringValidator();
+            fieldValidator.setValidator(typeValidator);
+            typeValidator.setWhiteSpace("preserve");
+        }
+        desc.setValidator(fieldValidator);
+        //-- _fontSize
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Integer.TYPE, "_fontSize", "fontSize", org.exolab.castor.xml.NodeType.Attribute);
+        handler = new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue( java.lang.Object object ) 
+                throws IllegalStateException
+            {
+                Viewport target = (Viewport) object;
+                if (!target.hasFontSize()) { return null; }
+                return new java.lang.Integer(target.getFontSize());
+            }
+            public void setValue( java.lang.Object object, java.lang.Object value) 
+                throws IllegalStateException, IllegalArgumentException
+            {
+                try {
+                    Viewport target = (Viewport) object;
+                    // if null, use delete method for optional primitives 
+                    if (value == null) {
+                        target.deleteFontSize();
+                        return;
+                    }
+                    target.setFontSize( ((java.lang.Integer) value).intValue());
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        };
+        desc.setHandler(handler);
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+        
+        //-- validation code for: _fontSize
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            org.exolab.castor.xml.validators.IntValidator typeValidator;
+            typeValidator = new org.exolab.castor.xml.validators.IntValidator();
+            fieldValidator.setValidator(typeValidator);
+            typeValidator.setMinInclusive(-2147483648);
+            typeValidator.setMaxInclusive(2147483647);
+        }
+        desc.setValidator(fieldValidator);
+        //-- _fontStyle
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Integer.TYPE, "_fontStyle", "fontStyle", org.exolab.castor.xml.NodeType.Attribute);
+        handler = new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue( java.lang.Object object ) 
+                throws IllegalStateException
+            {
+                Viewport target = (Viewport) object;
+                if (!target.hasFontStyle()) { return null; }
+                return new java.lang.Integer(target.getFontStyle());
+            }
+            public void setValue( java.lang.Object object, java.lang.Object value) 
+                throws IllegalStateException, IllegalArgumentException
+            {
+                try {
+                    Viewport target = (Viewport) object;
+                    // if null, use delete method for optional primitives 
+                    if (value == null) {
+                        target.deleteFontStyle();
+                        return;
+                    }
+                    target.setFontStyle( ((java.lang.Integer) value).intValue());
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        };
+        desc.setHandler(handler);
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+        
+        //-- validation code for: _fontStyle
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            org.exolab.castor.xml.validators.IntValidator typeValidator;
+            typeValidator = new org.exolab.castor.xml.validators.IntValidator();
+            fieldValidator.setValidator(typeValidator);
+            typeValidator.setMinInclusive(-2147483648);
+            typeValidator.setMaxInclusive(2147483647);
+        }
+        desc.setValidator(fieldValidator);
+        //-- _viewName
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_viewName", "viewName", org.exolab.castor.xml.NodeType.Attribute);
+        desc.setImmutable(true);
+        handler = new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue( java.lang.Object object ) 
+                throws IllegalStateException
+            {
+                Viewport target = (Viewport) object;
+                return target.getViewName();
+            }
+            public void setValue( java.lang.Object object, java.lang.Object value) 
+                throws IllegalStateException, IllegalArgumentException
+            {
+                try {
+                    Viewport target = (Viewport) object;
+                    target.setViewName( (java.lang.String) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        };
+        desc.setHandler(handler);
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+        
+        //-- validation code for: _viewName
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            org.exolab.castor.xml.validators.StringValidator typeValidator;
+            typeValidator = new org.exolab.castor.xml.validators.StringValidator();
+            fieldValidator.setValidator(typeValidator);
+            typeValidator.setWhiteSpace("preserve");
+        }
+        desc.setValidator(fieldValidator);
+        //-- _sequenceSetId
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_sequenceSetId", "sequenceSetId", org.exolab.castor.xml.NodeType.Attribute);
+        desc.setImmutable(true);
+        handler = new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue( java.lang.Object object ) 
+                throws IllegalStateException
+            {
+                Viewport target = (Viewport) object;
+                return target.getSequenceSetId();
+            }
+            public void setValue( java.lang.Object object, java.lang.Object value) 
+                throws IllegalStateException, IllegalArgumentException
+            {
+                try {
+                    Viewport target = (Viewport) object;
+                    target.setSequenceSetId( (java.lang.String) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        };
+        desc.setHandler(handler);
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+        
+        //-- validation code for: _sequenceSetId
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            org.exolab.castor.xml.validators.StringValidator typeValidator;
+            typeValidator = new org.exolab.castor.xml.validators.StringValidator();
+            fieldValidator.setValidator(typeValidator);
+            typeValidator.setWhiteSpace("preserve");
+        }
+        desc.setValidator(fieldValidator);
+        //-- _gatheredViews
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Boolean.TYPE, "_gatheredViews", "gatheredViews", org.exolab.castor.xml.NodeType.Attribute);
+        handler = new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue( java.lang.Object object ) 
+                throws IllegalStateException
+            {
+                Viewport target = (Viewport) object;
+                if (!target.hasGatheredViews()) { return null; }
+                return (target.getGatheredViews() ? java.lang.Boolean.TRUE : java.lang.Boolean.FALSE);
+            }
+            public void setValue( java.lang.Object object, java.lang.Object value) 
+                throws IllegalStateException, IllegalArgumentException
+            {
+                try {
+                    Viewport target = (Viewport) object;
+                    // if null, use delete method for optional primitives 
+                    if (value == null) {
+                        target.deleteGatheredViews();
+                        return;
+                    }
+                    target.setGatheredViews( ((java.lang.Boolean) value).booleanValue());
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        };
+        desc.setHandler(handler);
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+        
+        //-- validation code for: _gatheredViews
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            org.exolab.castor.xml.validators.BooleanValidator typeValidator;
+            typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();
+            fieldValidator.setValidator(typeValidator);
+        }
+        desc.setValidator(fieldValidator);
+        //-- _textCol1
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Integer.TYPE, "_textCol1", "textCol1", org.exolab.castor.xml.NodeType.Attribute);
+        handler = new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue( java.lang.Object object ) 
+                throws IllegalStateException
+            {
+                Viewport target = (Viewport) object;
+                if (!target.hasTextCol1()) { return null; }
+                return new java.lang.Integer(target.getTextCol1());
+            }
+            public void setValue( java.lang.Object object, java.lang.Object value) 
+                throws IllegalStateException, IllegalArgumentException
+            {
+                try {
+                    Viewport target = (Viewport) object;
+                    // if null, use delete method for optional primitives 
+                    if (value == null) {
+                        target.deleteTextCol1();
+                        return;
+                    }
+                    target.setTextCol1( ((java.lang.Integer) value).intValue());
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        };
+        desc.setHandler(handler);
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+        
+        //-- validation code for: _textCol1
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            org.exolab.castor.xml.validators.IntValidator typeValidator;
+            typeValidator = new org.exolab.castor.xml.validators.IntValidator();
+            fieldValidator.setValidator(typeValidator);
+            typeValidator.setMinInclusive(-2147483648);
+            typeValidator.setMaxInclusive(2147483647);
+        }
+        desc.setValidator(fieldValidator);
+        //-- _textCol2
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Integer.TYPE, "_textCol2", "textCol2", org.exolab.castor.xml.NodeType.Attribute);
+        handler = new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue( java.lang.Object object ) 
+                throws IllegalStateException
+            {
+                Viewport target = (Viewport) object;
+                if (!target.hasTextCol2()) { return null; }
+                return new java.lang.Integer(target.getTextCol2());
+            }
+            public void setValue( java.lang.Object object, java.lang.Object value) 
+                throws IllegalStateException, IllegalArgumentException
+            {
+                try {
+                    Viewport target = (Viewport) object;
+                    // if null, use delete method for optional primitives 
+                    if (value == null) {
+                        target.deleteTextCol2();
+                        return;
+                    }
+                    target.setTextCol2( ((java.lang.Integer) value).intValue());
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        };
+        desc.setHandler(handler);
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+        
+        //-- validation code for: _textCol2
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            org.exolab.castor.xml.validators.IntValidator typeValidator;
+            typeValidator = new org.exolab.castor.xml.validators.IntValidator();
+            fieldValidator.setValidator(typeValidator);
+            typeValidator.setMinInclusive(-2147483648);
+            typeValidator.setMaxInclusive(2147483647);
+        }
+        desc.setValidator(fieldValidator);
+        //-- _textColThreshold
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Integer.TYPE, "_textColThreshold", "textColThreshold", org.exolab.castor.xml.NodeType.Attribute);
+        handler = new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue( java.lang.Object object ) 
+                throws IllegalStateException
+            {
+                Viewport target = (Viewport) object;
+                if (!target.hasTextColThreshold()) { return null; }
+                return new java.lang.Integer(target.getTextColThreshold());
+            }
+            public void setValue( java.lang.Object object, java.lang.Object value) 
+                throws IllegalStateException, IllegalArgumentException
+            {
+                try {
+                    Viewport target = (Viewport) object;
+                    // if null, use delete method for optional primitives 
+                    if (value == null) {
+                        target.deleteTextColThreshold();
+                        return;
+                    }
+                    target.setTextColThreshold( ((java.lang.Integer) value).intValue());
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        };
+        desc.setHandler(handler);
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+        
+        //-- validation code for: _textColThreshold
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            org.exolab.castor.xml.validators.IntValidator typeValidator;
+            typeValidator = new org.exolab.castor.xml.validators.IntValidator();
+            fieldValidator.setValidator(typeValidator);
+            typeValidator.setMinInclusive(-2147483648);
+            typeValidator.setMaxInclusive(2147483647);
+        }
+        desc.setValidator(fieldValidator);
+        //-- _id
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_id", "id", org.exolab.castor.xml.NodeType.Attribute);
+        super.setIdentity(desc);
+        handler = new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue( java.lang.Object object ) 
+                throws IllegalStateException
+            {
+                Viewport target = (Viewport) object;
+                return target.getId();
+            }
+            public void setValue( java.lang.Object object, java.lang.Object value) 
+                throws IllegalStateException, IllegalArgumentException
+            {
+                try {
+                    Viewport target = (Viewport) object;
+                    target.setId( (java.lang.String) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return new java.lang.String();
+            }
+        };
+        desc.setHandler(handler);
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+        
+        //-- validation code for: _id
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            org.exolab.castor.xml.validators.IdValidator typeValidator;
+            typeValidator = new org.exolab.castor.xml.validators.IdValidator();
+            fieldValidator.setValidator(typeValidator);
+        }
+        desc.setValidator(fieldValidator);
+        //-- _width
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Integer.TYPE, "_width", "width", org.exolab.castor.xml.NodeType.Attribute);
+        handler = new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue( java.lang.Object object ) 
+                throws IllegalStateException
+            {
+                Viewport target = (Viewport) object;
+                if (!target.hasWidth()) { return null; }
+                return new java.lang.Integer(target.getWidth());
+            }
+            public void setValue( java.lang.Object object, java.lang.Object value) 
+                throws IllegalStateException, IllegalArgumentException
+            {
+                try {
+                    Viewport target = (Viewport) object;
+                    // if null, use delete method for optional primitives 
+                    if (value == null) {
+                        target.deleteWidth();
+                        return;
+                    }
+                    target.setWidth( ((java.lang.Integer) value).intValue());
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        };
+        desc.setHandler(handler);
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+        
+        //-- validation code for: _width
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            org.exolab.castor.xml.validators.IntValidator typeValidator;
+            typeValidator = new org.exolab.castor.xml.validators.IntValidator();
+            fieldValidator.setValidator(typeValidator);
+            typeValidator.setMinInclusive(-2147483648);
+            typeValidator.setMaxInclusive(2147483647);
+        }
+        desc.setValidator(fieldValidator);
+        //-- _height
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Integer.TYPE, "_height", "height", org.exolab.castor.xml.NodeType.Attribute);
+        handler = new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue( java.lang.Object object ) 
+                throws IllegalStateException
+            {
+                Viewport target = (Viewport) object;
+                if (!target.hasHeight()) { return null; }
+                return new java.lang.Integer(target.getHeight());
+            }
+            public void setValue( java.lang.Object object, java.lang.Object value) 
+                throws IllegalStateException, IllegalArgumentException
+            {
+                try {
+                    Viewport target = (Viewport) object;
+                    // if null, use delete method for optional primitives 
+                    if (value == null) {
+                        target.deleteHeight();
+                        return;
+                    }
+                    target.setHeight( ((java.lang.Integer) value).intValue());
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        };
+        desc.setHandler(handler);
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+        
+        //-- validation code for: _height
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            org.exolab.castor.xml.validators.IntValidator typeValidator;
+            typeValidator = new org.exolab.castor.xml.validators.IntValidator();
+            fieldValidator.setValidator(typeValidator);
+            typeValidator.setMinInclusive(-2147483648);
+            typeValidator.setMaxInclusive(2147483647);
+        }
+        desc.setValidator(fieldValidator);
+        //-- _xpos
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Integer.TYPE, "_xpos", "xpos", org.exolab.castor.xml.NodeType.Attribute);
+        handler = new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue( java.lang.Object object ) 
+                throws IllegalStateException
+            {
+                Viewport target = (Viewport) object;
+                if (!target.hasXpos()) { return null; }
+                return new java.lang.Integer(target.getXpos());
+            }
+            public void setValue( java.lang.Object object, java.lang.Object value) 
+                throws IllegalStateException, IllegalArgumentException
+            {
+                try {
+                    Viewport target = (Viewport) object;
+                    // if null, use delete method for optional primitives 
+                    if (value == null) {
+                        target.deleteXpos();
+                        return;
+                    }
+                    target.setXpos( ((java.lang.Integer) value).intValue());
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        };
+        desc.setHandler(handler);
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+        
+        //-- validation code for: _xpos
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            org.exolab.castor.xml.validators.IntValidator typeValidator;
+            typeValidator = new org.exolab.castor.xml.validators.IntValidator();
+            fieldValidator.setValidator(typeValidator);
+            typeValidator.setMinInclusive(-2147483648);
+            typeValidator.setMaxInclusive(2147483647);
+        }
+        desc.setValidator(fieldValidator);
+        //-- _ypos
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Integer.TYPE, "_ypos", "ypos", org.exolab.castor.xml.NodeType.Attribute);
+        handler = new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue( java.lang.Object object ) 
+                throws IllegalStateException
+            {
+                Viewport target = (Viewport) object;
+                if (!target.hasYpos()) { return null; }
+                return new java.lang.Integer(target.getYpos());
+            }
+            public void setValue( java.lang.Object object, java.lang.Object value) 
+                throws IllegalStateException, IllegalArgumentException
+            {
+                try {
+                    Viewport target = (Viewport) object;
+                    // if null, use delete method for optional primitives 
+                    if (value == null) {
+                        target.deleteYpos();
+                        return;
+                    }
+                    target.setYpos( ((java.lang.Integer) value).intValue());
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        };
+        desc.setHandler(handler);
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+        
+        //-- validation code for: _ypos
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            org.exolab.castor.xml.validators.IntValidator typeValidator;
+            typeValidator = new org.exolab.castor.xml.validators.IntValidator();
+            fieldValidator.setValidator(typeValidator);
+            typeValidator.setMinInclusive(-2147483648);
+            typeValidator.setMaxInclusive(2147483647);
+        }
+        desc.setValidator(fieldValidator);
+        //-- initialize element descriptors
+        
+        //-- _annotationColours
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(jalview.schemabinding.version2.AnnotationColours.class, "_annotationColours", "AnnotationColours", org.exolab.castor.xml.NodeType.Element);
+        handler = new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue( java.lang.Object object ) 
+                throws IllegalStateException
+            {
+                Viewport target = (Viewport) object;
+                return target.getAnnotationColours();
+            }
+            public void setValue( java.lang.Object object, java.lang.Object value) 
+                throws IllegalStateException, IllegalArgumentException
+            {
+                try {
+                    Viewport target = (Viewport) object;
+                    target.setAnnotationColours( (jalview.schemabinding.version2.AnnotationColours) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return new jalview.schemabinding.version2.AnnotationColours();
+            }
+        };
+        desc.setHandler(handler);
+        desc.setNameSpaceURI("www.jalview.org");
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+        
+        //-- validation code for: _annotationColours
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+        }
+        desc.setValidator(fieldValidator);
+        //-- _hiddenColumnsList
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(jalview.schemabinding.version2.HiddenColumns.class, "_hiddenColumnsList", "hiddenColumns", org.exolab.castor.xml.NodeType.Element);
+        handler = new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue( java.lang.Object object ) 
+                throws IllegalStateException
+            {
+                Viewport target = (Viewport) object;
+                return target.getHiddenColumns();
+            }
+            public void setValue( java.lang.Object object, java.lang.Object value) 
+                throws IllegalStateException, IllegalArgumentException
+            {
+                try {
+                    Viewport target = (Viewport) object;
+                    target.addHiddenColumns( (jalview.schemabinding.version2.HiddenColumns) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+            public void resetValue(Object object) throws IllegalStateException, IllegalArgumentException {
+                try {
+                    Viewport target = (Viewport) object;
+                    target.removeAllHiddenColumns();
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return new jalview.schemabinding.version2.HiddenColumns();
+            }
+        };
+        desc.setHandler(handler);
+        desc.setNameSpaceURI("www.jalview.org");
+        desc.setMultivalued(true);
+        addFieldDescriptor(desc);
+        
+        //-- validation code for: _hiddenColumnsList
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        fieldValidator.setMinOccurs(0);
+        { //-- local scope
+        }
+        desc.setValidator(fieldValidator);
+    }
+
+
+      //-----------/
+     //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode.
+     * 
+     * @return the access mode specified for this class.
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode(
+    ) {
+        return null;
+    }
+
+    /**
+     * Method getIdentity.
+     * 
+     * @return the identity field, null if this class has no
+     * identity.
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity(
+    ) {
+        return super.getIdentity();
+    }
+
+    /**
+     * Method getJavaClass.
+     * 
+     * @return the Java class represented by this descriptor.
+     */
+    public java.lang.Class getJavaClass(
+    ) {
+        return jalview.schemabinding.version2.Viewport.class;
+    }
+
+    /**
+     * Method getNameSpacePrefix.
+     * 
+     * @return the namespace prefix to use when marshaling as XML.
+     */
+    public java.lang.String getNameSpacePrefix(
+    ) {
+        return _nsPrefix;
+    }
+
+    /**
+     * Method getNameSpaceURI.
+     * 
+     * @return the namespace URI used when marshaling and
+     * unmarshaling as XML.
+     */
+    public java.lang.String getNameSpaceURI(
+    ) {
+        return _nsURI;
+    }
+
+    /**
+     * Method getValidator.
+     * 
+     * @return a specific validator for the class described by this
+     * ClassDescriptor.
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator(
+    ) {
+        return this;
+    }
+
+    /**
+     * Method getXMLName.
+     * 
+     * @return the XML Name for the Class being described.
+     */
+    public java.lang.String getXMLName(
+    ) {
+        return _xmlName;
+    }
+
+    /**
+     * Method isElementDefinition.
+     * 
+     * @return true if XML schema definition of this Class is that
+     * of a global
+     * element or element with anonymous type definition.
+     */
+    public boolean isElementDefinition(
+    ) {
+        return _elementDefinition;
+    }
+
+}