Integration of all three parts of the workflow (BioSTIFF is not yet added) .
authorCherian Mathew <c.mathew@bgbm.org>
Tue, 3 Apr 2012 15:22:59 +0000 (15:22 +0000)
committerCherian Mathew <c.mathew@bgbm.org>
Tue, 3 Apr 2012 15:22:59 +0000 (15:22 +0000)
DataCleaning/workflows/data_cleaning/data_cleaning.t2flow

index c1042ce775ae19b7d9247e2f1bdb9760e0a11b9c..4636bea70e1636fa24d470a397f586418d6aa884 100755 (executable)
@@ -1,4 +1,4 @@
-<workflow xmlns="http://taverna.sf.net/2008/xml/t2flow" version="1" producedBy="taverna-2.3.0"><dataflow id="4536464e-a157-41b1-acb9-26561f23a293" role="top"><name>Workflow4</name><inputPorts /><outputPorts><port><name>endWFlow</name><annotations /></port><port><name>csv_output</name><annotations /></port></outputPorts><processors><processor><name>Select_File</name><inputPorts><port><name>title</name><depth>0</depth></port></inputPorts><outputPorts><port><name>selectedFile</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="title" to="title" /></inputMap><outputMap><map from="selectedFile" to="selectedFile" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
+<workflow xmlns="http://taverna.sf.net/2008/xml/t2flow" version="1" producedBy="taverna-2.3.0"><dataflow id="4d4485de-4d95-44fe-b793-de9fceff2015" role="top"><name>Workflow4</name><inputPorts /><outputPorts><port><name>endWFlow</name><annotations /></port><port><name>csv_output</name><annotations /></port><port><name>file_write_ok</name><annotations /></port></outputPorts><processors><processor><name>Select_File</name><inputPorts><port><name>title</name><depth>0</depth></port></inputPorts><outputPorts><port><name>selectedFile</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="title" to="title" /></inputMap><outputMap><map from="selectedFile" to="selectedFile" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
   <inputs>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
       <name>title</name>\r
@@ -219,7 +219,7 @@ filecontents = sb.toString();
   <initialDelay>1000</initialDelay>\r
   <maxDelay>5000</maxDelay>\r
   <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="fileurl" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Data_Cleaning_Worklow_Loop</name><inputPorts><port><name>internalCSVData</name><depth>0</depth></port></inputPorts><outputPorts><port><name>endWFlow</name><depth>0</depth><granularDepth>0</granularDepth></port><port><name>internalCSVData</name><depth>1</depth><granularDepth>1</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>dataflow-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.dataflow.DataflowActivity</class><inputMap><map from="internalCSVData" to="internalCSVData" /></inputMap><outputMap><map from="internalCSVData" to="internalCSVData" /><map from="endWFlow" to="endWFlow" /></outputMap><configBean encoding="dataflow"><dataflow ref="57030f97-56e0-4c85-a0fa-0f0e4f685aec" /></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="fileurl" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Data_Cleaning_Worklow_Loop</name><inputPorts><port><name>internalCSVData</name><depth>0</depth></port></inputPorts><outputPorts><port><name>endWFlow</name><depth>0</depth><granularDepth>0</granularDepth></port><port><name>internalCSVData</name><depth>1</depth><granularDepth>1</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>dataflow-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.dataflow.DataflowActivity</class><inputMap><map from="internalCSVData" to="internalCSVData" /></inputMap><outputMap><map from="internalCSVData" to="internalCSVData" /><map from="endWFlow" to="endWFlow" /></outputMap><configBean encoding="dataflow"><dataflow ref="4d356981-1062-4cf6-a15d-c89cf36ae317" /></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
   <maxJobs>1</maxJobs>\r
 </net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Loop</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.LoopConfiguration xmlns="">\r
   <conditionXML>&lt;activity xmlns="http://taverna.sf.net/2008/xml/t2flow"&gt;&lt;raven&gt;&lt;group&gt;net.sf.taverna.t2.activities&lt;/group&gt;&lt;artifact&gt;beanshell-activity&lt;/artifact&gt;&lt;version&gt;1.3&lt;/version&gt;&lt;/raven&gt;&lt;class&gt;net.sf.taverna.t2.activities.beanshell.BeanshellActivity&lt;/class&gt;&lt;inputMap /&gt;&lt;outputMap /&gt;&lt;configBean encoding="xstream"&gt;&lt;net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns=""&gt;&#xD;\r
@@ -230,24 +230,6 @@ filecontents = sb.toString();
       &lt;translatedElementType&gt;java.lang.Object&lt;/translatedElementType&gt;&#xD;\r
       &lt;allowsLiteralValues&gt;true&lt;/allowsLiteralValues&gt;&#xD;\r
     &lt;/net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean&gt;&#xD;\r
-    &lt;net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean&gt;&#xD;\r
-      &lt;name&gt;names&lt;/name&gt;&#xD;\r
-      &lt;depth&gt;2&lt;/depth&gt;&#xD;\r
-      &lt;translatedElementType&gt;java.lang.Object&lt;/translatedElementType&gt;&#xD;\r
-      &lt;allowsLiteralValues&gt;true&lt;/allowsLiteralValues&gt;&#xD;\r
-    &lt;/net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean&gt;&#xD;\r
-    &lt;net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean&gt;&#xD;\r
-      &lt;name&gt;incorrectRecords&lt;/name&gt;&#xD;\r
-      &lt;depth&gt;1&lt;/depth&gt;&#xD;\r
-      &lt;translatedElementType&gt;java.lang.Object&lt;/translatedElementType&gt;&#xD;\r
-      &lt;allowsLiteralValues&gt;true&lt;/allowsLiteralValues&gt;&#xD;\r
-    &lt;/net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean&gt;&#xD;\r
-    &lt;net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean&gt;&#xD;\r
-      &lt;name&gt;synReqRes&lt;/name&gt;&#xD;\r
-      &lt;depth&gt;2&lt;/depth&gt;&#xD;\r
-      &lt;translatedElementType&gt;java.lang.Object&lt;/translatedElementType&gt;&#xD;\r
-      &lt;allowsLiteralValues&gt;true&lt;/allowsLiteralValues&gt;&#xD;\r
-    &lt;/net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean&gt;&#xD;\r
     &lt;net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean&gt;&#xD;\r
       &lt;name&gt;endWFlow&lt;/name&gt;&#xD;\r
       &lt;depth&gt;0&lt;/depth&gt;&#xD;\r
@@ -284,10 +266,10 @@ if ("true".matches(loop)) {&#xD;
   <runFirst>true</runFirst>\r
   <properties>\r
     <property name="compareValue" value="true" />\r
-    <property name="delay" value="0.5" />\r
     <property name="comparePort" value="endWFlow" />\r
-    <property name="isFeedBack" value="true" />\r
+    <property name="delay" value="0.5" />\r
     <property name="comparison" value="EqualTo" />\r
+    <property name="isFeedBack" value="true" />\r
   </properties>\r
 </net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.LoopConfiguration></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
   <backoffFactor>1.0</backoffFactor>\r
@@ -362,24 +344,225 @@ concatenated = sb.toString();
   <initialDelay>1000</initialDelay>\r
   <maxDelay>5000</maxDelay>\r
   <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy /></iteration></iterationStrategyStack></processor></processors><conditions /><datalinks><datalink><sink type="processor"><processor>Select_File</processor><port>title</port></sink><source type="processor"><processor>title_value</processor><port>value</port></source></datalink><datalink><sink type="processor"><processor>Read_Text_File</processor><port>fileurl</port></sink><source type="processor"><processor>Select_File</processor><port>selectedFile</port></source></datalink><datalink><sink type="processor"><processor>Data_Cleaning_Worklow_Loop</processor><port>internalCSVData</port></sink><source type="processor"><processor>Read_Text_File</processor><port>filecontents</port></source></datalink><datalink><sink type="processor"><processor>Merge_String_List_to_a_String</processor><port>seperator</port></sink><source type="processor"><processor>no_separator</processor><port>value</port></source></datalink><datalink><sink type="processor"><processor>Merge_String_List_to_a_String</processor><port>stringlist</port></sink><source type="processor"><processor>Data_Cleaning_Worklow_Loop</processor><port>internalCSVData</port></source></datalink><datalink><sink type="dataflow"><port>endWFlow</port></sink><source type="processor"><processor>Data_Cleaning_Worklow_Loop</processor><port>endWFlow</port></source></datalink><datalink><sink type="dataflow"><port>csv_output</port></sink><source type="processor"><processor>Merge_String_List_to_a_String</processor><port>concatenated</port></source></datalink></datalinks><annotations><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy /></iteration></iterationStrategyStack></processor><processor><name>Write_Text_File</name><inputPorts><port><name>outputFile</name><depth>0</depth></port><port><name>filecontents</name><depth>0</depth></port></inputPorts><outputPorts><port><name>writeOK</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="outputFile" to="outputFile" /><map from="filecontents" to="filecontents" /></inputMap><outputMap><map from="writeOK" to="writeOK" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
+  <inputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>outputFile</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>'text/plain'</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>filecontents</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>'text/plain'</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>encoding</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>'text/plain'</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+  </inputs>\r
+  <outputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>writeOK</name>\r
+      <depth>0</depth>\r
+      <mimeTypes />\r
+      <granularDepth>0</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+  </outputs>\r
+  <classLoaderSharing>workflow</classLoaderSharing>\r
+  <localDependencies />\r
+  <artifactDependencies />\r
+  <script>writeOK = "false";\r
+  BufferedWriter out;\r
+  if (encoding == void) {\r
+       out = new BufferedWriter(new FileWriter(outputFile));\r
+  }\r
+  else {\r
+       out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outputFile), encoding)); \r
+  }\r
+out.write(filecontents);\r
+out.flush();\r
+out.close();\r
+writeOK = "true";\r
+</script>\r
+  <dependencies />\r
+  <localworkerName>net.sourceforge.taverna.scuflworkers.io.TextFileWriter</localworkerName>\r
+</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations><annotation_chain encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>837c766d-3904-43f2-8098-5548a7c2e9ad</identification>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.HostInstitution">\r
+        <text>UserNameHere</text>\r
       </annotationBean>\r
-      <date>2012-03-29 15:49:02.282 CEST</date>\r
+      <date>2012-03-29 17:01:58.829 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
   </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain></annotations></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="outputFile" depth="0" /><port name="filecontents" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Select_Output_CSV_File</name><inputPorts><port><name>title</name><depth>0</depth></port></inputPorts><outputPorts><port><name>selectedFile</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="title" to="title" /></inputMap><outputMap><map from="selectedFile" to="selectedFile" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
+  <inputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>title</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>'text/plain'</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>fileExtensions</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>'text/plain'</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>fileExtLabels</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>'text/plain'</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+  </inputs>\r
+  <outputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>selectedFile</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>'text/plain'</string>\r
+      </mimeTypes>\r
+      <granularDepth>0</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+  </outputs>\r
+  <classLoaderSharing>workflow</classLoaderSharing>\r
+  <localDependencies />\r
+  <artifactDependencies />\r
+  <script>import java.awt.CardLayout;\r
+import java.awt.Image;\r
+import java.awt.Toolkit;\r
+import java.io.File;\r
+import java.util.HashMap;\r
+import java.util.Map;\r
+\r
+import javax.swing.ImageIcon;\r
+import javax.swing.JEditorPane;\r
+import javax.swing.JFileChooser;\r
+import javax.swing.JLabel;\r
+import javax.swing.JPanel;\r
+import javax.swing.filechooser.FileFilter;\r
+\r
+class FileExtFilter extends FileFilter {\r
+\r
+       public FileExtFilter(String ext, String label, boolean includeDir) {\r
+               this.ext = ext;\r
+               this.label = label;\r
+               this.includeDir = includeDir;\r
+       }\r
+\r
+       public String getDescription() {\r
+               return this.label;\r
+       }\r
+\r
+       public boolean accept(File file) {\r
+               if (file.isDirectory() &amp;&amp; includeDir) {\r
+                       return true;\r
+               } else {\r
+                       return file.getName().endsWith(this.ext);\r
+               }\r
+       }\r
+\r
+       String ext, label;\r
+\r
+       boolean includeDir;\r
+}\r
+\r
+if (title == void) {\r
+       title = null;\r
+}\r
+\r
+if ((fileExtensions == void) || (fileExtensions == null)) {\r
+       fileExtensions = "";\r
+}\r
+\r
+if ((fileExtLabels == void) || (fileExtLabels == null)) {\r
+       fileExtLabels = "";\r
+}\r
+\r
+JFileChooser chooser = new JFileChooser();\r
+chooser.setDialogTitle(title);\r
+\r
+String[] fileTypeList = fileExtensions.split(",");\r
+String[] filterLabelList = fileExtLabels.split(",");\r
+\r
+if (fileTypeList != null &amp;&amp; filterLabelList != null &amp;&amp; fileTypeList.length != filterLabelList.length) {\r
+       throw new RuntimeException("The list of extensions and file filter labels must be the same length");\r
+}\r
+\r
+// create the file filters\r
+for (int i = 0; i &lt; fileTypeList.length; i++) {\r
+       FileExtFilter filter = new FileExtFilter(fileTypeList[i], filterLabelList[i], true);\r
+       chooser.setFileFilter(filter);\r
+}\r
+\r
+chooser.showOpenDialog(null);\r
+File file = chooser.getSelectedFile();\r
+selectedFile = file.getAbsolutePath();\r
+</script>\r
+  <dependencies />\r
+  <localworkerName>net.sourceforge.taverna.scuflworkers.ui.SelectFileWorker</localworkerName>\r
+</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="title" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>output_filechooser_title</name><inputPorts /><outputPorts><port><name>value</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>stringconstant-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.stringconstant.StringConstantActivity</class><inputMap /><outputMap><map from="value" to="value" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean xmlns="">\r
+  <value>Choose Output CSV File</value>\r
+</net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy /></iteration></iterationStrategyStack></processor></processors><conditions><condition control="Merge_String_List_to_a_String" target="Select_Output_CSV_File" /></conditions><datalinks><datalink><sink type="processor"><processor>Select_File</processor><port>title</port></sink><source type="processor"><processor>title_value</processor><port>value</port></source></datalink><datalink><sink type="processor"><processor>Read_Text_File</processor><port>fileurl</port></sink><source type="processor"><processor>Select_File</processor><port>selectedFile</port></source></datalink><datalink><sink type="processor"><processor>Data_Cleaning_Worklow_Loop</processor><port>internalCSVData</port></sink><source type="processor"><processor>Read_Text_File</processor><port>filecontents</port></source></datalink><datalink><sink type="processor"><processor>Merge_String_List_to_a_String</processor><port>seperator</port></sink><source type="processor"><processor>no_separator</processor><port>value</port></source></datalink><datalink><sink type="processor"><processor>Merge_String_List_to_a_String</processor><port>stringlist</port></sink><source type="processor"><processor>Data_Cleaning_Worklow_Loop</processor><port>internalCSVData</port></source></datalink><datalink><sink type="processor"><processor>Write_Text_File</processor><port>outputFile</port></sink><source type="processor"><processor>Select_Output_CSV_File</processor><port>selectedFile</port></source></datalink><datalink><sink type="processor"><processor>Write_Text_File</processor><port>filecontents</port></sink><source type="processor"><processor>Merge_String_List_to_a_String</processor><port>concatenated</port></source></datalink><datalink><sink type="processor"><processor>Select_Output_CSV_File</processor><port>title</port></sink><source type="processor"><processor>output_filechooser_title</processor><port>value</port></source></datalink><datalink><sink type="dataflow"><port>endWFlow</port></sink><source type="processor"><processor>Data_Cleaning_Worklow_Loop</processor><port>endWFlow</port></source></datalink><datalink><sink type="dataflow"><port>csv_output</port></sink><source type="processor"><processor>Merge_String_List_to_a_String</processor><port>concatenated</port></source></datalink><datalink><sink type="dataflow"><port>file_write_ok</port></sink><source type="processor"><processor>Write_Text_File</processor><port>writeOK</port></source></datalink></datalinks><annotations><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>32687e37-c1b4-4049-b4e3-a916a28f31b8</identification>\r
+        <identification>169a84f3-b6cb-4461-b5a7-5a606129f5b8</identification>\r
       </annotationBean>\r
-      <date>2012-03-21 12:57:13.63 CET</date>\r
+      <date>2012-01-17 15:22:28.945 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -388,9 +571,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>f2eea163-bb16-4648-b9e1-f2c2834d404b</identification>\r
+        <identification>3cb10f03-1c33-4532-98d6-9df680804b9b</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 16:41:19.643 CEST</date>\r
+      <date>2012-03-29 16:28:18.672 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -399,9 +582,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>b9172152-31b2-423e-8df7-9b37ab97feb7</identification>\r
+        <identification>cf8c4086-356c-4d48-8b1e-d3ad4f2c55c1</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 15:38:18.453 CEST</date>\r
+      <date>2012-01-19 16:48:23.561 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -410,9 +593,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>6e29698d-3721-4a62-b68b-545ee9e55bae</identification>\r
+        <identification>ac57d1f2-3158-4d19-ab77-0d6a3cf8cb8b</identification>\r
       </annotationBean>\r
-      <date>2012-02-01 16:52:27.919 CET</date>\r
+      <date>2012-01-19 17:20:44.158 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -421,9 +604,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>d550bf5b-265f-4baf-a935-dc5be6e0afd0</identification>\r
+        <identification>39b55373-26ef-4404-b221-f3dab0707103</identification>\r
       </annotationBean>\r
-      <date>2012-02-01 16:38:45.314 CET</date>\r
+      <date>2012-01-17 14:16:39.989 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -432,9 +615,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>e60a09bf-4a47-4fb1-85c2-421bc08a37af</identification>\r
+        <identification>3c787239-92dc-4d14-9792-d6de35481d0d</identification>\r
       </annotationBean>\r
-      <date>2012-02-10 17:09:57.619 CET</date>\r
+      <date>2012-01-27 15:41:03.391 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -443,9 +626,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>1a9b6163-7fa1-4951-abda-d8b08e16a267</identification>\r
+        <identification>ef44252d-9450-4376-82e2-19bbd2d4ba59</identification>\r
       </annotationBean>\r
-      <date>2012-02-10 12:47:25.241 CET</date>\r
+      <date>2012-03-29 13:56:54.21 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -454,9 +637,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>00f1af88-1048-459b-a9ee-9543d3b3bea5</identification>\r
+        <identification>e7d2147c-53fb-4f1c-a87c-c91a55b8fc4a</identification>\r
       </annotationBean>\r
-      <date>2012-01-20 15:22:36.682 CET</date>\r
+      <date>2012-02-02 17:47:32.729 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -465,9 +648,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>3e78d313-250b-4644-a16a-33ed2038bc1f</identification>\r
+        <identification>dd071e72-4f3d-4699-9789-df33708098d0</identification>\r
       </annotationBean>\r
-      <date>2012-01-24 15:55:13.536 CET</date>\r
+      <date>2012-01-19 17:24:56.535 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -476,9 +659,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>d6025259-95fa-4f81-8cb5-8a3a1c8f83ee</identification>\r
+        <identification>37a6990d-204f-40a4-a687-62bdf2d02f28</identification>\r
       </annotationBean>\r
-      <date>2012-01-26 17:03:56.307 CET</date>\r
+      <date>2012-03-29 11:01:47.102 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -487,9 +670,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>3331663d-199b-44a4-a329-a23fae7f0cdd</identification>\r
+        <identification>4f13b644-01d8-4310-837f-8ee45d0f5b42</identification>\r
       </annotationBean>\r
-      <date>2012-02-14 13:55:00.329 CET</date>\r
+      <date>2012-01-19 16:34:35.547 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -498,9 +681,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>da0c5574-a8cf-4b49-b3a3-3465fd5a92a3</identification>\r
+        <identification>374e1389-782b-4fc3-a934-42eb73132a07</identification>\r
       </annotationBean>\r
-      <date>2012-01-24 15:45:24.187 CET</date>\r
+      <date>2012-01-17 14:07:18.343 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -509,9 +692,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>1ac31417-1ad0-4f8a-819d-91f400a5b885</identification>\r
+        <identification>85d27532-328b-423e-acd2-f18e8743575a</identification>\r
       </annotationBean>\r
-      <date>2012-01-16 16:51:05.950 CET</date>\r
+      <date>2012-01-16 17:58:56.322 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -520,9 +703,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>074e699f-1b4d-445e-b807-874b1050d2a4</identification>\r
+        <identification>b7095278-ecff-4fc5-b48a-593ab3e06d03</identification>\r
       </annotationBean>\r
-      <date>2012-03-28 17:59:46.182 CEST</date>\r
+      <date>2012-02-10 13:00:19.58 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -531,9 +714,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>fc5219d4-192d-404c-9f0a-d5c0c8e81e27</identification>\r
+        <identification>49ace609-171d-4390-9d4c-fb075edae252</identification>\r
       </annotationBean>\r
-      <date>2012-02-01 17:36:22.29 CET</date>\r
+      <date>2012-03-02 18:03:42.69 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -542,9 +725,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>cc4e54ff-f00c-426a-84fd-2d9ef27dcecd</identification>\r
+        <identification>82a4d502-9180-4383-a16c-3b6f53ffc801</identification>\r
       </annotationBean>\r
-      <date>2012-03-21 13:04:02.184 CET</date>\r
+      <date>2012-03-29 15:34:04.403 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -553,9 +736,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>99f6ad54-01f6-446e-b05b-6702c21541cb</identification>\r
+        <identification>63d78e8d-1c89-4c74-be3d-cf8e777f0ef1</identification>\r
       </annotationBean>\r
-      <date>2012-01-19 16:36:17.326 CET</date>\r
+      <date>2012-03-29 16:40:19.366 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -564,9 +747,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>35430cac-2263-4a40-a395-25acc9306339</identification>\r
+        <identification>b7ab5c7e-c61e-4202-8cec-64cf50221e2a</identification>\r
       </annotationBean>\r
-      <date>2012-02-10 12:44:24.961 CET</date>\r
+      <date>2012-02-10 16:34:53.500 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -575,9 +758,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>3b531591-5242-4976-a2b6-794fadcf936d</identification>\r
+        <identification>ab8a79db-f91a-4b0b-8dfc-fcd426b21ac0</identification>\r
       </annotationBean>\r
-      <date>2012-03-22 09:26:35.995 CET</date>\r
+      <date>2012-03-21 12:07:09.627 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -586,9 +769,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>b7ab5c7e-c61e-4202-8cec-64cf50221e2a</identification>\r
+        <identification>3b2fe1cc-c2e3-41e7-8a0a-5ee9496dbac3</identification>\r
       </annotationBean>\r
-      <date>2012-02-10 16:34:53.500 CET</date>\r
+      <date>2012-01-26 17:07:41.258 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -597,9 +780,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>0c56c551-6a71-4f21-8f17-7b881c0a40f7</identification>\r
+        <identification>0eb5bf44-9c7b-42d1-a531-ad1623f01855</identification>\r
       </annotationBean>\r
-      <date>2012-01-25 17:22:23.981 CET</date>\r
+      <date>2012-03-29 16:14:55.102 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -608,9 +791,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>292bdae0-4265-4c87-a433-a24c82e47f0d</identification>\r
+        <identification>fe089cd2-ddc0-41cc-ab11-4668e3489f63</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 14:57:21.975 CEST</date>\r
+      <date>2012-02-01 15:42:54.568 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -619,9 +802,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>169a84f3-b6cb-4461-b5a7-5a606129f5b8</identification>\r
+        <identification>6db85d99-3692-413d-bc43-72ba41ab9e8c</identification>\r
       </annotationBean>\r
-      <date>2012-01-17 15:22:28.945 CET</date>\r
+      <date>2012-03-28 18:00:30.338 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -630,9 +813,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>0e2b6774-7f62-41b9-bc03-a805a467814d</identification>\r
+        <identification>2e4ada85-d61e-4879-990f-73f479808b87</identification>\r
       </annotationBean>\r
-      <date>2012-02-10 12:41:19.934 CET</date>\r
+      <date>2012-03-29 15:38:38.675 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -641,9 +824,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>4536464e-a157-41b1-acb9-26561f23a293</identification>\r
+        <identification>b00b6f4e-8513-40d4-abc5-7e8036fc48aa</identification>\r
       </annotationBean>\r
-      <date>2012-03-30 15:21:25.764 CEST</date>\r
+      <date>2012-03-29 15:03:43.873 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -652,9 +835,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>df684640-c8fe-4972-80e9-27023b52d6b1</identification>\r
+        <identification>c2678e1e-e0aa-4a54-ad95-2699ea1b5132</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 16:29:45.569 CEST</date>\r
+      <date>2012-01-19 17:04:06.29 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -663,9 +846,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>49ace609-171d-4390-9d4c-fb075edae252</identification>\r
+        <identification>08f94652-1b3d-46f4-85ce-5c9dbea31e68</identification>\r
       </annotationBean>\r
-      <date>2012-03-02 18:03:42.69 CET</date>\r
+      <date>2012-03-02 17:40:39.647 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -674,9 +857,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>d9f8856f-ecf7-48f3-9431-804c4daabb0d</identification>\r
+        <identification>dc92d990-51ad-4c2e-ab86-5365af0a91eb</identification>\r
       </annotationBean>\r
-      <date>2012-01-19 16:00:16.780 CET</date>\r
+      <date>2012-03-22 11:56:24.55 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -685,9 +868,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>a7d6808f-8240-49c5-a3e2-81e6c5f146a7</identification>\r
+        <identification>6e29698d-3721-4a62-b68b-545ee9e55bae</identification>\r
       </annotationBean>\r
-      <date>2012-02-14 17:12:37.102 CET</date>\r
+      <date>2012-02-01 16:52:27.919 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -696,9 +879,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>c183252f-5b8d-417e-ab21-379615d857ed</identification>\r
+        <identification>67a28d10-3a57-4260-abc8-0b11fed4f18b</identification>\r
       </annotationBean>\r
-      <date>2012-02-02 16:52:54.623 CET</date>\r
+      <date>2012-03-29 16:52:56.847 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -707,9 +890,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>7f4d2ce3-ca13-410d-abe2-525dc147149b</identification>\r
+        <identification>c183f41e-63e8-4533-8100-34fb5cb05f2d</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 14:55:20.781 CEST</date>\r
+      <date>2012-01-19 17:31:57.154 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -718,9 +901,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>fdafcd4a-62f7-4b17-86e1-647c8c6a9e39</identification>\r
+        <identification>ccc9d2ed-1d76-4b67-af5d-fbb4834570f6</identification>\r
       </annotationBean>\r
-      <date>2012-01-19 17:01:01.670 CET</date>\r
+      <date>2012-03-28 18:01:14.908 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -729,9 +912,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>7e0584ec-06f7-4d42-a688-f8bb608a8eb8</identification>\r
+        <identification>0c77bed3-810b-44f5-8b72-8793c157e671</identification>\r
       </annotationBean>\r
-      <date>2012-03-28 17:48:18.471 CEST</date>\r
+      <date>2012-02-01 15:12:43.106 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -740,9 +923,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>95af5c38-403e-4f8a-bf0b-d0512f9e1797</identification>\r
+        <identification>3371b567-4555-459f-bfde-e1e880ef1a77</identification>\r
       </annotationBean>\r
-      <date>2012-02-10 12:46:05.382 CET</date>\r
+      <date>2012-03-30 15:18:28.903 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -751,9 +934,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>0b5d3350-051a-482b-a075-b778121ad3f1</identification>\r
+        <identification>0e2b6774-7f62-41b9-bc03-a805a467814d</identification>\r
       </annotationBean>\r
-      <date>2012-02-13 13:49:08.909 CET</date>\r
+      <date>2012-02-10 12:41:19.934 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -762,9 +945,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>82e4d9f3-a880-4bbb-8c19-95ff7768bd63</identification>\r
+        <identification>6cf522a4-f8b5-4594-a77d-ac1f617e8be7</identification>\r
       </annotationBean>\r
-      <date>2012-02-14 14:31:22.500 CET</date>\r
+      <date>2012-01-25 17:21:45.864 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -773,9 +956,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>78baace4-398b-4f08-8f43-6a651bf3adfe</identification>\r
+        <identification>3e62f0d9-519a-434c-9794-d3fae00b16b3</identification>\r
       </annotationBean>\r
-      <date>2012-03-02 17:20:07.183 CET</date>\r
+      <date>2012-03-29 15:21:08.391 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -784,9 +967,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>db9180d3-a226-4436-ac72-5777b428239b</identification>\r
+        <identification>35351794-4401-4fe3-86fe-78e76d85791a</identification>\r
       </annotationBean>\r
-      <date>2012-02-01 15:12:17.560 CET</date>\r
+      <date>2012-01-24 17:10:35.104 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -795,9 +978,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>32486ea7-3958-482c-a405-ea5f58c2de44</identification>\r
+        <identification>d89cd6a9-647a-4a14-aed0-2bdbafd9272b</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 12:07:16.780 CEST</date>\r
+      <date>2012-04-03 10:11:40.752 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -806,9 +989,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>dd071e72-4f3d-4699-9789-df33708098d0</identification>\r
+        <identification>d74e2741-7ff5-491e-9dc6-900c8ddcbeda</identification>\r
       </annotationBean>\r
-      <date>2012-01-19 17:24:56.535 CET</date>\r
+      <date>2012-02-14 17:10:46.276 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -817,9 +1000,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>e0d22bd4-569a-49a8-9dee-e192354bb9fc</identification>\r
+        <identification>892309fa-82e8-4d2f-ad76-24cb0418efce</identification>\r
       </annotationBean>\r
-      <date>2012-03-30 15:17:58.70 CEST</date>\r
+      <date>2012-03-28 18:00:06.571 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -828,9 +1011,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>eefa27a5-44c1-44c0-bed2-7fb709a709a5</identification>\r
+        <identification>3934f478-fdf7-4652-8d29-5f9e357cc494</identification>\r
       </annotationBean>\r
-      <date>2012-01-26 17:48:05.769 CET</date>\r
+      <date>2012-01-24 16:51:24.416 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -839,9 +1022,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>5899a49e-f9c1-4f81-a2ce-3de3619cac3a</identification>\r
+        <identification>686dc6cc-ebc2-4632-bb5e-31b67b4e3d11</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 17:02:29.618 CEST</date>\r
+      <date>2012-01-19 15:21:24.877 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -850,9 +1033,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>19c9914c-ff47-400a-877f-08ae7cb88f94</identification>\r
+        <identification>40b1ec7a-64d7-4a27-a60f-3e76190cfc10</identification>\r
       </annotationBean>\r
-      <date>2012-03-21 17:56:53.123 CET</date>\r
+      <date>2012-01-19 15:18:21.466 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -861,9 +1044,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>2f322be5-1362-473c-8e9f-427a59adfdb7</identification>\r
+        <identification>d5ea5729-376e-4cf0-9d0a-6c11b3b7c500</identification>\r
       </annotationBean>\r
-      <date>2012-02-01 16:46:32.981 CET</date>\r
+      <date>2012-01-27 15:46:00.228 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -872,9 +1055,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>3371b567-4555-459f-bfde-e1e880ef1a77</identification>\r
+        <identification>06483d08-cbe3-4f35-bde2-11cd795b6683</identification>\r
       </annotationBean>\r
-      <date>2012-03-30 15:18:28.903 CEST</date>\r
+      <date>2012-04-03 17:00:20.861 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -883,9 +1066,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>59c0bbd7-c93f-43a3-b08d-7c5d4cc19c1b</identification>\r
+        <identification>54b4f291-cc90-4665-9e50-58ad8b015c52</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 11:10:53.587 CEST</date>\r
+      <date>2012-01-24 16:59:55.174 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -894,9 +1077,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>a8a02afc-ff7e-4e12-a946-c5cbd6f52fd1</identification>\r
+        <identification>b8902739-81bd-4c5a-af34-1dac09bcfde1</identification>\r
       </annotationBean>\r
-      <date>2012-01-19 17:29:12.705 CET</date>\r
+      <date>2012-01-16 16:43:32.923 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -905,9 +1088,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>cb2b263a-bc30-4cde-8c79-3e17ae945171</identification>\r
+        <identification>5f6f59b7-4fea-41bc-92be-979a6fa78952</identification>\r
       </annotationBean>\r
-      <date>2012-02-23 17:14:46.303 CET</date>\r
+      <date>2012-03-29 16:27:16.878 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -916,9 +1099,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>826c5a57-8898-463a-b55d-1c84fbd84ec2</identification>\r
+        <identification>4aa10031-6e78-4850-a262-489ff382b95d</identification>\r
       </annotationBean>\r
-      <date>2012-03-28 17:58:57.867 CEST</date>\r
+      <date>2012-04-03 16:37:27.934 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -927,9 +1110,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>306e498d-d722-4bb7-9811-569f779e9868</identification>\r
+        <identification>f4f650ce-2c96-4c82-9255-3b70506907f1</identification>\r
       </annotationBean>\r
-      <date>2012-01-20 13:46:49.954 CET</date>\r
+      <date>2012-01-20 14:53:24.791 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -938,9 +1121,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>1d13ff73-a433-4edc-9605-339003de2b07</identification>\r
+        <identification>e1160b60-9438-43bc-a03c-4028bc174403</identification>\r
       </annotationBean>\r
-      <date>2012-01-26 14:19:12.850 CET</date>\r
+      <date>2012-02-23 16:20:03.107 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -949,9 +1132,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>a6821671-070e-4296-b8dc-b3a75db5cdbf</identification>\r
+        <identification>b08f865f-a64a-4276-931c-0baf1e80e07a</identification>\r
       </annotationBean>\r
-      <date>2012-03-30 10:05:07.298 CEST</date>\r
+      <date>2012-03-29 15:29:01.40 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -960,9 +1143,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>fe089cd2-ddc0-41cc-ab11-4668e3489f63</identification>\r
+        <identification>3a306a2f-a4b5-4b43-b38f-ce2e38e835f4</identification>\r
       </annotationBean>\r
-      <date>2012-02-01 15:42:54.568 CET</date>\r
+      <date>2012-03-29 11:45:24.170 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -971,9 +1154,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>93ffb1d4-3efc-4a2b-9d15-3f266915854d</identification>\r
+        <identification>7efe6880-7ce4-44ec-8db0-1b6051d102bb</identification>\r
       </annotationBean>\r
-      <date>2012-02-10 13:03:45.263 CET</date>\r
+      <date>2012-01-20 13:51:26.915 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -982,9 +1165,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>8010b2ea-3de5-4a72-bbce-932367e46355</identification>\r
+        <identification>35430cac-2263-4a40-a395-25acc9306339</identification>\r
       </annotationBean>\r
-      <date>2012-03-30 09:56:03.680 CEST</date>\r
+      <date>2012-02-10 12:44:24.961 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -993,9 +1176,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>090606ee-6ebe-4b23-b88f-a7a6a5edd205</identification>\r
+        <identification>d5d739fa-45fd-4010-b901-dabec86ce07c</identification>\r
       </annotationBean>\r
-      <date>2012-01-20 13:53:07.993 CET</date>\r
+      <date>2012-03-21 12:06:34.586 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1004,9 +1187,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>3c787239-92dc-4d14-9792-d6de35481d0d</identification>\r
+        <identification>2f322be5-1362-473c-8e9f-427a59adfdb7</identification>\r
       </annotationBean>\r
-      <date>2012-01-27 15:41:03.391 CET</date>\r
+      <date>2012-02-01 16:46:32.981 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1015,9 +1198,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>b67878a7-6ba9-46ae-a4b6-3b345553b04f</identification>\r
+        <identification>090606ee-6ebe-4b23-b88f-a7a6a5edd205</identification>\r
       </annotationBean>\r
-      <date>2012-01-20 13:52:21.806 CET</date>\r
+      <date>2012-01-20 13:53:07.993 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1026,9 +1209,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>85d27532-328b-423e-acd2-f18e8743575a</identification>\r
+        <identification>30d6dfa8-5caa-4f89-9150-2ba244f8589d</identification>\r
       </annotationBean>\r
-      <date>2012-01-16 17:58:56.322 CET</date>\r
+      <date>2012-03-21 12:12:10.118 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1037,9 +1220,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>93feafe4-e2c2-4ee9-a8d6-20f726df8a68</identification>\r
+        <identification>da0c5574-a8cf-4b49-b3a3-3465fd5a92a3</identification>\r
       </annotationBean>\r
-      <date>2012-01-20 15:18:56.711 CET</date>\r
+      <date>2012-01-24 15:45:24.187 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1048,9 +1231,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>067dd125-0e48-45be-87f5-f4ed80845cbf</identification>\r
+        <identification>3791443d-a6b0-47fb-b2d3-58c2211ca951</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 15:13:30.521 CEST</date>\r
+      <date>2012-03-21 13:32:32.340 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1059,9 +1242,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>8b84259d-8018-4fd0-968f-1abf20808e80</identification>\r
+        <identification>bee956fd-799f-47bd-86ac-0d74810f9726</identification>\r
       </annotationBean>\r
-      <date>2012-01-24 15:34:16.825 CET</date>\r
+      <date>2012-03-28 17:45:12.488 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1070,9 +1253,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>76e022d6-af2d-43dd-8142-094ab9428b0d</identification>\r
+        <identification>95af5c38-403e-4f8a-bf0b-d0512f9e1797</identification>\r
       </annotationBean>\r
-      <date>2012-01-19 17:19:03.908 CET</date>\r
+      <date>2012-02-10 12:46:05.382 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1081,9 +1264,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>82a4d502-9180-4383-a16c-3b6f53ffc801</identification>\r
+        <identification>8b84259d-8018-4fd0-968f-1abf20808e80</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 15:34:04.403 CEST</date>\r
+      <date>2012-01-24 15:34:16.825 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1092,9 +1275,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>0f0aeb07-fe9d-4255-b998-3ffe1c8a97bd</identification>\r
+        <identification>527fb17e-d3be-473b-8ef9-5e152b940bd3</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 15:43:39.573 CEST</date>\r
+      <date>2012-04-03 09:40:54.789 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1103,9 +1286,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>a797cc8d-d795-4b9f-8a89-0043c02d265b</identification>\r
+        <identification>94adbea6-97ef-4f57-8771-fe722bb20fa5</identification>\r
       </annotationBean>\r
-      <date>2012-03-22 12:03:13.709 CET</date>\r
+      <date>2012-02-14 14:01:28.399 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1114,9 +1297,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>0289ecf3-908f-4982-93c5-f2284176935d</identification>\r
+        <identification>e0d22bd4-569a-49a8-9dee-e192354bb9fc</identification>\r
       </annotationBean>\r
-      <date>2012-02-13 13:36:40.698 CET</date>\r
+      <date>2012-03-30 15:17:58.70 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1125,9 +1308,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>06a9ce24-ab65-40c7-b988-54a11619353c</identification>\r
+        <identification>99f6ad54-01f6-446e-b05b-6702c21541cb</identification>\r
       </annotationBean>\r
-      <date>2012-01-26 17:15:54.279 CET</date>\r
+      <date>2012-01-19 16:36:17.326 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1136,9 +1319,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>4cd1ae2d-b0eb-4ddd-a97b-b117a862556d</identification>\r
+        <identification>c2101964-ecc6-44ac-979e-dac501f121be</identification>\r
       </annotationBean>\r
-      <date>2012-01-16 16:49:23.831 CET</date>\r
+      <date>2012-02-10 15:22:46.82 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1147,9 +1330,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>2929fbc7-557f-411b-9bfa-f5900519ebd4</identification>\r
+        <identification>0b5d3350-051a-482b-a075-b778121ad3f1</identification>\r
       </annotationBean>\r
-      <date>2012-03-21 12:23:15.690 CET</date>\r
+      <date>2012-02-13 13:49:08.909 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1158,9 +1341,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>db3aa1ba-0a60-4a09-b010-0084225d3be6</identification>\r
+        <identification>5aafceb3-b456-44f3-b27c-3c2b32afa728</identification>\r
       </annotationBean>\r
-      <date>2012-01-19 15:49:46.443 CET</date>\r
+      <date>2012-03-21 12:17:15.629 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1169,9 +1352,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>8d9164ee-317b-48bb-8dda-668a8d69aacd</identification>\r
+        <identification>dfc3851f-ec89-4d5a-abae-791f29d1b30a</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 16:31:46.548 CEST</date>\r
+      <date>2012-01-25 17:23:14.74 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1180,9 +1363,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>28598271-8f96-49f8-8867-8559a3c1e6d1</identification>\r
+        <identification>8a82d151-4a21-47ce-afc3-15e01329e01f</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 17:42:40.460 CEST</date>\r
+      <date>2012-04-03 10:06:47.381 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1191,9 +1374,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>881e08ca-ca86-483a-97fb-476edf391964</identification>\r
+        <identification>0f0aeb07-fe9d-4255-b998-3ffe1c8a97bd</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 16:51:08.980 CEST</date>\r
+      <date>2012-03-29 15:43:39.573 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1202,9 +1385,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>ef44252d-9450-4376-82e2-19bbd2d4ba59</identification>\r
+        <identification>07ae277b-efad-4dda-a55d-fd7697bba56f</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 13:56:54.21 CEST</date>\r
+      <date>2012-01-19 17:30:30.176 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1213,9 +1396,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>7a619ab6-2f80-4952-9544-28a38b3797e0</identification>\r
+        <identification>93feafe4-e2c2-4ee9-a8d6-20f726df8a68</identification>\r
       </annotationBean>\r
-      <date>2012-01-19 15:16:13.809 CET</date>\r
+      <date>2012-01-20 15:18:56.711 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1224,9 +1407,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>ab8a79db-f91a-4b0b-8dfc-fcd426b21ac0</identification>\r
+        <identification>762bb585-1443-474d-b2c9-8ab9cdc755a4</identification>\r
       </annotationBean>\r
-      <date>2012-03-21 12:07:09.627 CET</date>\r
+      <date>2012-03-29 15:02:27.349 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1235,9 +1418,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>5a3f8c7c-5d2d-46ee-bba4-e88006daddd5</identification>\r
+        <identification>6cf3efab-309a-46d8-bbb1-14dbf5cfd5c6</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 16:18:31.487 CEST</date>\r
+      <date>2012-01-16 18:02:14.897 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1246,9 +1429,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>8a19f77b-711a-468f-8e97-7ad24a09184a</identification>\r
+        <identification>ecc22b7d-b75b-48e1-9950-a0d8feda9527</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 11:19:26.261 CEST</date>\r
+      <date>2012-01-27 17:18:37.537 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1257,9 +1440,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>16130451-f571-4c0c-b45a-c39a8cf292dd</identification>\r
+        <identification>f6a6dc35-a311-4601-93e7-277aa07ecd94</identification>\r
       </annotationBean>\r
-      <date>2012-01-19 16:22:25.662 CET</date>\r
+      <date>2012-03-29 15:11:20.547 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1268,9 +1451,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>b12074f1-b690-4b82-952d-db801805d312</identification>\r
+        <identification>00f1af88-1048-459b-a9ee-9543d3b3bea5</identification>\r
       </annotationBean>\r
-      <date>2012-03-28 18:00:00.932 CEST</date>\r
+      <date>2012-01-20 15:22:36.682 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1279,9 +1462,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>65b97c38-6d10-479a-9088-0df45b2b4289</identification>\r
+        <identification>a65e91aa-b837-49a7-bc1b-eb994bfdee85</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 11:37:20.905 CEST</date>\r
+      <date>2012-03-28 17:50:33.92 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1290,9 +1473,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>de0d498f-f741-48c2-b5ec-932087ba0fc4</identification>\r
+        <identification>a7d6808f-8240-49c5-a3e2-81e6c5f146a7</identification>\r
       </annotationBean>\r
-      <date>2012-03-28 18:03:15.918 CEST</date>\r
+      <date>2012-02-14 17:12:37.102 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1301,9 +1484,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>e51bf93a-7dbd-4bc7-afb2-151a83f9fc54</identification>\r
+        <identification>b0ba6cfb-cee9-43e9-8ad5-ba88c0f6cfe2</identification>\r
       </annotationBean>\r
-      <date>2012-01-25 16:36:26.345 CET</date>\r
+      <date>2012-03-29 16:31:35.756 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1312,9 +1495,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>b8902739-81bd-4c5a-af34-1dac09bcfde1</identification>\r
+        <identification>91d3a36a-4920-4322-86d3-38bf2ce6f63c</identification>\r
       </annotationBean>\r
-      <date>2012-01-16 16:43:32.923 CET</date>\r
+      <date>2012-04-03 10:05:43.566 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1323,9 +1506,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>1b189d6d-9f28-4c5e-8de9-809c69a3880c</identification>\r
+        <identification>01b4b08e-8f1b-43d5-89f1-a617a80d18ad</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 13:41:39.377 CEST</date>\r
+      <date>2012-03-29 11:03:39.160 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1334,9 +1517,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>7efe6880-7ce4-44ec-8db0-1b6051d102bb</identification>\r
+        <identification>959c160d-3945-457e-bf6d-223019be9db3</identification>\r
       </annotationBean>\r
-      <date>2012-01-20 13:51:26.915 CET</date>\r
+      <date>2012-01-26 17:09:01.848 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1345,9 +1528,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>35351794-4401-4fe3-86fe-78e76d85791a</identification>\r
+        <identification>50f8d5f4-4f26-4eda-a657-5f4bc6d4313f</identification>\r
       </annotationBean>\r
-      <date>2012-01-24 17:10:35.104 CET</date>\r
+      <date>2012-01-19 17:23:31.492 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1356,9 +1539,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>7ff711af-dfab-48be-b7ef-fd551dcebd1a</identification>\r
+        <identification>881e08ca-ca86-483a-97fb-476edf391964</identification>\r
       </annotationBean>\r
-      <date>2012-01-19 17:35:22.469 CET</date>\r
+      <date>2012-03-29 16:51:08.980 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1367,9 +1550,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>3934f478-fdf7-4652-8d29-5f9e357cc494</identification>\r
+        <identification>43f4b2ae-ffd8-4ea4-9559-5abaaa60d607</identification>\r
       </annotationBean>\r
-      <date>2012-01-24 16:51:24.416 CET</date>\r
+      <date>2012-03-29 16:35:42.708 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1378,9 +1561,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>5a7e45f4-8463-4b84-91a9-fdfc3c8e9fd8</identification>\r
+        <identification>532ebc65-7dcc-4553-8e6f-357beaa404b5</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 16:17:41.116 CEST</date>\r
+      <date>2012-02-10 12:59:28.877 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1389,9 +1572,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>c736a7ac-054a-4857-acc9-332dd0b0fa93</identification>\r
+        <identification>8a19f77b-711a-468f-8e97-7ad24a09184a</identification>\r
       </annotationBean>\r
-      <date>2012-03-28 17:51:27.247 CEST</date>\r
+      <date>2012-03-29 11:19:26.261 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1400,9 +1583,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>43f4b2ae-ffd8-4ea4-9559-5abaaa60d607</identification>\r
+        <identification>9fd9f7a0-308a-4699-85b7-25cd9ab0a803</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 16:35:42.708 CEST</date>\r
+      <date>2012-01-19 16:20:15.697 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1411,9 +1594,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>b7095278-ecff-4fc5-b48a-593ab3e06d03</identification>\r
+        <identification>077f9cf7-8b5f-40f6-b92b-69c763f6b678</identification>\r
       </annotationBean>\r
-      <date>2012-02-10 13:00:19.58 CET</date>\r
+      <date>2012-04-03 17:03:16.866 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1422,9 +1605,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>63d78e8d-1c89-4c74-be3d-cf8e777f0ef1</identification>\r
+        <identification>34ad8d70-b139-4db8-929c-2ff6338f81b3</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 16:40:19.366 CEST</date>\r
+      <date>2012-01-19 16:23:49.25 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1433,9 +1616,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>0d72d731-00e1-4378-977c-c0a7b7d4d1c8</identification>\r
+        <identification>9f106c67-4066-44fb-9354-3b2a01f61914</identification>\r
       </annotationBean>\r
-      <date>2012-01-20 15:30:23.734 CET</date>\r
+      <date>2012-03-29 11:09:08.648 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1444,9 +1627,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>39b55373-26ef-4404-b221-f3dab0707103</identification>\r
+        <identification>d550bf5b-265f-4baf-a935-dc5be6e0afd0</identification>\r
       </annotationBean>\r
-      <date>2012-01-17 14:16:39.989 CET</date>\r
+      <date>2012-02-01 16:38:45.314 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1455,9 +1638,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>d5ea5729-376e-4cf0-9d0a-6c11b3b7c500</identification>\r
+        <identification>0c56c551-6a71-4f21-8f17-7b881c0a40f7</identification>\r
       </annotationBean>\r
-      <date>2012-01-27 15:46:00.228 CET</date>\r
+      <date>2012-01-25 17:22:23.981 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1466,9 +1649,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>eca81939-642e-4e4c-b97e-2a574a873fdf</identification>\r
+        <identification>02b6b0cd-ae03-4b56-b63a-4fb1c4d84817</identification>\r
       </annotationBean>\r
-      <date>2012-01-16 16:56:18.407 CET</date>\r
+      <date>2012-03-22 11:57:27.190 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1477,9 +1660,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>6fd7f118-7579-4c38-9f8a-139af91db6de</identification>\r
+        <identification>3b531591-5242-4976-a2b6-794fadcf936d</identification>\r
       </annotationBean>\r
-      <date>2012-02-10 15:51:40.105 CET</date>\r
+      <date>2012-03-22 09:26:35.995 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1488,9 +1671,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>3302daa8-2e53-4371-9305-3f6c5dc738a5</identification>\r
+        <identification>65b288dc-016e-443b-8299-b94fb460c3d9</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 11:24:31.160 CEST</date>\r
+      <date>2012-03-29 14:56:37.247 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1499,9 +1682,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>892309fa-82e8-4d2f-ad76-24cb0418efce</identification>\r
+        <identification>4cd1ae2d-b0eb-4ddd-a97b-b117a862556d</identification>\r
       </annotationBean>\r
-      <date>2012-03-28 18:00:06.571 CEST</date>\r
+      <date>2012-01-16 16:49:23.831 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1510,9 +1693,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>61e9f011-329b-4c53-a405-9cc947e2fa58</identification>\r
+        <identification>82e4d9f3-a880-4bbb-8c19-95ff7768bd63</identification>\r
       </annotationBean>\r
-      <date>2012-01-24 15:52:11.691 CET</date>\r
+      <date>2012-02-14 14:31:22.500 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1521,9 +1704,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>5aafceb3-b456-44f3-b27c-3c2b32afa728</identification>\r
+        <identification>e2e57273-caf1-42bc-a345-04a7c77b9c16</identification>\r
       </annotationBean>\r
-      <date>2012-03-21 12:17:15.629 CET</date>\r
+      <date>2012-01-19 17:05:06.191 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1532,9 +1715,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>02b6b0cd-ae03-4b56-b63a-4fb1c4d84817</identification>\r
+        <identification>19c31b10-282a-4f25-b80d-afea5f48ac4f</identification>\r
       </annotationBean>\r
-      <date>2012-03-22 11:57:27.190 CET</date>\r
+      <date>2012-03-29 16:31:09.827 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1543,9 +1726,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>a2840d52-b7d8-4fdd-8385-59fd8d44dadf</identification>\r
+        <identification>306e498d-d722-4bb7-9811-569f779e9868</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 16:11:26.434 CEST</date>\r
+      <date>2012-01-20 13:46:49.954 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1554,9 +1737,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>2e4ada85-d61e-4879-990f-73f479808b87</identification>\r
+        <identification>4fd3319a-413e-49d3-9fb5-4499415b209a</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 15:38:38.675 CEST</date>\r
+      <date>2012-03-29 15:43:24.366 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1565,9 +1748,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>3cb10f03-1c33-4532-98d6-9df680804b9b</identification>\r
+        <identification>bf0e737f-ad74-41c4-90c9-d31e6d38da42</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 16:28:18.672 CEST</date>\r
+      <date>2012-02-14 13:50:25.671 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1576,9 +1759,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>50f8d5f4-4f26-4eda-a657-5f4bc6d4313f</identification>\r
+        <identification>b12074f1-b690-4b82-952d-db801805d312</identification>\r
       </annotationBean>\r
-      <date>2012-01-19 17:23:31.492 CET</date>\r
+      <date>2012-03-28 18:00:00.932 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1587,9 +1770,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>5f6f59b7-4fea-41bc-92be-979a6fa78952</identification>\r
+        <identification>fdafcd4a-62f7-4b17-86e1-647c8c6a9e39</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 16:27:16.878 CEST</date>\r
+      <date>2012-01-19 17:01:01.670 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1598,9 +1781,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>4fd3319a-413e-49d3-9fb5-4499415b209a</identification>\r
+        <identification>59c0bbd7-c93f-43a3-b08d-7c5d4cc19c1b</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 15:43:24.366 CEST</date>\r
+      <date>2012-03-29 11:10:53.587 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1609,9 +1792,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>c668faef-ab36-4c06-8bb2-09c23cef17b9</identification>\r
+        <identification>11ef463d-fe58-474f-a4bb-7520a3a9492c</identification>\r
       </annotationBean>\r
-      <date>2012-03-30 10:08:40.904 CEST</date>\r
+      <date>2012-04-03 10:11:16.839 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1620,9 +1803,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>0e8e4731-64be-486d-8499-d6c859b92bbd</identification>\r
+        <identification>4536464e-a157-41b1-acb9-26561f23a293</identification>\r
       </annotationBean>\r
-      <date>2012-01-16 15:47:11.679 CET</date>\r
+      <date>2012-03-30 15:21:25.764 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1631,9 +1814,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>d74e2741-7ff5-491e-9dc6-900c8ddcbeda</identification>\r
+        <identification>18701d44-36fc-420f-b7b3-3202aacf27c6</identification>\r
       </annotationBean>\r
-      <date>2012-02-14 17:10:46.276 CET</date>\r
+      <date>2012-03-02 16:39:57.354 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1642,9 +1825,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>645e0361-42ef-4ccf-a0e4-1b9587202f3d</identification>\r
+        <identification>6fd7f118-7579-4c38-9f8a-139af91db6de</identification>\r
       </annotationBean>\r
-      <date>2012-02-01 15:28:59.176 CET</date>\r
+      <date>2012-02-10 15:51:40.105 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1653,9 +1836,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>b0ba6cfb-cee9-43e9-8ad5-ba88c0f6cfe2</identification>\r
+        <identification>c183252f-5b8d-417e-ab21-379615d857ed</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 16:31:35.756 CEST</date>\r
+      <date>2012-02-02 16:52:54.623 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1664,9 +1847,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>54387dd2-8f78-4e85-bf46-280ba69b9a4c</identification>\r
+        <identification>e88942ed-94a5-4888-9dfd-204f15d811ec</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 16:13:09.509 CEST</date>\r
+      <date>2012-03-29 16:01:57.284 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1675,9 +1858,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>ac57d1f2-3158-4d19-ab77-0d6a3cf8cb8b</identification>\r
+        <identification>ab2cafb8-9157-42af-8d91-d969850fc781</identification>\r
       </annotationBean>\r
-      <date>2012-01-19 17:20:44.158 CET</date>\r
+      <date>2012-04-03 10:38:05.650 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1686,9 +1869,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>4ee6efb3-9c44-4075-85db-9a099ef91cab</identification>\r
+        <identification>b67878a7-6ba9-46ae-a4b6-3b345553b04f</identification>\r
       </annotationBean>\r
-      <date>2012-01-24 16:59:03.448 CET</date>\r
+      <date>2012-01-20 13:52:21.806 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1697,9 +1880,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>6cf522a4-f8b5-4594-a77d-ac1f617e8be7</identification>\r
+        <identification>292bdae0-4265-4c87-a433-a24c82e47f0d</identification>\r
       </annotationBean>\r
-      <date>2012-01-25 17:21:45.864 CET</date>\r
+      <date>2012-03-29 14:57:21.975 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1708,9 +1891,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>67a28d10-3a57-4260-abc8-0b11fed4f18b</identification>\r
+        <identification>df684640-c8fe-4972-80e9-27023b52d6b1</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 16:52:56.847 CEST</date>\r
+      <date>2012-03-29 16:29:45.569 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1719,9 +1902,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>cd684e3a-d770-472d-aad6-2e65ed0724b9</identification>\r
+        <identification>eca81939-642e-4e4c-b97e-2a574a873fdf</identification>\r
       </annotationBean>\r
-      <date>2012-03-22 09:26:16.210 CET</date>\r
+      <date>2012-01-16 16:56:18.407 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1730,9 +1913,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>4f13b644-01d8-4310-837f-8ee45d0f5b42</identification>\r
+        <identification>32687e37-c1b4-4049-b4e3-a916a28f31b8</identification>\r
       </annotationBean>\r
-      <date>2012-01-19 16:34:35.547 CET</date>\r
+      <date>2012-03-21 12:57:13.63 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1741,9 +1924,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>64b0a852-c458-4568-98f9-ff58885e26ca</identification>\r
+        <identification>61e9f011-329b-4c53-a405-9cc947e2fa58</identification>\r
       </annotationBean>\r
-      <date>2012-02-02 16:24:07.567 CET</date>\r
+      <date>2012-01-24 15:52:11.691 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1752,9 +1935,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>b00b6f4e-8513-40d4-abc5-7e8036fc48aa</identification>\r
+        <identification>5732f126-a134-4386-9b1f-7c6ff880f90a</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 15:03:43.873 CEST</date>\r
+      <date>2012-02-14 13:34:55.542 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1763,9 +1946,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>0eb5bf44-9c7b-42d1-a531-ad1623f01855</identification>\r
+        <identification>d5d8f03b-cbb5-4e00-ba9c-ce631fbe2a0a</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 16:14:55.102 CEST</date>\r
+      <date>2012-02-02 16:12:53.575 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1774,9 +1957,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>8b00fbb4-ae76-40f3-ba71-09fbd8945d9e</identification>\r
+        <identification>0d72d731-00e1-4378-977c-c0a7b7d4d1c8</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 11:12:08.998 CEST</date>\r
+      <date>2012-01-20 15:30:23.734 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1785,9 +1968,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>686dc6cc-ebc2-4632-bb5e-31b67b4e3d11</identification>\r
+        <identification>3302daa8-2e53-4371-9305-3f6c5dc738a5</identification>\r
       </annotationBean>\r
-      <date>2012-01-19 15:21:24.877 CET</date>\r
+      <date>2012-03-29 11:24:31.160 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1796,9 +1979,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>3791443d-a6b0-47fb-b2d3-58c2211ca951</identification>\r
+        <identification>4ac7ab07-9d99-44ca-b25e-f6b7489c1c52</identification>\r
       </annotationBean>\r
-      <date>2012-03-21 13:32:32.340 CET</date>\r
+      <date>2012-03-29 16:02:35.279 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1807,9 +1990,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>e7d2147c-53fb-4f1c-a87c-c91a55b8fc4a</identification>\r
+        <identification>d9f8856f-ecf7-48f3-9431-804c4daabb0d</identification>\r
       </annotationBean>\r
-      <date>2012-02-02 17:47:32.729 CET</date>\r
+      <date>2012-01-19 16:00:16.780 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1818,9 +2001,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>18f11642-7f6a-453c-95c4-4d3f0da1cf38</identification>\r
+        <identification>db3aa1ba-0a60-4a09-b010-0084225d3be6</identification>\r
       </annotationBean>\r
-      <date>2012-01-19 16:21:14.281 CET</date>\r
+      <date>2012-01-19 15:49:46.443 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1829,9 +2012,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>532ebc65-7dcc-4553-8e6f-357beaa404b5</identification>\r
+        <identification>93ffb1d4-3efc-4a2b-9d15-3f266915854d</identification>\r
       </annotationBean>\r
-      <date>2012-02-10 12:59:28.877 CET</date>\r
+      <date>2012-02-10 13:03:45.263 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1840,9 +2023,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>c293492f-f50b-4e49-a9e6-24282ba391e5</identification>\r
+        <identification>c386d253-4a6e-496a-8e9d-674bf8966c89</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 15:49:09.146 CEST</date>\r
+      <date>2012-03-29 11:06:31.426 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1851,9 +2034,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>4ac7ab07-9d99-44ca-b25e-f6b7489c1c52</identification>\r
+        <identification>a6821671-070e-4296-b8dc-b3a75db5cdbf</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 16:02:35.279 CEST</date>\r
+      <date>2012-03-30 10:05:07.298 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1862,9 +2045,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>07ae277b-efad-4dda-a55d-fd7697bba56f</identification>\r
+        <identification>d6025259-95fa-4f81-8cb5-8a3a1c8f83ee</identification>\r
       </annotationBean>\r
-      <date>2012-01-19 17:30:30.176 CET</date>\r
+      <date>2012-01-26 17:03:56.307 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1873,9 +2056,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>c183f41e-63e8-4533-8100-34fb5cb05f2d</identification>\r
+        <identification>c736a7ac-054a-4857-acc9-332dd0b0fa93</identification>\r
       </annotationBean>\r
-      <date>2012-01-19 17:31:57.154 CET</date>\r
+      <date>2012-03-28 17:51:27.247 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1884,9 +2067,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>e88942ed-94a5-4888-9dfd-204f15d811ec</identification>\r
+        <identification>fc5219d4-192d-404c-9f0a-d5c0c8e81e27</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 16:01:57.284 CEST</date>\r
+      <date>2012-02-01 17:36:22.29 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1895,9 +2078,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>3e62f0d9-519a-434c-9794-d3fae00b16b3</identification>\r
+        <identification>0e8e4731-64be-486d-8499-d6c859b92bbd</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 15:21:08.391 CEST</date>\r
+      <date>2012-01-16 15:47:11.679 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1906,9 +2089,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>40b1ec7a-64d7-4a27-a60f-3e76190cfc10</identification>\r
+        <identification>51a763f1-dcc8-43ca-8241-76b6a9066d93</identification>\r
       </annotationBean>\r
-      <date>2012-01-19 15:18:21.466 CET</date>\r
+      <date>2012-01-16 18:05:37.598 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1917,9 +2100,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>1d382fdf-659c-450a-afce-fb4de0f55548</identification>\r
+        <identification>7a9e674e-af07-4951-9cde-4563310f1cf4</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 11:06:42.912 CEST</date>\r
+      <date>2012-01-19 17:17:03.431 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1928,9 +2111,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>3b2fe1cc-c2e3-41e7-8a0a-5ee9496dbac3</identification>\r
+        <identification>5f4c89e4-48e1-4297-9de3-0265785fadf4</identification>\r
       </annotationBean>\r
-      <date>2012-01-26 17:07:41.258 CET</date>\r
+      <date>2012-03-29 15:10:02.808 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1939,9 +2122,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>19c31b10-282a-4f25-b80d-afea5f48ac4f</identification>\r
+        <identification>a8a02afc-ff7e-4e12-a946-c5cbd6f52fd1</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 16:31:09.827 CEST</date>\r
+      <date>2012-01-19 17:29:12.705 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1950,9 +2133,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>c386d253-4a6e-496a-8e9d-674bf8966c89</identification>\r
+        <identification>16130451-f571-4c0c-b45a-c39a8cf292dd</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 11:06:31.426 CEST</date>\r
+      <date>2012-01-19 16:22:25.662 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1961,9 +2144,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>7a9e674e-af07-4951-9cde-4563310f1cf4</identification>\r
+        <identification>8010b2ea-3de5-4a72-bbce-932367e46355</identification>\r
       </annotationBean>\r
-      <date>2012-01-19 17:17:03.431 CET</date>\r
+      <date>2012-03-30 09:56:03.680 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1972,9 +2155,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>7a00e7c7-4c5f-4190-9dbd-d8c46ab83abf</identification>\r
+        <identification>18f11642-7f6a-453c-95c4-4d3f0da1cf38</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 16:56:02.121 CEST</date>\r
+      <date>2012-01-19 16:21:14.281 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1983,9 +2166,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>d5d8f03b-cbb5-4e00-ba9c-ce631fbe2a0a</identification>\r
+        <identification>074e699f-1b4d-445e-b807-874b1050d2a4</identification>\r
       </annotationBean>\r
-      <date>2012-02-02 16:12:53.575 CET</date>\r
+      <date>2012-03-28 17:59:46.182 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -1994,9 +2177,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>dc92d990-51ad-4c2e-ab86-5365af0a91eb</identification>\r
+        <identification>e51bf93a-7dbd-4bc7-afb2-151a83f9fc54</identification>\r
       </annotationBean>\r
-      <date>2012-03-22 11:56:24.55 CET</date>\r
+      <date>2012-01-25 16:36:26.345 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -2005,9 +2188,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>a7ffa3cf-ed54-4d07-ab92-f6ae428c2d8c</identification>\r
+        <identification>8d9164ee-317b-48bb-8dda-668a8d69aacd</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 11:26:20.347 CEST</date>\r
+      <date>2012-03-29 16:31:46.548 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -2016,9 +2199,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>18701d44-36fc-420f-b7b3-3202aacf27c6</identification>\r
+        <identification>067dd125-0e48-45be-87f5-f4ed80845cbf</identification>\r
       </annotationBean>\r
-      <date>2012-03-02 16:39:57.354 CET</date>\r
+      <date>2012-03-29 15:13:30.521 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -2027,9 +2210,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>d5d739fa-45fd-4010-b901-dabec86ce07c</identification>\r
+        <identification>837c766d-3904-43f2-8098-5548a7c2e9ad</identification>\r
       </annotationBean>\r
-      <date>2012-03-21 12:06:34.586 CET</date>\r
+      <date>2012-03-29 15:49:02.282 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -2038,9 +2221,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>6db85d99-3692-413d-bc43-72ba41ab9e8c</identification>\r
+        <identification>774be665-1f50-4854-aa00-0e649649c77b</identification>\r
       </annotationBean>\r
-      <date>2012-03-28 18:00:30.338 CEST</date>\r
+      <date>2012-01-26 16:46:23.2 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -2049,9 +2232,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>01b4b08e-8f1b-43d5-89f1-a617a80d18ad</identification>\r
+        <identification>7a00e7c7-4c5f-4190-9dbd-d8c46ab83abf</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 11:03:39.160 CEST</date>\r
+      <date>2012-03-29 16:56:02.121 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -2060,9 +2243,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>51a763f1-dcc8-43ca-8241-76b6a9066d93</identification>\r
+        <identification>aab40b65-22a3-4669-9552-992fc9a596b2</identification>\r
       </annotationBean>\r
-      <date>2012-01-16 18:05:37.598 CET</date>\r
+      <date>2012-01-20 15:19:48.284 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -2071,9 +2254,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>5732f126-a134-4386-9b1f-7c6ff880f90a</identification>\r
+        <identification>e60a09bf-4a47-4fb1-85c2-421bc08a37af</identification>\r
       </annotationBean>\r
-      <date>2012-02-14 13:34:55.542 CET</date>\r
+      <date>2012-02-10 17:09:57.619 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -2082,9 +2265,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>3a306a2f-a4b5-4b43-b38f-ce2e38e835f4</identification>\r
+        <identification>db9180d3-a226-4436-ac72-5777b428239b</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 11:45:24.170 CEST</date>\r
+      <date>2012-02-01 15:12:17.560 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -2093,9 +2276,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>aab40b65-22a3-4669-9552-992fc9a596b2</identification>\r
+        <identification>0289ecf3-908f-4982-93c5-f2284176935d</identification>\r
       </annotationBean>\r
-      <date>2012-01-20 15:19:48.284 CET</date>\r
+      <date>2012-02-13 13:36:40.698 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -2104,9 +2287,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>bf0e737f-ad74-41c4-90c9-d31e6d38da42</identification>\r
+        <identification>32486ea7-3958-482c-a405-ea5f58c2de44</identification>\r
       </annotationBean>\r
-      <date>2012-02-14 13:50:25.671 CET</date>\r
+      <date>2012-03-29 12:07:16.780 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -2115,9 +2298,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>ccc9d2ed-1d76-4b67-af5d-fbb4834570f6</identification>\r
+        <identification>65b97c38-6d10-479a-9088-0df45b2b4289</identification>\r
       </annotationBean>\r
-      <date>2012-03-28 18:01:14.908 CEST</date>\r
+      <date>2012-03-29 11:37:20.905 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -2126,9 +2309,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>dfc3851f-ec89-4d5a-abae-791f29d1b30a</identification>\r
+        <identification>da834bc7-d2ed-4aae-b8cc-9a5e8b7144ea</identification>\r
       </annotationBean>\r
-      <date>2012-01-25 17:23:14.74 CET</date>\r
+      <date>2012-02-23 17:08:54.834 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -2137,9 +2320,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>e1160b60-9438-43bc-a03c-4028bc174403</identification>\r
+        <identification>a797cc8d-d795-4b9f-8a89-0043c02d265b</identification>\r
       </annotationBean>\r
-      <date>2012-02-23 16:20:03.107 CET</date>\r
+      <date>2012-03-22 12:03:13.709 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -2148,9 +2331,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>a549dc57-8e86-4de1-9571-926944a3ed8f</identification>\r
+        <identification>1d382fdf-659c-450a-afce-fb4de0f55548</identification>\r
       </annotationBean>\r
-      <date>2012-02-10 15:50:46.655 CET</date>\r
+      <date>2012-03-29 11:06:42.912 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -2159,9 +2342,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>bee956fd-799f-47bd-86ac-0d74810f9726</identification>\r
+        <identification>d8ad9e53-00ec-4351-97db-420673c92470</identification>\r
       </annotationBean>\r
-      <date>2012-03-28 17:45:12.488 CEST</date>\r
+      <date>2012-03-29 17:04:34.718 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -2170,9 +2353,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>ecc22b7d-b75b-48e1-9950-a0d8feda9527</identification>\r
+        <identification>e46535cd-fb87-4458-b761-caa3e464c9ad</identification>\r
       </annotationBean>\r
-      <date>2012-01-27 17:18:37.537 CET</date>\r
+      <date>2012-02-10 12:53:30.490 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -2181,9 +2364,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>ac07724e-ae1e-48e2-b780-c46a6d69ee2c</identification>\r
+        <identification>5a3f8c7c-5d2d-46ee-bba4-e88006daddd5</identification>\r
       </annotationBean>\r
-      <date>2012-02-10 12:41:48.759 CET</date>\r
+      <date>2012-03-29 16:18:31.487 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -2192,9 +2375,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>959c160d-3945-457e-bf6d-223019be9db3</identification>\r
+        <identification>5a7e45f4-8463-4b84-91a9-fdfc3c8e9fd8</identification>\r
       </annotationBean>\r
-      <date>2012-01-26 17:09:01.848 CET</date>\r
+      <date>2012-03-29 16:17:41.116 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -2203,9 +2386,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>54b4f291-cc90-4665-9e50-58ad8b015c52</identification>\r
+        <identification>a3d0e0b7-ddf4-42cd-9a2a-64afae8ad4b0</identification>\r
       </annotationBean>\r
-      <date>2012-01-24 16:59:55.174 CET</date>\r
+      <date>2012-03-21 16:35:08.57 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -2214,9 +2397,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>374e1389-782b-4fc3-a934-42eb73132a07</identification>\r
+        <identification>19c9914c-ff47-400a-877f-08ae7cb88f94</identification>\r
       </annotationBean>\r
-      <date>2012-01-17 14:07:18.343 CET</date>\r
+      <date>2012-03-21 17:56:53.123 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -2225,9 +2408,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>9fd9f7a0-308a-4699-85b7-25cd9ab0a803</identification>\r
+        <identification>06a9ce24-ab65-40c7-b988-54a11619353c</identification>\r
       </annotationBean>\r
-      <date>2012-01-19 16:20:15.697 CET</date>\r
+      <date>2012-01-26 17:15:54.279 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -2236,9 +2419,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>34ad8d70-b139-4db8-929c-2ff6338f81b3</identification>\r
+        <identification>78baace4-398b-4f08-8f43-6a651bf3adfe</identification>\r
       </annotationBean>\r
-      <date>2012-01-19 16:23:49.25 CET</date>\r
+      <date>2012-03-02 17:20:07.183 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -2247,9 +2430,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>cd3e92fb-f82d-4f73-a3fd-a40c10460424</identification>\r
+        <identification>a7ffa3cf-ed54-4d07-ab92-f6ae428c2d8c</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 15:23:17.597 CEST</date>\r
+      <date>2012-03-29 11:26:20.347 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -2258,9 +2441,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>30d6dfa8-5caa-4f89-9150-2ba244f8589d</identification>\r
+        <identification>1a9b6163-7fa1-4951-abda-d8b08e16a267</identification>\r
       </annotationBean>\r
-      <date>2012-03-21 12:12:10.118 CET</date>\r
+      <date>2012-02-10 12:47:25.241 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -2269,9 +2452,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>c2678e1e-e0aa-4a54-ad95-2699ea1b5132</identification>\r
+        <identification>5899a49e-f9c1-4f81-a2ce-3de3619cac3a</identification>\r
       </annotationBean>\r
-      <date>2012-01-19 17:04:06.29 CET</date>\r
+      <date>2012-03-29 17:02:29.618 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -2280,9 +2463,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>e2e57273-caf1-42bc-a345-04a7c77b9c16</identification>\r
+        <identification>cb2b263a-bc30-4cde-8c79-3e17ae945171</identification>\r
       </annotationBean>\r
-      <date>2012-01-19 17:05:06.191 CET</date>\r
+      <date>2012-02-23 17:14:46.303 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -2291,9 +2474,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>c2101964-ecc6-44ac-979e-dac501f121be</identification>\r
+        <identification>bd036398-c14f-442a-823a-9fc7c388e0a5</identification>\r
       </annotationBean>\r
-      <date>2012-02-10 15:22:46.82 CET</date>\r
+      <date>2012-02-02 16:22:12.1 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -2302,9 +2485,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>6cf3efab-309a-46d8-bbb1-14dbf5cfd5c6</identification>\r
+        <identification>b5b007cf-e2a0-48f4-853b-85ae1f277cdc</identification>\r
       </annotationBean>\r
-      <date>2012-01-16 18:02:14.897 CET</date>\r
+      <date>2012-03-22 12:04:23.805 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -2313,9 +2496,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>b5b007cf-e2a0-48f4-853b-85ae1f277cdc</identification>\r
+        <identification>2929fbc7-557f-411b-9bfa-f5900519ebd4</identification>\r
       </annotationBean>\r
-      <date>2012-03-22 12:04:23.805 CET</date>\r
+      <date>2012-03-21 12:23:15.690 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -2324,9 +2507,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>d8ad9e53-00ec-4351-97db-420673c92470</identification>\r
+        <identification>7ff711af-dfab-48be-b7ef-fd551dcebd1a</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 17:04:34.718 CEST</date>\r
+      <date>2012-01-19 17:35:22.469 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -2335,9 +2518,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>94adbea6-97ef-4f57-8771-fe722bb20fa5</identification>\r
+        <identification>1b189d6d-9f28-4c5e-8de9-809c69a3880c</identification>\r
       </annotationBean>\r
-      <date>2012-02-14 14:01:28.399 CET</date>\r
+      <date>2012-03-29 13:41:39.377 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -2346,9 +2529,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>cf8c4086-356c-4d48-8b1e-d3ad4f2c55c1</identification>\r
+        <identification>cd3e92fb-f82d-4f73-a3fd-a40c10460424</identification>\r
       </annotationBean>\r
-      <date>2012-01-19 16:48:23.561 CET</date>\r
+      <date>2012-03-29 15:23:17.597 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -2357,9 +2540,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>bd036398-c14f-442a-823a-9fc7c388e0a5</identification>\r
+        <identification>ac07724e-ae1e-48e2-b780-c46a6d69ee2c</identification>\r
       </annotationBean>\r
-      <date>2012-02-02 16:22:12.1 CET</date>\r
+      <date>2012-02-10 12:41:48.759 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -2368,9 +2551,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>9f106c67-4066-44fb-9354-3b2a01f61914</identification>\r
+        <identification>cd684e3a-d770-472d-aad6-2e65ed0724b9</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 11:09:08.648 CEST</date>\r
+      <date>2012-03-22 09:26:16.210 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -2379,9 +2562,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>b08f865f-a64a-4276-931c-0baf1e80e07a</identification>\r
+        <identification>b9172152-31b2-423e-8df7-9b37ab97feb7</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 15:29:01.40 CEST</date>\r
+      <date>2012-03-29 15:38:18.453 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -2390,9 +2573,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>e46535cd-fb87-4458-b761-caa3e464c9ad</identification>\r
+        <identification>f2eea163-bb16-4648-b9e1-f2c2834d404b</identification>\r
       </annotationBean>\r
-      <date>2012-02-10 12:53:30.490 CET</date>\r
+      <date>2012-03-29 16:41:19.643 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -2401,9 +2584,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>08f94652-1b3d-46f4-85ce-5c9dbea31e68</identification>\r
+        <identification>64b0a852-c458-4568-98f9-ff58885e26ca</identification>\r
       </annotationBean>\r
-      <date>2012-03-02 17:40:39.647 CET</date>\r
+      <date>2012-02-02 16:24:07.567 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -2412,9 +2595,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>37a6990d-204f-40a4-a687-62bdf2d02f28</identification>\r
+        <identification>7e0584ec-06f7-4d42-a688-f8bb608a8eb8</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 11:01:47.102 CEST</date>\r
+      <date>2012-03-28 17:48:18.471 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -2423,9 +2606,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>5f4c89e4-48e1-4297-9de3-0265785fadf4</identification>\r
+        <identification>eefa27a5-44c1-44c0-bed2-7fb709a709a5</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 15:10:02.808 CEST</date>\r
+      <date>2012-01-26 17:48:05.769 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -2434,9 +2617,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>65b288dc-016e-443b-8299-b94fb460c3d9</identification>\r
+        <identification>a2840d52-b7d8-4fdd-8385-59fd8d44dadf</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 14:56:37.247 CEST</date>\r
+      <date>2012-03-29 16:11:26.434 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -2445,9 +2628,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>774be665-1f50-4854-aa00-0e649649c77b</identification>\r
+        <identification>a549dc57-8e86-4de1-9571-926944a3ed8f</identification>\r
       </annotationBean>\r
-      <date>2012-01-26 16:46:23.2 CET</date>\r
+      <date>2012-02-10 15:50:46.655 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -2456,9 +2639,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>0c77bed3-810b-44f5-8b72-8793c157e671</identification>\r
+        <identification>3e78d313-250b-4644-a16a-33ed2038bc1f</identification>\r
       </annotationBean>\r
-      <date>2012-02-01 15:12:43.106 CET</date>\r
+      <date>2012-01-24 15:55:13.536 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -2467,9 +2650,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>f4f650ce-2c96-4c82-9255-3b70506907f1</identification>\r
+        <identification>76e022d6-af2d-43dd-8142-094ab9428b0d</identification>\r
       </annotationBean>\r
-      <date>2012-01-20 14:53:24.791 CET</date>\r
+      <date>2012-01-19 17:19:03.908 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -2478,9 +2661,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>762bb585-1443-474d-b2c9-8ab9cdc755a4</identification>\r
+        <identification>8b00fbb4-ae76-40f3-ba71-09fbd8945d9e</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 15:02:27.349 CEST</date>\r
+      <date>2012-03-29 11:12:08.998 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -2489,9 +2672,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>da834bc7-d2ed-4aae-b8cc-9a5e8b7144ea</identification>\r
+        <identification>1d13ff73-a433-4edc-9605-339003de2b07</identification>\r
       </annotationBean>\r
-      <date>2012-02-23 17:08:54.834 CET</date>\r
+      <date>2012-01-26 14:19:12.850 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -2500,9 +2683,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>f6a6dc35-a311-4601-93e7-277aa07ecd94</identification>\r
+        <identification>de0d498f-f741-48c2-b5ec-932087ba0fc4</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 15:11:20.547 CEST</date>\r
+      <date>2012-03-28 18:03:15.918 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -2511,9 +2694,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>a3d0e0b7-ddf4-42cd-9a2a-64afae8ad4b0</identification>\r
+        <identification>cc4e54ff-f00c-426a-84fd-2d9ef27dcecd</identification>\r
       </annotationBean>\r
-      <date>2012-03-21 16:35:08.57 CET</date>\r
+      <date>2012-03-21 13:04:02.184 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -2522,9 +2705,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>0d8a3f7e-65a1-4f74-915f-93bed0c76cc9</identification>\r
+        <identification>4ee6efb3-9c44-4075-85db-9a099ef91cab</identification>\r
       </annotationBean>\r
-      <date>2012-01-19 17:39:29.33 CET</date>\r
+      <date>2012-01-24 16:59:03.448 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -2533,47 +2716,155 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>a65e91aa-b837-49a7-bc1b-eb994bfdee85</identification>\r
+        <identification>c293492f-f50b-4e49-a9e6-24282ba391e5</identification>\r
       </annotationBean>\r
-      <date>2012-03-28 17:50:33.92 CEST</date>\r
+      <date>2012-03-29 15:49:09.146 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
   </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow><dataflow id="124b440e-f7ef-445f-901b-b3d04ca3e2a7" role="nested"><name>Workflow20</name><inputPorts><port><name>sciName</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port><port><name>next</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port></inputPorts><outputPorts><port><name>next</name><annotations /></port><port><name>max1000_csv_output</name><annotations /></port></outputPorts><processors><processor><name>Transform_XML</name><inputPorts><port><name>xslFileURL</name><depth>0</depth></port><port><name>inString</name><depth>0</depth></port></inputPorts><outputPorts><port><name>outputStr</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="inString" to="inString" /><map from="xslFileURL" to="xslFileURL" /></inputMap><outputMap><map from="outputStr" to="outputStr" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
-  <inputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>xslFileURL</name>\r
-      <depth>0</depth>\r
-      <mimeTypes>\r
-        <string>'text/plain'</string>\r
-      </mimeTypes>\r
-      <handledReferenceSchemes />\r
-      <translatedElementType>java.lang.String</translatedElementType>\r
-      <allowsLiteralValues>true</allowsLiteralValues>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>outFileURL</name>\r
-      <depth>0</depth>\r
-      <mimeTypes>\r
-        <string>'text/plain'</string>\r
-      </mimeTypes>\r
-      <handledReferenceSchemes />\r
-      <translatedElementType>java.lang.String</translatedElementType>\r
-      <allowsLiteralValues>true</allowsLiteralValues>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>inString</name>\r
-      <depth>0</depth>\r
-      <mimeTypes>\r
-        <string>'text/plain'</string>\r
-      </mimeTypes>\r
-      <handledReferenceSchemes />\r
-      <translatedElementType>java.lang.String</translatedElementType>\r
-      <allowsLiteralValues>true</allowsLiteralValues>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>28598271-8f96-49f8-8867-8559a3c1e6d1</identification>\r
+      </annotationBean>\r
+      <date>2012-03-29 17:42:40.460 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>54387dd2-8f78-4e85-bf46-280ba69b9a4c</identification>\r
+      </annotationBean>\r
+      <date>2012-03-29 16:13:09.509 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>3331663d-199b-44a4-a329-a23fae7f0cdd</identification>\r
+      </annotationBean>\r
+      <date>2012-02-14 13:55:00.329 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>1ac31417-1ad0-4f8a-819d-91f400a5b885</identification>\r
+      </annotationBean>\r
+      <date>2012-01-16 16:51:05.950 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>7a619ab6-2f80-4952-9544-28a38b3797e0</identification>\r
+      </annotationBean>\r
+      <date>2012-01-19 15:16:13.809 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>645e0361-42ef-4ccf-a0e4-1b9587202f3d</identification>\r
+      </annotationBean>\r
+      <date>2012-02-01 15:28:59.176 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>826c5a57-8898-463a-b55d-1c84fbd84ec2</identification>\r
+      </annotationBean>\r
+      <date>2012-03-28 17:58:57.867 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>c668faef-ab36-4c06-8bb2-09c23cef17b9</identification>\r
+      </annotationBean>\r
+      <date>2012-03-30 10:08:40.904 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>0d8a3f7e-65a1-4f74-915f-93bed0c76cc9</identification>\r
+      </annotationBean>\r
+      <date>2012-01-19 17:39:29.33 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>7f4d2ce3-ca13-410d-abe2-525dc147149b</identification>\r
+      </annotationBean>\r
+      <date>2012-03-29 14:55:20.781 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>4d4485de-4d95-44fe-b793-de9fceff2015</identification>\r
+      </annotationBean>\r
+      <date>2012-04-03 17:16:26.168 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow><dataflow id="b4c96465-61be-4e99-bd05-52ba51a75f42" role="nested"><name>Workflow38</name><inputPorts><port><name>csvData</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port></inputPorts><outputPorts><port><name>csv_output</name><annotations /></port></outputPorts><processors><processor><name>col_synonym</name><inputPorts><port><name>synRequest</name><depth>0</depth></port></inputPorts><outputPorts><port><name>synResponse</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>dataflow-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.dataflow.DataflowActivity</class><inputMap><map from="synRequest" to="synRequest" /></inputMap><outputMap><map from="synResponse" to="synResponse" /></outputMap><configBean encoding="dataflow"><dataflow ref="d18fe496-419c-4f13-9a5e-9ea550bc3a1e" /></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="synRequest" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Wrap_strings_in_query_element</name><inputPorts><port><name>string2</name><depth>0</depth></port><port><name>string1</name><depth>0</depth></port></inputPorts><outputPorts><port><name>output</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="string2" to="string2" /><map from="string1" to="string1" /></inputMap><outputMap><map from="output" to="output" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
+  <inputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>string1</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>'text/plain'</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
     </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>outputExt</name>\r
+      <name>string2</name>\r
       <depth>0</depth>\r
       <mimeTypes>\r
         <string>'text/plain'</string>\r
@@ -2585,7 +2876,7 @@ concatenated = sb.toString();
   </inputs>\r
   <outputs>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>outputStr</name>\r
+      <name>output</name>\r
       <depth>0</depth>\r
       <mimeTypes />\r
       <granularDepth>0</granularDepth>\r
@@ -2594,111 +2885,16 @@ concatenated = sb.toString();
   <classLoaderSharing>workflow</classLoaderSharing>\r
   <localDependencies />\r
   <artifactDependencies />\r
-  <script>import java.io.BufferedReader;\r
-import java.io.BufferedWriter;\r
-import java.io.FileInputStream;\r
-import java.io.FileNotFoundException;\r
-import java.io.FileReader;\r
-import java.io.FileWriter;\r
-import java.io.IOException;\r
-import java.io.InputStreamReader;\r
-import java.io.OutputStreamWriter;\r
-import java.io.StringWriter;\r
-import java.io.StringReader;\r
-import java.io.Writer;\r
-import java.net.URL;\r
-import java.util.HashMap;\r
-import java.util.Map;\r
-\r
-import javax.xml.transform.Result;\r
-import javax.xml.transform.Source;\r
-import javax.xml.transform.SourceLocator;\r
-import javax.xml.transform.Templates;\r
-import javax.xml.transform.Transformer;\r
-import javax.xml.transform.TransformerConfigurationException;\r
-import javax.xml.transform.TransformerException;\r
-import javax.xml.transform.TransformerFactory;\r
-import javax.xml.transform.stream.StreamResult;\r
-import javax.xml.transform.stream.StreamSource;\r
-\r
-BufferedReader getReader (String fileUrl) throws IOException {\r
-               InputStreamReader reader;\r
-               try {\r
-                       reader = new FileReader(fileUrl);\r
-               }\r
-               catch (FileNotFoundException e) {\r
-                       // try a real URL instead\r
-                       URL url = new URL(fileUrl);\r
-                       reader = new InputStreamReader (url.openStream());\r
-               }\r
-               return new BufferedReader(reader);\r
-       }\r
-       \r
-BufferedWriter getWriter (String fileUrl) throws IOException {\r
-               Writer writer;\r
-               try {\r
-                       writer = new FileWriter(fileUrl);\r
-               }\r
-               catch (FileNotFoundException e) {\r
-                       // try a real URL instead\r
-                       URL url = new URL(fileUrl);\r
-                       writer = new OutputStreamWriter (url.openConnection().getOutputStream());\r
-               }\r
-               return new BufferedWriter(writer);\r
-       }\r
-       \r
-String xslFilename = xslFileURL;\r
-String outFilename;\r
-if (outFileURL != void) {\r
-    outFilename = outFileURL;\r
-}\r
-\r
-String ext;\r
-if (outputExt != void) {\r
-    ext = outputExt;\r
-}\r
-\r
-\r
-\r
-// Create transformer factory\r
-TransformerFactory factory = TransformerFactory.newInstance();\r
-\r
-// Use the factory to create a template containing the xsl file\r
-Templates template = factory.newTemplates(new StreamSource(getReader(xslFilename)));\r
-\r
-// Use the template to create a transformer\r
-Transformer xformer = template.newTransformer();\r
-\r
-// Prepare the input and output files\r
-Reader sourceReader = new StringReader(inString);\r
-Source source = new StreamSource(sourceReader);\r
-StringWriter resultStr = new StringWriter();\r
-Result result = new StreamResult(resultStr);\r
-\r
-// Apply the xsl file to the source file and write the result to the\r
-// output file\r
-xformer.transform(source, result);\r
-\r
-outputStr = resultStr.toString();\r
-\r
-if ((outFilename != null) &amp;&amp; !outFilename.equals("")) {\r
-\r
-       BufferedWriter out = getWriter(outFilename);\r
-\r
-       out.write(outputStr);\r
-       out.close();\r
-}\r
-sourceReader.close();\r
-</script>\r
+  <script>output = "&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;\n&lt;syncheck&gt;\n&lt;query&gt;\n" + string1 + string2 + "&lt;/query&gt;\n&lt;/syncheck&gt;";</script>\r
   <dependencies />\r
-  <localworkerName>net.sourceforge.taverna.scuflworkers.xml.XSLTWorker</localworkerName>\r
+  <localworkerName>org.embl.ebi.escience.scuflworkers.java.StringConcat</localworkerName>\r
 </net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations><annotation_chain encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.HostInstitution">\r
         <text>UserNameHere</text>\r
       </annotationBean>\r
-      <date>2012-01-13 17:08:38.768 CET</date>\r
+      <date>2012-02-10 15:51:36.322 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -2710,4343 +2906,472 @@ sourceReader.close();
   <initialDelay>1000</initialDelay>\r
   <maxDelay>5000</maxDelay>\r
   <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="xslFileURL" depth="0" /><port name="inString" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>gbifResponse_to_csv_xsl</name><inputPorts /><outputPorts><port><name>value</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>stringconstant-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.stringconstant.StringConstantActivity</class><inputMap /><outputMap><map from="value" to="value" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean xmlns="">\r
-  <value>http://ww2.bgbm.org/temp/biovel/gbifResponse_to_csv.xsl</value>\r
-</net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><dot><port name="string2" depth="0" /><port name="string1" depth="0" /></dot></strategy></iteration></iterationStrategyStack></processor><processor><name>syn_occurrences</name><inputPorts><port><name>sciNameList</name><depth>1</depth></port></inputPorts><outputPorts><port><name>csv_output</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>dataflow-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.dataflow.DataflowActivity</class><inputMap><map from="sciNameList" to="sciNameList" /></inputMap><outputMap><map from="csv_output" to="csv_output" /></outputMap><configBean encoding="dataflow"><dataflow ref="090535d9-2339-47e9-bd53-1b568ae1968f" /></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
   <maxJobs>1</maxJobs>\r
 </net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
   <backoffFactor>1.0</backoffFactor>\r
   <initialDelay>1000</initialDelay>\r
   <maxDelay>5000</maxDelay>\r
   <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy /></iteration></iterationStrategyStack></processor><processor><name>gbifOccurrence</name><inputPorts><port><name>format</name><depth>0</depth></port><port><name>scientificname</name><depth>0</depth></port><port><name>next</name><depth>0</depth></port></inputPorts><outputPorts><port><name>responseBody</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>rest-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.rest.RESTActivity</class><inputMap><map from="next" to="next" /><map from="format" to="format" /><map from="scientificname" to="scientificname" /></inputMap><outputMap><map from="responseBody" to="responseBody" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean xmlns="">\r
-  <httpMethod>GET</httpMethod>\r
-  <urlSignature>http://data.gbif.org/ws/rest/occurrence/list?scientificname={scientificname}&amp;format={format}&amp;startindex={next}&amp;maxresults=1000</urlSignature>\r
-  <acceptsHeaderValue>application/xml</acceptsHeaderValue>\r
-  <contentTypeForUpdates>application/xml</contentTypeForUpdates>\r
-  <outgoingDataFormat>String</outgoingDataFormat>\r
-  <sendHTTPExpectRequestHeader>false</sendHTTPExpectRequestHeader>\r
-  <showRedirectionOutputPort>false</showRedirectionOutputPort>\r
-  <escapeParameters>true</escapeParameters>\r
-  <otherHTTPHeaders />\r
-  <activityInputs>\r
-    <entry>\r
-      <string>next</string>\r
-      <java-class>java.lang.String</java-class>\r
-    </entry>\r
-    <entry>\r
-      <string>format</string>\r
-      <java-class>java.lang.String</java-class>\r
-    </entry>\r
-    <entry>\r
-      <string>scientificname</string>\r
-      <java-class>java.lang.String</java-class>\r
-    </entry>\r
-  </activityInputs>\r
-</net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="format" depth="0" /><port name="scientificname" depth="0" /><port name="next" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>format_value</name><inputPorts /><outputPorts><port><name>value</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>stringconstant-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.stringconstant.StringConstantActivity</class><inputMap /><outputMap><map from="value" to="value" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean xmlns="">\r
-  <value>darwin</value>\r
-</net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="sciNameList" depth="1" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>SynCheckGUI</name><inputPorts><port><name>synreqres_list</name><depth>1</depth></port></inputPorts><outputPorts><port><name>out</name><depth>1</depth><granularDepth>1</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="synreqres_list" to="synreqres_list" /></inputMap><outputMap><map from="out" to="out" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
+  <inputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>synreqres_list</name>\r
+      <depth>1</depth>\r
+      <mimeTypes>\r
+        <string>text/plain</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+  </inputs>\r
+  <outputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>out</name>\r
+      <depth>1</depth>\r
+      <mimeTypes />\r
+      <granularDepth>1</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+  </outputs>\r
+  <classLoaderSharing>workflow</classLoaderSharing>\r
+  <localDependencies>\r
+    <string>DCWorkflow.jar</string>\r
+  </localDependencies>\r
+  <artifactDependencies />\r
+  <script>import org.bgbm.biovel.datacleaning.syncheck.SynCheckDialog;\r
+Frame f = new JFrame();\r
+\r
+SynCheckDialog scd = new SynCheckDialog(f,true, synreqres_list);\r
+scd.setLocationRelativeTo(null);\r
+scd.show();\r
+\r
+out = scd.getUniqueNameList();\r
+</script>\r
+  <dependencies />\r
+</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
   <maxJobs>1</maxJobs>\r
 </net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
   <backoffFactor>1.0</backoffFactor>\r
   <initialDelay>1000</initialDelay>\r
   <maxDelay>5000</maxDelay>\r
   <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy /></iteration></iterationStrategyStack></processor><processor><name>next</name><inputPorts><port><name>xml_text</name><depth>0</depth></port></inputPorts><outputPorts><port><name>nodelist</name><depth>1</depth><granularDepth>1</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>xpath-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.xpath.XPathActivity</class><inputMap><map from="xml_text" to="xml_text" /></inputMap><outputMap><map from="nodelist" to="nodelist" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.xpath.XPathActivityConfigurationBean xmlns="">\r
-  <xmlDocument>&lt;?xml version="1.0" encoding="UTF-8"?&gt;\r
-&lt;?xml-stylesheet type="text/xsl" href="http://data.gbif.org/ws/rest/taxon/stylesheet"?&gt;&lt;gbif:gbifResponse xmlns:gbif="http://portal.gbif.org/ws/response/gbif" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:tc="http://rs.tdwg.org/ontology/voc/TaxonConcept#" xmlns:tn="http://rs.tdwg.org/ontology/voc/TaxonName#" xsi:schemaLocation="http://portal.gbif.org/ws/response/gbif http://data.gbif.org/ws/rest/taxon/schema http://purl.org/dc/elements/1.1/ http://data.gbif.org/schema/dc.xsd http://purl.org/dc/terms/ http://data.gbif.org/schema/dcterms.xsd http://www.w3.org/1999/02/22-rdf-syntax-ns# http://data.gbif.org/schema/rdf.xsd http://www.w3.org/2002/07/owl# http://data.gbif.org/schema/owl.xsd http://rs.tdwg.org/ontology/voc/Common# http://data.gbif.org/schema/tcom.xsd http://rs.tdwg.org/ontology/voc/TaxonOccurrence# http://data.gbif.org/schema/TaxonOccurrence.xsd http://rs.tdwg.org/ontology/voc/TaxonConcept# http://data.gbif.org/schema/TaxonConcept.xsd http://rs.tdwg.org/ontology/voc/TaxonName# http://data.gbif.org/schema/TaxonName.xsd"&gt;\r
- &lt;gbif:header&gt;\r
-  &lt;gbif:help&gt;http://data.gbif.org/ws/rest/taxon/help\r
-&lt;/gbif:help&gt;\r
-  &lt;gbif:request&gt;list&lt;/gbif:request&gt;\r
-  &lt;gbif:statements&gt;-\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="synreqres_list" depth="1" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>DCDataParser</name><inputPorts><port><name>csvData</name><depth>0</depth></port></inputPorts><outputPorts><port><name>synonymRequest</name><depth>1</depth><granularDepth>1</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="csvData" to="csvData" /></inputMap><outputMap><map from="synonymRequest" to="synonymRequest" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
+  <inputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>csvData</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>text/plain</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+  </inputs>\r
+  <outputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>synonymRequest</name>\r
+      <depth>1</depth>\r
+      <mimeTypes />\r
+      <granularDepth>1</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>incorrectRecords</name>\r
+      <depth>0</depth>\r
+      <mimeTypes />\r
+      <granularDepth>0</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+  </outputs>\r
+  <classLoaderSharing>workflow</classLoaderSharing>\r
+  <localDependencies />\r
+  <artifactDependencies />\r
+  <script>\r
 \r
-This document contains data shared through the GBIF Network - see http://data.gbif.org/ for more information.\r
-                                       \r
-All usage of these data must be in accordance with the GBIF Data Use Agreement - see http://www.gbif.org/DataProviders/Agreements/DUA\r
+import java.io.BufferedReader;\r
+import java.io.ByteArrayInputStream;\r
+import java.io.StringReader;\r
+import java.util.StringTokenizer;\r
+import java.util.HashSet;\r
+import java.util.Iterator;\r
+import java.io.StringWriter;\r
+import javax.xml.stream.XMLOutputFactory;\r
+import javax.xml.stream.XMLStreamWriter;\r
+import javax.xml.transform.OutputKeys;\r
+import javax.xml.transform.Transformer;\r
+import javax.xml.transform.TransformerFactory;\r
+import javax.xml.transform.stream.StreamResult;\r
+import javax.xml.transform.stream.StreamSource;\r
 \r
--\r
-&lt;/gbif:statements&gt;\r
-  &lt;gbif:stylesheet&gt;http://data.gbif.org/ws/rest/taxon/stylesheet&lt;/gbif:stylesheet&gt;\r
-  &lt;gbif:parameter name="maxresults" value="100"/&gt;\r
-  &lt;gbif:parameter name="request" value="list"/&gt;\r
-  &lt;gbif:parameter name="service" value="taxon"/&gt;\r
-  &lt;gbif:parameter name="format" value="brief"/&gt;\r
-  &lt;gbif:parameter name="scientificname" value="Plantae"/&gt;\r
-  &lt;gbif:nextRequestUrl&gt;http://data.gbif.org/ws/rest/taxon/list?startindex=100&amp;amp;maxresults=100&amp;amp;format=brief&amp;amp;scientificname=Plantae&lt;/gbif:nextRequestUrl&gt;\r
-&lt;gbif:summary start="0" totalMatched="100" next="100" totalReturned="100"/&gt;\r
- &lt;/gbif:header&gt;&lt;gbif:dataProviders&gt;\r
 \r
 \r
-&lt;gbif:dataProvider gbifKey="116" rdf:about="http://data.gbif.org/ws/rest/provider/get/116"&gt;\r
-                                                                                       &lt;gbif:name&gt;Museo Nacional de Costa Rica&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="566" rdf:about="http://data.gbif.org/ws/rest/resource/get/566"&gt;\r
-                    &lt;gbif:name&gt;herbario&lt;/gbif:name&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51456466" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51456466"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;herbario&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/566"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="318" rdf:about="http://data.gbif.org/ws/rest/provider/get/318"&gt;\r
-                                                                                       &lt;gbif:name&gt;Arizona State University, Global Institute for Sustainability&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="676" rdf:about="http://data.gbif.org/ws/rest/resource/get/676"&gt;\r
-                    &lt;gbif:name&gt;Arizona State University Vascular Plant Herbarium&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="52007005" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/52007005"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Arizona State University Vascular Plant Herbarium&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/676"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="112" rdf:about="http://data.gbif.org/ws/rest/provider/get/112"&gt;\r
-                                                                                       &lt;gbif:name&gt;Mokpo Museum of Natural History&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="570" rdf:about="http://data.gbif.org/ws/rest/resource/get/570"&gt;\r
-                    &lt;gbif:name&gt;Mokpo Museum of Natural History Plant&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51473457" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51473457"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Mokpo Museum of Natural History Plant&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/570"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="139" rdf:about="http://data.gbif.org/ws/rest/provider/get/139"&gt;\r
-                                                                                       &lt;gbif:name&gt;NLBIF&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="693" rdf:about="http://data.gbif.org/ws/rest/resource/get/693"&gt;\r
-                    &lt;gbif:name&gt;Natural History Museum Rotterdam&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;NLBIF, Natural History Museum Rotterdam&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="52066103" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/52066103"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Natural History Museum Rotterdam&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/693"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="57" rdf:about="http://data.gbif.org/ws/rest/provider/get/57"&gt;\r
-                                                                                       &lt;gbif:name&gt;GBIF-Spain&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="262" rdf:about="http://data.gbif.org/ws/rest/resource/get/262"&gt;\r
-                    &lt;gbif:name&gt;Institut d'Ecologia Litoral: IEL_Phyto&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Gomis, C. (2005). Institut d'Ecologia Litoral Phytoplankton Collections on line databases.&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50817295" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50817295"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Institut d'Ecologia Litoral: IEL_Phyto&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/262"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="263" rdf:about="http://data.gbif.org/ws/rest/resource/get/263"&gt;\r
-                    &lt;gbif:name&gt;Institut d'Ecologia Litoral: IEL_Plantae&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Vicedo, M. (2005). Institut d'Ecologia Litoral Plantae Collections on line databases&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50817987" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50817987"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Institut d'Ecologia Litoral: IEL_Plantae&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/263"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="240" rdf:about="http://data.gbif.org/ws/rest/resource/get/240"&gt;\r
-                    &lt;gbif:name&gt;Real Jardin Botanico (Madrid), Vascular Plant Herbarium (MA)&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50645543" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50645543"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Real Jardin Botanico (Madrid), Vascular Plant Herbarium (MA)&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/240"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="284" rdf:about="http://data.gbif.org/ws/rest/resource/get/284"&gt;\r
-                    &lt;gbif:name&gt;Herbario de la Universidad de Sevilla, SEV-Historico&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;F.J. Salgueiro, S. Talavera et al. (2006). SEV collections online data bases&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50842449" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50842449"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Herbario de la Universidad de Sevilla, SEV-Historico&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/284"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="283" rdf:about="http://data.gbif.org/ws/rest/resource/get/283"&gt;\r
-                    &lt;gbif:name&gt;Herbario de la Universidad de Sevilla, SEV&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;F.J. Salgueiro, S. Talavera et al. (2006). SEV collections online data bases&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50830315" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50830315"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Herbario de la Universidad de Sevilla, SEV&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/283"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="245" rdf:about="http://data.gbif.org/ws/rest/resource/get/245"&gt;\r
-                    &lt;gbif:name&gt;Universidad de Oviedo. Departamento de Biología de Organismos y Sistemas: FCO&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50743926" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50743926"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Universidad de Oviedo. Departamento de Biología de Organismos y Sistemas: FCO&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/245"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="244" rdf:about="http://data.gbif.org/ws/rest/resource/get/244"&gt;\r
-                    &lt;gbif:name&gt;Herbario de la Universidad de Almeria&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50739343" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50739343"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Herbario de la Universidad de Almeria&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/244"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="243" rdf:about="http://data.gbif.org/ws/rest/resource/get/243"&gt;\r
-                    &lt;gbif:name&gt;CeDoc de Biodiversitat Vegetal: BCN-Cormophyta&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Guardia, R. et al. (2007). Bases de dades de l'Herbari BCN http://www.ub.es/cedocbiv/bancdade.htm&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50735696" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50735696"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;CeDoc de Biodiversitat Vegetal: BCN-Cormophyta&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/243"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="242" rdf:about="http://data.gbif.org/ws/rest/resource/get/242"&gt;\r
-                    &lt;gbif:name&gt;Universidad del País Vasco/EHU, Bilbao: Herbario BIO&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Herrera, M. et al. (2004). BIO Vascular Plants Collections on line databases.&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50733148" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50733148"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Universidad del País Vasco/EHU, Bilbao: Herbario BIO&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/242"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="249" rdf:about="http://data.gbif.org/ws/rest/resource/get/249"&gt;\r
-                    &lt;gbif:name&gt;Departamento de Biolog. Veg. II, Facultad de Farmacia, Universidad Complutense, Madrid: MAF&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Pizarro, J. et al. Plantas vasculares en el herbario GBIFMAF.&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50770400" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50770400"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Departamento de Biolog. Veg. II, Facultad de Farmacia, Universidad Complutense, Madrid: MAF&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/249"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="248" rdf:about="http://data.gbif.org/ws/rest/resource/get/248"&gt;\r
-                    &lt;gbif:name&gt;Aranzadi Zientzi Elkartea&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50762908" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50762908"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Aranzadi Zientzi Elkartea&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/248"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="247" rdf:about="http://data.gbif.org/ws/rest/resource/get/247"&gt;\r
-                    &lt;gbif:name&gt;Jardín Botánico de Córdoba: Herbarium COA&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Martín-Consuegra, E. et al. (2005). COA collections online databases.&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50754749" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50754749"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Jardín Botánico de Córdoba: Herbarium COA&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/247"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="246" rdf:about="http://data.gbif.org/ws/rest/resource/get/246"&gt;\r
-                    &lt;gbif:name&gt;Instituto Pirenaico de Ecología-CSIC: Herbarium JACA&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Benito, J.L., D. Gómez and L. Villar (2004) Las bases de datos del herbario JACA en internet (Fecha de consulta).&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50753094" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50753094"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Instituto Pirenaico de Ecología-CSIC: Herbarium JACA&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/246"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="264" rdf:about="http://data.gbif.org/ws/rest/resource/get/264"&gt;\r
-                    &lt;gbif:name&gt;Institut d'Ecologia Litoral: IEL_Seed&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Vicedo, M. (2005). Institut d'Ecologia Litoral Seed Collections on line databases&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50818745" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50818745"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Institut d'Ecologia Litoral: IEL_Seed&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/264"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="300" rdf:about="http://data.gbif.org/ws/rest/resource/get/300"&gt;\r
-                    &lt;gbif:name&gt;Hortus Botanicus Sollerensis Herbarium (FBonafè)&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50883651" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50883651"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Hortus Botanicus Sollerensis Herbarium (FBonafè)&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/300"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="251" rdf:about="http://data.gbif.org/ws/rest/resource/get/251"&gt;\r
-                    &lt;gbif:name&gt;CIBIO, Alicante:ABH-GBIF&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Herbario de la Universidad de Alicante, ABH (2005).&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50773832" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50773832"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;CIBIO, Alicante:ABH-GBIF&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/251"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="296" rdf:about="http://data.gbif.org/ws/rest/resource/get/296"&gt;\r
-                    &lt;gbif:name&gt;CUBA: Herbario de la Academia de Ciencias, La Habana, Cuba: HAC-Pteridophyta&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Regalado, L., Lóriga J., Morejón, R., Hechavarría, L., Fuentes, I., Hernández A., Daniel, A., Caluff, M., Ventosa, I., Vale, A. et Echevarría R. 2006. Pteridophyte collection online database.&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50870745" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50870745"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;CUBA: Herbario de la Academia de Ciencias, La Habana, Cuba: HAC-Pteridophyta&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/296"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="292" rdf:about="http://data.gbif.org/ws/rest/resource/get/292"&gt;\r
-                    &lt;gbif:name&gt;Dpto de Botánica, Ecología y Fisiología Vegetal (herbario_cofc).Facultad de Ciencias.Universidad de Córdoba&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50860548" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50860548"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Dpto de Botánica, Ecología y Fisiología Vegetal (herbario_cofc).Facultad de Ciencias.Universidad de Córdoba&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/292"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="239" rdf:about="http://data.gbif.org/ws/rest/resource/get/239"&gt;\r
-                    &lt;gbif:name&gt;Herbario de la Universidad de Salamanca: SALA&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Herbario de la Universidad de Salamanca (SALA)&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50618940" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50618940"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Herbario de la Universidad de Salamanca: SALA&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/239"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="278" rdf:about="http://data.gbif.org/ws/rest/resource/get/278"&gt;\r
-                    &lt;gbif:name&gt;Escuela Técnica Superior de Ingenieros de Montes, UPM: EMMA&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50824900" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50824900"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Escuela Técnica Superior de Ingenieros de Montes, UPM: EMMA&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/278"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="297" rdf:about="http://data.gbif.org/ws/rest/resource/get/297"&gt;\r
-                    &lt;gbif:name&gt;CUBA:Herbario del Jardín de los Helechos, Centro Oriental de Ecosistemas y Biodiversidad, Santiago de Cuba: BSC-Pteridophyta&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Caluff, M., Serguera, M., Sánchez, C., Morejón, R., Regalado, L., Hernández, A. et Daniel A. 2006. Pteridophyte collection online database.&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50871285" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50871285"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;CUBA:Herbario del Jardín de los Helechos, Centro Oriental de Ecosistemas y Biodiversidad, Santiago de Cuba: BSC-Pteridophyta&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/297"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="298" rdf:about="http://data.gbif.org/ws/rest/resource/get/298"&gt;\r
-                    &lt;gbif:name&gt;CUBA:Herbario del Jardín Botánico Nacional, La Habana, Cuba: HAJB-Pteridophyta&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Morejón, R., Sánchez, C., Regalado, L., Hernández, A. et Daniel A. 2006. Pteridophyte collection online database.&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50871396" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50871396"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;CUBA:Herbario del Jardín Botánico Nacional, La Habana, Cuba: HAJB-Pteridophyta&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/298"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="299" rdf:about="http://data.gbif.org/ws/rest/resource/get/299"&gt;\r
-                    &lt;gbif:name&gt;Institut Botanic de Barcelona, BC&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50872014" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50872014"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Institut Botanic de Barcelona, BC&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/299"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="257" rdf:about="http://data.gbif.org/ws/rest/resource/get/257"&gt;\r
-                    &lt;gbif:name&gt;Departamento de Biolog. Veg. II, Facultad de Farmacia, Universidad Complutense, Madrid: MAF-Lich&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Pizarro, José et al. (2005), MAF Lichen collection online database, UCM&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50812257" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50812257"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Departamento de Biolog. Veg. II, Facultad de Farmacia, Universidad Complutense, Madrid: MAF-Lich&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/257"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="234" rdf:about="http://data.gbif.org/ws/rest/resource/get/234"&gt;\r
-                    &lt;gbif:name&gt;Real Jardin Botanico, Madrid: MA-Algae&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Pando, F. et al. (2003). MA Cryptogamic collections online databases. http://www.rjb.csic.es/herbario/crypto/crydb.htm. (date when consulted)&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50589373" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50589373"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Real Jardin Botanico, Madrid: MA-Algae&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/234"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="236" rdf:about="http://data.gbif.org/ws/rest/resource/get/236"&gt;\r
-                    &lt;gbif:name&gt;Real Jardin Botanico, Madrid: MA-Hepat&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Pando, F. et al. (2003). MA Cryptogamic collections online databases. http://www.rjb.csic.es/herbario/crypto/crydb.htm. (date when consulted)&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50602339" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50602339"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Real Jardin Botanico, Madrid: MA-Hepat&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/236"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="235" rdf:about="http://data.gbif.org/ws/rest/resource/get/235"&gt;\r
-                    &lt;gbif:name&gt;Real Jardin Botanico, Madrid: MA-Musci&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Pando, F. et al. (2003). MA Cryptogamic collections online databases. http://www.rjb.csic.es/herbario/crypto/crydb.htm. (date when consulted)&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50592362" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50592362"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Real Jardin Botanico, Madrid: MA-Musci&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/235"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="253" rdf:about="http://data.gbif.org/ws/rest/resource/get/253"&gt;\r
-                    &lt;gbif:name&gt;GBIF-PORTUGAL-Herbário João de Carvalho e Vasconcellos, I.S.A./U.T.L.&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50785400" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50785400"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;GBIF-PORTUGAL-Herbário João de Carvalho e Vasconcellos, I.S.A./U.T.L.&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/253"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="238" rdf:about="http://data.gbif.org/ws/rest/resource/get/238"&gt;\r
-                    &lt;gbif:name&gt;Jardi Botanic de Valencia: VAL&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50610276" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50610276"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Jardi Botanic de Valencia: VAL&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/238"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="256" rdf:about="http://data.gbif.org/ws/rest/resource/get/256"&gt;\r
-                    &lt;gbif:name&gt;Real Jardin Botanico, Madrid: MA-Funhist&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Pando, F. et al. (2003). MA Cryptogamic collections online databases. http://www.rjb.csic.es/herbario/crypto/crydb.htm. (date when consulted)&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50796630" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50796630"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Real Jardin Botanico, Madrid: MA-Funhist&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/256"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="237" rdf:about="http://data.gbif.org/ws/rest/resource/get/237"&gt;\r
-                    &lt;gbif:name&gt;Real Jardin Botanico, Madrid: MA-Lichen&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Pando, F. et al. (2003). MA Cryptogamic collections online databases. http://www.rjb.csic.es/herbario/crypto/crydb.htm. (date when consulted)&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50605097" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50605097"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Real Jardin Botanico, Madrid: MA-Lichen&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/237"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="255" rdf:about="http://data.gbif.org/ws/rest/resource/get/255"&gt;\r
-                    &lt;gbif:name&gt;Universidad de Extremadura, UNEX&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Ruiz, T. (2005) Vascular collection herbarium online database in Extremadura&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50788063" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50788063"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Universidad de Extremadura, UNEX&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/255"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="136" rdf:about="http://data.gbif.org/ws/rest/provider/get/136"&gt;\r
-                                                                                       &lt;gbif:name&gt;NatureServe&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="607" rdf:about="http://data.gbif.org/ws/rest/resource/get/607"&gt;\r
-                    &lt;gbif:name&gt;NatureServe Network Species Occurrence Data&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;NatureServe Central Databases&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51646369" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51646369"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;NatureServe Network Species Occurrence Data&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/607"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="56" rdf:about="http://data.gbif.org/ws/rest/provider/get/56"&gt;\r
-                                                                                       &lt;gbif:name&gt;GBIF New Zealand&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="471" rdf:about="http://data.gbif.org/ws/rest/resource/get/471"&gt;\r
-                    &lt;gbif:name&gt;NZFUNGI - Collections of the New Zealand National Fungal Herbarium (PDD)&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;http://nzfungi.landcareresearch.co.nz Landcare Research, New Zealand&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51166007" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51166007"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;NZFUNGI - Collections of the New Zealand National Fungal Herbarium (PDD)&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/471"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="472" rdf:about="http://data.gbif.org/ws/rest/resource/get/472"&gt;\r
-                    &lt;gbif:name&gt;International Collection of Microorganisms from Plants - New Zealand National Microbial Collection&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;International Collection of Microoganisms from Plants, Landcare Research, New Zealand&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51168326" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51168326"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;International Collection of Microorganisms from Plants - New Zealand National Microbial Collection&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/472"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="474" rdf:about="http://data.gbif.org/ws/rest/resource/get/474"&gt;\r
-                    &lt;gbif:name&gt;New Zealand National Plant Herbarium (CHR)&lt;/gbif:name&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51171666" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51171666"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;New Zealand National Plant Herbarium (CHR)&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/474"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="473" rdf:about="http://data.gbif.org/ws/rest/resource/get/473"&gt;\r
-                    &lt;gbif:name&gt;New Zealand National Vegetation Survey Databank&lt;/gbif:name&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51168344" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51168344"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;New Zealand National Vegetation Survey Databank&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/473"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="156" rdf:about="http://data.gbif.org/ws/rest/provider/get/156"&gt;\r
-                                                                                       &lt;gbif:name&gt;Seodaemun Museum of Natural History&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="673" rdf:about="http://data.gbif.org/ws/rest/resource/get/673"&gt;\r
-                    &lt;gbif:name&gt;Seodaemun Museum of Natural History Plant&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51988429" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51988429"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Seodaemun Museum of Natural History Plant&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/673"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="670" rdf:about="http://data.gbif.org/ws/rest/resource/get/670"&gt;\r
-                    &lt;gbif:name&gt;Seodaemun Museum of Natural History Fossil&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51988402" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51988402"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Seodaemun Museum of Natural History Fossil&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/670"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="14" rdf:about="http://data.gbif.org/ws/rest/provider/get/14"&gt;\r
-                                                                                       &lt;gbif:name&gt;Bernice Pauahi Bishop Museum&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="54" rdf:about="http://data.gbif.org/ws/rest/resource/get/54"&gt;\r
-                    &lt;gbif:name&gt;Bishop Museum Natural Sciences Data&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Bishop Museum Natural History Data&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50178479" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50178479"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Bishop Museum Natural Sciences Data&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/54"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="12" rdf:about="http://data.gbif.org/ws/rest/provider/get/12"&gt;\r
-                                                                                       &lt;gbif:name&gt;BeBIF Provider&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="96" rdf:about="http://data.gbif.org/ws/rest/resource/get/96"&gt;\r
-                    &lt;gbif:name&gt;Royal Museum of Central Africa - Metafro-Infosys - Prelude&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Metafro-Infosys&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50267686" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50267686"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Royal Museum of Central Africa - Metafro-Infosys - Prelude&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/96"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="95" rdf:about="http://data.gbif.org/ws/rest/resource/get/95"&gt;\r
-                    &lt;gbif:name&gt;Royal Museum of Central Africa - Metafro-Infosys - Xylarium&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;RMCA-Metafro-Infosys-Xylarium&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50254870" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50254870"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Royal Museum of Central Africa - Metafro-Infosys - Xylarium&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/95"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="153" rdf:about="http://data.gbif.org/ws/rest/provider/get/153"&gt;\r
-                                                                                       &lt;gbif:name&gt;Alaska Ocean Observing System&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="654" rdf:about="http://data.gbif.org/ws/rest/resource/get/654"&gt;\r
-                    &lt;gbif:name&gt;Arctic Ocean Diversity&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51921018" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51921018"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Arctic Ocean Diversity&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/654"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="20" rdf:about="http://data.gbif.org/ws/rest/provider/get/20"&gt;\r
-                                                                                       &lt;gbif:name&gt;Botanical Research Institute of Texas&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="56" rdf:about="http://data.gbif.org/ws/rest/resource/get/56"&gt;\r
-                    &lt;gbif:name&gt;Andes to Amazon Biodiversity Program&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50205952" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50205952"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Andes to Amazon Biodiversity Program&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/56"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="368" rdf:about="http://data.gbif.org/ws/rest/provider/get/368"&gt;\r
-                                                                                       &lt;gbif:name&gt;ECAT development publisher&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="13566" rdf:about="http://data.gbif.org/ws/rest/resource/get/13566"&gt;\r
-                    &lt;gbif:name&gt;Wikipedia Species Pages - English&lt;/gbif:name&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="110582304" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/110582304"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;unranked&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Wikipedia Species Pages - English&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/13566"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                                                                     &lt;tc:TaxonConcept gbifKey="110624584" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/110624584"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;unranked&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Wikipedia Species Pages - English&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/13566"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                                                                     &lt;tc:TaxonConcept gbifKey="110525446" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/110525446"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;unranked&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Wikipedia Species Pages - English&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/13566"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                                                                     &lt;tc:TaxonConcept gbifKey="110617462" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/110617462"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;unranked&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Wikipedia Species Pages - English&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/13566"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                                                                     &lt;tc:TaxonConcept gbifKey="110568798" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/110568798"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;unranked&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Wikipedia Species Pages - English&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/13566"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                                                                     &lt;tc:TaxonConcept gbifKey="110568797" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/110568797"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;unranked&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Wikipedia Species Pages - English&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/13566"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                                                                     &lt;tc:TaxonConcept gbifKey="110586738" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/110586738"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;unranked&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Wikipedia Species Pages - English&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/13566"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                                                                     &lt;tc:TaxonConcept gbifKey="110509215" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/110509215"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;unranked&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Wikipedia Species Pages - English&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/13566"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                                                                     &lt;tc:TaxonConcept gbifKey="110499063" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/110499063"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;unranked&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Wikipedia Species Pages - English&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/13566"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                                                                     &lt;tc:TaxonConcept gbifKey="110582305" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/110582305"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;unranked&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Wikipedia Species Pages - English&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/13566"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="13562" rdf:about="http://data.gbif.org/ws/rest/resource/get/13562"&gt;\r
-                    &lt;gbif:name&gt;Wikipedia Species Pages - German&lt;/gbif:name&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="110405143" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/110405143"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;unranked&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Wikipedia Species Pages - German&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/13562"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="82" rdf:about="http://data.gbif.org/ws/rest/provider/get/82"&gt;\r
-                                                                                       &lt;gbif:name&gt;Ocean Biogeographic Information System&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="327" rdf:about="http://data.gbif.org/ws/rest/resource/get/327"&gt;\r
-                    &lt;gbif:name&gt;Natural Geography In Shore Areas (NaGISA) Dataset&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;(how users should cite data if they use it): Rigby,P.R., B.Konar, T.Kato, K.Iken, H.Chenelot and Y.Shirayama (2005)NaGISA OBIS Dataset ver.1&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50930545" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50930545"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Natural Geography In Shore Areas (NaGISA) Dataset&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/327"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="328" rdf:about="http://data.gbif.org/ws/rest/resource/get/328"&gt;\r
-                    &lt;gbif:name&gt;Continuous Plankton Recorder database&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Continuous Plankton Recorder (CPR) data from the Sir Alister Hardy Foundation for Ocean Science (SAHFOS). Avaiable from http://iobis.org/ [Accessed DATE] (citation as instructed)&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50932584" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50932584"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Continuous Plankton Recorder database&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/328"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="343" rdf:about="http://data.gbif.org/ws/rest/resource/get/343"&gt;\r
-                    &lt;gbif:name&gt;Gwaii Haanas Marine Plants (OBIS Canada)&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Living marine legacy of Gwaii Haanas. I: Marine plant baseline to 1999 and plant-related management issues&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51014853" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51014853"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Gwaii Haanas Marine Plants (OBIS Canada)&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/343"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="361" rdf:about="http://data.gbif.org/ws/rest/resource/get/361"&gt;\r
-                    &lt;gbif:name&gt;Taxonomic Information Sytem for the Belgian coastal area (EurOBIS)&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Vanden Berghe, E. (2000). Tisbe, Taxonomic Information System for the Belgian coastal area. http://www.vliz.be/vmdcdata/tisbe.&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51042676" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51042676"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Taxonomic Information Sytem for the Belgian coastal area (EurOBIS)&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/361"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="320" rdf:about="http://data.gbif.org/ws/rest/resource/get/320"&gt;\r
-                    &lt;gbif:name&gt;SeamountsOnline (seamount biota) (CoML)&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Stocks, K. 2003. SeamountsOnline: an online information system for seamount biology. Version 3.1. seamounts.sdsc.edu&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50919086" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50919086"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;SeamountsOnline (seamount biota) (CoML)&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/320"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="380" rdf:about="http://data.gbif.org/ws/rest/resource/get/380"&gt;\r
-                    &lt;gbif:name&gt;MarBEF Publication Series data (EurOBIS)&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51068483" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51068483"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;MarBEF Publication Series data (EurOBIS)&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/380"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="347" rdf:about="http://data.gbif.org/ws/rest/resource/get/347"&gt;\r
-                    &lt;gbif:name&gt;Bay of Fundy Species List (OBIS Canada)&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Pohle, G., L. Van Guelpen, A. Martin, D. Welshman, and A. McGuire. 2004. Bay of Fundy Species&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51021774" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51021774"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Bay of Fundy Species List (OBIS Canada)&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/347"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="418" rdf:about="http://data.gbif.org/ws/rest/resource/get/418"&gt;\r
-                    &lt;gbif:name&gt;Benthic biodiversity along the central coast in the Brazilian EEZ (OBIS South America, BRAZIL) (OBIS South America, BRAZIL)&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Lavrado, H.P. &amp;amp; Ignacio, B.L. (eds.) 2006. Biodiversidade bentônica da costa central da Zona Econômica Exclusiva brasileira. Rio de Janeiro : Museu Nacional, 2006.(Série Livros; 18) 389 p. ISBN 85-7427-014-8&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51106042" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51106042"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Benthic biodiversity along the central coast in the Brazilian EEZ (OBIS South America, BRAZIL) (OBIS South America, BRAZIL)&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/418"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="408" rdf:about="http://data.gbif.org/ws/rest/resource/get/408"&gt;\r
-                    &lt;gbif:name&gt;Posidonia Oceanica Survey 2005 (EurOBIS)&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51095281" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51095281"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Posidonia Oceanica Survey 2005 (EurOBIS)&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/408"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="364" rdf:about="http://data.gbif.org/ws/rest/resource/get/364"&gt;\r
-                    &lt;gbif:name&gt;MedOBIS (EurOBIS)&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51049806" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51049806"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;MedOBIS (EurOBIS)&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/364"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="419" rdf:about="http://data.gbif.org/ws/rest/resource/get/419"&gt;\r
-                    &lt;gbif:name&gt;Phytoplankton Universidad Arturo Prat (OBIS South America, SOUTH PACIFIC NODE)&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Herrera, L., Escribano, R. (2006)&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51106440" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51106440"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Phytoplankton Universidad Arturo Prat (OBIS South America, SOUTH PACIFIC NODE)&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/419"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="396" rdf:about="http://data.gbif.org/ws/rest/resource/get/396"&gt;\r
-                    &lt;gbif:name&gt;AIMS - Bioresources Library (OBIS Australia)&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;AIMS - Bioresources Library&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51074210" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51074210"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;AIMS - Bioresources Library (OBIS Australia)&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/396"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="414" rdf:about="http://data.gbif.org/ws/rest/resource/get/414"&gt;\r
-                    &lt;gbif:name&gt;Bolus Herbarium Algal Specimen Database (AfrOBIS)&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Bolus Herbarium Algal Specimen Database&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51098105" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51098105"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Bolus Herbarium Algal Specimen Database (AfrOBIS)&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/414"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="131" rdf:about="http://data.gbif.org/ws/rest/provider/get/131"&gt;\r
-                                                                                       &lt;gbif:name&gt;National Museum of Nature and Science, Japan&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="595" rdf:about="http://data.gbif.org/ws/rest/resource/get/595"&gt;\r
-                    &lt;gbif:name&gt;Algae Collection of National Museum of Nature and Science&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51580651" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51580651"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Algae Collection of National Museum of Nature and Science&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/595"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="600" rdf:about="http://data.gbif.org/ws/rest/resource/get/600"&gt;\r
-                    &lt;gbif:name&gt;Herbarium Specimens of Tokushima Prefectural Museum, Japan&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51601143" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51601143"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Herbarium Specimens of Tokushima Prefectural Museum, Japan&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/600"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="594" rdf:about="http://data.gbif.org/ws/rest/resource/get/594"&gt;\r
-                    &lt;gbif:name&gt;Bryophytes Collection of National Museum of Nature and Science&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51578373" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51578373"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Bryophytes Collection of National Museum of Nature and Science&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/594"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="596" rdf:about="http://data.gbif.org/ws/rest/resource/get/596"&gt;\r
-                    &lt;gbif:name&gt;Vascular Plants Collection of National Museum of Nature and Science&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51583518" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51583518"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Vascular Plants Collection of National Museum of Nature and Science&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/596"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="599" rdf:about="http://data.gbif.org/ws/rest/resource/get/599"&gt;\r
-                    &lt;gbif:name&gt;Plant Specimens of Kurashiki Museum of Natural History&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51592579" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51592579"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Plant Specimens of Kurashiki Museum of Natural History&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/599"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="609" rdf:about="http://data.gbif.org/ws/rest/resource/get/609"&gt;\r
-                    &lt;gbif:name&gt;Bryophyte specimens database of Mr. Tsutomu Kodama collection, Osaka museum of Natural History&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51662408" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51662408"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Bryophyte specimens database of Mr. Tsutomu Kodama collection, Osaka museum of Natural History&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/609"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="606" rdf:about="http://data.gbif.org/ws/rest/resource/get/606"&gt;\r
-                    &lt;gbif:name&gt;Herbarium of Kitakyushu Museum of Natural History and Human History&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51631882" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51631882"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Herbarium of Kitakyushu Museum of Natural History and Human History&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/606"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="61" rdf:about="http://data.gbif.org/ws/rest/provider/get/61"&gt;\r
-                                                                                       &lt;gbif:name&gt;Gyeryonsan Natural History Museum&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="218" rdf:about="http://data.gbif.org/ws/rest/resource/get/218"&gt;\r
-                    &lt;gbif:name&gt;Gyeryonsan Natural History Museum Fossil&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50515837" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50515837"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Gyeryonsan Natural History Museum Fossil&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/218"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="101" rdf:about="http://data.gbif.org/ws/rest/provider/get/101"&gt;\r
-                                                                                       &lt;gbif:name&gt;Korea National Arboretum (Korea Forest Service)&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="469" rdf:about="http://data.gbif.org/ws/rest/resource/get/469"&gt;\r
-                    &lt;gbif:name&gt;Plant&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51135517" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51135517"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Plant&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/469"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="48" rdf:about="http://data.gbif.org/ws/rest/provider/get/48"&gt;\r
-                                                                                       &lt;gbif:name&gt;Fairchild Tropical Botanic Garden&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="202" rdf:about="http://data.gbif.org/ws/rest/resource/get/202"&gt;\r
-                    &lt;gbif:name&gt;Fairchild Tropical Botanic Garden Virtual Herbarium Darwin Core format&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Fairchild Tropical Botanic Garden Virtual Herbarium&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50497602" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50497602"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Fairchild Tropical Botanic Garden Virtual Herbarium Darwin Core format&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/202"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="97" rdf:about="http://data.gbif.org/ws/rest/provider/get/97"&gt;\r
-                                                                                       &lt;gbif:name&gt;Jyvaskyla University Museum - The Section of Natural Sciences&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="462" rdf:about="http://data.gbif.org/ws/rest/resource/get/462"&gt;\r
-                    &lt;gbif:name&gt;Vascular plant collection of Jyvaskyla University Museum&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Jyvaskyla University Museum - The Section of Natural Sciences&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51127387" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51127387"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Vascular plant collection of Jyvaskyla University Museum&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/462"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="69" rdf:about="http://data.gbif.org/ws/rest/provider/get/69"&gt;\r
-                                                                                       &lt;gbif:name&gt;Herbarium of the University of Aarhus&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="224" rdf:about="http://data.gbif.org/ws/rest/resource/get/224"&gt;\r
-                    &lt;gbif:name&gt;The AAU Herbarium Database&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;AAU Herbarium Database&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50538726" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50538726"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;The AAU Herbarium Database&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/224"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="148" rdf:about="http://data.gbif.org/ws/rest/provider/get/148"&gt;\r
-                                                                                       &lt;gbif:name&gt;Royal Botanic Gardens, Kew&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="629" rdf:about="http://data.gbif.org/ws/rest/resource/get/629"&gt;\r
-                    &lt;gbif:name&gt;Royal Botanic Gardens, Kew&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51701360" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51701360"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Royal Botanic Gardens, Kew&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/629"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="90" rdf:about="http://data.gbif.org/ws/rest/provider/get/90"&gt;\r
-                                                                                       &lt;gbif:name&gt;Instituto Nacional de Biodiversidad (INBio), Costa Rica&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="333" rdf:about="http://data.gbif.org/ws/rest/resource/get/333"&gt;\r
-                    &lt;gbif:name&gt;Biodiversidad de Costa Rica&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;http://www.gbif.org/DataProviders/Cite&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50974029" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50974029"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Biodiversidad de Costa Rica&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/333"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="23" rdf:about="http://data.gbif.org/ws/rest/provider/get/23"&gt;\r
-                                                                                       &lt;gbif:name&gt;British Antarctic Survey&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="67" rdf:about="http://data.gbif.org/ws/rest/resource/get/67"&gt;\r
-                    &lt;gbif:name&gt;ANTARCTIC PLANT DATABASE&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50223325" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50223325"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;ANTARCTIC PLANT DATABASE&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/67"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="25" rdf:about="http://data.gbif.org/ws/rest/provider/get/25"&gt;\r
-                                                                                       &lt;gbif:name&gt;University of Washington Burke Museum&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="126" rdf:about="http://data.gbif.org/ws/rest/resource/get/126"&gt;\r
-                    &lt;gbif:name&gt;Vascular Plant Collection - University of Washington Herbarium (WTU)&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;University of Washington Burke Museum. WTU Herbarium Vascular Plant Collection. Seattle, Washington.&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50316447" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50316447"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Vascular Plant Collection - University of Washington Herbarium (WTU)&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/126"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="26" rdf:about="http://data.gbif.org/ws/rest/provider/get/26"&gt;\r
-                                                                                       &lt;gbif:name&gt;CABIDiGIR Provider&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="167" rdf:about="http://data.gbif.org/ws/rest/resource/get/167"&gt;\r
-                    &lt;gbif:name&gt;CABI Bioscience Fungus Collection&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;IMI&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50432479" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50432479"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;CABI Bioscience Fungus Collection&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/167"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="164" rdf:about="http://data.gbif.org/ws/rest/provider/get/164"&gt;\r
-                                                                                       &lt;gbif:name&gt;The Danish Biodiversity Information Facility&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="703" rdf:about="http://data.gbif.org/ws/rest/resource/get/703"&gt;\r
-                    &lt;gbif:name&gt;Botany registration database by Danish botanists&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="52077210" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/52077210"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Botany registration database by Danish botanists&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/703"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="702" rdf:about="http://data.gbif.org/ws/rest/resource/get/702"&gt;\r
-                    &lt;gbif:name&gt;University of Copenhagen's Arboretum&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="52071070" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/52071070"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;University of Copenhagen's Arboretum&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/702"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="30" rdf:about="http://data.gbif.org/ws/rest/provider/get/30"&gt;\r
-                                                                                       &lt;gbif:name&gt;Canadian Biodiversity Information Facility&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="512" rdf:about="http://data.gbif.org/ws/rest/resource/get/512"&gt;\r
-                    &lt;gbif:name&gt;Royal Botanical Gardens Herbarium&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Royal Botanical Gardens Herbarium&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51196472" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51196472"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Royal Botanical Gardens Herbarium&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/512"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="526" rdf:about="http://data.gbif.org/ws/rest/resource/get/526"&gt;\r
-                    &lt;gbif:name&gt;Phragmites of Canada&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Phragmites of Canada&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51200628" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51200628"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Phragmites of Canada&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/526"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="6" rdf:about="http://data.gbif.org/ws/rest/provider/get/6"&gt;\r
-                                                                                       &lt;gbif:name&gt;Australian Antarctic Data Centre&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="77" rdf:about="http://data.gbif.org/ws/rest/resource/get/77"&gt;\r
-                    &lt;gbif:name&gt;Antarctic Marine Protists species checklist&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Species list derived from the book Antarctic Marine Prostists (2005) edited by Fiona J. Scott and Harvey J. Marchant. (ISBN 0 642 56835 9)&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50248379" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50248379"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Antarctic Marine Protists species checklist&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/77"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="76" rdf:about="http://data.gbif.org/ws/rest/resource/get/76"&gt;\r
-                    &lt;gbif:name&gt;Australian Antarctic Division Herbarium&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Contact Dave Watts for details on citation details.&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50244776" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50244776"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Australian Antarctic Division Herbarium&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/76"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="31" rdf:about="http://data.gbif.org/ws/rest/provider/get/31"&gt;\r
-                                                                                       &lt;gbif:name&gt;Canadian Museum of Nature&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="123" rdf:about="http://data.gbif.org/ws/rest/resource/get/123"&gt;\r
-                    &lt;gbif:name&gt;Canadian Museum of Nature Herbarium&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Canadian Museum of Nature Herbarium (The National Herbarium of Canada)&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50295570" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50295570"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Canadian Museum of Nature Herbarium&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/123"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="8" rdf:about="http://data.gbif.org/ws/rest/provider/get/8"&gt;\r
-                                                                                       &lt;gbif:name&gt;Australian National Herbarium (CANB)&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="47" rdf:about="http://data.gbif.org/ws/rest/resource/get/47"&gt;\r
-                    &lt;gbif:name&gt;Australian National Herbarium (CANB)&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;http://www.cpbr.gov.au/cpbr/herbarium&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50029604" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50029604"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Australian National Herbarium (CANB)&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/47"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="75" rdf:about="http://data.gbif.org/ws/rest/provider/get/75"&gt;\r
-                                                                                       &lt;gbif:name&gt;Illinois Natural History Survey&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="225" rdf:about="http://data.gbif.org/ws/rest/resource/get/225"&gt;\r
-                    &lt;gbif:name&gt;Illinois Natural History Survey&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;INHS Insect Collection&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50581580" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50581580"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Illinois Natural History Survey&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/225"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="141" rdf:about="http://data.gbif.org/ws/rest/provider/get/141"&gt;\r
-                                                                                       &lt;gbif:name&gt;Oregon State University&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="622" rdf:about="http://data.gbif.org/ws/rest/resource/get/622"&gt;\r
-                    &lt;gbif:name&gt;Vascular Plant Collection&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Oregon State University Herbarium (OSC)&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51680150" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51680150"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Vascular Plant Collection&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/622"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="89" rdf:about="http://data.gbif.org/ws/rest/provider/get/89"&gt;\r
-                                                                                       &lt;gbif:name&gt;Instituto de Investigaciones de la Amazonía Peruana&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="325" rdf:about="http://data.gbif.org/ws/rest/resource/get/325"&gt;\r
-                    &lt;gbif:name&gt;HerbarioHerrerense&lt;/gbif:name&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50922844" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50922844"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;HerbarioHerrerense&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/325"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;/gbif:dataProviders&gt;\r
-&lt;/gbif:gbifResponse&gt;</xmlDocument>\r
-  <xpathExpression>/gbif:gbifResponse/gbif:header/gbif:summary/@next[1]</xpathExpression>\r
-  <xpathNamespaceMap>\r
-    <entry>\r
-      <string>tn</string>\r
-      <string>http://rs.tdwg.org/ontology/voc/TaxonName#</string>\r
-    </entry>\r
-    <entry>\r
-      <string>gbif</string>\r
-      <string>http://portal.gbif.org/ws/response/gbif</string>\r
-    </entry>\r
-    <entry>\r
-      <string>tc</string>\r
-      <string>http://rs.tdwg.org/ontology/voc/TaxonConcept#</string>\r
-    </entry>\r
-    <entry>\r
-      <string>rdf</string>\r
-      <string>http://www.w3.org/1999/02/22-rdf-syntax-ns#</string>\r
-    </entry>\r
-    <entry>\r
-      <string>xsi</string>\r
-      <string>http://www.w3.org/2001/XMLSchema-instance</string>\r
-    </entry>\r
-  </xpathNamespaceMap>\r
-</net.sf.taverna.t2.activities.xpath.XPathActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Loop</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.LoopConfiguration xmlns="">\r
-  <properties />\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.LoopConfiguration></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="xml_text" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>list_to_single_value</name><inputPorts><port><name>stringlist</name><depth>1</depth></port></inputPorts><outputPorts><port><name>value</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="stringlist" to="stringlist" /></inputMap><outputMap><map from="value" to="value" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
-  <inputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>stringlist</name>\r
-      <depth>1</depth>\r
-      <mimeTypes>\r
-        <string>l('text/plain')</string>\r
-      </mimeTypes>\r
-      <handledReferenceSchemes />\r
-      <translatedElementType>java.lang.String</translatedElementType>\r
-      <allowsLiteralValues>true</allowsLiteralValues>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-  </inputs>\r
-  <outputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>value</name>\r
-      <depth>0</depth>\r
-      <mimeTypes />\r
-      <granularDepth>0</granularDepth>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-  </outputs>\r
-  <classLoaderSharing>workflow</classLoaderSharing>\r
-  <localDependencies />\r
-  <artifactDependencies />\r
-  <script>String seperatorString = "\n";\r
-\r
-StringBuffer sb = new StringBuffer();\r
-for (Iterator i = stringlist.iterator(); i.hasNext();) {\r
-       String item = (String) i.next();\r
-       sb.append(item);\r
-       if (i.hasNext()) {\r
-               sb.append(seperatorString);\r
-       }\r
-}\r
-value = sb.toString();\r
-</script>\r
-  <dependencies />\r
-  <localworkerName>org.embl.ebi.escience.scuflworkers.java.StringListMerge</localworkerName>\r
-</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations><annotation_chain encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.HostInstitution">\r
-        <text>UserNameHere</text>\r
-      </annotationBean>\r
-      <date>2011-12-05 16:37:45.485 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain></annotations></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="stringlist" depth="1" /></cross></strategy></iteration></iterationStrategyStack></processor></processors><conditions /><datalinks><datalink><sink type="processor"><processor>Transform_XML</processor><port>xslFileURL</port></sink><source type="processor"><processor>gbifResponse_to_csv_xsl</processor><port>value</port></source></datalink><datalink><sink type="processor"><processor>Transform_XML</processor><port>inString</port></sink><source type="processor"><processor>gbifOccurrence</processor><port>responseBody</port></source></datalink><datalink><sink type="processor"><processor>gbifOccurrence</processor><port>format</port></sink><source type="processor"><processor>format_value</processor><port>value</port></source></datalink><datalink><sink type="processor"><processor>gbifOccurrence</processor><port>scientificname</port></sink><source type="dataflow"><port>sciName</port></source></datalink><datalink><sink type="processor"><processor>gbifOccurrence</processor><port>next</port></sink><source type="dataflow"><port>next</port></source></datalink><datalink><sink type="processor"><processor>next</processor><port>xml_text</port></sink><source type="processor"><processor>gbifOccurrence</processor><port>responseBody</port></source></datalink><datalink><sink type="processor"><processor>list_to_single_value</processor><port>stringlist</port></sink><source type="processor"><processor>next</processor><port>nodelist</port></source></datalink><datalink><sink type="dataflow"><port>next</port></sink><source type="processor"><processor>list_to_single_value</processor><port>value</port></source></datalink><datalink><sink type="dataflow"><port>max1000_csv_output</port></sink><source type="processor"><processor>Transform_XML</processor><port>outputStr</port></source></datalink></datalinks><annotations><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>88fdb5ec-112f-40ce-be72-3c9bf4d888b0</identification>\r
-      </annotationBean>\r
-      <date>2012-02-08 15:37:15.977 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>428913bf-040a-43f2-9500-bb904c8c5aa6</identification>\r
-      </annotationBean>\r
-      <date>2012-02-07 17:54:40.933 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>65d843f2-dc3a-45f3-a8b7-94138384a01a</identification>\r
-      </annotationBean>\r
-      <date>2012-02-07 18:14:49.842 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>0405ad51-49d4-499c-bba3-01dbac5fb318</identification>\r
-      </annotationBean>\r
-      <date>2012-02-07 17:37:21.427 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>801315c9-0a96-46b3-927b-b74e186f7ece</identification>\r
-      </annotationBean>\r
-      <date>2012-02-09 17:39:14.181 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>f653d906-88de-417d-bf3e-61ed29fd6733</identification>\r
-      </annotationBean>\r
-      <date>2012-02-07 18:09:00.574 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>124b440e-f7ef-445f-901b-b3d04ca3e2a7</identification>\r
-      </annotationBean>\r
-      <date>2012-03-02 16:39:23.274 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>3d7cc7af-f5a9-428f-a77d-2867c98c66a7</identification>\r
-      </annotationBean>\r
-      <date>2012-02-07 17:48:00.763 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow><dataflow id="7b1fa700-830f-4e0e-a100-1c3b33b9f677" role="nested"><name>Workflow9</name><inputPorts><port><name>jobID</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port></inputPorts><outputPorts><port><name>percent</name><annotations /></port><port><name>projectID</name><annotations /></port></outputPorts><processors><processor><name>Create_Project_Status_Service</name><inputPorts><port><name>jobID</name><depth>0</depth></port></inputPorts><outputPorts><port><name>responseBody</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>rest-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.rest.RESTActivity</class><inputMap><map from="jobID" to="jobID" /></inputMap><outputMap><map from="responseBody" to="responseBody" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean xmlns="">\r
-  <httpMethod>POST</httpMethod>\r
-  <urlSignature>http://127.0.0.1:3333/command/core/get-importing-job-status?jobID={jobID}</urlSignature>\r
-  <acceptsHeaderValue>application/json</acceptsHeaderValue>\r
-  <contentTypeForUpdates>application/xml</contentTypeForUpdates>\r
-  <outgoingDataFormat>String</outgoingDataFormat>\r
-  <sendHTTPExpectRequestHeader>false</sendHTTPExpectRequestHeader>\r
-  <showRedirectionOutputPort>false</showRedirectionOutputPort>\r
-  <escapeParameters>true</escapeParameters>\r
-  <otherHTTPHeaders />\r
-  <activityInputs>\r
-    <entry>\r
-      <string>jobID</string>\r
-      <java-class>java.lang.String</java-class>\r
-    </entry>\r
-  </activityInputs>\r
-</net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="jobID" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Parse_Project</name><inputPorts><port><name>jsonStr</name><depth>0</depth></port></inputPorts><outputPorts><port><name>percent</name><depth>0</depth><granularDepth>0</granularDepth></port><port><name>projectID</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="jsonStr" to="jsonStr" /></inputMap><outputMap><map from="projectID" to="projectID" /><map from="percent" to="percent" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
-  <inputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>jsonStr</name>\r
-      <depth>0</depth>\r
-      <mimeTypes>\r
-        <string>text/plain</string>\r
-      </mimeTypes>\r
-      <handledReferenceSchemes />\r
-      <translatedElementType>java.lang.String</translatedElementType>\r
-      <allowsLiteralValues>true</allowsLiteralValues>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-  </inputs>\r
-  <outputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>jsonErr</name>\r
-      <depth>0</depth>\r
-      <mimeTypes />\r
-      <granularDepth>0</granularDepth>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>projectID</name>\r
-      <depth>0</depth>\r
-      <mimeTypes />\r
-      <granularDepth>0</granularDepth>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>percent</name>\r
-      <depth>0</depth>\r
-      <mimeTypes />\r
-      <granularDepth>0</granularDepth>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-  </outputs>\r
-  <classLoaderSharing>workflow</classLoaderSharing>\r
-  <localDependencies>\r
-    <string>json-simple-1.1.1.jar</string>\r
-  </localDependencies>\r
-  <artifactDependencies />\r
-  <script>package org.bgbm.biovel.datacleaning.utils;\r
-\r
-import org.json.simple.parser.JSONParser;\r
-import org.json.simple.JSONArray;\r
-import org.json.simple.JSONObject;\r
-import org.json.simple.parser.ParseException;\r
-\r
-projectID = -1;\r
-percent = 0;\r
-JSONParser parser=new JSONParser();\r
-       try {  \r
-           Object obj=parser.parse(jsonStr);\r
-           JSONObject jobj=(JSONObject)obj;\r
-           JSONObject job = (JSONObject)jobj.get("job");\r
-           JSONObject config = (JSONObject)job.get("config");\r
-           JSONObject progress = (JSONObject)config.get("progress");\r
-           percent = progress.get("percent");\r
-           projectID = config.get("projectID");\r
-       } catch(ParseException pe) {\r
-           jsonErr = pe.getMessage();\r
-       }  \r
-\r
-    \r
-</script>\r
-  <dependencies />\r
-</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="jsonStr" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor></processors><conditions /><datalinks><datalink><sink type="processor"><processor>Create_Project_Status_Service</processor><port>jobID</port></sink><source type="dataflow"><port>jobID</port></source></datalink><datalink><sink type="processor"><processor>Parse_Project</processor><port>jsonStr</port></sink><source type="processor"><processor>Create_Project_Status_Service</processor><port>responseBody</port></source></datalink><datalink><sink type="dataflow"><port>percent</port></sink><source type="processor"><processor>Parse_Project</processor><port>percent</port></source></datalink><datalink><sink type="dataflow"><port>projectID</port></sink><source type="processor"><processor>Parse_Project</processor><port>projectID</port></source></datalink></datalinks><annotations><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>e1894c1f-5daf-48d9-9aa0-0432bc2e330b</identification>\r
-      </annotationBean>\r
-      <date>2012-03-08 17:35:06.427 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>62dc4167-612a-47f7-9daa-1cc5111355c9</identification>\r
-      </annotationBean>\r
-      <date>2012-03-08 17:34:26.153 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>5415b66c-0cdb-4425-b654-3347857519ef</identification>\r
-      </annotationBean>\r
-      <date>2012-03-08 17:25:55.318 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>7b1fa700-830f-4e0e-a100-1c3b33b9f677</identification>\r
-      </annotationBean>\r
-      <date>2012-03-08 17:36:57.329 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow><dataflow id="d18fe496-419c-4f13-9a5e-9ea550bc3a1e" role="nested"><name>Workflow11</name><inputPorts><port><name>synRequest</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port></inputPorts><outputPorts><port><name>synResponse</name><annotations /></port></outputPorts><processors><processor><name>COLRest_Service</name><inputPorts><port><name>sciName</name><depth>0</depth></port></inputPorts><outputPorts><port><name>responseBody</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>rest-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.rest.RESTActivity</class><inputMap><map from="sciName" to="sciName" /></inputMap><outputMap><map from="responseBody" to="responseBody" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean xmlns="">\r
-  <httpMethod>GET</httpMethod>\r
-  <urlSignature>http://www.catalogueoflife.org/webservice?response=full&amp;name={sciName}</urlSignature>\r
-  <acceptsHeaderValue>application/xml</acceptsHeaderValue>\r
-  <contentTypeForUpdates>application/xml</contentTypeForUpdates>\r
-  <outgoingDataFormat>String</outgoingDataFormat>\r
-  <sendHTTPExpectRequestHeader>false</sendHTTPExpectRequestHeader>\r
-  <showRedirectionOutputPort>false</showRedirectionOutputPort>\r
-  <escapeParameters>true</escapeParameters>\r
-  <otherHTTPHeaders />\r
-  <activityInputs>\r
-    <entry>\r
-      <string>sciName</string>\r
-      <java-class>java.lang.String</java-class>\r
-    </entry>\r
-  </activityInputs>\r
-</net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="sciName" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>name_status_xpath</name><inputPorts /><outputPorts><port><name>value</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>stringconstant-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.stringconstant.StringConstantActivity</class><inputMap /><outputMap><map from="value" to="value" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean xmlns="">\r
-  <value>/results/result[1]/name_status</value>\r
-</net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy /></iteration></iterationStrategyStack></processor><processor><name>NameStatusConditional</name><inputPorts><port><name>nameStatus</name><depth>0</depth></port></inputPorts><outputPorts><port><name>synpass_flags</name><depth>1</depth><granularDepth>1</granularDepth></port><port><name>synfail_flags</name><depth>1</depth><granularDepth>1</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="nameStatus" to="nameStatus" /></inputMap><outputMap><map from="synpass_flags" to="synpass_flags" /><map from="synfail_flags" to="synfail_flags" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
-  <inputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>nameStatus</name>\r
-      <depth>0</depth>\r
-      <mimeTypes>\r
-        <string>text/plain</string>\r
-      </mimeTypes>\r
-      <handledReferenceSchemes />\r
-      <translatedElementType>java.lang.String</translatedElementType>\r
-      <allowsLiteralValues>true</allowsLiteralValues>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-  </inputs>\r
-  <outputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>synpass_flags</name>\r
-      <depth>1</depth>\r
-      <mimeTypes />\r
-      <granularDepth>1</granularDepth>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>synfail_flags</name>\r
-      <depth>1</depth>\r
-      <mimeTypes />\r
-      <granularDepth>1</granularDepth>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-  </outputs>\r
-  <classLoaderSharing>workflow</classLoaderSharing>\r
-  <localDependencies />\r
-  <artifactDependencies />\r
-  <script>import java.util.ArrayList;\r
-\r
-ArrayList synpass_flags = new ArrayList();\r
-ArrayList synfail_flags = new ArrayList();\r
-\r
-if (nameStatus.equals("synonym")) {\r
-       synpass_flags.add(nameStatus);  \r
-} else {\r
-       synfail_flags.add(nameStatus);  \r
-}</script>\r
-  <dependencies />\r
-</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="nameStatus" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>if_synonym</name><inputPorts><port><name>nameStatus</name><depth>0</depth></port><port><name>synResponse</name><depth>0</depth></port></inputPorts><outputPorts><port><name>colResponse</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>dataflow-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.dataflow.DataflowActivity</class><inputMap><map from="nameStatus" to="nameStatus" /><map from="synResponse" to="synResponse" /></inputMap><outputMap><map from="colResponse" to="colResponse" /></outputMap><configBean encoding="dataflow"><dataflow ref="12806644-8a59-4917-a0bf-a32566bfe2ff" /></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="nameStatus" depth="0" /><port name="synResponse" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>if_not_synonym</name><inputPorts><port><name>nameStatus</name><depth>0</depth></port><port><name>colResponseIN</name><depth>0</depth></port></inputPorts><outputPorts><port><name>colResponse</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>dataflow-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.dataflow.DataflowActivity</class><inputMap><map from="colResponseIN" to="colResponseIN" /><map from="nameStatus" to="nameStatus" /></inputMap><outputMap><map from="colResponse" to="colResponse" /></outputMap><configBean encoding="dataflow"><dataflow ref="89482956-6a9c-4300-ace2-d8cebb2c4750" /></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="nameStatus" depth="0" /><port name="colResponseIN" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Merge_String_List_to_a_String</name><inputPorts><port><name>stringlist</name><depth>1</depth></port></inputPorts><outputPorts><port><name>concatenated</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="stringlist" to="stringlist" /></inputMap><outputMap><map from="concatenated" to="concatenated" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
-  <inputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>stringlist</name>\r
-      <depth>1</depth>\r
-      <mimeTypes>\r
-        <string>l('text/plain')</string>\r
-      </mimeTypes>\r
-      <handledReferenceSchemes />\r
-      <translatedElementType>java.lang.String</translatedElementType>\r
-      <allowsLiteralValues>true</allowsLiteralValues>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>seperator</name>\r
-      <depth>0</depth>\r
-      <mimeTypes>\r
-        <string>'text/plain'</string>\r
-      </mimeTypes>\r
-      <handledReferenceSchemes />\r
-      <translatedElementType>java.lang.String</translatedElementType>\r
-      <allowsLiteralValues>true</allowsLiteralValues>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-  </inputs>\r
-  <outputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>concatenated</name>\r
-      <depth>0</depth>\r
-      <mimeTypes>\r
-        <string>'text/plain'</string>\r
-      </mimeTypes>\r
-      <granularDepth>0</granularDepth>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-  </outputs>\r
-  <classLoaderSharing>workflow</classLoaderSharing>\r
-  <localDependencies />\r
-  <artifactDependencies />\r
-  <script>String seperatorString = "\n";\r
-if (seperator != void) {\r
-       seperatorString = seperator;\r
-}\r
-StringBuffer sb = new StringBuffer();\r
-for (Iterator i = stringlist.iterator(); i.hasNext();) {\r
-       String item = (String) i.next();\r
-       sb.append(item);\r
-       if (i.hasNext()) {\r
-               sb.append(seperatorString);\r
-       }\r
-}\r
-concatenated = sb.toString();\r
-</script>\r
-  <dependencies />\r
-  <localworkerName>org.embl.ebi.escience.scuflworkers.java.StringListMerge</localworkerName>\r
-</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="stringlist" depth="1" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Flatten_List</name><inputPorts><port><name>inputlist</name><depth>2</depth></port></inputPorts><outputPorts><port><name>outputlist</name><depth>1</depth><granularDepth>1</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="inputlist" to="inputlist" /></inputMap><outputMap><map from="outputlist" to="outputlist" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
-  <inputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>inputlist</name>\r
-      <depth>2</depth>\r
-      <mimeTypes>\r
-        <string>l(l(''))</string>\r
-      </mimeTypes>\r
-      <handledReferenceSchemes />\r
-      <translatedElementType>[B</translatedElementType>\r
-      <allowsLiteralValues>true</allowsLiteralValues>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-  </inputs>\r
-  <outputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>outputlist</name>\r
-      <depth>1</depth>\r
-      <mimeTypes>\r
-        <string>l('')</string>\r
-      </mimeTypes>\r
-      <granularDepth>1</granularDepth>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-  </outputs>\r
-  <classLoaderSharing>workflow</classLoaderSharing>\r
-  <localDependencies />\r
-  <artifactDependencies />\r
-  <script>flatten(inputs, outputs, depth) {\r
-       for (i = inputs.iterator(); i.hasNext();) {\r
-           element = i.next();\r
-               if (element instanceof Collection &amp;&amp; depth &gt; 0) {\r
-                       flatten(element, outputs, depth - 1);\r
-               } else {\r
-                       outputs.add(element);\r
-               }\r
-       }\r
-}\r
-\r
-outputlist = new ArrayList();\r
-\r
-flatten(inputlist, outputlist, 1);</script>\r
-  <dependencies />\r
-  <localworkerName>org.embl.ebi.escience.scuflworkers.java.FlattenList</localworkerName>\r
-</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="inputlist" depth="2" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>colRes_to_SynRes_xsl</name><inputPorts /><outputPorts><port><name>value</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>stringconstant-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.stringconstant.StringConstantActivity</class><inputMap /><outputMap><map from="value" to="value" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean xmlns="">\r
-  <value>http://www.myexperiment.org/files/697/download/colres_to_synres.xsl</value>\r
-</net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy /></iteration></iterationStrategyStack></processor><processor><name>Transform_XML_with_parameters</name><inputPorts><port><name>xsltString</name><depth>0</depth></port><port><name>sourceString</name><depth>0</depth></port><port><name>paramList</name><depth>1</depth></port></inputPorts><outputPorts><port><name>outputString</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="xsltString" to="xsltString" /><map from="paramList" to="paramList" /><map from="sourceString" to="sourceString" /></inputMap><outputMap><map from="outputString" to="outputString" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
-  <inputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>sourceString</name>\r
-      <depth>0</depth>\r
-      <mimeTypes>\r
-        <string>text/plain</string>\r
-      </mimeTypes>\r
-      <handledReferenceSchemes />\r
-      <translatedElementType>java.lang.String</translatedElementType>\r
-      <allowsLiteralValues>true</allowsLiteralValues>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>xsltString</name>\r
-      <depth>0</depth>\r
-      <mimeTypes>\r
-        <string>text/plain</string>\r
-      </mimeTypes>\r
-      <handledReferenceSchemes />\r
-      <translatedElementType>java.lang.String</translatedElementType>\r
-      <allowsLiteralValues>true</allowsLiteralValues>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>paramList</name>\r
-      <depth>1</depth>\r
-      <mimeTypes>\r
-        <string>text/plain</string>\r
-      </mimeTypes>\r
-      <handledReferenceSchemes />\r
-      <translatedElementType>java.lang.String</translatedElementType>\r
-      <allowsLiteralValues>true</allowsLiteralValues>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-  </inputs>\r
-  <outputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>outputString</name>\r
-      <depth>0</depth>\r
-      <mimeTypes />\r
-      <granularDepth>0</granularDepth>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-  </outputs>\r
-  <classLoaderSharing>workflow</classLoaderSharing>\r
-  <localDependencies />\r
-  <artifactDependencies />\r
-  <script>//From a proposal by Mikolaj Rybinski\r
-import javax.xml.transform.Source;\r
-import javax.xml.transform.Transformer;\r
-import javax.xml.transform.TransformerFactory;\r
-import javax.xml.transform.stream.StreamResult;\r
-import javax.xml.transform.stream.StreamSource;\r
-\r
-param(paramstr) {\r
-    nameAndValue = paramstr.split("=");\r
-    if (nameAndValue.length != 2) {\r
-        throw new RuntimeException("Wrong parameter format: \"" + paramstr + "\".");\r
-    }\r
-    name = nameAndValue[0].trim();\r
-    value = nameAndValue[1].trim();\r
-    return this;\r
-}\r
-\r
-if ((sourceString == void) || (sourceString == null)) {\r
-        throw new RuntimeException("sourceString must be specified");\r
-}\r
-\r
-if ((xsltString == void) || (xsltString == null)) {\r
-        throw new RuntimeException("xsltString must be specified");\r
-}\r
-\r
-Source inSource = new StreamSource(new StringReader(sourceString));\r
-Source xslSource = new StreamSource(new StringReader(xsltString));\r
-\r
-// the factory pattern supports different XSLT processors\r
-// e.g. set the "javax.xml.transform.TransformerFactory" system property\r
-TransformerFactory tnfFact = TransformerFactory.newInstance();\r
-Transformer tnf = tnfFact.newTransformer(xslSource);\r
-\r
-if (paramList != void) {\r
-  for (String paramstr : paramList) {\r
-    p = param(paramstr);\r
-    tnf.setParameter(p.name, p.value);\r
-  }\r
-}\r
-\r
-Writer outputWriter = new StringWriter();\r
-tnf.transform(inSource, new StreamResult(outputWriter));\r
-outputString = outputWriter.toString();</script>\r
-  <dependencies />\r
-  <localworkerName>net.sourceforge.taverna.scuflworkers.xml.XSLTWorkerWithParameters</localworkerName>\r
-</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="xsltString" depth="0" /><port name="sourceString" depth="0" /><port name="paramList" depth="1" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Read_Text_File_2</name><inputPorts><port><name>fileurl</name><depth>0</depth></port></inputPorts><outputPorts><port><name>filecontents</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="fileurl" to="fileurl" /></inputMap><outputMap><map from="filecontents" to="filecontents" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
-  <inputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>fileurl</name>\r
-      <depth>0</depth>\r
-      <mimeTypes>\r
-        <string>'text/plain'</string>\r
-      </mimeTypes>\r
-      <handledReferenceSchemes />\r
-      <translatedElementType>java.lang.String</translatedElementType>\r
-      <allowsLiteralValues>true</allowsLiteralValues>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>encoding</name>\r
-      <depth>0</depth>\r
-      <mimeTypes>\r
-        <string>'text/plain'</string>\r
-      </mimeTypes>\r
-      <handledReferenceSchemes />\r
-      <translatedElementType>java.lang.String</translatedElementType>\r
-      <allowsLiteralValues>true</allowsLiteralValues>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-  </inputs>\r
-  <outputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>filecontents</name>\r
-      <depth>0</depth>\r
-      <mimeTypes>\r
-        <string>'text/plain'</string>\r
-      </mimeTypes>\r
-      <granularDepth>0</granularDepth>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-  </outputs>\r
-  <classLoaderSharing>workflow</classLoaderSharing>\r
-  <localDependencies />\r
-  <artifactDependencies />\r
-  <script>BufferedReader getReader (String fileUrl, String encoding) throws IOException {\r
-               InputStreamReader reader;\r
-               try {\r
-                       if (encoding == null) {\r
-                               reader = new FileReader(fileUrl);\r
-                       } else {\r
-                               reader = new InputStreamReader(new FileInputStream(fileUrl),encoding); \r
-                       }\r
-               }\r
-               catch (FileNotFoundException e) {\r
-                       // try a real URL instead\r
-                       URL url = new URL(fileUrl);\r
-                       if (encoding == null) {\r
-                               reader = new InputStreamReader (url.openStream());\r
-                       } else {\r
-                               reader = new InputStreamReader (url.openStream(), encoding);\r
-                       }\r
-               }\r
-               return new BufferedReader(reader);\r
-       }\r
-\r
-\r
-\r
-StringBuffer sb = new StringBuffer(4000);\r
-\r
-if (encoding == void) {\r
-       encoding = null;\r
-}\r
-\r
-BufferedReader in = getReader(fileurl, encoding);\r
-String str;\r
-String lineEnding = System.getProperty("line.separator");\r
-\r
-while ((str = in.readLine()) != null) {\r
-       sb.append(str);\r
-       sb.append(lineEnding);\r
-}\r
-in.close();\r
-filecontents = sb.toString();\r
-  \r
-</script>\r
-  <dependencies />\r
-  <localworkerName>net.sourceforge.taverna.scuflworkers.io.TextFileReader</localworkerName>\r
-</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="fileurl" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>CreateID</name><inputPorts><port><name>name</name><depth>0</depth></port></inputPorts><outputPorts><port><name>id_param</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="name" to="name" /></inputMap><outputMap><map from="id_param" to="id_param" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
-  <inputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>name</name>\r
-      <depth>0</depth>\r
-      <mimeTypes>\r
-        <string>text/plain</string>\r
-      </mimeTypes>\r
-      <handledReferenceSchemes />\r
-      <translatedElementType>java.lang.String</translatedElementType>\r
-      <allowsLiteralValues>true</allowsLiteralValues>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-  </inputs>\r
-  <outputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>id_param</name>\r
-      <depth>0</depth>\r
-      <mimeTypes />\r
-      <granularDepth>0</granularDepth>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-  </outputs>\r
-  <classLoaderSharing>workflow</classLoaderSharing>\r
-  <localDependencies />\r
-  <artifactDependencies />\r
-  <script>\r
-id_param = "syncheckid=" + name</script>\r
-  <dependencies />\r
-</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="name" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Transform_XML_2</name><inputPorts><port><name>xslFileURL</name><depth>0</depth></port><port><name>inString</name><depth>0</depth></port></inputPorts><outputPorts><port><name>outputStr</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="inString" to="inString" /><map from="xslFileURL" to="xslFileURL" /></inputMap><outputMap><map from="outputStr" to="outputStr" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
-  <inputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>xslFileURL</name>\r
-      <depth>0</depth>\r
-      <mimeTypes>\r
-        <string>'text/plain'</string>\r
-      </mimeTypes>\r
-      <handledReferenceSchemes />\r
-      <translatedElementType>java.lang.String</translatedElementType>\r
-      <allowsLiteralValues>true</allowsLiteralValues>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>outFileURL</name>\r
-      <depth>0</depth>\r
-      <mimeTypes>\r
-        <string>'text/plain'</string>\r
-      </mimeTypes>\r
-      <handledReferenceSchemes />\r
-      <translatedElementType>java.lang.String</translatedElementType>\r
-      <allowsLiteralValues>true</allowsLiteralValues>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>inString</name>\r
-      <depth>0</depth>\r
-      <mimeTypes>\r
-        <string>'text/plain'</string>\r
-      </mimeTypes>\r
-      <handledReferenceSchemes />\r
-      <translatedElementType>java.lang.String</translatedElementType>\r
-      <allowsLiteralValues>true</allowsLiteralValues>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>outputExt</name>\r
-      <depth>0</depth>\r
-      <mimeTypes>\r
-        <string>'text/plain'</string>\r
-      </mimeTypes>\r
-      <handledReferenceSchemes />\r
-      <translatedElementType>java.lang.String</translatedElementType>\r
-      <allowsLiteralValues>true</allowsLiteralValues>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-  </inputs>\r
-  <outputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>outputStr</name>\r
-      <depth>0</depth>\r
-      <mimeTypes />\r
-      <granularDepth>0</granularDepth>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-  </outputs>\r
-  <classLoaderSharing>workflow</classLoaderSharing>\r
-  <localDependencies />\r
-  <artifactDependencies />\r
-  <script>import java.io.BufferedReader;\r
-import java.io.BufferedWriter;\r
-import java.io.FileInputStream;\r
-import java.io.FileNotFoundException;\r
-import java.io.FileReader;\r
-import java.io.FileWriter;\r
-import java.io.IOException;\r
-import java.io.InputStreamReader;\r
-import java.io.OutputStreamWriter;\r
-import java.io.StringWriter;\r
-import java.io.Writer;\r
-import java.net.URL;\r
-import java.util.HashMap;\r
-import java.util.Map;\r
-\r
-import javax.xml.transform.Result;\r
-import javax.xml.transform.Source;\r
-import javax.xml.transform.SourceLocator;\r
-import javax.xml.transform.Templates;\r
-import javax.xml.transform.Transformer;\r
-import javax.xml.transform.TransformerConfigurationException;\r
-import javax.xml.transform.TransformerException;\r
-import javax.xml.transform.TransformerFactory;\r
-import javax.xml.transform.stream.StreamResult;\r
-import javax.xml.transform.stream.StreamSource;\r
-\r
-BufferedReader getReader (String fileUrl) throws IOException {\r
-               InputStreamReader reader;\r
-               try {\r
-                       reader = new FileReader(fileUrl);\r
-               }\r
-               catch (FileNotFoundException e) {\r
-                       // try a real URL instead\r
-                       URL url = new URL(fileUrl);\r
-                       reader = new InputStreamReader (url.openStream());\r
-               }\r
-               return new BufferedReader(reader);\r
-       }\r
-       \r
-BufferedWriter getWriter (String fileUrl) throws IOException {\r
-               Writer writer;\r
-               try {\r
-                       writer = new FileWriter(fileUrl);\r
-               }\r
-               catch (FileNotFoundException e) {\r
-                       // try a real URL instead\r
-                       URL url = new URL(fileUrl);\r
-                       writer = new OutputStreamWriter (url.openConnection().getOutputStream());\r
-               }\r
-               return new BufferedWriter(writer);\r
-       }\r
-       \r
-String xslFilename = xslFileURL;\r
-\r
-\r
-\r
-// Create transformer factory\r
-TransformerFactory factory = TransformerFactory.newInstance();\r
-\r
-// Use the factory to create a template containing the xsl file\r
-Templates template = factory.newTemplates(new StreamSource(getReader(xslFilename)));\r
-\r
-// Use the template to create a transformer\r
-Transformer xformer = template.newTransformer();\r
-\r
-// Prepare the input and output files\r
-Reader sourceReader = new StringReader(inString);\r
-Source source = new StreamSource(sourceReader);\r
-StringWriter resultStr = new StringWriter();\r
-Result result = new StreamResult(resultStr);\r
-\r
-// Apply the xsl file to the source file and write the result to the\r
-// output file\r
-xformer.transform(source, result);\r
-outputStr = resultStr.toString();\r
-sourceReader.close();\r
-</script>\r
-  <dependencies />\r
-  <localworkerName>net.sourceforge.taverna.scuflworkers.xml.XSLTWorker</localworkerName>\r
-</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations><annotation_chain encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.HostInstitution">\r
-        <text>UserNameHere</text>\r
-      </annotationBean>\r
-      <date>2012-01-24 15:55:03.158 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain></annotations></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="xslFileURL" depth="0" /><port name="inString" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>synReq_to_colReq_xsl</name><inputPorts /><outputPorts><port><name>value</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>stringconstant-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.stringconstant.StringConstantActivity</class><inputMap /><outputMap><map from="value" to="value" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean xmlns="">\r
-  <value>http://www.myexperiment.org/files/690/download/synreq_to_colreq.xsl</value>\r
-</net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy /></iteration></iterationStrategyStack></processor><processor><name>FirstElement_From_XPath</name><inputPorts><port><name>xmltext</name><depth>0</depth></port><port><name>xpath</name><depth>0</depth></port></inputPorts><outputPorts><port><name>nodeVal</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="xmltext" to="xmltext" /><map from="xpath" to="xpath" /></inputMap><outputMap><map from="nodeVal" to="nodeVal" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
-  <inputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>xpath</name>\r
-      <depth>0</depth>\r
-      <mimeTypes>\r
-        <string>text/plain</string>\r
-      </mimeTypes>\r
-      <handledReferenceSchemes />\r
-      <translatedElementType>java.lang.String</translatedElementType>\r
-      <allowsLiteralValues>true</allowsLiteralValues>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>xmltext</name>\r
-      <depth>0</depth>\r
-      <mimeTypes>\r
-        <string>text/plain</string>\r
-      </mimeTypes>\r
-      <handledReferenceSchemes />\r
-      <translatedElementType>java.lang.String</translatedElementType>\r
-      <allowsLiteralValues>true</allowsLiteralValues>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-  </inputs>\r
-  <outputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>nodeVal</name>\r
-      <depth>0</depth>\r
-      <mimeTypes />\r
-      <granularDepth>0</granularDepth>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-  </outputs>\r
-  <classLoaderSharing>workflow</classLoaderSharing>\r
-  <localDependencies />\r
-  <artifactDependencies />\r
-  <script>import org.dom4j.Document;\r
-import org.dom4j.Node;\r
-import org.dom4j.io.SAXReader;\r
-\r
-SAXReader reader = new SAXReader(false);\r
-reader.setIncludeInternalDTDDeclarations(false);\r
-reader.setIncludeExternalDTDDeclarations(false);\r
-\r
-Document document = reader.read(new StringReader(xmltext));\r
-List nodelist = document.selectNodes(xpath);\r
-\r
-// Process the elements in the nodelist\r
-ArrayList outputList = new ArrayList();\r
-ArrayList outputXmlList = new ArrayList();\r
-\r
-String val = "";\r
-String xmlVal = "";\r
-for (Iterator iter = nodelist.iterator(); iter.hasNext();) {\r
-       Node element = (Node) iter.next();\r
-       xmlVal = element.asXML();\r
-       val = element.getStringValue();\r
-       if (val != null &amp;&amp; !val.equals("")) {\r
-               outputList.add(val);\r
-               outputXmlList.add(xmlVal);\r
-       }\r
-break;\r
-}\r
-\r
-//List nodelist=outputList;\r
-nodeVal = val;\r
-</script>\r
-  <dependencies />\r
-</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="xmltext" depth="0" /><port name="xpath" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor></processors><conditions /><datalinks><datalink><sink type="processor"><processor>COLRest_Service</processor><port>sciName</port></sink><source type="processor"><processor>Transform_XML_2</processor><port>outputStr</port></source></datalink><datalink><sink type="processor"><processor>NameStatusConditional</processor><port>nameStatus</port></sink><source type="processor"><processor>FirstElement_From_XPath</processor><port>nodeVal</port></source></datalink><datalink><sink type="processor"><processor>if_synonym</processor><port>nameStatus</port></sink><source type="processor"><processor>NameStatusConditional</processor><port>synpass_flags</port></source></datalink><datalink><sink type="processor"><processor>if_synonym</processor><port>synResponse</port></sink><source type="processor"><processor>COLRest_Service</processor><port>responseBody</port></source></datalink><datalink><sink type="processor"><processor>if_not_synonym</processor><port>nameStatus</port></sink><source type="processor"><processor>NameStatusConditional</processor><port>synfail_flags</port></source></datalink><datalink><sink type="processor"><processor>if_not_synonym</processor><port>colResponseIN</port></sink><source type="processor"><processor>COLRest_Service</processor><port>responseBody</port></source></datalink><datalink><sink type="processor"><processor>Merge_String_List_to_a_String</processor><port>stringlist</port></sink><source type="processor"><processor>Flatten_List</processor><port>outputlist</port></source></datalink><datalink><sink type="processor"><processor>Transform_XML_with_parameters</processor><port>xsltString</port></sink><source type="processor"><processor>Read_Text_File_2</processor><port>filecontents</port></source></datalink><datalink><sink type="processor"><processor>Transform_XML_with_parameters</processor><port>sourceString</port></sink><source type="processor"><processor>Merge_String_List_to_a_String</processor><port>concatenated</port></source></datalink><datalink><sink type="processor"><processor>Transform_XML_with_parameters</processor><port>paramList</port></sink><source type="processor"><processor>CreateID</processor><port>id_param</port></source></datalink><datalink><sink type="processor"><processor>Read_Text_File_2</processor><port>fileurl</port></sink><source type="processor"><processor>colRes_to_SynRes_xsl</processor><port>value</port></source></datalink><datalink><sink type="processor"><processor>CreateID</processor><port>name</port></sink><source type="processor"><processor>Transform_XML_2</processor><port>outputStr</port></source></datalink><datalink><sink type="processor"><processor>Transform_XML_2</processor><port>xslFileURL</port></sink><source type="processor"><processor>synReq_to_colReq_xsl</processor><port>value</port></source></datalink><datalink><sink type="processor"><processor>Transform_XML_2</processor><port>inString</port></sink><source type="dataflow"><port>synRequest</port></source></datalink><datalink><sink type="processor"><processor>FirstElement_From_XPath</processor><port>xmltext</port></sink><source type="processor"><processor>COLRest_Service</processor><port>responseBody</port></source></datalink><datalink><sink type="processor"><processor>FirstElement_From_XPath</processor><port>xpath</port></sink><source type="processor"><processor>name_status_xpath</processor><port>value</port></source></datalink><datalink><sink type="merge"><processor>Flatten_List</processor><port>inputlist</port></sink><source type="processor"><processor>if_not_synonym</processor><port>colResponse</port></source></datalink><datalink><sink type="merge"><processor>Flatten_List</processor><port>inputlist</port></sink><source type="processor"><processor>if_synonym</processor><port>colResponse</port></source></datalink><datalink><sink type="dataflow"><port>synResponse</port></sink><source type="processor"><processor>Transform_XML_with_parameters</processor><port>outputString</port></source></datalink></datalinks><annotations><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>1bae1054-0ea5-436e-bc01-c2c8838ba066</identification>\r
-      </annotationBean>\r
-      <date>2012-01-23 15:47:21.97 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>850e16e9-453e-416e-a7b1-ced1da71519f</identification>\r
-      </annotationBean>\r
-      <date>2012-01-23 15:12:06.888 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>7e933e2c-4286-4303-a56e-4cea981e3195</identification>\r
-      </annotationBean>\r
-      <date>2012-01-27 15:45:49.310 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>654ddd4b-3aee-4576-8bf7-939c9d470b9d</identification>\r
-      </annotationBean>\r
-      <date>2012-01-23 15:14:53.241 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>4f5b0cf0-f3e4-4a48-b3bc-4d3d6770a4c3</identification>\r
-      </annotationBean>\r
-      <date>2012-01-25 17:19:33.836 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>f88ebd38-9ab7-4f03-ab29-75fe55ee240a</identification>\r
-      </annotationBean>\r
-      <date>2012-02-14 17:10:41.962 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>2023d475-cce4-4812-bf43-fffa5fecf9cb</identification>\r
-      </annotationBean>\r
-      <date>2012-02-14 13:54:46.413 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>d6cabd36-4763-4a7c-bd19-afb1547696b9</identification>\r
-      </annotationBean>\r
-      <date>2012-01-25 16:08:29.517 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>9f2c7ca2-e117-46e8-8d95-d5a9f8219570</identification>\r
-      </annotationBean>\r
-      <date>2012-01-23 14:57:41.971 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>65b317eb-1a04-45d0-afc4-196506a33934</identification>\r
-      </annotationBean>\r
-      <date>2012-02-13 13:36:08.651 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>56c300cd-9209-44ef-9874-3efa78d77df3</identification>\r
-      </annotationBean>\r
-      <date>2012-02-10 12:41:11.317 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>7614477b-fc8e-4262-be98-03a72347ecd1</identification>\r
-      </annotationBean>\r
-      <date>2012-01-24 14:02:21.343 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>e376fad1-bf30-4908-b97b-894900c25efa</identification>\r
-      </annotationBean>\r
-      <date>2012-01-23 15:03:45.120 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>08117860-fcd2-4342-b938-efe94165feb0</identification>\r
-      </annotationBean>\r
-      <date>2012-01-24 13:53:17.262 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>eb74b582-81c7-4049-8ab5-43b3ec96b920</identification>\r
-      </annotationBean>\r
-      <date>2012-01-24 14:32:42.660 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>b7e9c698-3b8f-418e-b732-c02b07b2d8dc</identification>\r
-      </annotationBean>\r
-      <date>2012-02-14 13:50:23.444 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>54039e3d-8d1c-4a40-a818-9cd8bcbf64b7</identification>\r
-      </annotationBean>\r
-      <date>2012-01-23 15:05:53.745 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>20cf832b-88c5-4214-ac8b-cd46f8159b7d</identification>\r
-      </annotationBean>\r
-      <date>2012-01-23 15:08:03.570 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>c07ee8d5-7314-45dc-a7b9-f136f9762905</identification>\r
-      </annotationBean>\r
-      <date>2012-01-24 14:25:37.176 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>d18fe496-419c-4f13-9a5e-9ea550bc3a1e</identification>\r
-      </annotationBean>\r
-      <date>2012-02-23 17:14:42.676 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>6ad09a10-0f7c-43c2-b807-ebf6c0fd776e</identification>\r
-      </annotationBean>\r
-      <date>2012-01-23 15:14:07.562 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>c273ba6e-577c-4078-a967-8bc0a6ce0ccb</identification>\r
-      </annotationBean>\r
-      <date>2012-02-23 16:20:00.241 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>3a9f1b0b-5d5a-45a0-b134-d5dafc51ea40</identification>\r
-      </annotationBean>\r
-      <date>2012-01-24 14:17:11.136 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>2bcaf5f3-a086-4ab8-bfe6-4e7640a6ce45</identification>\r
-      </annotationBean>\r
-      <date>2012-01-23 15:10:26.350 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>7d54ce42-e540-4c40-b7f1-2209c6638804</identification>\r
-      </annotationBean>\r
-      <date>2012-02-10 12:40:38.13 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>3f6fdae5-1039-4d5d-b016-09a7d0b7808f</identification>\r
-      </annotationBean>\r
-      <date>2012-02-10 16:33:33.703 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>3ab53f67-d243-4e40-8627-83028ef002df</identification>\r
-      </annotationBean>\r
-      <date>2012-02-10 12:44:20.333 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>13e365c6-a1f5-4e3a-99a4-d39a147367c7</identification>\r
-      </annotationBean>\r
-      <date>2012-01-23 15:39:42.940 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>a58dbeb8-48e1-4b31-a1ea-57761cb4f712</identification>\r
-      </annotationBean>\r
-      <date>2012-01-25 17:22:12.481 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>a0866021-3699-4383-b41c-6b8d0866305e</identification>\r
-      </annotationBean>\r
-      <date>2012-01-23 15:01:00.405 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>907a23a5-7ea9-4901-8103-68bb6a45044e</identification>\r
-      </annotationBean>\r
-      <date>2012-02-13 13:36:37.936 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow><dataflow id="12806644-8a59-4917-a0bf-a32566bfe2ff" role="nested"><name>Workflow1</name><inputPorts><port><name>synResponse</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port><port><name>nameStatus</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port></inputPorts><outputPorts><port><name>colResponse</name><annotations /></port></outputPorts><processors><processor><name>COLSynCheck_REST</name><inputPorts><port><name>sciId</name><depth>0</depth></port></inputPorts><outputPorts><port><name>responseBody</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>rest-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.rest.RESTActivity</class><inputMap><map from="sciId" to="sciId" /></inputMap><outputMap><map from="responseBody" to="responseBody" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean xmlns="">\r
-  <httpMethod>GET</httpMethod>\r
-  <urlSignature>http://www.catalogueoflife.org/webservice?response=full&amp;id={sciId}</urlSignature>\r
-  <acceptsHeaderValue>application/xml</acceptsHeaderValue>\r
-  <contentTypeForUpdates>application/xml</contentTypeForUpdates>\r
-  <outgoingDataFormat>String</outgoingDataFormat>\r
-  <sendHTTPExpectRequestHeader>false</sendHTTPExpectRequestHeader>\r
-  <showRedirectionOutputPort>false</showRedirectionOutputPort>\r
-  <escapeParameters>true</escapeParameters>\r
-  <otherHTTPHeaders />\r
-  <activityInputs>\r
-    <entry>\r
-      <string>sciId</string>\r
-      <java-class>java.lang.String</java-class>\r
-    </entry>\r
-  </activityInputs>\r
-</net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="sciId" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>taxon_id_xpath</name><inputPorts /><outputPorts><port><name>value</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>stringconstant-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.stringconstant.StringConstantActivity</class><inputMap /><outputMap><map from="value" to="value" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean xmlns="">\r
-  <value>/results/result[1]/sn_id</value>\r
-</net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy /></iteration></iterationStrategyStack></processor><processor><name>FirstElement_From_XPath</name><inputPorts><port><name>xmltext</name><depth>0</depth></port><port><name>xpath</name><depth>0</depth></port></inputPorts><outputPorts><port><name>nodeVal</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="xmltext" to="xmltext" /><map from="xpath" to="xpath" /></inputMap><outputMap><map from="nodeVal" to="nodeVal" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
-  <inputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>xpath</name>\r
-      <depth>0</depth>\r
-      <mimeTypes>\r
-        <string>text/plain</string>\r
-      </mimeTypes>\r
-      <handledReferenceSchemes />\r
-      <translatedElementType>java.lang.String</translatedElementType>\r
-      <allowsLiteralValues>true</allowsLiteralValues>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>xmltext</name>\r
-      <depth>0</depth>\r
-      <mimeTypes>\r
-        <string>text/plain</string>\r
-      </mimeTypes>\r
-      <handledReferenceSchemes />\r
-      <translatedElementType>java.lang.String</translatedElementType>\r
-      <allowsLiteralValues>true</allowsLiteralValues>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-  </inputs>\r
-  <outputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>nodeVal</name>\r
-      <depth>0</depth>\r
-      <mimeTypes />\r
-      <granularDepth>0</granularDepth>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-  </outputs>\r
-  <classLoaderSharing>workflow</classLoaderSharing>\r
-  <localDependencies />\r
-  <artifactDependencies />\r
-  <script>import org.dom4j.Document;\r
-import org.dom4j.Node;\r
-import org.dom4j.io.SAXReader;\r
-\r
-SAXReader reader = new SAXReader(false);\r
-reader.setIncludeInternalDTDDeclarations(false);\r
-reader.setIncludeExternalDTDDeclarations(false);\r
-\r
-Document document = reader.read(new StringReader(xmltext));\r
-List nodelist = document.selectNodes(xpath);\r
-\r
-// Process the elements in the nodelist\r
-ArrayList outputList = new ArrayList();\r
-ArrayList outputXmlList = new ArrayList();\r
-\r
-String val = null;\r
-String xmlVal = null;\r
-for (Iterator iter = nodelist.iterator(); iter.hasNext();) {\r
-       Node element = (Node) iter.next();\r
-       xmlVal = element.asXML();\r
-       val = element.getStringValue();\r
-       if (val != null &amp;&amp; !val.equals("")) {\r
-               outputList.add(val);\r
-               outputXmlList.add(xmlVal);\r
-       }\r
-break;\r
-}\r
-\r
-//List nodelist=outputList;\r
-nodeVal = val;\r
-</script>\r
-  <dependencies />\r
-</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="xmltext" depth="0" /><port name="xpath" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor></processors><conditions /><datalinks><datalink><sink type="processor"><processor>COLSynCheck_REST</processor><port>sciId</port></sink><source type="processor"><processor>FirstElement_From_XPath</processor><port>nodeVal</port></source></datalink><datalink><sink type="processor"><processor>FirstElement_From_XPath</processor><port>xmltext</port></sink><source type="dataflow"><port>synResponse</port></source></datalink><datalink><sink type="processor"><processor>FirstElement_From_XPath</processor><port>xpath</port></sink><source type="processor"><processor>taxon_id_xpath</processor><port>value</port></source></datalink><datalink><sink type="dataflow"><port>colResponse</port></sink><source type="processor"><processor>COLSynCheck_REST</processor><port>responseBody</port></source></datalink></datalinks><annotations><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>09763558-ce78-4cf7-bde5-1a202ba7953c</identification>\r
-      </annotationBean>\r
-      <date>2012-01-23 17:47:09.64 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>6be0b511-0710-45a1-a809-31681f072659</identification>\r
-      </annotationBean>\r
-      <date>2012-01-23 17:30:31.962 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>0bc37d95-ca84-4270-9a68-a33a6563caa4</identification>\r
-      </annotationBean>\r
-      <date>2012-01-23 17:32:43.771 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>9b2ea773-b806-4c88-9dd8-8d952d8a0755</identification>\r
-      </annotationBean>\r
-      <date>2012-01-24 14:32:22.796 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>12806644-8a59-4917-a0bf-a32566bfe2ff</identification>\r
-      </annotationBean>\r
-      <date>2012-02-10 12:40:34.784 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>ca3ec15d-1ea5-4bf2-a81f-136065d1d38b</identification>\r
-      </annotationBean>\r
-      <date>2012-01-23 17:48:54.281 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>8eb05b48-f79d-4448-80a7-d45520247aee</identification>\r
-      </annotationBean>\r
-      <date>2012-01-24 14:00:38.765 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>75f5a83c-3008-466a-ad20-33e95ba9ff15</identification>\r
-      </annotationBean>\r
-      <date>2012-01-23 17:38:12.894 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>91226a57-267d-49c5-adc4-fab3dda2880a</identification>\r
-      </annotationBean>\r
-      <date>2012-01-23 18:00:29.942 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>3114c079-dc39-46d0-8feb-99dc0f686512</identification>\r
-      </annotationBean>\r
-      <date>2012-01-23 17:33:51.189 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>cff680af-4261-4881-8faa-0c3f155a4f1b</identification>\r
-      </annotationBean>\r
-      <date>2012-01-23 17:27:35.142 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>f856eeda-c416-44e3-b84a-3a0b3b8cd10d</identification>\r
-      </annotationBean>\r
-      <date>2012-01-23 17:37:08.778 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>07ec689f-59aa-4be9-8481-5f8e3f6000cf</identification>\r
-      </annotationBean>\r
-      <date>2012-01-23 17:45:21.174 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>126219a1-2553-4015-a3cb-56f21d51f599</identification>\r
-      </annotationBean>\r
-      <date>2012-01-23 17:18:47.464 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>1d63adfb-85c4-4ce2-a039-13daee06364a</identification>\r
-      </annotationBean>\r
-      <date>2012-01-23 17:41:34.44 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow><dataflow id="57030f97-56e0-4c85-a0fa-0f0e4f685aec" role="nested"><name>Workflow63</name><inputPorts><port><name>internalCSVData</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port></inputPorts><outputPorts><port><name>internalCSVData</name><annotations /></port><port><name>endWFlow</name><annotations /></port></outputPorts><processors><processor><name>Syn_Exp_Occ_Ret_Conditional</name><inputPorts><port><name>csvData</name><depth>0</depth></port><port><name>shouldRun</name><depth>0</depth></port></inputPorts><outputPorts><port><name>csv_ouput</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>dataflow-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.dataflow.DataflowActivity</class><inputMap><map from="csvData" to="csvData" /><map from="shouldRun" to="shouldRun" /></inputMap><outputMap><map from="csv_ouput" to="csv_ouput" /></outputMap><configBean encoding="dataflow"><dataflow ref="6da3d3fa-470a-4440-b57e-5c80e3e69eaa" /></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="csvData" depth="0" /><port name="shouldRun" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>DC_Choose_Sub_Flow</name><inputPorts><port><name>internalCSVData</name><depth>1</depth></port></inputPorts><outputPorts><port><name>synExpOccRetCSVData</name><depth>1</depth><granularDepth>1</granularDepth></port><port><name>csvData</name><depth>0</depth><granularDepth>0</granularDepth></port><port><name>endWFlow</name><depth>0</depth><granularDepth>0</granularDepth></port><port><name>endWFlowCSVData</name><depth>1</depth><granularDepth>1</granularDepth></port><port><name>dataQualCSVData</name><depth>1</depth><granularDepth>1</granularDepth></port><port><name>dataSelCSVData</name><depth>1</depth><granularDepth>1</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="internalCSVData" to="internalCSVData" /></inputMap><outputMap><map from="csvData" to="csvData" /><map from="dataSelCSVData" to="dataSelCSVData" /><map from="endWFlowCSVData" to="endWFlowCSVData" /><map from="dataQualCSVData" to="dataQualCSVData" /><map from="endWFlow" to="endWFlow" /><map from="synExpOccRetCSVData" to="synExpOccRetCSVData" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
-  <inputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>internalCSVData</name>\r
-      <depth>1</depth>\r
-      <mimeTypes>\r
-        <string>text/plain</string>\r
-      </mimeTypes>\r
-      <handledReferenceSchemes />\r
-      <translatedElementType>java.lang.String</translatedElementType>\r
-      <allowsLiteralValues>true</allowsLiteralValues>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-  </inputs>\r
-  <outputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>synExpOccRetCSVData</name>\r
-      <depth>1</depth>\r
-      <mimeTypes />\r
-      <granularDepth>1</granularDepth>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>dataSelCSVData</name>\r
-      <depth>1</depth>\r
-      <mimeTypes />\r
-      <granularDepth>1</granularDepth>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>dataQualCSVData</name>\r
-      <depth>1</depth>\r
-      <mimeTypes />\r
-      <granularDepth>1</granularDepth>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>endWFlowCSVData</name>\r
-      <depth>1</depth>\r
-      <mimeTypes />\r
-      <granularDepth>1</granularDepth>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>endWFlow</name>\r
-      <depth>0</depth>\r
-      <mimeTypes />\r
-      <granularDepth>0</granularDepth>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>csvData</name>\r
-      <depth>0</depth>\r
-      <mimeTypes />\r
-      <granularDepth>0</granularDepth>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-  </outputs>\r
-  <classLoaderSharing>workflow</classLoaderSharing>\r
-  <localDependencies>\r
-    <string>DCWorkflow.jar</string>\r
-  </localDependencies>\r
-  <artifactDependencies />\r
-  <script>import org.bgbm.biovel.datacleaning.syncheck.DCChoiceDialog;\r
-import org.bgbm.biovel.datacleaning.utils.syncheck.SynCheckConstants;\r
-\r
-\r
-endWFlow = "false";\r
-csvData = "";\r
-if(internalCSVData.size() == 1) {\r
-       csvData = (String)internalCSVData.get(0);\r
-}\r
-\r
-Frame f = new JFrame();\r
-DCChoiceDialog dccd = new DCChoiceDialog(f,true,csvData);\r
-dccd.setLocationRelativeTo(null);\r
-dccd.show();\r
-\r
-synExpOccRetCSVData = new ArrayList();\r
-dataSelCSVData = new ArrayList();\r
-dataQualCSVData = new ArrayList();\r
-endWFlowCSVData = new ArrayList();\r
-\r
-switch(dccd.getChosenSubWorkflow()) {\r
-  case SynCheckConstants.SYN_EXP_OCC_RET :\r
-  synExpOccRetCSVData.add("shouldRun");\r
-  break;\r
-  case SynCheckConstants.DATA_SEL :\r
-  dataSelCSVData.add("shouldRun");\r
-  break;\r
-  case SynCheckConstants.DATA_QUAL :\r
-  dataQualCSVData.add("shouldRun");\r
-  break;\r
-  case SynCheckConstants.END_WKFLOW :\r
-  endWFlowCSVData.add("shouldRun");\r
-  endWFlow = "true";\r
-  break;\r
-  default :\r
-  endWFlowCSVData.add("shouldRun");\r
-  endWFlow = "true";\r
-}\r
-\r
-</script>\r
-  <dependencies />\r
-</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="internalCSVData" depth="1" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>End_Workflow_Conditional</name><inputPorts><port><name>csvData</name><depth>0</depth></port><port><name>shouldRun</name><depth>0</depth></port></inputPorts><outputPorts><port><name>csv_output</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>dataflow-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.dataflow.DataflowActivity</class><inputMap><map from="csvData" to="csvData" /><map from="shouldRun" to="shouldRun" /></inputMap><outputMap><map from="csv_output" to="csv_output" /></outputMap><configBean encoding="dataflow"><dataflow ref="d7362d7b-ec6b-46e2-89b4-0552c6dc8008" /></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="csvData" depth="0" /><port name="shouldRun" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Flatten_List</name><inputPorts><port><name>inputlist</name><depth>2</depth></port></inputPorts><outputPorts><port><name>outputlist</name><depth>1</depth><granularDepth>1</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="inputlist" to="inputlist" /></inputMap><outputMap><map from="outputlist" to="outputlist" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
-  <inputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>inputlist</name>\r
-      <depth>2</depth>\r
-      <mimeTypes>\r
-        <string>l(l(''))</string>\r
-      </mimeTypes>\r
-      <handledReferenceSchemes />\r
-      <translatedElementType>[B</translatedElementType>\r
-      <allowsLiteralValues>true</allowsLiteralValues>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-  </inputs>\r
-  <outputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>outputlist</name>\r
-      <depth>1</depth>\r
-      <mimeTypes>\r
-        <string>l('')</string>\r
-      </mimeTypes>\r
-      <granularDepth>1</granularDepth>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-  </outputs>\r
-  <classLoaderSharing>workflow</classLoaderSharing>\r
-  <localDependencies />\r
-  <artifactDependencies />\r
-  <script>flatten(inputs, outputs, depth) {\r
-       for (i = inputs.iterator(); i.hasNext();) {\r
-           element = i.next();\r
-               if (element instanceof Collection &amp;&amp; depth &gt; 0) {\r
-                       flatten(element, outputs, depth - 1);\r
-               } else {\r
-                       outputs.add(element);\r
-               }\r
-       }\r
-}\r
-\r
-outputlist = new ArrayList();\r
-\r
-flatten(inputlist, outputlist, 1);</script>\r
-  <dependencies />\r
-  <localworkerName>org.embl.ebi.escience.scuflworkers.java.FlattenList</localworkerName>\r
-</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="inputlist" depth="2" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>GRefine_Upload_Conditional</name><inputPorts><port><name>csvData</name><depth>0</depth></port><port><name>shouldRun</name><depth>0</depth></port></inputPorts><outputPorts><port><name>csv_output</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>dataflow-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.dataflow.DataflowActivity</class><inputMap><map from="csvData" to="csvData" /><map from="shouldRun" to="shouldRun" /></inputMap><outputMap><map from="csv_output" to="csv_output" /></outputMap><configBean encoding="dataflow"><dataflow ref="6d96888f-4121-41fe-9f57-b4ee1edf4ad8" /></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="csvData" depth="0" /><port name="shouldRun" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>BioSTIF_Conditional</name><inputPorts><port><name>csvData</name><depth>0</depth></port><port><name>shouldRun</name><depth>0</depth></port></inputPorts><outputPorts><port><name>csv_output</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>dataflow-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.dataflow.DataflowActivity</class><inputMap><map from="csvData" to="csvData" /><map from="shouldRun" to="shouldRun" /></inputMap><outputMap><map from="csv_output" to="csv_output" /></outputMap><configBean encoding="dataflow"><dataflow ref="b5bf0e13-96b1-410e-99cb-02176b0b215d" /></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="csvData" depth="0" /><port name="shouldRun" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor></processors><conditions /><datalinks><datalink><sink type="processor"><processor>Syn_Exp_Occ_Ret_Conditional</processor><port>csvData</port></sink><source type="processor"><processor>DC_Choose_Sub_Flow</processor><port>csvData</port></source></datalink><datalink><sink type="processor"><processor>Syn_Exp_Occ_Ret_Conditional</processor><port>shouldRun</port></sink><source type="processor"><processor>DC_Choose_Sub_Flow</processor><port>synExpOccRetCSVData</port></source></datalink><datalink><sink type="processor"><processor>DC_Choose_Sub_Flow</processor><port>internalCSVData</port></sink><source type="dataflow"><port>internalCSVData</port></source></datalink><datalink><sink type="processor"><processor>End_Workflow_Conditional</processor><port>csvData</port></sink><source type="processor"><processor>DC_Choose_Sub_Flow</processor><port>csvData</port></source></datalink><datalink><sink type="processor"><processor>End_Workflow_Conditional</processor><port>shouldRun</port></sink><source type="processor"><processor>DC_Choose_Sub_Flow</processor><port>endWFlowCSVData</port></source></datalink><datalink><sink type="processor"><processor>GRefine_Upload_Conditional</processor><port>csvData</port></sink><source type="processor"><processor>DC_Choose_Sub_Flow</processor><port>csvData</port></source></datalink><datalink><sink type="processor"><processor>GRefine_Upload_Conditional</processor><port>shouldRun</port></sink><source type="processor"><processor>DC_Choose_Sub_Flow</processor><port>dataQualCSVData</port></source></datalink><datalink><sink type="processor"><processor>BioSTIF_Conditional</processor><port>csvData</port></sink><source type="processor"><processor>DC_Choose_Sub_Flow</processor><port>csvData</port></source></datalink><datalink><sink type="processor"><processor>BioSTIF_Conditional</processor><port>shouldRun</port></sink><source type="processor"><processor>DC_Choose_Sub_Flow</processor><port>dataSelCSVData</port></source></datalink><datalink><sink type="merge"><processor>Flatten_List</processor><port>inputlist</port></sink><source type="processor"><processor>Syn_Exp_Occ_Ret_Conditional</processor><port>csv_ouput</port></source></datalink><datalink><sink type="merge"><processor>Flatten_List</processor><port>inputlist</port></sink><source type="processor"><processor>End_Workflow_Conditional</processor><port>csv_output</port></source></datalink><datalink><sink type="merge"><processor>Flatten_List</processor><port>inputlist</port></sink><source type="processor"><processor>GRefine_Upload_Conditional</processor><port>csv_output</port></source></datalink><datalink><sink type="merge"><processor>Flatten_List</processor><port>inputlist</port></sink><source type="processor"><processor>GRefine_Upload_Conditional</processor><port>csv_output</port></source></datalink><datalink><sink type="merge"><processor>Flatten_List</processor><port>inputlist</port></sink><source type="processor"><processor>BioSTIF_Conditional</processor><port>csv_output</port></source></datalink><datalink><sink type="dataflow"><port>internalCSVData</port></sink><source type="processor"><processor>Flatten_List</processor><port>outputlist</port></source></datalink><datalink><sink type="dataflow"><port>endWFlow</port></sink><source type="processor"><processor>DC_Choose_Sub_Flow</processor><port>endWFlow</port></source></datalink></datalinks><annotations><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>04f1e6b4-b358-406e-a7b2-05b8f47d451f</identification>\r
-      </annotationBean>\r
-      <date>2012-03-29 11:01:42.629 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>3c400bc4-d624-4b42-b90e-1cfb31b07e16</identification>\r
-      </annotationBean>\r
-      <date>2012-03-29 15:56:48.448 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>5f6324c4-6c22-4687-a1df-7775aaa56b60</identification>\r
-      </annotationBean>\r
-      <date>2012-03-29 15:04:35.714 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>660c4b4d-61f0-46e3-a572-8eca976ad13c</identification>\r
-      </annotationBean>\r
-      <date>2012-03-29 14:30:11.864 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>bcdb65e1-32cd-4f99-a661-d7556b1f5e9a</identification>\r
-      </annotationBean>\r
-      <date>2012-03-29 15:20:41.501 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>31111fed-a35a-4c11-9db6-a1d02b24cb99</identification>\r
-      </annotationBean>\r
-      <date>2012-03-29 11:19:23.122 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>06eab54b-74ed-42fe-9085-e93798a52e89</identification>\r
-      </annotationBean>\r
-      <date>2012-03-29 16:52:53.757 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>a86328a9-31a0-412c-b337-5fb0433a0f5f</identification>\r
-      </annotationBean>\r
-      <date>2012-03-29 16:31:26.114 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>42e4157e-f8c3-4b7f-8f64-5abf089fa423</identification>\r
-      </annotationBean>\r
-      <date>2012-03-29 14:29:46.673 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>e27b0a9c-b655-48cc-9471-660c03008a69</identification>\r
-      </annotationBean>\r
-      <date>2012-03-29 15:43:15.451 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>206c2234-a3a0-4f41-a265-e8cb70aba153</identification>\r
-      </annotationBean>\r
-      <date>2012-03-29 15:13:02.627 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>52ae795c-5f50-441f-9176-471a1ea8dc1d</identification>\r
-      </annotationBean>\r
-      <date>2012-03-29 15:56:16.31 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>735712c0-c502-45b1-9e02-7f6449340473</identification>\r
-      </annotationBean>\r
-      <date>2012-03-29 16:50:50.49 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>57030f97-56e0-4c85-a0fa-0f0e4f685aec</identification>\r
-      </annotationBean>\r
-      <date>2012-03-30 15:21:09.327 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>3229cc39-42a2-407a-9ff6-84faaccc5c73</identification>\r
-      </annotationBean>\r
-      <date>2012-03-29 15:28:48.301 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>ba4304de-6f60-46d1-9f84-6604550f8eb9</identification>\r
-      </annotationBean>\r
-      <date>2012-03-29 13:56:50.377 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>3d5ba737-bc93-4833-bbef-5f869b8254ae</identification>\r
-      </annotationBean>\r
-      <date>2012-03-29 15:27:08.834 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>1d20357a-8eb5-4909-8f29-ac3fa7147e27</identification>\r
-      </annotationBean>\r
-      <date>2012-03-29 16:01:34.810 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>3e040fea-6735-4c00-98fb-ff603ac82b5d</identification>\r
-      </annotationBean>\r
-      <date>2012-03-29 16:14:50.772 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>480ba378-6be7-4ce9-9069-a6aac531dd8f</identification>\r
-      </annotationBean>\r
-      <date>2012-03-29 16:11:21.526 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>d5334add-15a0-4112-98dd-e343f98e3342</identification>\r
-      </annotationBean>\r
-      <date>2012-03-29 16:17:19.513 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>1f88dc65-8381-4501-8090-46ff65eed62c</identification>\r
-      </annotationBean>\r
-      <date>2012-03-29 11:08:26.891 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>85c59d5f-b6a6-4d7b-a273-571ef4f66980</identification>\r
-      </annotationBean>\r
-      <date>2012-03-29 11:45:17.583 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>416e5379-34b5-4a3b-9006-9f75ffa230ac</identification>\r
-      </annotationBean>\r
-      <date>2012-03-29 17:42:36.936 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>c17f8e36-8a9f-4a9d-a6a4-c47b4ef89b00</identification>\r
-      </annotationBean>\r
-      <date>2012-03-29 11:03:35.785 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>efee1f01-086c-4872-a44b-f8ffce558173</identification>\r
-      </annotationBean>\r
-      <date>2012-03-30 10:08:36.830 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>bbf7f7ca-930a-4f38-abed-179eae47d348</identification>\r
-      </annotationBean>\r
-      <date>2012-03-29 11:26:17.248 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>d2a50ec0-631d-44d3-82f8-8440e37c3686</identification>\r
-      </annotationBean>\r
-      <date>2012-03-29 11:10:49.736 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>eaeaf2ec-37e5-4fb8-aedf-adb91895c5ba</identification>\r
-      </annotationBean>\r
-      <date>2012-03-28 17:58:12.884 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>fc527fb0-55ac-406e-8457-93c2ffc37327</identification>\r
-      </annotationBean>\r
-      <date>2012-03-29 16:55:43.218 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>458a2edf-d2c4-469b-a2e3-221ea98967ca</identification>\r
-      </annotationBean>\r
-      <date>2012-03-29 13:41:35.854 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>7526365a-9138-48cd-b901-9409d809da28</identification>\r
-      </annotationBean>\r
-      <date>2012-03-30 15:17:32.617 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>99d35cdf-d961-456a-b4e4-2145ddd9ecf6</identification>\r
-      </annotationBean>\r
-      <date>2012-03-29 16:28:08.547 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>bdb56ce4-83c6-4580-8a1d-8478c5c8f1f9</identification>\r
-      </annotationBean>\r
-      <date>2012-03-29 16:13:05.849 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>f8fabcd5-a42b-41f1-b0c1-e62e06124522</identification>\r
-      </annotationBean>\r
-      <date>2012-03-28 18:01:09.752 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>7e2e208b-293b-4167-a230-cd6f35666f74</identification>\r
-      </annotationBean>\r
-      <date>2012-03-29 15:02:02.261 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>c6eb0505-2bf2-4282-b7de-83f50cb21051</identification>\r
-      </annotationBean>\r
-      <date>2012-03-29 15:37:39.888 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>efe6e950-ffa0-4f5d-b87f-d2ed0d25fc71</identification>\r
-      </annotationBean>\r
-      <date>2012-03-29 11:06:26.887 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>20f22656-ec4e-4482-beb4-deafd3307b4c</identification>\r
-      </annotationBean>\r
-      <date>2012-03-30 09:51:53.423 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>c84c38ed-9b59-4349-a998-f4178f97de80</identification>\r
-      </annotationBean>\r
-      <date>2012-03-29 11:24:27.653 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>20e7589a-6e4c-4eb4-9136-f0abaa4e15fb</identification>\r
-      </annotationBean>\r
-      <date>2012-03-29 16:41:14.662 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>7080020e-2d2f-4219-8442-87a9bfde26ff</identification>\r
-      </annotationBean>\r
-      <date>2012-03-30 10:05:03.463 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>8ae6fe1c-be9b-47ec-995c-5ef9c9e6fb95</identification>\r
-      </annotationBean>\r
-      <date>2012-03-29 15:09:52.325 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>8dfcc595-a065-4a6d-a01f-1c361aa7e2b5</identification>\r
-      </annotationBean>\r
-      <date>2012-03-29 16:33:57.126 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>253d7440-f205-407a-a839-88f4fb17126a</identification>\r
-      </annotationBean>\r
-      <date>2012-03-29 15:11:17.368 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>76aff0cc-6996-4bcb-8b0c-2f7b86514118</identification>\r
-      </annotationBean>\r
-      <date>2012-03-29 15:23:13.954 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>ff628ef9-0eca-4f37-8124-efb938aca9dc</identification>\r
-      </annotationBean>\r
-      <date>2012-03-29 15:33:56.232 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>de1dff07-eb17-4d91-8a6f-65c675ffba18</identification>\r
-      </annotationBean>\r
-      <date>2012-03-29 15:48:52.368 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>8db23fcc-fe58-40d1-ab38-915cf7364ba5</identification>\r
-      </annotationBean>\r
-      <date>2012-03-29 12:07:09.322 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>653c030b-6c50-47bc-a68e-8059e376f44b</identification>\r
-      </annotationBean>\r
-      <date>2012-03-29 16:40:12.692 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>10523fe8-d701-422f-bee9-0edbd8047367</identification>\r
-      </annotationBean>\r
-      <date>2012-03-29 11:37:16.87 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>cac46121-b30a-4a16-b70b-16c707cba829</identification>\r
-      </annotationBean>\r
-      <date>2012-03-29 14:56:33.139 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>51fa84c3-cce6-49ca-8279-00fcb25c4ef1</identification>\r
-      </annotationBean>\r
-      <date>2012-03-30 09:52:21.787 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+\r
+class SynonymCheckData {\r
+    public boolean atomised = false;\r
+    public String sciName = "";\r
+    public String authorship = "";\r
+    public String genusPart = "";\r
+    public String infragenericEpithet = "";\r
+    public String specificEpithet = "";\r
+    public String infraspecificEpithet = "";\r
+    public String uninomial = "";\r
+\r
+    public SynonymCheckData() {\r
+       clear();\r
+    }\r
+\r
+    public void clear() {\r
+       atomised = false;\r
+       sciName = "";\r
+       authorship = "";\r
+       genusPart = "";\r
+       infragenericEpithet = "";\r
+       specificEpithet = "";\r
+       infraspecificEpithet = "";\r
+       uninomial = "";\r
+    }\r
+\r
+    public int hashCode() {\r
+       return sciName.hashCode();\r
+    }\r
+    public boolean equals(Object obj) {\r
+       \r
+       if ( this == obj ) return true;\r
+           \r
+       if ( !(obj instanceof SynonymCheckData) ) return false;\r
+           \r
+       SynonymCheckData scd = (SynonymCheckData) obj;\r
+           \r
+       return scd.sciName.equals(this.sciName);\r
+    }\r
+}\r
+\r
+\r
+    \r
+private final static String DELIMITER = ",";\r
+            \r
+private final static String AUTHORSHIP_HDR = "authorship";\r
+private final static String GENUSPART_HDR = "genusPart";\r
+private final static String INFRAGENERICEPITHET_HDR = "infragenericEpithet";\r
+private final static String SPECIFICEPITHET_HDR = "specificEpithet";\r
+private final static String INFRASPECIFICEPITHET_HDR = "infraspecificEpithet";\r
+private final static String NAMECOMPLETE_HDR = "nameComplete";\r
+private final static String UNINOMIAL_HDR = "uninomial";\r
+private final static String TAXONNAME_HDR = "taxonName";\r
+    \r
+private static StringBuilder incorrectRecordsBldr = new StringBuilder();\r
+   \r
+public static String[] split(String record, String delimiter, int noOfElements) throws Exception {\r
+        \r
+    String[] data = new String[noOfElements];\r
+    boolean wasDelimiter=true; \r
+    String token=""; \r
+    int token_count = 0;\r
+        \r
+    StringTokenizer st=new StringTokenizer(record,delimiter,true); \r
+\r
+    while(st.hasMoreTokens()) { \r
+       token=st.nextToken().trim(); \r
+       if(token_count &gt;= noOfElements) {\r
+           throw new Exception("No. of elements in record does not match no. of header elements");\r
+       }\r
+       if(token.equals(delimiter)) { \r
+           if(wasDelimiter) \r
+               { \r
+                   token=""; \r
+                   data[token_count] = token;\r
+                   token_count++;\r
+               }                 \r
+           wasDelimiter = true;              \r
+       }\r
+       else \r
+           { \r
+               wasDelimiter = false; \r
+               data[token_count] = token;\r
+               token_count++;\r
+           }                   \r
+    } \r
+\r
+   \r
+    return data;\r
+}\r
+    \r
+public static List synReq(HashSet hs) throws Exception {\r
+         \r
+    if(hs.isEmpty())\r
+       return null;\r
+    List synReqList = new ArrayList();\r
+    \r
+    XMLOutputFactory xof = XMLOutputFactory.newInstance();\r
+    XMLStreamWriter xtw;\r
+                    \r
+    Iterator itr = hs.iterator();\r
+       \r
+    while(itr.hasNext()) {\r
+       SynonymCheckData scd = (SynonymCheckData)itr.next();\r
+       if(scd.sciName.equals(""))\r
+           continue;\r
+       StringWriter out = new StringWriter();\r
+       xtw = xof.createXMLStreamWriter(out);    \r
+       //xtw.writeStartDocument("utf-8", "1.0");      \r
+       xtw.writeStartElement("synonymRequest");\r
+       xtw.writeAttribute("id", scd.sciName);\r
+\r
+       xtw.writeStartElement("taxonName");\r
+       if(!scd.authorship.equals("")) {\r
+           xtw.writeStartElement(AUTHORSHIP_HDR);\r
+           xtw.writeCharacters(scd.authorship);\r
+           xtw.writeEndElement();\r
+       }\r
+\r
+       xtw.writeStartElement("name");\r
+\r
+       xtw.writeStartElement(NAMECOMPLETE_HDR);\r
+       xtw.writeCharacters(scd.sciName);\r
+       xtw.writeEndElement();\r
+\r
+           \r
+       if(!scd.uninomial.equals("")) {\r
+           xtw.writeStartElement("atomisedName");\r
+\r
+           xtw.writeStartElement(UNINOMIAL_HDR);\r
+           xtw.writeCharacters(scd.uninomial);\r
+           xtw.writeEndElement();\r
+\r
+           xtw.writeEndElement(); // end atomisedName element\r
+       } else if(!scd.genusPart.equals("")){\r
+           xtw.writeStartElement("atomisedName");\r
+           xtw.writeStartElement("subGenus");\r
+\r
+           xtw.writeStartElement(GENUSPART_HDR);\r
+           xtw.writeCharacters(scd.genusPart);\r
+           xtw.writeEndElement();\r
+\r
+           if(!scd.infragenericEpithet.equals("")) {\r
+               xtw.writeStartElement(INFRASPECIFICEPITHET_HDR);\r
+               xtw.writeCharacters(scd.infragenericEpithet);\r
+               xtw.writeEndElement();\r
+           }\r
+           \r
+           if(!scd.specificEpithet.equals("")) {\r
+               xtw.writeStartElement(SPECIFICEPITHET_HDR);\r
+               xtw.writeCharacters(scd.specificEpithet);\r
+               xtw.writeEndElement();\r
+           }\r
+\r
+           if(!scd.infraspecificEpithet.equals("")){\r
+               xtw.writeStartElement(INFRASPECIFICEPITHET_HDR);\r
+               xtw.writeCharacters(scd.infraspecificEpithet);\r
+               xtw.writeEndElement();\r
+           }\r
+\r
+           xtw.writeEndElement(); // end subGenus element\r
+           xtw.writeEndElement(); // end atomisedName element\r
+       }\r
+           \r
+       xtw.writeEndElement(); // end name element\r
+       xtw.writeEndElement(); // end taxonName element\r
+       xtw.writeEndElement(); // end synonymRequest element                \r
+       xtw.writeEndDocument();       \r
+       xtw.flush();\r
+\r
+        \r
+       // Transform XML to get new with indentation.\r
+       TransformerFactory factory = TransformerFactory.newInstance();\r
+       \r
+       Transformer transformer = factory.newTransformer();\r
+       transformer.setOutputProperty(OutputKeys.INDENT, "yes");\r
+       transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");\r
+       \r
+       StringWriter indented_out = new StringWriter();\r
+       transformer.transform(new StreamSource(new StringReader(out.toString())), new StreamResult(indented_out));\r
+       synReqList.add(indented_out.toString());   \r
+       out.flush();\r
+    }     \r
+    xtw.close();\r
+    return synReqList;\r
+}\r
+    \r
+        \r
+int authorship_index = -1;        \r
+int genus_part_index = -1;\r
+int infrageneric_epithet_index = -1;\r
+int specific_epithet_index = -1;\r
+int infraspecific_epithet_index = -1;\r
+int name_complete_index = -1;\r
+int uninomial_index = -1;\r
+int taxon_name_index = -1;\r
+        \r
+int line_count = 0;\r
+int header_index = 0;\r
+        \r
+BufferedReader br = new BufferedReader(new StringReader(csvData));\r
+String line;\r
+HashSet sci_names_hs = new HashSet();\r
+SynonymCheckData scd;\r
+String[] recordData;\r
+while((line = br.readLine()) != null) {           \r
+    if (line.length() &gt; 0)  {     \r
+       try {\r
+           StringTokenizer st = new StringTokenizer(line, DELIMITER); \r
+           if(line_count == 0) {                                        \r
+               while(st.hasMoreTokens()) { \r
+                   String token = st.nextToken().trim();\r
+                   if(token.equals(AUTHORSHIP_HDR)) {\r
+                       authorship_index = header_index;\r
+                   }  \r
+                   if(token.equals(GENUSPART_HDR)) {\r
+                       genus_part_index = header_index;\r
+                   }                        \r
+                   if(token.equals(INFRAGENERICEPITHET_HDR)) {\r
+                       infrageneric_epithet_index = header_index;\r
+                   }  \r
+                   if(token.equals(SPECIFICEPITHET_HDR)) {\r
+                       specific_epithet_index = header_index;\r
+                   }  \r
+                   if(token.equals(INFRASPECIFICEPITHET_HDR)) {\r
+                       infraspecific_epithet_index = header_index;\r
+                   }  \r
+                   if(token.equals(NAMECOMPLETE_HDR)) {\r
+                       name_complete_index = header_index;\r
+                   }\r
+                   if(token.equals(TAXONNAME_HDR)) {\r
+                       taxon_name_index = header_index;\r
+                   }\r
+                   header_index++;\r
+               }\r
+           }\r
+           else {\r
+               recordData = split(line, DELIMITER, header_index);\r
+               if(recordData == null)\r
+                   continue;\r
+               scd = new SynonymCheckData();\r
+               if(genus_part_index &gt;= 0 &amp;&amp; !recordData[genus_part_index].equals("") \r
+                  &amp;&amp; ((infrageneric_epithet_index &gt;= 0  &amp;&amp; !recordData[infrageneric_epithet_index].equals("")) \r
+                      || (specific_epithet_index &gt;= 0  &amp;&amp; !recordData[specific_epithet_index].equals("")) \r
+                      || (infraspecific_epithet_index &gt;= 0  &amp;&amp; !recordData[infraspecific_epithet_index].equals("")))) {\r
+                   scd.atomised = true;                        \r
+                   scd.genusPart = recordData[genus_part_index];\r
+                   scd.infragenericEpithet = (infrageneric_epithet_index &gt;= 0)?recordData[infrageneric_epithet_index]:"";\r
+                   scd.specificEpithet = (specific_epithet_index &gt;= 0)?recordData[specific_epithet_index]:"";\r
+                   scd.infraspecificEpithet = (infrageneric_epithet_index &gt;= 0)?recordData[infraspecific_epithet_index]:"";\r
+                           \r
+                   scd.sciName = scd.genusPart;\r
+                   if(!scd.infragenericEpithet.equals(""))\r
+                       scd.sciName = scd.sciName + " " +  scd.infragenericEpithet;\r
+                   if(!scd.specificEpithet.equals(""))\r
+                       scd.sciName = scd.sciName + " " + scd.specificEpithet;\r
+                   if(!scd.infraspecificEpithet.equals(""))\r
+                       scd.sciName = scd.sciName + " " + scd.infraspecificEpithet;\r
+\r
+               } else if(uninomial_index &gt;=0 &amp;&amp; !recordData[uninomial_index].equals("")) {\r
+                   scd.atomised = true;\r
+                   scd.uninomial = recordData[uninomial_index];\r
+                   scd.sciName = scd.uninomial;\r
+               } else if(name_complete_index &gt;=0 &amp;&amp; !recordData[name_complete_index].equals("")) {\r
+                   scd.sciName = recordData[name_complete_index];\r
+               } else if(taxon_name_index &gt;= 0 &amp;&amp; !recordData[taxon_name_index].equals("")){\r
+                   scd.sciName = recordData[taxon_name_index];\r
+               }\r
+               if(authorship_index &gt;= 0 &amp;&amp; !recordData[authorship_index].equals("")) {\r
+                   scd.authorship = recordData[authorship_index];\r
+               }\r
+                      \r
+               sci_names_hs.add(scd);                 \r
+           }\r
+           line_count++;\r
+       } catch(Exception e) {\r
+           incorrectRecordsBldr.append(line).append(":").append(e.getMessage());\r
+       }\r
+    }            \r
+}        \r
+    \r
+synonymRequest = synReq(sci_names_hs);\r
+incorrectRecords = incorrectRecordsBldr.toString();\r
+</script>\r
+  <dependencies />\r
+</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="csvData" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Merge_String_List_to_a_String</name><inputPorts><port><name>seperator</name><depth>0</depth></port><port><name>stringlist</name><depth>1</depth></port></inputPorts><outputPorts><port><name>concatenated</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="seperator" to="seperator" /><map from="stringlist" to="stringlist" /></inputMap><outputMap><map from="concatenated" to="concatenated" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
+  <inputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>stringlist</name>\r
+      <depth>1</depth>\r
+      <mimeTypes>\r
+        <string>l('text/plain')</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>seperator</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>'text/plain'</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+  </inputs>\r
+  <outputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>concatenated</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>'text/plain'</string>\r
+      </mimeTypes>\r
+      <granularDepth>0</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+  </outputs>\r
+  <classLoaderSharing>workflow</classLoaderSharing>\r
+  <localDependencies />\r
+  <artifactDependencies />\r
+  <script>String seperatorString = "\n";\r
+if (seperator != void) {\r
+       seperatorString = seperator;\r
+}\r
+StringBuffer sb = new StringBuffer();\r
+for (Iterator i = stringlist.iterator(); i.hasNext();) {\r
+       String item = (String) i.next();\r
+       sb.append(item);\r
+       if (i.hasNext()) {\r
+               sb.append(seperatorString);\r
+       }\r
+}\r
+concatenated = sb.toString();\r
+</script>\r
+  <dependencies />\r
+  <localworkerName>org.embl.ebi.escience.scuflworkers.java.StringListMerge</localworkerName>\r
+</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="seperator" depth="0" /><port name="stringlist" depth="1" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>no_separator</name><inputPorts /><outputPorts><port><name>value</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>stringconstant-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.stringconstant.StringConstantActivity</class><inputMap /><outputMap><map from="value" to="value" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean xmlns="">\r
+  <value />\r
+</net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy /></iteration></iterationStrategyStack></processor></processors><conditions /><datalinks><datalink><sink type="processor"><processor>col_synonym</processor><port>synRequest</port></sink><source type="processor"><processor>DCDataParser</processor><port>synonymRequest</port></source></datalink><datalink><sink type="processor"><processor>Wrap_strings_in_query_element</processor><port>string2</port></sink><source type="processor"><processor>col_synonym</processor><port>synResponse</port></source></datalink><datalink><sink type="processor"><processor>Wrap_strings_in_query_element</processor><port>string1</port></sink><source type="processor"><processor>DCDataParser</processor><port>synonymRequest</port></source></datalink><datalink><sink type="processor"><processor>syn_occurrences</processor><port>sciNameList</port></sink><source type="processor"><processor>SynCheckGUI</processor><port>out</port></source></datalink><datalink><sink type="processor"><processor>SynCheckGUI</processor><port>synreqres_list</port></sink><source type="processor"><processor>Wrap_strings_in_query_element</processor><port>output</port></source></datalink><datalink><sink type="processor"><processor>DCDataParser</processor><port>csvData</port></sink><source type="dataflow"><port>csvData</port></source></datalink><datalink><sink type="processor"><processor>Merge_String_List_to_a_String</processor><port>seperator</port></sink><source type="processor"><processor>no_separator</processor><port>value</port></source></datalink><datalink><sink type="processor"><processor>Merge_String_List_to_a_String</processor><port>stringlist</port></sink><source type="processor"><processor>syn_occurrences</processor><port>csv_output</port></source></datalink><datalink><sink type="dataflow"><port>csv_output</port></sink><source type="processor"><processor>Merge_String_List_to_a_String</processor><port>concatenated</port></source></datalink></datalinks><annotations><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>8690a2a8-905c-40bb-b39a-26bb12a19532</identification>\r
+        <identification>cc2ba98d-9d65-4882-a1ff-b64e73082de9</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 14:26:41.116 CEST</date>\r
+      <date>2012-03-29 15:33:31.887 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -7055,9 +3380,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>4187d8a4-b0f1-45d8-994c-f10fb643447f</identification>\r
+        <identification>3702c3a9-3bac-4f53-bb8d-9fbbd457e077</identification>\r
       </annotationBean>\r
-      <date>2012-03-28 17:59:41.884 CEST</date>\r
+      <date>2012-03-29 11:45:10.791 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -7066,9 +3391,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>2fdcdb19-4311-42bd-9149-66293f8d8f0c</identification>\r
+        <identification>b4c96465-61be-4e99-bd05-52ba51a75f42</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 17:02:25.138 CEST</date>\r
+      <date>2012-04-03 17:01:10.410 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -7077,9 +3402,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>2318be82-51d3-4369-9009-6869f8e0e6f8</identification>\r
+        <identification>cdf9c220-fb85-4262-bf44-77fc3302797e</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 16:27:13.418 CEST</date>\r
+      <date>2012-03-29 17:02:17.600 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -7088,27 +3413,20 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>99d35cdf-d961-456a-b4e4-2145ddd9ecf6</identification>\r
+        <identification>2f0ef2c4-0d2f-41b1-a08c-cf5b114c4e4c</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 16:18:24.819 CEST</date>\r
+      <date>2012-03-29 14:59:02.824 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
   </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow><dataflow id="6d96888f-4121-41fe-9f57-b4ee1edf4ad8" role="nested"><name>Workflow37</name><inputPorts><port><name>csvData</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port><port><name>shouldRun</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port></inputPorts><outputPorts><port><name>csv_output</name><annotations /></port></outputPorts><processors><processor><name>grefine_upload</name><inputPorts><port><name>csvData</name><depth>0</depth></port></inputPorts><outputPorts><port><name>export</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>dataflow-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.dataflow.DataflowActivity</class><inputMap><map from="csvData" to="csvData" /></inputMap><outputMap><map from="export" to="export" /></outputMap><configBean encoding="dataflow"><dataflow ref="bb3cfdaa-833f-450c-8584-17c99f170082" /></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="csvData" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor></processors><conditions /><datalinks><datalink><sink type="processor"><processor>grefine_upload</processor><port>csvData</port></sink><source type="dataflow"><port>csvData</port></source></datalink><datalink><sink type="dataflow"><port>csv_output</port></sink><source type="processor"><processor>grefine_upload</processor><port>export</port></source></datalink></datalinks><annotations><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>fa3e0537-e206-4c1e-9636-d5ed67aa6d92</identification>\r
+        <identification>e85227ec-8378-4cad-9a88-15a4a0f643c0</identification>\r
       </annotationBean>\r
-      <date>2012-03-30 10:05:00.231 CEST</date>\r
+      <date>2012-03-29 13:52:07.195 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -7117,9 +3435,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>6d96888f-4121-41fe-9f57-b4ee1edf4ad8</identification>\r
+        <identification>ae40be70-6c12-45e5-be8b-81f0b8b735ba</identification>\r
       </annotationBean>\r
-      <date>2012-03-30 10:08:34.390 CEST</date>\r
+      <date>2012-03-29 12:03:32.626 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -7128,53 +3446,20 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>4f3fd76a-f9f1-48bc-984f-5dcbf4b4d245</identification>\r
+        <identification>9c9f8b53-94a2-4e2f-8352-5871b5c93cc5</identification>\r
       </annotationBean>\r
-      <date>2012-03-30 09:51:25.548 CEST</date>\r
+      <date>2012-03-29 11:44:28.869 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
   </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow><dataflow id="d7362d7b-ec6b-46e2-89b4-0552c6dc8008" role="nested"><name>Workflow199</name><inputPorts><port><name>shouldRun</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port><port><name>csvData</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port></inputPorts><outputPorts><port><name>csv_output</name><annotations /></port></outputPorts><processors><processor><name>End_Workflow</name><inputPorts><port><name>csvData</name><depth>0</depth></port></inputPorts><outputPorts><port><name>csv_output</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="csvData" to="csvData" /></inputMap><outputMap><map from="csv_output" to="csv_output" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
-  <inputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>csvData</name>\r
-      <depth>0</depth>\r
-      <mimeTypes>\r
-        <string>text/plain</string>\r
-      </mimeTypes>\r
-      <handledReferenceSchemes />\r
-      <translatedElementType>java.lang.String</translatedElementType>\r
-      <allowsLiteralValues>true</allowsLiteralValues>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-  </inputs>\r
-  <outputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>csv_output</name>\r
-      <depth>0</depth>\r
-      <mimeTypes />\r
-      <granularDepth>0</granularDepth>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-  </outputs>\r
-  <classLoaderSharing>workflow</classLoaderSharing>\r
-  <localDependencies />\r
-  <artifactDependencies />\r
-  <script>csv_output=csvData;</script>\r
-  <dependencies />\r
-</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="csvData" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor></processors><conditions /><datalinks><datalink><sink type="processor"><processor>End_Workflow</processor><port>csvData</port></sink><source type="dataflow"><port>csvData</port></source></datalink><datalink><sink type="dataflow"><port>csv_output</port></sink><source type="processor"><processor>End_Workflow</processor><port>csv_output</port></source></datalink></datalinks><annotations><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>d7362d7b-ec6b-46e2-89b4-0552c6dc8008</identification>\r
+        <identification>c937ca39-cd89-4ad1-8d74-161ccb7b3961</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 15:47:13.836 CEST</date>\r
+      <date>2012-04-03 09:40:40.891 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -7183,9 +3468,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>a600030e-f6e9-4880-8f95-ba92febf1f24</identification>\r
+        <identification>f080c4b4-30ee-42eb-8897-0084d7779196</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 15:27:57.74 CEST</date>\r
+      <date>2012-03-29 13:41:32.443 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -7194,27 +3479,20 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>6344c10d-f1eb-42a1-89f1-2cde815c0e51</identification>\r
+        <identification>b36d4cfa-6510-4d81-883e-eada09b56f2d</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 15:43:08.451 CEST</date>\r
+      <date>2012-03-29 14:25:21.10 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
   </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow><dataflow id="6da3d3fa-470a-4440-b57e-5c80e3e69eaa" role="nested"><name>Workflow169</name><inputPorts><port><name>shouldRun</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port><port><name>csvData</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port></inputPorts><outputPorts><port><name>csv_ouput</name><annotations /></port></outputPorts><processors><processor><name>Syn_Exp_Occ_Ret</name><inputPorts><port><name>csvData</name><depth>0</depth></port></inputPorts><outputPorts><port><name>csv_output</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>dataflow-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.dataflow.DataflowActivity</class><inputMap><map from="csvData" to="csvData" /></inputMap><outputMap><map from="csv_output" to="csv_output" /></outputMap><configBean encoding="dataflow"><dataflow ref="cdf9c220-fb85-4262-bf44-77fc3302797e" /></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="csvData" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor></processors><conditions /><datalinks><datalink><sink type="processor"><processor>Syn_Exp_Occ_Ret</processor><port>csvData</port></sink><source type="dataflow"><port>csvData</port></source></datalink><datalink><sink type="dataflow"><port>csv_ouput</port></sink><source type="processor"><processor>Syn_Exp_Occ_Ret</processor><port>csv_output</port></source></datalink></datalinks><annotations><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>d72c319e-e7e1-48e8-85e1-37ebe66b92cd</identification>\r
+        <identification>fd8fb852-f3e8-4a57-a600-7a28c8c68961</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 15:10:59.480 CEST</date>\r
+      <date>2012-03-28 17:50:15.876 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -7223,9 +3501,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>6da3d3fa-470a-4440-b57e-5c80e3e69eaa</identification>\r
+        <identification>efd208a7-5a9b-4f0a-a5a4-4beb3a8cb586</identification>\r
       </annotationBean>\r
-      <date>2012-03-30 15:17:02.946 CEST</date>\r
+      <date>2012-03-29 11:37:04.382 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -7234,9 +3512,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>71f1ee5f-1682-4671-8ef4-b0cc2f24f426</identification>\r
+        <identification>5d68a44d-bf06-405c-806f-b228e4617031</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 15:00:58.820 CEST</date>\r
+      <date>2012-03-29 11:03:32.312 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -7245,9 +3523,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>31e4528f-d7d4-45d4-8fdc-e2d85a98fd9e</identification>\r
+        <identification>fc0831b0-d5d1-4849-b27e-45393915f6bb</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 15:33:39.687 CEST</date>\r
+      <date>2012-03-29 14:55:49.410 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -7256,18 +3534,18 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>8ec6ae8e-b2d8-4dd6-b2ee-85e1ecaec132</identification>\r
+        <identification>d9fbd0bb-0b5c-4ae1-a3e6-24b25fe15d8c</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 17:02:21.736 CEST</date>\r
+      <date>2012-03-29 14:30:40.331 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
   </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow><dataflow id="31fdf50d-202d-439f-b858-6011a70e3d1d" role="nested"><name>Workflow38</name><inputPorts><port><name>jobID</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port></inputPorts><outputPorts><port><name>upload_status</name><annotations /></port></outputPorts><processors><processor><name>Upload_Status_Service</name><inputPorts><port><name>jobID</name><depth>0</depth></port></inputPorts><outputPorts><port><name>responseBody</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>rest-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.rest.RESTActivity</class><inputMap><map from="jobID" to="jobID" /></inputMap><outputMap><map from="responseBody" to="responseBody" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean xmlns="">\r
-  <httpMethod>POST</httpMethod>\r
-  <urlSignature>http://127.0.0.1:3333/command/core/get-importing-job-status?jobID={jobID}</urlSignature>\r
-  <acceptsHeaderValue>application/json</acceptsHeaderValue>\r
-  <contentTypeForUpdates>multipart/form-data</contentTypeForUpdates>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow><dataflow id="d18fe496-419c-4f13-9a5e-9ea550bc3a1e" role="nested"><name>Workflow11</name><inputPorts><port><name>synRequest</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port></inputPorts><outputPorts><port><name>synResponse</name><annotations /></port></outputPorts><processors><processor><name>COLRest_Service</name><inputPorts><port><name>sciName</name><depth>0</depth></port></inputPorts><outputPorts><port><name>responseBody</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>rest-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.rest.RESTActivity</class><inputMap><map from="sciName" to="sciName" /></inputMap><outputMap><map from="responseBody" to="responseBody" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean xmlns="">\r
+  <httpMethod>GET</httpMethod>\r
+  <urlSignature>http://www.catalogueoflife.org/webservice?response=full&amp;name={sciName}</urlSignature>\r
+  <acceptsHeaderValue>application/xml</acceptsHeaderValue>\r
+  <contentTypeForUpdates>application/xml</contentTypeForUpdates>\r
   <outgoingDataFormat>String</outgoingDataFormat>\r
   <sendHTTPExpectRequestHeader>false</sendHTTPExpectRequestHeader>\r
   <showRedirectionOutputPort>false</showRedirectionOutputPort>\r
@@ -7275,7 +3553,7 @@ flatten(inputlist, outputlist, 1);</script>
   <otherHTTPHeaders />\r
   <activityInputs>\r
     <entry>\r
-      <string>jobID</string>\r
+      <string>sciName</string>\r
       <java-class>java.lang.String</java-class>\r
     </entry>\r
   </activityInputs>\r
@@ -7286,10 +3564,19 @@ flatten(inputlist, outputlist, 1);</script>
   <initialDelay>1000</initialDelay>\r
   <maxDelay>5000</maxDelay>\r
   <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="jobID" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Parse_Data_Upload</name><inputPorts><port><name>jsonStr</name><depth>0</depth></port></inputPorts><outputPorts><port><name>upload_ok</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="jsonStr" to="jsonStr" /></inputMap><outputMap><map from="upload_ok" to="upload_ok" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="sciName" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>name_status_xpath</name><inputPorts /><outputPorts><port><name>value</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>stringconstant-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.stringconstant.StringConstantActivity</class><inputMap /><outputMap><map from="value" to="value" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean xmlns="">\r
+  <value>/results/result[1]/name_status</value>\r
+</net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy /></iteration></iterationStrategyStack></processor><processor><name>NameStatusConditional</name><inputPorts><port><name>nameStatus</name><depth>0</depth></port></inputPorts><outputPorts><port><name>synpass_flags</name><depth>1</depth><granularDepth>1</granularDepth></port><port><name>synfail_flags</name><depth>1</depth><granularDepth>1</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="nameStatus" to="nameStatus" /></inputMap><outputMap><map from="synpass_flags" to="synpass_flags" /><map from="synfail_flags" to="synfail_flags" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
   <inputs>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>jsonStr</name>\r
+      <name>nameStatus</name>\r
       <depth>0</depth>\r
       <mimeTypes>\r
         <string>text/plain</string>\r
@@ -7301,125 +3588,184 @@ flatten(inputlist, outputlist, 1);</script>
   </inputs>\r
   <outputs>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>jsonErr</name>\r
-      <depth>0</depth>\r
+      <name>synpass_flags</name>\r
+      <depth>1</depth>\r
       <mimeTypes />\r
-      <granularDepth>0</granularDepth>\r
+      <granularDepth>1</granularDepth>\r
     </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>upload_ok</name>\r
-      <depth>0</depth>\r
+      <name>synfail_flags</name>\r
+      <depth>1</depth>\r
       <mimeTypes />\r
-      <granularDepth>0</granularDepth>\r
+      <granularDepth>1</granularDepth>\r
     </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
   </outputs>\r
   <classLoaderSharing>workflow</classLoaderSharing>\r
-  <localDependencies>\r
-    <string>json-simple-1.1.1.jar</string>\r
-  </localDependencies>\r
+  <localDependencies />\r
   <artifactDependencies />\r
-  <script>package org.bgbm.biovel.datacleaning.utils;\r
+  <script>import java.util.ArrayList;\r
 \r
-import org.json.simple.parser.JSONParser;\r
-import org.json.simple.JSONArray;\r
-import org.json.simple.JSONObject;\r
-import org.json.simple.parser.ParseException;\r
+ArrayList synpass_flags = new ArrayList();\r
+ArrayList synfail_flags = new ArrayList();\r
+\r
+if (nameStatus.equals("synonym")) {\r
+       synpass_flags.add(nameStatus);  \r
+} else {\r
+       synfail_flags.add(nameStatus);  \r
+}</script>\r
+  <dependencies />\r
+</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="nameStatus" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>if_synonym</name><inputPorts><port><name>nameStatus</name><depth>0</depth></port><port><name>synResponse</name><depth>0</depth></port></inputPorts><outputPorts><port><name>colResponse</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>dataflow-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.dataflow.DataflowActivity</class><inputMap><map from="nameStatus" to="nameStatus" /><map from="synResponse" to="synResponse" /></inputMap><outputMap><map from="colResponse" to="colResponse" /></outputMap><configBean encoding="dataflow"><dataflow ref="12806644-8a59-4917-a0bf-a32566bfe2ff" /></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="nameStatus" depth="0" /><port name="synResponse" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>if_not_synonym</name><inputPorts><port><name>nameStatus</name><depth>0</depth></port><port><name>colResponseIN</name><depth>0</depth></port></inputPorts><outputPorts><port><name>colResponse</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>dataflow-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.dataflow.DataflowActivity</class><inputMap><map from="colResponseIN" to="colResponseIN" /><map from="nameStatus" to="nameStatus" /></inputMap><outputMap><map from="colResponse" to="colResponse" /></outputMap><configBean encoding="dataflow"><dataflow ref="89482956-6a9c-4300-ace2-d8cebb2c4750" /></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="nameStatus" depth="0" /><port name="colResponseIN" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Merge_String_List_to_a_String</name><inputPorts><port><name>stringlist</name><depth>1</depth></port></inputPorts><outputPorts><port><name>concatenated</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="stringlist" to="stringlist" /></inputMap><outputMap><map from="concatenated" to="concatenated" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
+  <inputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>stringlist</name>\r
+      <depth>1</depth>\r
+      <mimeTypes>\r
+        <string>l('text/plain')</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>seperator</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>'text/plain'</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+  </inputs>\r
+  <outputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>concatenated</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>'text/plain'</string>\r
+      </mimeTypes>\r
+      <granularDepth>0</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+  </outputs>\r
+  <classLoaderSharing>workflow</classLoaderSharing>\r
+  <localDependencies />\r
+  <artifactDependencies />\r
+  <script>String seperatorString = "\n";\r
+if (seperator != void) {\r
+       seperatorString = seperator;\r
+}\r
+StringBuffer sb = new StringBuffer();\r
+for (Iterator i = stringlist.iterator(); i.hasNext();) {\r
+       String item = (String) i.next();\r
+       sb.append(item);\r
+       if (i.hasNext()) {\r
+               sb.append(seperatorString);\r
+       }\r
+}\r
+concatenated = sb.toString();\r
+</script>\r
+  <dependencies />\r
+  <localworkerName>org.embl.ebi.escience.scuflworkers.java.StringListMerge</localworkerName>\r
+</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="stringlist" depth="1" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Flatten_List</name><inputPorts><port><name>inputlist</name><depth>2</depth></port></inputPorts><outputPorts><port><name>outputlist</name><depth>1</depth><granularDepth>1</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="inputlist" to="inputlist" /></inputMap><outputMap><map from="outputlist" to="outputlist" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
+  <inputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>inputlist</name>\r
+      <depth>2</depth>\r
+      <mimeTypes>\r
+        <string>l(l(''))</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>[B</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+  </inputs>\r
+  <outputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>outputlist</name>\r
+      <depth>1</depth>\r
+      <mimeTypes>\r
+        <string>l('')</string>\r
+      </mimeTypes>\r
+      <granularDepth>1</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+  </outputs>\r
+  <classLoaderSharing>workflow</classLoaderSharing>\r
+  <localDependencies />\r
+  <artifactDependencies />\r
+  <script>flatten(inputs, outputs, depth) {\r
+       for (i = inputs.iterator(); i.hasNext();) {\r
+           element = i.next();\r
+               if (element instanceof Collection &amp;&amp; depth &gt; 0) {\r
+                       flatten(element, outputs, depth - 1);\r
+               } else {\r
+                       outputs.add(element);\r
+               }\r
+       }\r
+}\r
 \r
-upload_ok = "false";\r
-JSONParser parser=new JSONParser();\r
-       try {  \r
-           Object obj=parser.parse(jsonStr);\r
-           JSONObject jobj=(JSONObject)obj;\r
-           JSONObject job = (JSONObject)jobj.get("job");\r
-           JSONObject config = (JSONObject)job.get("config");\r
-           boolean hasData = config.get("hasData");\r
-           String state = config.get("state");\r
-           if(hasData &amp;&amp; state.equals("ready"))\r
-               upload_ok="true";\r
-       } catch(ParseException pe) {\r
-           jsonErr = pe.getMessage();\r
-       }  \r
+outputlist = new ArrayList();\r
 \r
-    \r
-</script>\r
+flatten(inputlist, outputlist, 1);</script>\r
   <dependencies />\r
-</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <localworkerName>org.embl.ebi.escience.scuflworkers.java.FlattenList</localworkerName>\r
+</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
   <maxJobs>1</maxJobs>\r
 </net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
   <backoffFactor>1.0</backoffFactor>\r
   <initialDelay>1000</initialDelay>\r
   <maxDelay>5000</maxDelay>\r
   <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="jsonStr" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor></processors><conditions /><datalinks><datalink><sink type="processor"><processor>Upload_Status_Service</processor><port>jobID</port></sink><source type="dataflow"><port>jobID</port></source></datalink><datalink><sink type="processor"><processor>Parse_Data_Upload</processor><port>jsonStr</port></sink><source type="processor"><processor>Upload_Status_Service</processor><port>responseBody</port></source></datalink><datalink><sink type="dataflow"><port>upload_status</port></sink><source type="processor"><processor>Parse_Data_Upload</processor><port>upload_ok</port></source></datalink></datalinks><annotations><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>86bf6ca4-201f-450e-bc88-9922b490aa68</identification>\r
-      </annotationBean>\r
-      <date>2012-03-09 13:03:05.472 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>a5c16a81-e8fb-4cd3-b620-3b972e1fea15</identification>\r
-      </annotationBean>\r
-      <date>2012-03-09 13:04:55.106 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>31fdf50d-202d-439f-b858-6011a70e3d1d</identification>\r
-      </annotationBean>\r
-      <date>2012-03-14 14:37:03.161 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>d2599501-a88c-4658-b1d5-889cd67a4844</identification>\r
-      </annotationBean>\r
-      <date>2012-03-09 12:53:00.448 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>d5398ff1-78d8-48ba-ace4-b0daec6ea8a0</identification>\r
-      </annotationBean>\r
-      <date>2012-03-09 13:08:09.391 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>841ea555-f5f8-4f25-b8f1-c1a28ac1e6f3</identification>\r
-      </annotationBean>\r
-      <date>2012-03-09 13:00:14.572 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow><dataflow id="89482956-6a9c-4300-ace2-d8cebb2c4750" role="nested"><name>Workflow21</name><inputPorts><port><name>nameStatus</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port><port><name>colResponseIN</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port></inputPorts><outputPorts><port><name>colResponse</name><annotations /></port></outputPorts><processors><processor><name>AssignInputOutput</name><inputPorts><port><name>in</name><depth>0</depth></port></inputPorts><outputPorts><port><name>out</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="in" to="in" /></inputMap><outputMap><map from="out" to="out" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="inputlist" depth="2" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>colRes_to_SynRes_xsl</name><inputPorts /><outputPorts><port><name>value</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>stringconstant-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.stringconstant.StringConstantActivity</class><inputMap /><outputMap><map from="value" to="value" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean xmlns="">\r
+  <value>http://www.myexperiment.org/files/697/download/colres_to_synres.xsl</value>\r
+</net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy /></iteration></iterationStrategyStack></processor><processor><name>Transform_XML_with_parameters</name><inputPorts><port><name>xsltString</name><depth>0</depth></port><port><name>sourceString</name><depth>0</depth></port><port><name>paramList</name><depth>1</depth></port></inputPorts><outputPorts><port><name>outputString</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="xsltString" to="xsltString" /><map from="paramList" to="paramList" /><map from="sourceString" to="sourceString" /></inputMap><outputMap><map from="outputString" to="outputString" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
   <inputs>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>in</name>\r
+      <name>sourceString</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>text/plain</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>xsltString</name>\r
       <depth>0</depth>\r
       <mimeTypes>\r
         <string>text/plain</string>\r
@@ -7428,10 +3774,20 @@ JSONParser parser=new JSONParser();
       <translatedElementType>java.lang.String</translatedElementType>\r
       <allowsLiteralValues>true</allowsLiteralValues>\r
     </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>paramList</name>\r
+      <depth>1</depth>\r
+      <mimeTypes>\r
+        <string>text/plain</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
   </inputs>\r
   <outputs>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>out</name>\r
+      <name>outputString</name>\r
       <depth>0</depth>\r
       <mimeTypes />\r
       <granularDepth>0</granularDepth>\r
@@ -7440,99 +3796,75 @@ JSONParser parser=new JSONParser();
   <classLoaderSharing>workflow</classLoaderSharing>\r
   <localDependencies />\r
   <artifactDependencies />\r
-  <script>out = in;</script>\r
+  <script>//From a proposal by Mikolaj Rybinski\r
+import javax.xml.transform.Source;\r
+import javax.xml.transform.Transformer;\r
+import javax.xml.transform.TransformerFactory;\r
+import javax.xml.transform.stream.StreamResult;\r
+import javax.xml.transform.stream.StreamSource;\r
+\r
+param(paramstr) {\r
+    nameAndValue = paramstr.split("=");\r
+    if (nameAndValue.length != 2) {\r
+        throw new RuntimeException("Wrong parameter format: \"" + paramstr + "\".");\r
+    }\r
+    name = nameAndValue[0].trim();\r
+    value = nameAndValue[1].trim();\r
+    return this;\r
+}\r
+\r
+if ((sourceString == void) || (sourceString == null)) {\r
+        throw new RuntimeException("sourceString must be specified");\r
+}\r
+\r
+if ((xsltString == void) || (xsltString == null)) {\r
+        throw new RuntimeException("xsltString must be specified");\r
+}\r
+\r
+Source inSource = new StreamSource(new StringReader(sourceString));\r
+Source xslSource = new StreamSource(new StringReader(xsltString));\r
+\r
+// the factory pattern supports different XSLT processors\r
+// e.g. set the "javax.xml.transform.TransformerFactory" system property\r
+TransformerFactory tnfFact = TransformerFactory.newInstance();\r
+Transformer tnf = tnfFact.newTransformer(xslSource);\r
+\r
+if (paramList != void) {\r
+  for (String paramstr : paramList) {\r
+    p = param(paramstr);\r
+    tnf.setParameter(p.name, p.value);\r
+  }\r
+}\r
+\r
+Writer outputWriter = new StringWriter();\r
+tnf.transform(inSource, new StreamResult(outputWriter));\r
+outputString = outputWriter.toString();</script>\r
   <dependencies />\r
-</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <localworkerName>net.sourceforge.taverna.scuflworkers.xml.XSLTWorkerWithParameters</localworkerName>\r
+</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
   <maxJobs>1</maxJobs>\r
 </net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
   <backoffFactor>1.0</backoffFactor>\r
   <initialDelay>1000</initialDelay>\r
   <maxDelay>5000</maxDelay>\r
   <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="in" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor></processors><conditions /><datalinks><datalink><sink type="processor"><processor>AssignInputOutput</processor><port>in</port></sink><source type="dataflow"><port>colResponseIN</port></source></datalink><datalink><sink type="dataflow"><port>colResponse</port></sink><source type="processor"><processor>AssignInputOutput</processor><port>out</port></source></datalink></datalinks><annotations><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>724a8409-b76e-40b8-ab78-45fad288675b</identification>\r
-      </annotationBean>\r
-      <date>2012-01-24 14:06:25.755 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>810c97ff-1258-47ad-a9fa-c018449828ef</identification>\r
-      </annotationBean>\r
-      <date>2012-01-24 14:06:51.959 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>b8e14154-831e-41ce-b590-9f6daaa9fa67</identification>\r
-      </annotationBean>\r
-      <date>2012-01-24 14:12:26.300 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>8da12769-2015-408b-a6e2-d331a50c9c96</identification>\r
-      </annotationBean>\r
-      <date>2012-01-24 14:10:10.838 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>89482956-6a9c-4300-ace2-d8cebb2c4750</identification>\r
-      </annotationBean>\r
-      <date>2012-01-24 14:27:28.355 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>6eadb547-663a-49c7-bdf8-a23b2d7f4123</identification>\r
-      </annotationBean>\r
-      <date>2012-01-24 14:07:22.177 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>95364f28-7f90-498a-bc62-1d1ede09052c</identification>\r
-      </annotationBean>\r
-      <date>2012-01-24 14:08:22.102 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow><dataflow id="b5bf0e13-96b1-410e-99cb-02176b0b215d" role="nested"><name>Workflow66</name><inputPorts><port><name>csvData</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port><port><name>shouldRun</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port></inputPorts><outputPorts><port><name>csv_output</name><annotations /></port></outputPorts><processors><processor><name>passthrough_beanshell</name><inputPorts><port><name>csvData</name><depth>0</depth></port></inputPorts><outputPorts><port><name>csv_output</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="csvData" to="csvData" /></inputMap><outputMap><map from="csv_output" to="csv_output" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="xsltString" depth="0" /><port name="sourceString" depth="0" /><port name="paramList" depth="1" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Read_Text_File_2</name><inputPorts><port><name>fileurl</name><depth>0</depth></port></inputPorts><outputPorts><port><name>filecontents</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="fileurl" to="fileurl" /></inputMap><outputMap><map from="filecontents" to="filecontents" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
   <inputs>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>csvData</name>\r
+      <name>fileurl</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>'text/plain'</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>encoding</name>\r
       <depth>0</depth>\r
       <mimeTypes>\r
-        <string>text/plain</string>\r
+        <string>'text/plain'</string>\r
       </mimeTypes>\r
       <handledReferenceSchemes />\r
       <translatedElementType>java.lang.String</translatedElementType>\r
@@ -7541,71 +3873,71 @@ JSONParser parser=new JSONParser();
   </inputs>\r
   <outputs>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>csv_output</name>\r
+      <name>filecontents</name>\r
       <depth>0</depth>\r
-      <mimeTypes />\r
+      <mimeTypes>\r
+        <string>'text/plain'</string>\r
+      </mimeTypes>\r
       <granularDepth>0</granularDepth>\r
     </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
   </outputs>\r
   <classLoaderSharing>workflow</classLoaderSharing>\r
   <localDependencies />\r
   <artifactDependencies />\r
-  <script>csv_output=csvData</script>\r
+  <script>BufferedReader getReader (String fileUrl, String encoding) throws IOException {\r
+               InputStreamReader reader;\r
+               try {\r
+                       if (encoding == null) {\r
+                               reader = new FileReader(fileUrl);\r
+                       } else {\r
+                               reader = new InputStreamReader(new FileInputStream(fileUrl),encoding); \r
+                       }\r
+               }\r
+               catch (FileNotFoundException e) {\r
+                       // try a real URL instead\r
+                       URL url = new URL(fileUrl);\r
+                       if (encoding == null) {\r
+                               reader = new InputStreamReader (url.openStream());\r
+                       } else {\r
+                               reader = new InputStreamReader (url.openStream(), encoding);\r
+                       }\r
+               }\r
+               return new BufferedReader(reader);\r
+       }\r
+\r
+\r
+\r
+StringBuffer sb = new StringBuffer(4000);\r
+\r
+if (encoding == void) {\r
+       encoding = null;\r
+}\r
+\r
+BufferedReader in = getReader(fileurl, encoding);\r
+String str;\r
+String lineEnding = System.getProperty("line.separator");\r
+\r
+while ((str = in.readLine()) != null) {\r
+       sb.append(str);\r
+       sb.append(lineEnding);\r
+}\r
+in.close();\r
+filecontents = sb.toString();\r
+  \r
+</script>\r
   <dependencies />\r
-</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="csvData" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor></processors><conditions /><datalinks><datalink><sink type="processor"><processor>passthrough_beanshell</processor><port>csvData</port></sink><source type="dataflow"><port>csvData</port></source></datalink><datalink><sink type="dataflow"><port>csv_output</port></sink><source type="processor"><processor>passthrough_beanshell</processor><port>csv_output</port></source></datalink></datalinks><annotations><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>b5bf0e13-96b1-410e-99cb-02176b0b215d</identification>\r
-      </annotationBean>\r
-      <date>2012-03-30 15:15:28.366 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow><dataflow id="85ba17c1-2e24-49d8-a00b-84acb2a1cf61" role="nested"><name>Workflow33</name><inputPorts><port><name>sciName</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port></inputPorts><outputPorts><port><name>csv_output</name><annotations /></port></outputPorts><processors><processor><name>slwArtDataBank_to_csv_xsl</name><inputPorts /><outputPorts><port><name>value</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>stringconstant-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.stringconstant.StringConstantActivity</class><inputMap /><outputMap><map from="value" to="value" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean xmlns="">\r
-  <value>http://ww2.bgbm.org/temp/biovel/slwArtDataBank_to_csv.xsl</value>\r
-</net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy /></iteration></iterationStrategyStack></processor><processor><name>slwOccurrence</name><inputPorts><port><name>scientificNameFilter</name><depth>0</depth></port></inputPorts><outputPorts><port><name>responseBody</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>rest-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.rest.RESTActivity</class><inputMap><map from="scientificNameFilter" to="scientificNameFilter" /></inputMap><outputMap><map from="responseBody" to="responseBody" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean xmlns="">\r
-  <httpMethod>GET</httpMethod>\r
-  <urlSignature>http://slwgeo.artdata.slu.se:8080/geoserver/wfs?&amp;VERSION=1.0.0&amp;SERVICE=WFS&amp;REQUEST=GetFeature&amp;TYPENAME=SLW:SwedishSpeciesDarwinCore_1.5&amp;Filter={scientificNameFilter}</urlSignature>\r
-  <acceptsHeaderValue>application/xml</acceptsHeaderValue>\r
-  <contentTypeForUpdates>application/xml</contentTypeForUpdates>\r
-  <outgoingDataFormat>String</outgoingDataFormat>\r
-  <sendHTTPExpectRequestHeader>false</sendHTTPExpectRequestHeader>\r
-  <showRedirectionOutputPort>false</showRedirectionOutputPort>\r
-  <escapeParameters>true</escapeParameters>\r
-  <otherHTTPHeaders />\r
-  <activityInputs>\r
-    <entry>\r
-      <string>scientificNameFilter</string>\r
-      <java-class>java.lang.String</java-class>\r
-    </entry>\r
-  </activityInputs>\r
-</net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <localworkerName>net.sourceforge.taverna.scuflworkers.io.TextFileReader</localworkerName>\r
+</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
   <maxJobs>1</maxJobs>\r
 </net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
   <backoffFactor>1.0</backoffFactor>\r
   <initialDelay>1000</initialDelay>\r
   <maxDelay>5000</maxDelay>\r
   <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="scientificNameFilter" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>slw_filter_generator</name><inputPorts><port><name>sciName</name><depth>0</depth></port></inputPorts><outputPorts><port><name>filter</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="sciName" to="sciName" /></inputMap><outputMap><map from="filter" to="filter" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="fileurl" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>CreateID</name><inputPorts><port><name>name</name><depth>0</depth></port></inputPorts><outputPorts><port><name>id_param</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="name" to="name" /></inputMap><outputMap><map from="id_param" to="id_param" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
   <inputs>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>sciName</name>\r
+      <name>name</name>\r
       <depth>0</depth>\r
       <mimeTypes>\r
         <string>text/plain</string>\r
@@ -7617,7 +3949,7 @@ JSONParser parser=new JSONParser();
   </inputs>\r
   <outputs>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>filter</name>\r
+      <name>id_param</name>\r
       <depth>0</depth>\r
       <mimeTypes />\r
       <granularDepth>0</granularDepth>\r
@@ -7627,7 +3959,7 @@ JSONParser parser=new JSONParser();
   <localDependencies />\r
   <artifactDependencies />\r
   <script>\r
-filter = "&lt;Filter&gt;&lt;PropertyIsLike wildCard='*' singleChar='.' escape='!'&gt;&lt;PropertyName&gt;scientificName&lt;/PropertyName&gt;&lt;Literal&gt;*" + sciName + "*&lt;/Literal&gt;&lt;/PropertyIsLike&gt;&lt;/Filter&gt;";</script>\r
+id_param = "syncheckid=" + name</script>\r
   <dependencies />\r
 </net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
   <maxJobs>1</maxJobs>\r
@@ -7636,7 +3968,7 @@ filter = "&lt;Filter&gt;&lt;PropertyIsLike wildCard='*' singleChar='.' escape='!
   <initialDelay>1000</initialDelay>\r
   <maxDelay>5000</maxDelay>\r
   <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="sciName" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Transform_XML_String</name><inputPorts><port><name>inString</name><depth>0</depth></port><port><name>xslFileURL</name><depth>0</depth></port></inputPorts><outputPorts><port><name>outputStr</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="inString" to="inString" /><map from="xslFileURL" to="xslFileURL" /></inputMap><outputMap><map from="outputStr" to="outputStr" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="name" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Transform_XML_2</name><inputPorts><port><name>xslFileURL</name><depth>0</depth></port><port><name>inString</name><depth>0</depth></port></inputPorts><outputPorts><port><name>outputStr</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="inString" to="inString" /><map from="xslFileURL" to="xslFileURL" /></inputMap><outputMap><map from="outputStr" to="outputStr" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
   <inputs>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
       <name>xslFileURL</name>\r
@@ -7700,7 +4032,6 @@ import java.io.IOException;
 import java.io.InputStreamReader;\r
 import java.io.OutputStreamWriter;\r
 import java.io.StringWriter;\r
-import java.io.StringReader;\r
 import java.io.Writer;\r
 import java.net.URL;\r
 import java.util.HashMap;\r
@@ -7744,15 +4075,6 @@ BufferedWriter getWriter (String fileUrl) throws IOException {
        }\r
        \r
 String xslFilename = xslFileURL;\r
-String outFilename;\r
-if (outFileURL != void) {\r
-    outFilename = outFileURL;\r
-}\r
-\r
-String ext;\r
-if (outputExt != void) {\r
-    ext = outputExt;\r
-}\r
 \r
 \r
 \r
@@ -7774,45 +4096,162 @@ Result result = new StreamResult(resultStr);
 // Apply the xsl file to the source file and write the result to the\r
 // output file\r
 xformer.transform(source, result);\r
-\r
 outputStr = resultStr.toString();\r
+sourceReader.close();\r
+</script>\r
+  <dependencies />\r
+  <localworkerName>net.sourceforge.taverna.scuflworkers.xml.XSLTWorker</localworkerName>\r
+</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations><annotation_chain encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.HostInstitution">\r
+        <text>UserNameHere</text>\r
+      </annotationBean>\r
+      <date>2012-01-24 15:55:03.158 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain></annotations></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="xslFileURL" depth="0" /><port name="inString" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>synReq_to_colReq_xsl</name><inputPorts /><outputPorts><port><name>value</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>stringconstant-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.stringconstant.StringConstantActivity</class><inputMap /><outputMap><map from="value" to="value" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean xmlns="">\r
+  <value>http://www.myexperiment.org/files/690/download/synreq_to_colreq.xsl</value>\r
+</net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy /></iteration></iterationStrategyStack></processor><processor><name>FirstElement_From_XPath</name><inputPorts><port><name>xmltext</name><depth>0</depth></port><port><name>xpath</name><depth>0</depth></port></inputPorts><outputPorts><port><name>nodeVal</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="xmltext" to="xmltext" /><map from="xpath" to="xpath" /></inputMap><outputMap><map from="nodeVal" to="nodeVal" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
+  <inputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>xpath</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>text/plain</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>xmltext</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>text/plain</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+  </inputs>\r
+  <outputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>nodeVal</name>\r
+      <depth>0</depth>\r
+      <mimeTypes />\r
+      <granularDepth>0</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+  </outputs>\r
+  <classLoaderSharing>workflow</classLoaderSharing>\r
+  <localDependencies />\r
+  <artifactDependencies />\r
+  <script>import org.dom4j.Document;\r
+import org.dom4j.Node;\r
+import org.dom4j.io.SAXReader;\r
 \r
-if ((outFilename != null) &amp;&amp; !outFilename.equals("")) {\r
+SAXReader reader = new SAXReader(false);\r
+reader.setIncludeInternalDTDDeclarations(false);\r
+reader.setIncludeExternalDTDDeclarations(false);\r
 \r
-       BufferedWriter out = getWriter(outFilename);\r
+Document document = reader.read(new StringReader(xmltext));\r
+List nodelist = document.selectNodes(xpath);\r
 \r
-       out.write(outputStr);\r
-       out.close();\r
+// Process the elements in the nodelist\r
+ArrayList outputList = new ArrayList();\r
+ArrayList outputXmlList = new ArrayList();\r
+\r
+String val = "";\r
+String xmlVal = "";\r
+for (Iterator iter = nodelist.iterator(); iter.hasNext();) {\r
+       Node element = (Node) iter.next();\r
+       xmlVal = element.asXML();\r
+       val = element.getStringValue();\r
+       if (val != null &amp;&amp; !val.equals("")) {\r
+               outputList.add(val);\r
+               outputXmlList.add(xmlVal);\r
+       }\r
+break;\r
 }\r
-sourceReader.close();\r
+\r
+//List nodelist=outputList;\r
+nodeVal = val;\r
 </script>\r
   <dependencies />\r
-  <localworkerName>net.sourceforge.taverna.scuflworkers.xml.XSLTWorker</localworkerName>\r
-</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations><annotation_chain encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="xmltext" depth="0" /><port name="xpath" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor></processors><conditions /><datalinks><datalink><sink type="processor"><processor>COLRest_Service</processor><port>sciName</port></sink><source type="processor"><processor>Transform_XML_2</processor><port>outputStr</port></source></datalink><datalink><sink type="processor"><processor>NameStatusConditional</processor><port>nameStatus</port></sink><source type="processor"><processor>FirstElement_From_XPath</processor><port>nodeVal</port></source></datalink><datalink><sink type="processor"><processor>if_synonym</processor><port>nameStatus</port></sink><source type="processor"><processor>NameStatusConditional</processor><port>synpass_flags</port></source></datalink><datalink><sink type="processor"><processor>if_synonym</processor><port>synResponse</port></sink><source type="processor"><processor>COLRest_Service</processor><port>responseBody</port></source></datalink><datalink><sink type="processor"><processor>if_not_synonym</processor><port>nameStatus</port></sink><source type="processor"><processor>NameStatusConditional</processor><port>synfail_flags</port></source></datalink><datalink><sink type="processor"><processor>if_not_synonym</processor><port>colResponseIN</port></sink><source type="processor"><processor>COLRest_Service</processor><port>responseBody</port></source></datalink><datalink><sink type="processor"><processor>Merge_String_List_to_a_String</processor><port>stringlist</port></sink><source type="processor"><processor>Flatten_List</processor><port>outputlist</port></source></datalink><datalink><sink type="processor"><processor>Transform_XML_with_parameters</processor><port>xsltString</port></sink><source type="processor"><processor>Read_Text_File_2</processor><port>filecontents</port></source></datalink><datalink><sink type="processor"><processor>Transform_XML_with_parameters</processor><port>sourceString</port></sink><source type="processor"><processor>Merge_String_List_to_a_String</processor><port>concatenated</port></source></datalink><datalink><sink type="processor"><processor>Transform_XML_with_parameters</processor><port>paramList</port></sink><source type="processor"><processor>CreateID</processor><port>id_param</port></source></datalink><datalink><sink type="processor"><processor>Read_Text_File_2</processor><port>fileurl</port></sink><source type="processor"><processor>colRes_to_SynRes_xsl</processor><port>value</port></source></datalink><datalink><sink type="processor"><processor>CreateID</processor><port>name</port></sink><source type="processor"><processor>Transform_XML_2</processor><port>outputStr</port></source></datalink><datalink><sink type="processor"><processor>Transform_XML_2</processor><port>xslFileURL</port></sink><source type="processor"><processor>synReq_to_colReq_xsl</processor><port>value</port></source></datalink><datalink><sink type="processor"><processor>Transform_XML_2</processor><port>inString</port></sink><source type="dataflow"><port>synRequest</port></source></datalink><datalink><sink type="processor"><processor>FirstElement_From_XPath</processor><port>xmltext</port></sink><source type="processor"><processor>COLRest_Service</processor><port>responseBody</port></source></datalink><datalink><sink type="processor"><processor>FirstElement_From_XPath</processor><port>xpath</port></sink><source type="processor"><processor>name_status_xpath</processor><port>value</port></source></datalink><datalink><sink type="merge"><processor>Flatten_List</processor><port>inputlist</port></sink><source type="processor"><processor>if_not_synonym</processor><port>colResponse</port></source></datalink><datalink><sink type="merge"><processor>Flatten_List</processor><port>inputlist</port></sink><source type="processor"><processor>if_synonym</processor><port>colResponse</port></source></datalink><datalink><sink type="dataflow"><port>synResponse</port></sink><source type="processor"><processor>Transform_XML_with_parameters</processor><port>outputString</port></source></datalink></datalinks><annotations><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>3ab53f67-d243-4e40-8627-83028ef002df</identification>\r
+      </annotationBean>\r
+      <date>2012-02-10 12:44:20.333 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>d6cabd36-4763-4a7c-bd19-afb1547696b9</identification>\r
+      </annotationBean>\r
+      <date>2012-01-25 16:08:29.517 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>a0866021-3699-4383-b41c-6b8d0866305e</identification>\r
+      </annotationBean>\r
+      <date>2012-01-23 15:01:00.405 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.HostInstitution">\r
-        <text>UserNameHere</text>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>20cf832b-88c5-4214-ac8b-cd46f8159b7d</identification>\r
       </annotationBean>\r
-      <date>2012-01-13 17:08:38.768 CET</date>\r
+      <date>2012-01-23 15:08:03.570 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
   </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain></annotations></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="inString" depth="0" /><port name="xslFileURL" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor></processors><conditions /><datalinks><datalink><sink type="processor"><processor>slwOccurrence</processor><port>scientificNameFilter</port></sink><source type="processor"><processor>slw_filter_generator</processor><port>filter</port></source></datalink><datalink><sink type="processor"><processor>slw_filter_generator</processor><port>sciName</port></sink><source type="dataflow"><port>sciName</port></source></datalink><datalink><sink type="processor"><processor>Transform_XML_String</processor><port>inString</port></sink><source type="processor"><processor>slwOccurrence</processor><port>responseBody</port></source></datalink><datalink><sink type="processor"><processor>Transform_XML_String</processor><port>xslFileURL</port></sink><source type="processor"><processor>slwArtDataBank_to_csv_xsl</processor><port>value</port></source></datalink><datalink><sink type="dataflow"><port>csv_output</port></sink><source type="processor"><processor>Transform_XML_String</processor><port>outputStr</port></source></datalink></datalinks><annotations><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>7d53acd3-c1d9-4ab0-9552-7dd5b3955adf</identification>\r
+        <identification>65b317eb-1a04-45d0-afc4-196506a33934</identification>\r
       </annotationBean>\r
-      <date>2012-03-21 17:55:21.599 CET</date>\r
+      <date>2012-02-13 13:36:08.651 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -7821,9 +4260,9 @@ sourceReader.close();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>85ba17c1-2e24-49d8-a00b-84acb2a1cf61</identification>\r
+        <identification>2bcaf5f3-a086-4ab8-bfe6-4e7640a6ce45</identification>\r
       </annotationBean>\r
-      <date>2012-03-22 09:26:26.82 CET</date>\r
+      <date>2012-01-23 15:10:26.350 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -7832,9 +4271,9 @@ sourceReader.close();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>a6cc5fd4-fe4a-461f-a371-bc5b87bc0513</identification>\r
+        <identification>654ddd4b-3aee-4576-8bf7-939c9d470b9d</identification>\r
       </annotationBean>\r
-      <date>2012-03-20 16:48:17.526 CET</date>\r
+      <date>2012-01-23 15:14:53.241 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -7843,9 +4282,9 @@ sourceReader.close();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>1dd9b6f5-24e8-4ea7-875f-4e98f9d135e4</identification>\r
+        <identification>13e365c6-a1f5-4e3a-99a4-d39a147367c7</identification>\r
       </annotationBean>\r
-      <date>2012-03-21 13:25:11.607 CET</date>\r
+      <date>2012-01-23 15:39:42.940 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -7854,9 +4293,9 @@ sourceReader.close();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>15151ee4-7e16-4331-acb4-34a735cf3631</identification>\r
+        <identification>c273ba6e-577c-4078-a967-8bc0a6ce0ccb</identification>\r
       </annotationBean>\r
-      <date>2012-03-20 16:54:42.882 CET</date>\r
+      <date>2012-02-23 16:20:00.241 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -7865,9 +4304,9 @@ sourceReader.close();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>f4b19cf9-23f9-483a-ad3c-bfd981052f51</identification>\r
+        <identification>7d54ce42-e540-4c40-b7f1-2209c6638804</identification>\r
       </annotationBean>\r
-      <date>2012-03-20 16:53:37.766 CET</date>\r
+      <date>2012-02-10 12:40:38.13 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -7876,9 +4315,9 @@ sourceReader.close();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>c0f096ee-4813-461c-a55a-6d153f3d06fb</identification>\r
+        <identification>4f5b0cf0-f3e4-4a48-b3bc-4d3d6770a4c3</identification>\r
       </annotationBean>\r
-      <date>2012-03-21 13:13:48.453 CET</date>\r
+      <date>2012-01-25 17:19:33.836 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -7887,9 +4326,9 @@ sourceReader.close();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>1c711ced-b003-47e0-bd32-3abd5705da83</identification>\r
+        <identification>56c300cd-9209-44ef-9874-3efa78d77df3</identification>\r
       </annotationBean>\r
-      <date>2012-03-22 09:26:09.603 CET</date>\r
+      <date>2012-02-10 12:41:11.317 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -7898,9 +4337,9 @@ sourceReader.close();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>1db7de4d-ac2e-4ce8-aa12-e50f2535dd51</identification>\r
+        <identification>3f6fdae5-1039-4d5d-b016-09a7d0b7808f</identification>\r
       </annotationBean>\r
-      <date>2012-03-20 17:01:09.185 CET</date>\r
+      <date>2012-02-10 16:33:33.703 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -7909,9 +4348,9 @@ sourceReader.close();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>eafd7ab2-9c8f-4bfc-bac6-31e87a14286c</identification>\r
+        <identification>c07ee8d5-7314-45dc-a7b9-f136f9762905</identification>\r
       </annotationBean>\r
-      <date>2012-03-20 16:59:03.163 CET</date>\r
+      <date>2012-01-24 14:25:37.176 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -7920,9 +4359,9 @@ sourceReader.close();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>1f00c813-cd52-4caa-8030-892cccb3ab13</identification>\r
+        <identification>08117860-fcd2-4342-b938-efe94165feb0</identification>\r
       </annotationBean>\r
-      <date>2012-03-20 17:39:54.780 CET</date>\r
+      <date>2012-01-24 13:53:17.262 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -7931,9 +4370,9 @@ sourceReader.close();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>0ae246b3-cb94-4c25-851c-d306d21ad467</identification>\r
+        <identification>7614477b-fc8e-4262-be98-03a72347ecd1</identification>\r
       </annotationBean>\r
-      <date>2012-03-20 17:37:48.845 CET</date>\r
+      <date>2012-01-24 14:02:21.343 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -7942,9 +4381,9 @@ sourceReader.close();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>62e3c568-62d4-405a-85e1-59356b885e27</identification>\r
+        <identification>d18fe496-419c-4f13-9a5e-9ea550bc3a1e</identification>\r
       </annotationBean>\r
-      <date>2012-03-20 17:00:24.471 CET</date>\r
+      <date>2012-02-23 17:14:42.676 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -7953,9 +4392,9 @@ sourceReader.close();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>986b70a2-9f54-4b20-80a8-aead9fdd537d</identification>\r
+        <identification>7e933e2c-4286-4303-a56e-4cea981e3195</identification>\r
       </annotationBean>\r
-      <date>2012-03-21 17:56:36.196 CET</date>\r
+      <date>2012-01-27 15:45:49.310 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -7964,291 +4403,220 @@ sourceReader.close();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>c2694978-40f8-4032-af83-fce1617d630e</identification>\r
+        <identification>1bae1054-0ea5-436e-bc01-c2c8838ba066</identification>\r
       </annotationBean>\r
-      <date>2012-03-20 16:44:25.215 CET</date>\r
+      <date>2012-01-23 15:47:21.97 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
   </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow><dataflow id="bb3cfdaa-833f-450c-8584-17c99f170082" role="nested"><name>Workflow1</name><inputPorts><port><name>csvData</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port></inputPorts><outputPorts><port><name>proj_percent</name><annotations /></port><port><name>upload_status</name><annotations /></port><port><name>export</name><annotations /></port></outputPorts><processors><processor><name>Init_Job_Service</name><inputPorts /><outputPorts><port><name>responseBody</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>rest-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.rest.RESTActivity</class><inputMap /><outputMap><map from="responseBody" to="responseBody" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean xmlns="">\r
-  <httpMethod>POST</httpMethod>\r
-  <urlSignature>http://127.0.0.1:3333/command/core/create-importing-job</urlSignature>\r
-  <acceptsHeaderValue>application/json</acceptsHeaderValue>\r
-  <contentTypeForUpdates>application/http</contentTypeForUpdates>\r
-  <outgoingDataFormat>String</outgoingDataFormat>\r
-  <sendHTTPExpectRequestHeader>false</sendHTTPExpectRequestHeader>\r
-  <showRedirectionOutputPort>false</showRedirectionOutputPort>\r
-  <escapeParameters>true</escapeParameters>\r
-  <otherHTTPHeaders />\r
-  <activityInputs />\r
-</net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross /></strategy></iteration></iterationStrategyStack></processor><processor><name>Parse_Job</name><inputPorts><port><name>jsonStr</name><depth>0</depth></port></inputPorts><outputPorts><port><name>jobID</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="jsonStr" to="jsonStr" /></inputMap><outputMap><map from="jobID" to="jobID" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
-  <inputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>jsonStr</name>\r
-      <depth>0</depth>\r
-      <mimeTypes>\r
-        <string>text/plain</string>\r
-      </mimeTypes>\r
-      <handledReferenceSchemes />\r
-      <translatedElementType>java.lang.String</translatedElementType>\r
-      <allowsLiteralValues>true</allowsLiteralValues>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-  </inputs>\r
-  <outputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>jsonErr</name>\r
-      <depth>0</depth>\r
-      <mimeTypes />\r
-      <granularDepth>0</granularDepth>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>jobID</name>\r
-      <depth>0</depth>\r
-      <mimeTypes />\r
-      <granularDepth>0</granularDepth>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-  </outputs>\r
-  <classLoaderSharing>workflow</classLoaderSharing>\r
-  <localDependencies>\r
-    <string>json-simple-1.1.1.jar</string>\r
-  </localDependencies>\r
-  <artifactDependencies />\r
-  <script>package org.bgbm.biovel.datacleaning.utils;\r
-\r
-import org.json.simple.parser.JSONParser;\r
-import org.json.simple.JSONArray;\r
-import org.json.simple.JSONObject;\r
-import org.json.simple.parser.ParseException;\r
-\r
-\r
-JSONParser parser=new JSONParser();\r
-       try {\r
-  \r
-           Object obj=parser.parse(jsonStr);\r
-           JSONObject jobj=(JSONObject)obj;\r
-           jobID = jobj.get("jobID");\r
-\r
-       } catch(ParseException pe) {\r
-           jsonErr = pe.getMessage();\r
-       }  \r
-\r
-    \r
-</script>\r
-  <dependencies />\r
-</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="jsonStr" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Upload_Data_Service</name><inputPorts><port><name>jobID</name><depth>0</depth></port><port><name>inputBody</name><depth>0</depth></port></inputPorts><outputPorts /><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>rest-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.rest.RESTActivity</class><inputMap><map from="inputBody" to="inputBody" /><map from="jobID" to="jobID" /></inputMap><outputMap /><configBean encoding="xstream"><net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean xmlns="">\r
-  <httpMethod>POST</httpMethod>\r
-  <urlSignature>http://127.0.0.1:3333/command/core/importing-controller?controller=core/default-importing-controller&amp;jobID={jobID}&amp;subCommand=load-raw-data</urlSignature>\r
-  <acceptsHeaderValue>text/html</acceptsHeaderValue>\r
-  <contentTypeForUpdates>multipart/form-data; boundary=----dcBoundary</contentTypeForUpdates>\r
-  <outgoingDataFormat>Binary</outgoingDataFormat>\r
-  <sendHTTPExpectRequestHeader>false</sendHTTPExpectRequestHeader>\r
-  <showRedirectionOutputPort>false</showRedirectionOutputPort>\r
-  <escapeParameters>true</escapeParameters>\r
-  <otherHTTPHeaders />\r
-  <activityInputs>\r
-    <entry>\r
-      <string>jobID</string>\r
-      <java-class>java.lang.String</java-class>\r
-    </entry>\r
-  </activityInputs>\r
-</net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="jobID" depth="0" /><port name="inputBody" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Parser_Format_Service</name><inputPorts><port><name>jobID</name><depth>0</depth></port></inputPorts><outputPorts /><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>rest-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.rest.RESTActivity</class><inputMap><map from="jobID" to="jobID" /></inputMap><outputMap /><configBean encoding="xstream"><net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean xmlns="">\r
-  <httpMethod>POST</httpMethod>\r
-  <urlSignature>http://127.0.0.1:3333/command/core/importing-controller?controller=core/default-importing-controller&amp;jobID={jobID}&amp;subCommand=initialize-parser-ui&amp;format=text/line-based/*sv</urlSignature>\r
-  <acceptsHeaderValue>application/json</acceptsHeaderValue>\r
-  <contentTypeForUpdates>application/xml</contentTypeForUpdates>\r
-  <outgoingDataFormat>String</outgoingDataFormat>\r
-  <sendHTTPExpectRequestHeader>false</sendHTTPExpectRequestHeader>\r
-  <showRedirectionOutputPort>false</showRedirectionOutputPort>\r
-  <escapeParameters>true</escapeParameters>\r
-  <otherHTTPHeaders />\r
-  <activityInputs>\r
-    <entry>\r
-      <string>jobID</string>\r
-      <java-class>java.lang.String</java-class>\r
-    </entry>\r
-  </activityInputs>\r
-</net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="jobID" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Update_Format_Service</name><inputPorts><port><name>jobID</name><depth>0</depth></port><port><name>inputBody</name><depth>0</depth></port></inputPorts><outputPorts /><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>rest-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.rest.RESTActivity</class><inputMap><map from="inputBody" to="inputBody" /><map from="jobID" to="jobID" /></inputMap><outputMap /><configBean encoding="xstream"><net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean xmlns="">\r
-  <httpMethod>POST</httpMethod>\r
-  <urlSignature>http://127.0.0.1:3333/command/core/importing-controller?controller=core%2Fdefault-importing-controller&amp;jobID={jobID}&amp;subCommand=update-format-and-options</urlSignature>\r
-  <acceptsHeaderValue>application/json</acceptsHeaderValue>\r
-  <contentTypeForUpdates>application/x-www-form-urlencoded</contentTypeForUpdates>\r
-  <outgoingDataFormat>Binary</outgoingDataFormat>\r
-  <sendHTTPExpectRequestHeader>false</sendHTTPExpectRequestHeader>\r
-  <showRedirectionOutputPort>false</showRedirectionOutputPort>\r
-  <escapeParameters>true</escapeParameters>\r
-  <otherHTTPHeaders />\r
-  <activityInputs>\r
-    <entry>\r
-      <string>jobID</string>\r
-      <java-class>java.lang.String</java-class>\r
-    </entry>\r
-  </activityInputs>\r
-</net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="jobID" depth="0" /><port name="inputBody" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Create_Project_Service</name><inputPorts><port><name>jobID</name><depth>0</depth></port><port><name>inputBody</name><depth>0</depth></port></inputPorts><outputPorts /><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>rest-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.rest.RESTActivity</class><inputMap><map from="inputBody" to="inputBody" /><map from="jobID" to="jobID" /></inputMap><outputMap /><configBean encoding="xstream"><net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean xmlns="">\r
-  <httpMethod>POST</httpMethod>\r
-  <urlSignature>http://127.0.0.1:3333/command/core/importing-controller?controller=core%2Fdefault-importing-controller&amp;jobID={jobID}&amp;subCommand=create-project</urlSignature>\r
-  <acceptsHeaderValue>application/json</acceptsHeaderValue>\r
-  <contentTypeForUpdates>application/x-www-form-urlencoded</contentTypeForUpdates>\r
-  <outgoingDataFormat>Binary</outgoingDataFormat>\r
-  <sendHTTPExpectRequestHeader>false</sendHTTPExpectRequestHeader>\r
-  <showRedirectionOutputPort>false</showRedirectionOutputPort>\r
-  <escapeParameters>true</escapeParameters>\r
-  <otherHTTPHeaders />\r
-  <activityInputs>\r
-    <entry>\r
-      <string>jobID</string>\r
-      <java-class>java.lang.String</java-class>\r
-    </entry>\r
-  </activityInputs>\r
-</net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>e376fad1-bf30-4908-b97b-894900c25efa</identification>\r
+      </annotationBean>\r
+      <date>2012-01-23 15:03:45.120 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>9f2c7ca2-e117-46e8-8d95-d5a9f8219570</identification>\r
+      </annotationBean>\r
+      <date>2012-01-23 14:57:41.971 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>907a23a5-7ea9-4901-8103-68bb6a45044e</identification>\r
+      </annotationBean>\r
+      <date>2012-02-13 13:36:37.936 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>850e16e9-453e-416e-a7b1-ced1da71519f</identification>\r
+      </annotationBean>\r
+      <date>2012-01-23 15:12:06.888 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>b7e9c698-3b8f-418e-b732-c02b07b2d8dc</identification>\r
+      </annotationBean>\r
+      <date>2012-02-14 13:50:23.444 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>3a9f1b0b-5d5a-45a0-b134-d5dafc51ea40</identification>\r
+      </annotationBean>\r
+      <date>2012-01-24 14:17:11.136 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>6ad09a10-0f7c-43c2-b807-ebf6c0fd776e</identification>\r
+      </annotationBean>\r
+      <date>2012-01-23 15:14:07.562 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>a58dbeb8-48e1-4b31-a1ea-57761cb4f712</identification>\r
+      </annotationBean>\r
+      <date>2012-01-25 17:22:12.481 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>2023d475-cce4-4812-bf43-fffa5fecf9cb</identification>\r
+      </annotationBean>\r
+      <date>2012-02-14 13:54:46.413 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>54039e3d-8d1c-4a40-a818-9cd8bcbf64b7</identification>\r
+      </annotationBean>\r
+      <date>2012-01-23 15:05:53.745 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>f88ebd38-9ab7-4f03-ab29-75fe55ee240a</identification>\r
+      </annotationBean>\r
+      <date>2012-02-14 17:10:41.962 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>eb74b582-81c7-4049-8ab5-43b3ec96b920</identification>\r
+      </annotationBean>\r
+      <date>2012-01-24 14:32:42.660 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow><dataflow id="72fd803c-2c52-4097-8ba0-99b7f6d1e213" role="nested"><name>Workflow37</name><inputPorts><port><name>csvData</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port><port><name>shouldRun</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port></inputPorts><outputPorts><port><name>csv_output</name><annotations /></port></outputPorts><processors><processor><name>grefine_upload</name><inputPorts><port><name>csvData</name><depth>0</depth></port></inputPorts><outputPorts><port><name>csv_output</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>dataflow-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.dataflow.DataflowActivity</class><inputMap><map from="csvData" to="csvData" /></inputMap><outputMap><map from="csv_output" to="csv_output" /></outputMap><configBean encoding="dataflow"><dataflow ref="0f280dd3-ed61-46e2-851c-38a5d9504465" /></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
   <maxJobs>1</maxJobs>\r
 </net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
   <backoffFactor>1.0</backoffFactor>\r
   <initialDelay>1000</initialDelay>\r
   <maxDelay>5000</maxDelay>\r
   <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="jobID" depth="0" /><port name="inputBody" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>create_project</name><inputPorts><port><name>jobID</name><depth>0</depth></port></inputPorts><outputPorts><port><name>projectID</name><depth>0</depth><granularDepth>0</granularDepth></port><port><name>percent</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>dataflow-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.dataflow.DataflowActivity</class><inputMap><map from="jobID" to="jobID" /></inputMap><outputMap><map from="projectID" to="projectID" /><map from="percent" to="percent" /></outputMap><configBean encoding="dataflow"><dataflow ref="7b1fa700-830f-4e0e-a100-1c3b33b9f677" /></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Loop</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.LoopConfiguration xmlns="">\r
-  <conditionXML>&lt;activity xmlns="http://taverna.sf.net/2008/xml/t2flow"&gt;&lt;raven&gt;&lt;group&gt;net.sf.taverna.t2.activities&lt;/group&gt;&lt;artifact&gt;beanshell-activity&lt;/artifact&gt;&lt;version&gt;1.3&lt;/version&gt;&lt;/raven&gt;&lt;class&gt;net.sf.taverna.t2.activities.beanshell.BeanshellActivity&lt;/class&gt;&lt;inputMap /&gt;&lt;outputMap /&gt;&lt;configBean encoding="xstream"&gt;&lt;net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns=""&gt;&#xD;\r
-  &lt;inputs&gt;&#xD;\r
-    &lt;net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean&gt;&#xD;\r
-      &lt;name&gt;percent&lt;/name&gt;&#xD;\r
-      &lt;depth&gt;0&lt;/depth&gt;&#xD;\r
-      &lt;translatedElementType&gt;java.lang.String&lt;/translatedElementType&gt;&#xD;\r
-      &lt;allowsLiteralValues&gt;true&lt;/allowsLiteralValues&gt;&#xD;\r
-    &lt;/net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean&gt;&#xD;\r
-  &lt;/inputs&gt;&#xD;\r
-  &lt;outputs&gt;&#xD;\r
-    &lt;net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean&gt;&#xD;\r
-      &lt;name&gt;loop&lt;/name&gt;&#xD;\r
-      &lt;depth&gt;0&lt;/depth&gt;&#xD;\r
-      &lt;granularDepth&gt;0&lt;/granularDepth&gt;&#xD;\r
-    &lt;/net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean&gt;&#xD;\r
-  &lt;/outputs&gt;&#xD;\r
-  &lt;classLoaderSharing&gt;workflow&lt;/classLoaderSharing&gt;&#xD;\r
-  &lt;localDependencies /&gt;&#xD;\r
-  &lt;artifactDependencies /&gt;&#xD;\r
-  &lt;script&gt;loop = "" + ! percent.equals("100"); &#xD;\r
-if ("true".matches(loop)) {&#xD;\r
-   Thread.sleep(1000);&#xD;\r
-}&lt;/script&gt;&#xD;\r
-  &lt;dependencies /&gt;&#xD;\r
-&lt;/net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean&gt;&lt;/configBean&gt;&lt;annotations /&gt;&lt;/activity&gt;</conditionXML>\r
-  <runFirst>true</runFirst>\r
-  <properties>\r
-    <property name="compareValue" value="100" />\r
-    <property name="delay" value="1.0" />\r
-    <property name="comparePort" value="percent" />\r
-    <property name="isFeedBack" value="false" />\r
-    <property name="comparison" value="EqualTo" />\r
-  </properties>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.LoopConfiguration></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="jobID" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>data_upload_status</name><inputPorts><port><name>jobID</name><depth>0</depth></port></inputPorts><outputPorts><port><name>upload_status</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>dataflow-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.dataflow.DataflowActivity</class><inputMap><map from="jobID" to="jobID" /></inputMap><outputMap><map from="upload_status" to="upload_status" /></outputMap><configBean encoding="dataflow"><dataflow ref="31fdf50d-202d-439f-b858-6011a70e3d1d" /></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Loop</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.LoopConfiguration xmlns="">\r
-  <conditionXML>&lt;activity xmlns="http://taverna.sf.net/2008/xml/t2flow"&gt;&lt;raven&gt;&lt;group&gt;net.sf.taverna.t2.activities&lt;/group&gt;&lt;artifact&gt;beanshell-activity&lt;/artifact&gt;&lt;version&gt;1.3&lt;/version&gt;&lt;/raven&gt;&lt;class&gt;net.sf.taverna.t2.activities.beanshell.BeanshellActivity&lt;/class&gt;&lt;inputMap /&gt;&lt;outputMap /&gt;&lt;configBean encoding="xstream"&gt;&lt;net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns=""&gt;&#xD;\r
-  &lt;inputs&gt;&#xD;\r
-    &lt;net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean&gt;&#xD;\r
-      &lt;name&gt;upload_status&lt;/name&gt;&#xD;\r
-      &lt;depth&gt;0&lt;/depth&gt;&#xD;\r
-      &lt;translatedElementType&gt;java.lang.String&lt;/translatedElementType&gt;&#xD;\r
-      &lt;allowsLiteralValues&gt;true&lt;/allowsLiteralValues&gt;&#xD;\r
-    &lt;/net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean&gt;&#xD;\r
-  &lt;/inputs&gt;&#xD;\r
-  &lt;outputs&gt;&#xD;\r
-    &lt;net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean&gt;&#xD;\r
-      &lt;name&gt;loop&lt;/name&gt;&#xD;\r
-      &lt;depth&gt;0&lt;/depth&gt;&#xD;\r
-      &lt;granularDepth&gt;0&lt;/granularDepth&gt;&#xD;\r
-    &lt;/net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean&gt;&#xD;\r
-  &lt;/outputs&gt;&#xD;\r
-  &lt;classLoaderSharing&gt;workflow&lt;/classLoaderSharing&gt;&#xD;\r
-  &lt;localDependencies /&gt;&#xD;\r
-  &lt;artifactDependencies /&gt;&#xD;\r
-  &lt;script&gt;loop = "" + ! upload_status.equals("true"); &#xD;\r
-if ("true".matches(loop)) {&#xD;\r
-   Thread.sleep(500);&#xD;\r
-}&lt;/script&gt;&#xD;\r
-  &lt;dependencies /&gt;&#xD;\r
-&lt;/net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean&gt;&lt;/configBean&gt;&lt;annotations /&gt;&lt;/activity&gt;</conditionXML>\r
-  <runFirst>true</runFirst>\r
-  <properties>\r
-    <property name="compareValue" value="true" />\r
-    <property name="comparePort" value="upload_status" />\r
-    <property name="delay" value="0.5" />\r
-    <property name="comparison" value="EqualTo" />\r
-    <property name="isFeedBack" value="false" />\r
-  </properties>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.LoopConfiguration></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="jobID" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Delete_Data</name><inputPorts><port><name>inputBody</name><depth>0</depth></port></inputPorts><outputPorts /><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>rest-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.rest.RESTActivity</class><inputMap><map from="inputBody" to="inputBody" /></inputMap><outputMap /><configBean encoding="xstream"><net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean xmlns="">\r
-  <httpMethod>POST</httpMethod>\r
-  <urlSignature>http://127.0.0.1:3333/command/core/delete-project</urlSignature>\r
-  <acceptsHeaderValue>application/json</acceptsHeaderValue>\r
-  <contentTypeForUpdates>application/x-www-form-urlencoded</contentTypeForUpdates>\r
-  <outgoingDataFormat>String</outgoingDataFormat>\r
-  <sendHTTPExpectRequestHeader>false</sendHTTPExpectRequestHeader>\r
-  <showRedirectionOutputPort>false</showRedirectionOutputPort>\r
-  <escapeParameters>true</escapeParameters>\r
-  <otherHTTPHeaders />\r
-  <activityInputs />\r
-</net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="csvData" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor></processors><conditions /><datalinks><datalink><sink type="processor"><processor>grefine_upload</processor><port>csvData</port></sink><source type="dataflow"><port>csvData</port></source></datalink><datalink><sink type="dataflow"><port>csv_output</port></sink><source type="processor"><processor>grefine_upload</processor><port>csv_output</port></source></datalink></datalinks><annotations><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>6d96888f-4121-41fe-9f57-b4ee1edf4ad8</identification>\r
+      </annotationBean>\r
+      <date>2012-03-30 10:08:34.390 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>fa3e0537-e206-4c1e-9636-d5ed67aa6d92</identification>\r
+      </annotationBean>\r
+      <date>2012-03-30 10:05:00.231 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>72fd803c-2c52-4097-8ba0-99b7f6d1e213</identification>\r
+      </annotationBean>\r
+      <date>2012-04-03 16:37:18.749 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>4f3fd76a-f9f1-48bc-984f-5dcbf4b4d245</identification>\r
+      </annotationBean>\r
+      <date>2012-03-30 09:51:25.548 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow><dataflow id="090535d9-2339-47e9-bd53-1b568ae1968f" role="nested"><name>Workflow32</name><inputPorts><port><name>sciNameList</name><depth>1</depth><granularDepth>1</granularDepth><annotations /></port></inputPorts><outputPorts><port><name>csv_output</name><annotations /></port></outputPorts><processors><processor><name>gbif_occurrence_list</name><inputPorts><port><name>sciName</name><depth>0</depth></port></inputPorts><outputPorts><port><name>csv_output</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>dataflow-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.dataflow.DataflowActivity</class><inputMap><map from="sciName" to="sciName" /></inputMap><outputMap><map from="csv_output" to="csv_output" /></outputMap><configBean encoding="dataflow"><dataflow ref="89f2b55a-52b9-43e9-a4a7-04fe6baca933" /></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
   <maxJobs>1</maxJobs>\r
 </net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
   <backoffFactor>1.0</backoffFactor>\r
   <initialDelay>1000</initialDelay>\r
   <maxDelay>5000</maxDelay>\r
   <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="inputBody" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Format_Options</name><inputPorts><port><name>jobID</name><depth>0</depth></port></inputPorts><outputPorts><port><name>options</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="jobID" to="jobID" /></inputMap><outputMap><map from="options" to="options" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="sciName" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Read_CSV_Header_File</name><inputPorts><port><name>fileurl</name><depth>0</depth></port></inputPorts><outputPorts><port><name>filecontents</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="fileurl" to="fileurl" /></inputMap><outputMap><map from="filecontents" to="filecontents" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
   <inputs>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>jobID</name>\r
+      <name>fileurl</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>'text/plain'</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>encoding</name>\r
       <depth>0</depth>\r
       <mimeTypes>\r
-        <string>text/plain</string>\r
+        <string>'text/plain'</string>\r
       </mimeTypes>\r
       <handledReferenceSchemes />\r
       <translatedElementType>java.lang.String</translatedElementType>\r
@@ -8257,31 +4625,93 @@ if ("true".matches(loop)) {&#xD;
   </inputs>\r
   <outputs>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>options</name>\r
+      <name>filecontents</name>\r
       <depth>0</depth>\r
-      <mimeTypes />\r
+      <mimeTypes>\r
+        <string>'text/plain'</string>\r
+      </mimeTypes>\r
       <granularDepth>0</granularDepth>\r
     </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
   </outputs>\r
   <classLoaderSharing>workflow</classLoaderSharing>\r
   <localDependencies />\r
   <artifactDependencies />\r
-  <script>options = "format=text/line-based/*sv&amp;options={\"encoding\":\"\",\"separator\":\",\",\"ignoreLines\":-1,\"headerLines\":1,\"skipDataLines\":0,\"limit\":-1,\"storeBlankRows\":true,\"guessCellValueTypes\":true,\"processQuotes\":true,\"storeBlankCellsAsNulls\":true,\"includeFileSources\":false,\"projectName\":\"" + jobID + "\"}";</script>\r
+  <script>BufferedReader getReader (String fileUrl, String encoding) throws IOException {\r
+               InputStreamReader reader;\r
+               try {\r
+                       if (encoding == null) {\r
+                               reader = new FileReader(fileUrl);\r
+                       } else {\r
+                               reader = new InputStreamReader(new FileInputStream(fileUrl),encoding); \r
+                       }\r
+               }\r
+               catch (FileNotFoundException e) {\r
+                       // try a real URL instead\r
+                       URL url = new URL(fileUrl);\r
+                       if (encoding == null) {\r
+                               reader = new InputStreamReader (url.openStream());\r
+                       } else {\r
+                               reader = new InputStreamReader (url.openStream(), encoding);\r
+                       }\r
+               }\r
+               return new BufferedReader(reader);\r
+       }\r
+\r
+\r
+\r
+StringBuffer sb = new StringBuffer(4000);\r
+\r
+if (encoding == void) {\r
+       encoding = null;\r
+}\r
+\r
+BufferedReader in = getReader(fileurl, encoding);\r
+String str;\r
+String lineEnding = System.getProperty("line.separator");\r
+\r
+while ((str = in.readLine()) != null) {\r
+       sb.append(str);\r
+       sb.append(lineEnding);\r
+}\r
+in.close();\r
+filecontents = sb.toString();\r
+  \r
+</script>\r
   <dependencies />\r
-</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <localworkerName>net.sourceforge.taverna.scuflworkers.io.TextFileReader</localworkerName>\r
+</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
   <maxJobs>1</maxJobs>\r
 </net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
   <backoffFactor>1.0</backoffFactor>\r
   <initialDelay>1000</initialDelay>\r
   <maxDelay>5000</maxDelay>\r
   <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="jobID" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>GRefine_Interaction</name><inputPorts><port><name>projectID</name><depth>0</depth></port></inputPorts><outputPorts /><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>interaction-activity</artifact><version>0.1.2</version></raven><class>net.sf.taverna.t2.activities.interaction.InteractionActivity</class><inputMap><map from="projectID" to="projectID" /></inputMap><outputMap /><configBean encoding="xstream"><net.sf.taverna.t2.activities.interaction.InteractionActivityConfigurationBean xmlns="">\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="fileurl" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>csvheaders</name><inputPorts /><outputPorts><port><name>value</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>stringconstant-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.stringconstant.StringConstantActivity</class><inputMap /><outputMap><map from="value" to="value" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean xmlns="">\r
+  <value>http://ww2.bgbm.org/temp/biovel/csvHeader_beta.txt</value>\r
+</net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy /></iteration></iterationStrategyStack></processor><processor><name>Merge_String_List_to_a_String</name><inputPorts><port><name>seperator</name><depth>0</depth></port><port><name>stringlist</name><depth>1</depth></port></inputPorts><outputPorts><port><name>concatenated</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="seperator" to="seperator" /><map from="stringlist" to="stringlist" /></inputMap><outputMap><map from="concatenated" to="concatenated" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
   <inputs>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>projectID</name>\r
+      <name>stringlist</name>\r
+      <depth>1</depth>\r
+      <mimeTypes>\r
+        <string>l('text/plain')</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>seperator</name>\r
       <depth>0</depth>\r
       <mimeTypes>\r
-        <string>text/plain</string>\r
+        <string>'text/plain'</string>\r
       </mimeTypes>\r
       <handledReferenceSchemes />\r
       <translatedElementType>java.lang.String</translatedElementType>\r
@@ -8290,28 +4720,66 @@ if ("true".matches(loop)) {&#xD;
   </inputs>\r
   <outputs>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>answer</name>\r
+      <name>concatenated</name>\r
       <depth>0</depth>\r
-      <mimeTypes />\r
+      <mimeTypes>\r
+        <string>'text/plain'</string>\r
+      </mimeTypes>\r
       <granularDepth>0</granularDepth>\r
     </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
   </outputs>\r
-  <presentationOrigin>http://ww2.bgbm.org/temp/biovel/dc_iservice_redirect.html</presentationOrigin>\r
-  <interactionActivityType>LocallyPresentedHtml</interactionActivityType>\r
-</net.sf.taverna.t2.activities.interaction.InteractionActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <classLoaderSharing>workflow</classLoaderSharing>\r
+  <localDependencies />\r
+  <artifactDependencies />\r
+  <script>String seperatorString = "\n";\r
+if (seperator != void) {\r
+       seperatorString = seperator;\r
+}\r
+StringBuffer sb = new StringBuffer();\r
+for (Iterator i = stringlist.iterator(); i.hasNext();) {\r
+       String item = (String) i.next();\r
+       sb.append(item);\r
+       if (i.hasNext()) {\r
+               sb.append(seperatorString);\r
+       }\r
+}\r
+concatenated = sb.toString();\r
+</script>\r
+  <dependencies />\r
+  <localworkerName>org.embl.ebi.escience.scuflworkers.java.StringListMerge</localworkerName>\r
+</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="seperator" depth="0" /><port name="stringlist" depth="1" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>no_separator</name><inputPorts /><outputPorts><port><name>value</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>stringconstant-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.stringconstant.StringConstantActivity</class><inputMap /><outputMap><map from="value" to="value" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean xmlns="">\r
+  <value />\r
+</net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
   <maxJobs>1</maxJobs>\r
 </net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
   <backoffFactor>1.0</backoffFactor>\r
   <initialDelay>1000</initialDelay>\r
   <maxDelay>5000</maxDelay>\r
   <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="projectID" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Export_Data_Options</name><inputPorts><port><name>projectID</name><depth>0</depth></port></inputPorts><outputPorts><port><name>options</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="projectID" to="projectID" /></inputMap><outputMap><map from="options" to="options" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy /></iteration></iterationStrategyStack></processor><processor><name>Concatenate_two_strings</name><inputPorts><port><name>string1</name><depth>0</depth></port><port><name>string2</name><depth>0</depth></port></inputPorts><outputPorts><port><name>output</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="string2" to="string2" /><map from="string1" to="string1" /></inputMap><outputMap><map from="output" to="output" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
   <inputs>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>projectID</name>\r
+      <name>string1</name>\r
       <depth>0</depth>\r
       <mimeTypes>\r
-        <string>text/plain</string>\r
+        <string>'text/plain'</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>string2</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>'text/plain'</string>\r
       </mimeTypes>\r
       <handledReferenceSchemes />\r
       <translatedElementType>java.lang.String</translatedElementType>\r
@@ -8320,52 +4788,32 @@ if ("true".matches(loop)) {&#xD;
   </inputs>\r
   <outputs>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>options</name>\r
+      <name>output</name>\r
       <depth>0</depth>\r
-      <mimeTypes />\r
+      <mimeTypes>\r
+        <string>'text/plain'</string>\r
+      </mimeTypes>\r
       <granularDepth>0</granularDepth>\r
     </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
   </outputs>\r
   <classLoaderSharing>workflow</classLoaderSharing>\r
   <localDependencies />\r
   <artifactDependencies />\r
-  <script>options ="project="  + projectID + "&amp;format=csv&amp;engine={\"facets\":[],\"mode\":\"row-based\"}&amp;contentType=application/x-unknown";</script>\r
+  <script>output = string1 + string2;</script>\r
   <dependencies />\r
-</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="projectID" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Export_Data</name><inputPorts><port><name>inputBody</name><depth>0</depth></port><port><name>projectID</name><depth>0</depth></port></inputPorts><outputPorts><port><name>responseBody</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>rest-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.rest.RESTActivity</class><inputMap><map from="projectID" to="projectID" /><map from="inputBody" to="inputBody" /></inputMap><outputMap><map from="responseBody" to="responseBody" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean xmlns="">\r
-  <httpMethod>POST</httpMethod>\r
-  <urlSignature>http://127.0.0.1:3333/command/core/export-rows/{projectID}.csv</urlSignature>\r
-  <acceptsHeaderValue>text/html</acceptsHeaderValue>\r
-  <contentTypeForUpdates>application/x-www-form-urlencoded</contentTypeForUpdates>\r
-  <outgoingDataFormat>String</outgoingDataFormat>\r
-  <sendHTTPExpectRequestHeader>false</sendHTTPExpectRequestHeader>\r
-  <showRedirectionOutputPort>false</showRedirectionOutputPort>\r
-  <escapeParameters>true</escapeParameters>\r
-  <otherHTTPHeaders />\r
-  <activityInputs>\r
-    <entry>\r
-      <string>projectID</string>\r
-      <java-class>java.lang.String</java-class>\r
-    </entry>\r
-  </activityInputs>\r
-</net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <localworkerName>org.embl.ebi.escience.scuflworkers.java.StringConcat</localworkerName>\r
+</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
   <maxJobs>1</maxJobs>\r
 </net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
   <backoffFactor>1.0</backoffFactor>\r
   <initialDelay>1000</initialDelay>\r
   <maxDelay>5000</maxDelay>\r
   <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="inputBody" depth="0" /><port name="projectID" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Delete_Data_Options</name><inputPorts><port><name>projectID</name><depth>0</depth></port></inputPorts><outputPorts><port><name>options</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="projectID" to="projectID" /></inputMap><outputMap><map from="options" to="options" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="string1" depth="0" /><port name="string2" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>OccTargetConditional</name><inputPorts><port><name>sciNameList</name><depth>1</depth></port></inputPorts><outputPorts><port><name>gbifList</name><depth>1</depth><granularDepth>1</granularDepth></port><port><name>slwList</name><depth>1</depth><granularDepth>1</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="sciNameList" to="sciNameList" /></inputMap><outputMap><map from="slwList" to="slwList" /><map from="gbifList" to="gbifList" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
   <inputs>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>projectID</name>\r
-      <depth>0</depth>\r
+      <name>sciNameList</name>\r
+      <depth>1</depth>\r
       <mimeTypes>\r
         <string>text/plain</string>\r
       </mimeTypes>\r
@@ -8376,16 +4824,50 @@ if ("true".matches(loop)) {&#xD;
   </inputs>\r
   <outputs>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>options</name>\r
-      <depth>0</depth>\r
+      <name>emptyOutputList</name>\r
+      <depth>1</depth>\r
       <mimeTypes />\r
-      <granularDepth>0</granularDepth>\r
+      <granularDepth>1</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>gbifList</name>\r
+      <depth>1</depth>\r
+      <mimeTypes />\r
+      <granularDepth>1</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>slwList</name>\r
+      <depth>1</depth>\r
+      <mimeTypes />\r
+      <granularDepth>1</granularDepth>\r
     </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
   </outputs>\r
   <classLoaderSharing>workflow</classLoaderSharing>\r
-  <localDependencies />\r
+  <localDependencies>\r
+    <string>DCWorkflow.jar</string>\r
+  </localDependencies>\r
   <artifactDependencies />\r
-  <script>options="project=" + projectID;</script>\r
+  <script>import java.util.ArrayList;\r
+import org.bgbm.biovel.datacleaning.syncheck.OccRetrievalTargetDialog;\r
+\r
+OccRetrievalTargetDialog ortd = new OccRetrievalTargetDialog(new javax.swing.JFrame(), true);\r
+ortd.setLocationRelativeTo(null);\r
+ortd.show();\r
+List occTargetList = ortd.getOccTargetList();\r
+\r
+ArrayList emptyOutputList = new ArrayList();\r
+emptyOutputList.add("");\r
+ArrayList gbifList = new ArrayList();\r
+ArrayList slwList = new ArrayList();\r
+\r
+if(occTargetList.contains("GBIF")) {\r
+        gbifList = sciNameList;\r
+}\r
+\r
+if(occTargetList.contains("SLW")) {\r
+        slwList = sciNameList;\r
+}\r
+</script>\r
   <dependencies />\r
 </net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
   <maxJobs>1</maxJobs>\r
@@ -8394,213 +4876,69 @@ if ("true".matches(loop)) {&#xD;
   <initialDelay>1000</initialDelay>\r
   <maxDelay>5000</maxDelay>\r
   <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="projectID" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Read_Convert_Input</name><inputPorts><port><name>csvData</name><depth>0</depth></port></inputPorts><outputPorts><port><name>postInputBody</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="csvData" to="csvData" /></inputMap><outputMap><map from="postInputBody" to="postInputBody" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="sciNameList" depth="1" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>slw_occurrence_list</name><inputPorts><port><name>sciName</name><depth>0</depth></port></inputPorts><outputPorts><port><name>csv_output</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>dataflow-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.dataflow.DataflowActivity</class><inputMap><map from="sciName" to="sciName" /></inputMap><outputMap><map from="csv_output" to="csv_output" /></outputMap><configBean encoding="dataflow"><dataflow ref="85ba17c1-2e24-49d8-a00b-84acb2a1cf61" /></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="sciName" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Flatten_List</name><inputPorts><port><name>inputlist</name><depth>2</depth></port></inputPorts><outputPorts><port><name>outputlist</name><depth>1</depth><granularDepth>1</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="inputlist" to="inputlist" /></inputMap><outputMap><map from="outputlist" to="outputlist" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
   <inputs>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>csvData</name>\r
-      <depth>0</depth>\r
+      <name>inputlist</name>\r
+      <depth>2</depth>\r
       <mimeTypes>\r
-        <string>'text/plain'</string>\r
+        <string>l(l(''))</string>\r
       </mimeTypes>\r
       <handledReferenceSchemes />\r
-      <translatedElementType>java.lang.String</translatedElementType>\r
+      <translatedElementType>[B</translatedElementType>\r
       <allowsLiteralValues>true</allowsLiteralValues>\r
     </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
   </inputs>\r
   <outputs>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>postInputBody</name>\r
-      <depth>0</depth>\r
-      <mimeTypes />\r
-      <granularDepth>0</granularDepth>\r
+      <name>outputlist</name>\r
+      <depth>1</depth>\r
+      <mimeTypes>\r
+        <string>l('')</string>\r
+      </mimeTypes>\r
+      <granularDepth>1</granularDepth>\r
     </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
   </outputs>\r
   <classLoaderSharing>workflow</classLoaderSharing>\r
   <localDependencies />\r
-  <artifactDependencies />\r
-  <script>String lineEnding = System.getProperty("line.separator");\r
-\r
-String boundary = "----dcBoundary";\r
-\r
-String beginStr = "--" + boundary + lineEnding +\r
-"Content-Disposition: form-data; name=\"upload\"; filename=\"dcinput.txt\"" + lineEnding +\r
-"Content-Type: text/plain" + lineEnding + lineEnding;\r
+  <artifactDependencies />\r
+  <script>flatten(inputs, outputs, depth) {\r
+       for (i = inputs.iterator(); i.hasNext();) {\r
+           element = i.next();\r
+               if (element instanceof Collection &amp;&amp; depth &gt; 0) {\r
+                       flatten(element, outputs, depth - 1);\r
+               } else {\r
+                       outputs.add(element);\r
+               }\r
+       }\r
+}\r
 \r
-String endStr = lineEnding + "--" + boundary + "--";\r
+outputlist = new ArrayList();\r
 \r
-postInputBody = beginStr + csvData + endStr;\r
-  \r
-</script>\r
+flatten(inputlist, outputlist, 1);</script>\r
   <dependencies />\r
-  <localworkerName>net.sourceforge.taverna.scuflworkers.io.TextFileReader</localworkerName>\r
-</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations><annotation_chain encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.HostInstitution">\r
-        <text>UserNameHere</text>\r
-      </annotationBean>\r
-      <date>2012-03-30 10:07:33.683 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain></annotations></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <localworkerName>org.embl.ebi.escience.scuflworkers.java.FlattenList</localworkerName>\r
+</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
   <maxJobs>1</maxJobs>\r
 </net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
   <backoffFactor>1.0</backoffFactor>\r
   <initialDelay>1000</initialDelay>\r
   <maxDelay>5000</maxDelay>\r
   <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="csvData" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor></processors><conditions><condition control="Update_Format_Service" target="Create_Project_Service" /><condition control="Parser_Format_Service" target="Update_Format_Service" /><condition control="Upload_Data_Service" target="data_upload_status" /><condition control="data_upload_status" target="Parser_Format_Service" /><condition control="GRefine_Interaction" target="Export_Data" /><condition control="Export_Data" target="Delete_Data" /><condition control="Create_Project_Service" target="create_project" /></conditions><datalinks><datalink><sink type="processor"><processor>Parse_Job</processor><port>jsonStr</port></sink><source type="processor"><processor>Init_Job_Service</processor><port>responseBody</port></source></datalink><datalink><sink type="processor"><processor>Upload_Data_Service</processor><port>jobID</port></sink><source type="processor"><processor>Parse_Job</processor><port>jobID</port></source></datalink><datalink><sink type="processor"><processor>Upload_Data_Service</processor><port>inputBody</port></sink><source type="processor"><processor>Read_Convert_Input</processor><port>postInputBody</port></source></datalink><datalink><sink type="processor"><processor>Parser_Format_Service</processor><port>jobID</port></sink><source type="processor"><processor>Parse_Job</processor><port>jobID</port></source></datalink><datalink><sink type="processor"><processor>Update_Format_Service</processor><port>jobID</port></sink><source type="processor"><processor>Parse_Job</processor><port>jobID</port></source></datalink><datalink><sink type="processor"><processor>Update_Format_Service</processor><port>inputBody</port></sink><source type="processor"><processor>Format_Options</processor><port>options</port></source></datalink><datalink><sink type="processor"><processor>Create_Project_Service</processor><port>jobID</port></sink><source type="processor"><processor>Parse_Job</processor><port>jobID</port></source></datalink><datalink><sink type="processor"><processor>Create_Project_Service</processor><port>inputBody</port></sink><source type="processor"><processor>Format_Options</processor><port>options</port></source></datalink><datalink><sink type="processor"><processor>create_project</processor><port>jobID</port></sink><source type="processor"><processor>Parse_Job</processor><port>jobID</port></source></datalink><datalink><sink type="processor"><processor>data_upload_status</processor><port>jobID</port></sink><source type="processor"><processor>Parse_Job</processor><port>jobID</port></source></datalink><datalink><sink type="processor"><processor>Delete_Data</processor><port>inputBody</port></sink><source type="processor"><processor>Delete_Data_Options</processor><port>options</port></source></datalink><datalink><sink type="processor"><processor>Format_Options</processor><port>jobID</port></sink><source type="processor"><processor>Parse_Job</processor><port>jobID</port></source></datalink><datalink><sink type="processor"><processor>GRefine_Interaction</processor><port>projectID</port></sink><source type="processor"><processor>create_project</processor><port>projectID</port></source></datalink><datalink><sink type="processor"><processor>Export_Data_Options</processor><port>projectID</port></sink><source type="processor"><processor>create_project</processor><port>projectID</port></source></datalink><datalink><sink type="processor"><processor>Export_Data</processor><port>inputBody</port></sink><source type="processor"><processor>Export_Data_Options</processor><port>options</port></source></datalink><datalink><sink type="processor"><processor>Export_Data</processor><port>projectID</port></sink><source type="processor"><processor>create_project</processor><port>projectID</port></source></datalink><datalink><sink type="processor"><processor>Delete_Data_Options</processor><port>projectID</port></sink><source type="processor"><processor>create_project</processor><port>projectID</port></source></datalink><datalink><sink type="processor"><processor>Read_Convert_Input</processor><port>csvData</port></sink><source type="dataflow"><port>csvData</port></source></datalink><datalink><sink type="dataflow"><port>proj_percent</port></sink><source type="processor"><processor>create_project</processor><port>percent</port></source></datalink><datalink><sink type="dataflow"><port>upload_status</port></sink><source type="processor"><processor>data_upload_status</processor><port>upload_status</port></source></datalink><datalink><sink type="dataflow"><port>export</port></sink><source type="processor"><processor>Export_Data</processor><port>responseBody</port></source></datalink></datalinks><annotations><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>41777234-2c05-41b8-b77f-06e47fe427d7</identification>\r
-      </annotationBean>\r
-      <date>2012-03-09 13:04:58.180 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>ea730a6d-3f2e-48e9-a04d-ba5d92917f40</identification>\r
-      </annotationBean>\r
-      <date>2012-03-06 14:09:01.721 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>d2317152-7017-4554-a3d3-43f73dc04b35</identification>\r
-      </annotationBean>\r
-      <date>2012-03-09 13:33:02.44 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>b36133fa-9a7c-4e26-b3ff-bc67782b9754</identification>\r
-      </annotationBean>\r
-      <date>2012-03-07 15:25:00.339 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>09dbfb45-65fc-4e8b-ba80-b48fd2c872a2</identification>\r
-      </annotationBean>\r
-      <date>2012-03-09 13:37:19.409 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>cbe51b2b-178c-4a0d-8897-261477544590</identification>\r
-      </annotationBean>\r
-      <date>2012-03-07 17:18:20.0 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>5d458933-04c0-4cec-a4ce-b39dee0ca67a</identification>\r
-      </annotationBean>\r
-      <date>2012-03-30 10:04:55.679 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>f33eff41-d6de-494f-8bbc-69740691b8f9</identification>\r
-      </annotationBean>\r
-      <date>2012-03-07 16:50:06.583 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>5bfc583d-8c54-4a7f-bfd5-187c318f39f6</identification>\r
-      </annotationBean>\r
-      <date>2012-03-06 15:11:00.14 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>de604c9f-f6be-4bef-9e7c-fa12b40c6b0f</identification>\r
-      </annotationBean>\r
-      <date>2012-03-07 17:15:11.332 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>7cea06b2-30dd-4ca1-b6a4-f95ade6c3db8</identification>\r
-      </annotationBean>\r
-      <date>2012-03-07 14:33:45.458 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>dcf020ba-60b0-44d0-a748-a65f99e5e682</identification>\r
-      </annotationBean>\r
-      <date>2012-03-06 14:01:30.449 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>553c311f-92e6-4e9c-97a3-e88a9ce41838</identification>\r
-      </annotationBean>\r
-      <date>2012-03-07 16:48:59.330 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="inputlist" depth="2" /></cross></strategy></iteration></iterationStrategyStack></processor></processors><conditions /><datalinks><datalink><sink type="processor"><processor>gbif_occurrence_list</processor><port>sciName</port></sink><source type="processor"><processor>OccTargetConditional</processor><port>gbifList</port></source></datalink><datalink><sink type="processor"><processor>Read_CSV_Header_File</processor><port>fileurl</port></sink><source type="processor"><processor>csvheaders</processor><port>value</port></source></datalink><datalink><sink type="processor"><processor>Merge_String_List_to_a_String</processor><port>seperator</port></sink><source type="processor"><processor>no_separator</processor><port>value</port></source></datalink><datalink><sink type="processor"><processor>Merge_String_List_to_a_String</processor><port>stringlist</port></sink><source type="processor"><processor>Flatten_List</processor><port>outputlist</port></source></datalink><datalink><sink type="processor"><processor>Concatenate_two_strings</processor><port>string1</port></sink><source type="processor"><processor>Read_CSV_Header_File</processor><port>filecontents</port></source></datalink><datalink><sink type="processor"><processor>Concatenate_two_strings</processor><port>string2</port></sink><source type="processor"><processor>Merge_String_List_to_a_String</processor><port>concatenated</port></source></datalink><datalink><sink type="processor"><processor>OccTargetConditional</processor><port>sciNameList</port></sink><source type="dataflow"><port>sciNameList</port></source></datalink><datalink><sink type="processor"><processor>slw_occurrence_list</processor><port>sciName</port></sink><source type="processor"><processor>OccTargetConditional</processor><port>slwList</port></source></datalink><datalink><sink type="merge"><processor>Flatten_List</processor><port>inputlist</port></sink><source type="processor"><processor>gbif_occurrence_list</processor><port>csv_output</port></source></datalink><datalink><sink type="merge"><processor>Flatten_List</processor><port>inputlist</port></sink><source type="processor"><processor>slw_occurrence_list</processor><port>csv_output</port></source></datalink><datalink><sink type="dataflow"><port>csv_output</port></sink><source type="processor"><processor>Concatenate_two_strings</processor><port>output</port></source></datalink></datalinks><annotations><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>ff404630-4a3c-49ac-badd-5bf9f14a8103</identification>\r
+        <identification>8fd4d664-f4f1-48b8-a9a6-36c420e7214e</identification>\r
       </annotationBean>\r
-      <date>2012-03-06 14:59:02.673 CET</date>\r
+      <date>2012-01-13 15:45:48.22 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -8609,9 +4947,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>7ea8bb9f-9343-46bc-8218-75d88988b79d</identification>\r
+        <identification>69b325a9-a976-4c1e-9915-c8661f96a4d9</identification>\r
       </annotationBean>\r
-      <date>2012-03-14 14:26:04.190 CET</date>\r
+      <date>2012-03-29 17:01:22.102 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -8620,9 +4958,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>1208f4a8-6088-4d7a-9ba2-1b28696557f5</identification>\r
+        <identification>a87dd75f-af3c-44ad-9718-b7125a22089f</identification>\r
       </annotationBean>\r
-      <date>2012-03-27 14:44:39.271 CEST</date>\r
+      <date>2012-01-02 17:21:03.648 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -8631,9 +4969,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>464ddd54-aa48-4054-be49-5535d088a977</identification>\r
+        <identification>bb48ba73-aa77-42a1-9019-d72ebc20dfd0</identification>\r
       </annotationBean>\r
-      <date>2012-03-09 13:10:20.72 CET</date>\r
+      <date>2012-02-07 18:07:20.452 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -8642,9 +4980,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>67a96d49-6abf-4781-8a88-fc8026cb8b05</identification>\r
+        <identification>7cbd63e4-d73d-42d9-9133-4f359b06efb5</identification>\r
       </annotationBean>\r
-      <date>2012-03-13 15:29:41.682 CET</date>\r
+      <date>2012-01-02 14:51:19.40 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -8653,9 +4991,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>7c286b63-74b7-43fb-befc-5ee0649d20ad</identification>\r
+        <identification>69821203-d769-45ce-a3bb-145a9964679f</identification>\r
       </annotationBean>\r
-      <date>2012-03-07 16:54:53.519 CET</date>\r
+      <date>2012-01-02 15:04:12.378 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -8664,9 +5002,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>96bd8edc-a795-45a0-809c-8068489b97c9</identification>\r
+        <identification>d044d916-0adb-4065-b39f-8357372e42cc</identification>\r
       </annotationBean>\r
-      <date>2012-03-06 14:46:15.583 CET</date>\r
+      <date>2012-01-13 15:44:17.623 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -8675,9 +5013,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>f5534ac8-a5ef-4d66-b8b3-50e1bddbc61e</identification>\r
+        <identification>6baa5e11-586d-4f13-b6f4-92c61c10ec9a</identification>\r
       </annotationBean>\r
-      <date>2012-03-07 15:25:14.413 CET</date>\r
+      <date>2012-01-13 15:29:27.496 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -8686,9 +5024,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>68312bb3-0013-4ab6-9486-ebf2a88170e8</identification>\r
+        <identification>3322b5a3-1530-4824-9300-ba6a6b18b7f1</identification>\r
       </annotationBean>\r
-      <date>2012-03-06 14:22:54.225 CET</date>\r
+      <date>2012-01-31 16:27:20.693 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -8697,9 +5035,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>64952d46-aeda-4c59-93f4-17747d2d1bca</identification>\r
+        <identification>2764b0d8-8242-40ea-b0a3-ddf550e8dc59</identification>\r
       </annotationBean>\r
-      <date>2012-03-06 14:47:26.376 CET</date>\r
+      <date>2012-01-02 16:21:21.874 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -8708,9 +5046,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>75e28940-856e-48ef-8df9-6ebd22197196</identification>\r
+        <identification>9f8d21c5-2523-4485-a181-01e6de804d4d</identification>\r
       </annotationBean>\r
-      <date>2012-03-09 12:47:56.624 CET</date>\r
+      <date>2012-01-02 17:35:34.596 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -8719,9 +5057,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>330658b7-bf4d-4aab-b1c4-f5aee4e2e59e</identification>\r
+        <identification>b5feb718-54f5-402c-88a6-73874036974b</identification>\r
       </annotationBean>\r
-      <date>2012-03-08 17:35:33.174 CET</date>\r
+      <date>2012-03-02 16:39:31.246 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -8730,9 +5068,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>54a07560-ef8c-44ad-b63e-ab2e2dd2b912</identification>\r
+        <identification>b5b6d740-cc89-4450-8e5b-44fcac2bfee2</identification>\r
       </annotationBean>\r
-      <date>2012-03-07 14:44:35.705 CET</date>\r
+      <date>2012-01-02 15:00:31.584 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -8741,9 +5079,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>d48e0933-caa4-4fdf-915c-904afadda47f</identification>\r
+        <identification>d705a674-a106-4328-b611-2deb72c4620b</identification>\r
       </annotationBean>\r
-      <date>2012-03-07 15:06:00.464 CET</date>\r
+      <date>2012-01-31 16:22:50.732 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -8752,9 +5090,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>dc11fa24-04fc-4a03-97f4-f9b6459a1ce9</identification>\r
+        <identification>e2b4ef4f-5ce6-47fd-9aed-3042a7d27529</identification>\r
       </annotationBean>\r
-      <date>2012-03-07 15:16:22.747 CET</date>\r
+      <date>2012-01-02 16:20:24.718 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -8763,9 +5101,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>199306ab-630e-4e5e-b536-430887f7dfe6</identification>\r
+        <identification>8dc4d420-1edf-473f-b111-d6510f6f026e</identification>\r
       </annotationBean>\r
-      <date>2012-03-07 14:13:37.818 CET</date>\r
+      <date>2012-01-02 17:47:36.491 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -8774,9 +5112,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>bc98e55f-8b60-42f4-8dd4-0878c4f407b3</identification>\r
+        <identification>aec72d1d-786a-4ccc-afb5-c712166bc3e2</identification>\r
       </annotationBean>\r
-      <date>2012-03-06 14:02:13.752 CET</date>\r
+      <date>2012-01-31 16:33:25.857 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -8785,9 +5123,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>d35e19de-d446-4289-bab2-cc02c18d2c13</identification>\r
+        <identification>f41b5d1f-a3a6-4fcb-a52a-748150c35471</identification>\r
       </annotationBean>\r
-      <date>2012-03-06 14:28:57.571 CET</date>\r
+      <date>2012-02-07 17:22:31.525 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -8796,9 +5134,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>d708bff3-40c3-460c-9a01-7ce8cae50c66</identification>\r
+        <identification>0a796aad-5444-420c-a88c-c1ef2411601b</identification>\r
       </annotationBean>\r
-      <date>2012-03-07 17:08:56.461 CET</date>\r
+      <date>2012-01-25 16:54:33.283 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -8807,9 +5145,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>ac2f7fbd-5e39-453f-b572-ca547ed2680c</identification>\r
+        <identification>d4040120-4a6d-4a24-8bf4-73dd22e762c3</identification>\r
       </annotationBean>\r
-      <date>2012-03-06 14:23:32.659 CET</date>\r
+      <date>2012-01-02 16:46:06.131 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -8818,9 +5156,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>20e484cb-3f89-40b7-ba53-cd88f6ff612d</identification>\r
+        <identification>82083c79-a4c9-4d8c-bf19-3e89ff2276e6</identification>\r
       </annotationBean>\r
-      <date>2012-03-14 14:11:22.926 CET</date>\r
+      <date>2012-01-02 15:05:39.350 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -8829,9 +5167,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>2305466b-1018-4e60-896e-9a952cb1f949</identification>\r
+        <identification>7f0f8712-195f-48d2-9fce-5d5ff7832312</identification>\r
       </annotationBean>\r
-      <date>2012-03-08 17:37:45.5 CET</date>\r
+      <date>2012-01-25 16:57:56.63 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -8840,9 +5178,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>70d399e3-0f73-4985-a59c-f55d6ee5f03b</identification>\r
+        <identification>4f8dd224-cc83-4af5-bbd2-dedfd09b43fe</identification>\r
       </annotationBean>\r
-      <date>2012-03-07 16:51:59.307 CET</date>\r
+      <date>2012-01-02 17:14:37.644 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -8851,9 +5189,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>467e36fc-8a4a-4750-8cd6-d8f435feb596</identification>\r
+        <identification>e0b1887f-8e9c-43d7-bb75-ee3b5e382834</identification>\r
       </annotationBean>\r
-      <date>2012-03-07 15:15:10.296 CET</date>\r
+      <date>2012-01-31 16:29:30.593 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -8862,9 +5200,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>886b4c22-92bf-4248-a6ef-fb8d66d0c0c3</identification>\r
+        <identification>14e0d5c9-4a24-47df-a07b-e532cec4ca5c</identification>\r
       </annotationBean>\r
-      <date>2012-03-06 13:32:35.828 CET</date>\r
+      <date>2012-03-02 16:39:52.276 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -8873,9 +5211,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>f69246e7-612c-418e-8c3d-1f94aed09a4f</identification>\r
+        <identification>d6aa2f1a-4945-4c03-a5c1-83e8c5d71cbb</identification>\r
       </annotationBean>\r
-      <date>2012-03-07 16:59:47.257 CET</date>\r
+      <date>2012-02-07 18:09:14.553 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -8884,9 +5222,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>fc0eeba9-b5aa-4707-812b-8eb57e3848f1</identification>\r
+        <identification>eeab83cc-69df-4a18-a6ad-e33a5cc51f35</identification>\r
       </annotationBean>\r
-      <date>2012-03-06 13:37:00.887 CET</date>\r
+      <date>2012-01-13 16:59:53.791 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -8895,9 +5233,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>047da834-2724-4833-bc5c-828140d48d7e</identification>\r
+        <identification>b176d4c2-c954-4fd4-971d-5f55f1c2ef09</identification>\r
       </annotationBean>\r
-      <date>2012-03-13 15:19:13.932 CET</date>\r
+      <date>2012-02-09 17:39:20.187 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -8906,9 +5244,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>1c3be139-e877-41ff-ae3a-30cba6a03406</identification>\r
+        <identification>92eb7f21-c6c2-4b1b-9200-1628662427a6</identification>\r
       </annotationBean>\r
-      <date>2012-03-06 14:20:55.986 CET</date>\r
+      <date>2012-03-21 12:06:31.153 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -8917,9 +5255,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>3f98b187-ed3c-4620-a8f1-5265cd36bc66</identification>\r
+        <identification>c919e20c-7881-47e8-afb1-b6233038e6d5</identification>\r
       </annotationBean>\r
-      <date>2012-03-09 13:03:14.393 CET</date>\r
+      <date>2012-03-29 17:02:07.640 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -8928,9 +5266,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>1e83c552-ca41-4587-9c0e-c29c38394bc1</identification>\r
+        <identification>e0c29b5e-9019-434e-954a-367b41400d14</identification>\r
       </annotationBean>\r
-      <date>2012-03-06 13:51:44.109 CET</date>\r
+      <date>2012-03-21 12:22:38.39 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -8939,9 +5277,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>ab29db78-1a55-42ae-bdee-1554680a70a1</identification>\r
+        <identification>8fca71dd-0496-4ca3-b3be-788cecb6f2e2</identification>\r
       </annotationBean>\r
-      <date>2012-03-06 13:26:15.526 CET</date>\r
+      <date>2012-02-07 17:54:59.874 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -8950,9 +5288,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>7fdd92cb-215b-4478-af7b-a612cdea404a</identification>\r
+        <identification>f356c7e2-888e-4a2d-85f8-4bc7b6b059cd</identification>\r
       </annotationBean>\r
-      <date>2012-03-06 13:21:38.788 CET</date>\r
+      <date>2012-02-07 18:13:43.986 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -8961,9 +5299,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>052cccac-844f-4dba-8726-9ceeaa779533</identification>\r
+        <identification>dedef59b-8e8b-4e4d-8903-5f8c54422215</identification>\r
       </annotationBean>\r
-      <date>2012-03-07 14:49:21.292 CET</date>\r
+      <date>2012-01-02 16:04:37.936 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -8972,9 +5310,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>37f97407-8a01-47b7-830f-23f861279f08</identification>\r
+        <identification>40ab0272-4c88-4606-9f3a-2ebc309e017b</identification>\r
       </annotationBean>\r
-      <date>2012-03-14 14:54:01.687 CET</date>\r
+      <date>2012-02-08 15:46:10.571 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -8983,9 +5321,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>094db52f-ddd9-482e-8d53-cb7df0f92275</identification>\r
+        <identification>5b4051bf-2a2a-46e8-a998-f80a766dd667</identification>\r
       </annotationBean>\r
-      <date>2012-03-09 13:26:52.45 CET</date>\r
+      <date>2012-01-02 15:59:00.308 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -8994,9 +5332,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>f1b750f3-f2a2-418e-a6b0-93aaf7bec99f</identification>\r
+        <identification>416607f5-ecab-4866-ac2b-966286db8332</identification>\r
       </annotationBean>\r
-      <date>2012-03-09 16:37:24.715 CET</date>\r
+      <date>2012-03-22 09:26:32.315 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -9005,9 +5343,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>c691c14e-655f-482f-b64f-fa126ffa6c15</identification>\r
+        <identification>7f0d77bf-4336-4f46-8e55-d65a37d07ca3</identification>\r
       </annotationBean>\r
-      <date>2012-03-09 17:02:44.555 CET</date>\r
+      <date>2012-03-22 12:04:20.911 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -9016,9 +5354,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>36aaa03c-c8b6-4c4f-b7b4-83e83edb9e0a</identification>\r
+        <identification>974e04bd-3efb-424a-9e35-2cd9f4fcd274</identification>\r
       </annotationBean>\r
-      <date>2012-03-07 16:53:16.656 CET</date>\r
+      <date>2012-01-02 17:23:23.829 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -9027,9 +5365,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>7f3d1b6c-8d42-4b6e-9078-899bade7337e</identification>\r
+        <identification>d5d43373-3338-4d0e-8f11-62fc2c73afae</identification>\r
       </annotationBean>\r
-      <date>2012-03-06 14:24:55.16 CET</date>\r
+      <date>2012-03-21 17:56:47.842 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -9038,9 +5376,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>93437352-9975-42dc-9efa-1424b3effebd</identification>\r
+        <identification>9995fb53-fe1e-4aee-88c8-60bb5f2f34cf</identification>\r
       </annotationBean>\r
-      <date>2012-03-06 15:14:52.759 CET</date>\r
+      <date>2012-01-05 16:27:19.428 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -9049,9 +5387,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>45c42399-b811-4bf6-885e-7a5d0f54b4de</identification>\r
+        <identification>d8d8cbfe-4a10-4903-b5d6-a1dbd68a1e0f</identification>\r
       </annotationBean>\r
-      <date>2012-03-09 16:50:49.796 CET</date>\r
+      <date>2012-01-02 17:43:58.338 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -9060,9 +5398,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>f8cd6827-4671-4cb5-b461-f597e0c04595</identification>\r
+        <identification>6e0d1517-2294-4837-b994-80604a634cd0</identification>\r
       </annotationBean>\r
-      <date>2012-03-08 17:34:28.408 CET</date>\r
+      <date>2012-01-02 15:55:00.474 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -9071,9 +5409,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>6d5effb2-ca3d-4cf3-afb4-d5a836d7ee72</identification>\r
+        <identification>090535d9-2339-47e9-bd53-1b568ae1968f</identification>\r
       </annotationBean>\r
-      <date>2012-03-27 14:49:07.757 CEST</date>\r
+      <date>2012-04-03 17:00:50.954 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -9082,9 +5420,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>366ed372-2569-4322-a15b-56d1480658ce</identification>\r
+        <identification>c630c1e5-1f83-4747-abd9-05a37cbb5b74</identification>\r
       </annotationBean>\r
-      <date>2012-03-09 16:50:02.681 CET</date>\r
+      <date>2012-02-07 18:15:01.509 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -9093,9 +5431,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>211152d4-01e6-4491-b222-9f221c8ab784</identification>\r
+        <identification>702db05d-4a74-48b1-9b61-9ee90a1de8f4</identification>\r
       </annotationBean>\r
-      <date>2012-03-06 14:34:54.685 CET</date>\r
+      <date>2012-02-08 15:37:36.668 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -9104,9 +5442,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>f7616d77-5273-49a0-bbde-e88ad45f9437</identification>\r
+        <identification>24937535-5952-412a-bd44-beebd29db137</identification>\r
       </annotationBean>\r
-      <date>2012-03-13 15:29:48.169 CET</date>\r
+      <date>2012-03-21 12:17:01.846 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -9115,9 +5453,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>59260159-db76-468b-9f7c-97a0a2327e2d</identification>\r
+        <identification>8a58b613-ac30-4ec1-9877-8221a6654ff4</identification>\r
       </annotationBean>\r
-      <date>2012-03-14 14:38:15.329 CET</date>\r
+      <date>2012-01-03 12:48:44.529 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -9126,9 +5464,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>0cb24cbb-b20d-4920-9fce-cfb7ff84a82d</identification>\r
+        <identification>b87d4830-e4c0-4665-972b-b60353b71873</identification>\r
       </annotationBean>\r
-      <date>2012-03-07 14:38:48.625 CET</date>\r
+      <date>2012-01-02 16:29:06.484 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -9137,9 +5475,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>c0bbaa99-7bd9-42fd-ad20-dd739ad58b13</identification>\r
+        <identification>e772224a-94c3-42a0-81e7-a7aedc37aff8</identification>\r
       </annotationBean>\r
-      <date>2012-03-09 13:13:47.224 CET</date>\r
+      <date>2012-03-21 11:58:50.611 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -9148,9 +5486,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>8ec54701-98f2-48d0-91a0-a6f1799a514e</identification>\r
+        <identification>62eace58-eeb6-495b-80e8-a94fadcc7316</identification>\r
       </annotationBean>\r
-      <date>2012-03-14 14:26:41.415 CET</date>\r
+      <date>2012-02-08 13:41:58.660 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -9159,9 +5497,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>8b0741bc-dad6-4913-b454-1c26fe5094d2</identification>\r
+        <identification>25217334-644c-43ed-bd13-7a3b2a03d5c1</identification>\r
       </annotationBean>\r
-      <date>2012-03-09 13:08:27.28 CET</date>\r
+      <date>2012-01-31 16:20:23.935 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -9170,9 +5508,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>c6ab60db-9455-445c-9afd-0ad67aa1ec9d</identification>\r
+        <identification>6be02b9a-7aaa-4e2f-9b42-b0b24ae2053d</identification>\r
       </annotationBean>\r
-      <date>2012-03-06 15:00:01.790 CET</date>\r
+      <date>2012-02-10 13:02:19.116 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -9181,9 +5519,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>d4da4550-9e4f-41eb-9dfa-77fb1336392b</identification>\r
+        <identification>e6ecc0b3-5281-4c6a-9d60-19b6fb367643</identification>\r
       </annotationBean>\r
-      <date>2012-03-08 17:13:04.589 CET</date>\r
+      <date>2012-03-21 13:25:38.0 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -9192,9 +5530,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>b5186d3f-d362-4400-ba1a-49f3561ebebe</identification>\r
+        <identification>8f681f37-c9a0-4f78-b668-0df9c735e332</identification>\r
       </annotationBean>\r
-      <date>2012-03-09 13:26:13.317 CET</date>\r
+      <date>2012-01-13 15:24:58.691 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -9203,9 +5541,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>ea12aff7-ac6d-4f1a-80e9-2827fd04cef9</identification>\r
+        <identification>62f4cd4d-508e-409c-8e06-3fef4020fa97</identification>\r
       </annotationBean>\r
-      <date>2012-03-06 14:25:52.266 CET</date>\r
+      <date>2012-02-07 17:25:22.963 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -9214,9 +5552,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>b2faaf46-2f5d-4a03-a837-4929348bfda7</identification>\r
+        <identification>5dbd6255-5adc-46fb-a4c6-ed77d56af267</identification>\r
       </annotationBean>\r
-      <date>2012-03-09 16:59:23.594 CET</date>\r
+      <date>2012-01-02 17:16:27.428 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -9225,9 +5563,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>6983de44-4c3a-4a0d-b7cb-072a778d7bb8</identification>\r
+        <identification>a364b26a-abf3-425d-b166-ab27bf0381c5</identification>\r
       </annotationBean>\r
-      <date>2012-03-06 13:39:32.674 CET</date>\r
+      <date>2012-01-02 17:04:19.721 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -9236,9 +5574,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>ba94cdf1-ac8d-401e-b7cf-05cf33e62f34</identification>\r
+        <identification>97a86075-f1f7-4e46-a383-cec4b7b16ec4</identification>\r
       </annotationBean>\r
-      <date>2012-03-07 13:59:09.736 CET</date>\r
+      <date>2012-01-31 16:24:57.958 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -9247,9 +5585,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>e78fcfc0-0401-4cfd-9c93-55be2acbc321</identification>\r
+        <identification>46828567-904f-4105-96ef-0bf268ada001</identification>\r
       </annotationBean>\r
-      <date>2012-03-07 17:15:30.11 CET</date>\r
+      <date>2012-01-02 17:06:50.222 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -9258,9 +5596,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>4e411866-59fb-4b59-8a15-c00d7a119d51</identification>\r
+        <identification>5f7faf68-279b-4c53-84ca-6746a5fa7832</identification>\r
       </annotationBean>\r
-      <date>2012-03-07 17:02:21.575 CET</date>\r
+      <date>2012-01-31 16:40:24.470 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -9269,9 +5607,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>d4ca4bd2-cb12-431f-b4dd-4bab2b9d41c4</identification>\r
+        <identification>98429027-b6ab-4c7a-8952-f92ce82af604</identification>\r
       </annotationBean>\r
-      <date>2012-03-07 14:37:53.301 CET</date>\r
+      <date>2012-01-13 16:44:12.623 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -9280,9 +5618,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>e0f86762-c4c3-40f1-b61f-aabe274be8f1</identification>\r
+        <identification>273737ec-425c-4577-8d2a-963156312cfd</identification>\r
       </annotationBean>\r
-      <date>2012-03-09 13:02:30.672 CET</date>\r
+      <date>2012-01-02 15:56:51.418 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -9291,9 +5629,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>1fbd89ef-8f58-41c2-a760-e91fda60cd17</identification>\r
+        <identification>eb452b59-dcaf-4db0-8f72-244455633870</identification>\r
       </annotationBean>\r
-      <date>2012-03-06 15:37:14.85 CET</date>\r
+      <date>2012-01-13 15:40:37.647 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -9302,9 +5640,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>60848516-c260-4b2e-bf95-3e10764e8b98</identification>\r
+        <identification>9b1c8f07-a857-4d04-b260-b13bcf331662</identification>\r
       </annotationBean>\r
-      <date>2012-03-06 14:47:14.778 CET</date>\r
+      <date>2012-01-31 16:03:53.673 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -9313,9 +5651,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>623ec9e4-4797-4df1-a034-b3e37874e854</identification>\r
+        <identification>1178f00c-044f-4f45-b5e4-ac5b9f548ef2</identification>\r
       </annotationBean>\r
-      <date>2012-03-07 15:17:35.557 CET</date>\r
+      <date>2012-02-07 17:53:12.962 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -9324,9 +5662,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>37a0e9b8-2803-449f-adaa-4bfe32b440ff</identification>\r
+        <identification>7be40bed-1839-4117-81ff-49391e0fe35a</identification>\r
       </annotationBean>\r
-      <date>2012-03-06 12:02:09.363 CET</date>\r
+      <date>2012-01-02 17:52:39.889 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -9335,9 +5673,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>bc00a2cd-4caf-4699-9e63-affa8610c161</identification>\r
+        <identification>56cae6e8-a10e-44dc-86d9-dde7c69beee3</identification>\r
       </annotationBean>\r
-      <date>2012-03-06 13:46:03.84 CET</date>\r
+      <date>2012-01-31 15:45:44.504 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -9346,9 +5684,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>07d2543b-1c04-447a-be33-12e5944966be</identification>\r
+        <identification>00826864-df38-4222-a06b-ac5fd4d79e9a</identification>\r
       </annotationBean>\r
-      <date>2012-03-09 13:38:31.558 CET</date>\r
+      <date>2012-03-28 17:45:02.966 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -9357,9 +5695,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>a5401923-1dc9-430e-8a06-6d46a2c47b69</identification>\r
+        <identification>c818b2a9-90a8-4fc2-9c42-8066af346cba</identification>\r
       </annotationBean>\r
-      <date>2012-03-09 13:51:39.145 CET</date>\r
+      <date>2012-01-31 15:47:04.807 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -9368,9 +5706,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>2db6ea60-7ac1-4149-9d6f-0744e45dc25d</identification>\r
+        <identification>34bdb8db-644c-4792-b591-dd8406ef7d78</identification>\r
       </annotationBean>\r
-      <date>2012-03-09 16:43:20.468 CET</date>\r
+      <date>2012-03-21 12:12:06.884 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -9379,9 +5717,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>462e2ef4-893c-4e75-9bb2-d5630f7d1d03</identification>\r
+        <identification>d3e29f08-a44b-4bb2-9896-4f325e0499d3</identification>\r
       </annotationBean>\r
-      <date>2012-03-06 12:00:28.995 CET</date>\r
+      <date>2012-01-13 17:09:46.986 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -9390,9 +5728,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>f1a48ccb-ccf0-4805-8f0b-a2a653ac822c</identification>\r
+        <identification>c5da4161-0b70-4e67-9704-cc2d26b6cf6e</identification>\r
       </annotationBean>\r
-      <date>2012-03-30 09:50:37.61 CEST</date>\r
+      <date>2012-03-21 13:03:44.642 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -9401,9 +5739,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>05219ba8-482a-4ae7-86de-6481a6886a70</identification>\r
+        <identification>32faa1ef-391d-4360-8bb4-cc7f25b963a1</identification>\r
       </annotationBean>\r
-      <date>2012-03-07 15:20:04.949 CET</date>\r
+      <date>2012-01-02 17:19:44.583 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -9412,9 +5750,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>c70bccac-90bf-4bf8-a801-9bbbf2c1d475</identification>\r
+        <identification>4337a0e1-a09d-4b68-8660-637490e21edb</identification>\r
       </annotationBean>\r
-      <date>2012-03-06 15:08:31.559 CET</date>\r
+      <date>2012-01-31 15:58:55.276 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -9423,9 +5761,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>9e02e440-aa10-49df-a507-d1e43c7aed8d</identification>\r
+        <identification>feaf6e99-716b-4cc9-81b0-7255ea5a38f7</identification>\r
       </annotationBean>\r
-      <date>2012-03-06 15:15:41.94 CET</date>\r
+      <date>2012-01-02 16:03:20.221 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -9434,9 +5772,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>69f681a4-fee2-452e-bf4e-eb8e41d1698b</identification>\r
+        <identification>53f8a5ae-069d-4470-8da0-2df125dc5ec8</identification>\r
       </annotationBean>\r
-      <date>2012-03-06 15:43:40.468 CET</date>\r
+      <date>2012-01-02 17:50:56.83 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -9445,9 +5783,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>7fe1ded7-f5c7-4e8b-a62d-07a3793e5c0f</identification>\r
+        <identification>54d71067-a78a-4e3b-a54f-d47f75bd2adf</identification>\r
       </annotationBean>\r
-      <date>2012-03-07 14:29:51.662 CET</date>\r
+      <date>2012-01-31 16:10:34.267 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -9456,9 +5794,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>bb3cfdaa-833f-450c-8584-17c99f170082</identification>\r
+        <identification>df805bf7-d2c5-436b-a770-ba2258ed78c5</identification>\r
       </annotationBean>\r
-      <date>2012-03-30 10:08:31.166 CEST</date>\r
+      <date>2012-01-31 16:39:08.415 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -9467,9 +5805,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>7ffe885a-da8f-4df1-b2cf-5150d1e35cb0</identification>\r
+        <identification>68e10646-ec25-46ff-a748-a4ceb7eb8962</identification>\r
       </annotationBean>\r
-      <date>2012-03-06 14:04:30.678 CET</date>\r
+      <date>2012-01-31 17:02:32.988 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -9478,9 +5816,9 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>3bf6fe2c-dddb-46df-b417-7b6488deab58</identification>\r
+        <identification>0fa06dee-52dd-4af0-815c-92a4fca15a38</identification>\r
       </annotationBean>\r
-      <date>2012-03-07 17:17:47.780 CET</date>\r
+      <date>2012-03-22 09:26:12.858 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -9489,37 +5827,354 @@ postInputBody = beginStr + csvData + endStr;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>2ea6209b-ae9d-4f7a-8def-e9cce8e8b6c8</identification>\r
+        <identification>3c13925e-8808-471e-9f19-e40364e1406c</identification>\r
       </annotationBean>\r
-      <date>2012-03-09 13:41:57.411 CET</date>\r
+      <date>2012-02-10 13:01:39.855 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
   </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow><dataflow id="cdf9c220-fb85-4262-bf44-77fc3302797e" role="nested"><name>Workflow38</name><inputPorts><port><name>csvData</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port></inputPorts><outputPorts><port><name>incorrectRecords</name><annotations /></port><port><name>synReqRes</name><annotations /></port><port><name>names</name><annotations /></port><port><name>csv_output</name><annotations /></port></outputPorts><processors><processor><name>col_synonym</name><inputPorts><port><name>synRequest</name><depth>0</depth></port></inputPorts><outputPorts><port><name>synResponse</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>dataflow-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.dataflow.DataflowActivity</class><inputMap><map from="synRequest" to="synRequest" /></inputMap><outputMap><map from="synResponse" to="synResponse" /></outputMap><configBean encoding="dataflow"><dataflow ref="d18fe496-419c-4f13-9a5e-9ea550bc3a1e" /></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow><dataflow id="0f280dd3-ed61-46e2-851c-38a5d9504465" role="nested"><name>Workflow1</name><inputPorts><port><name>csvData</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port></inputPorts><outputPorts><port><name>proj_percent</name><annotations /></port><port><name>upload_status</name><annotations /></port><port><name>csv_output</name><annotations /></port><port><name>interaction_answer</name><annotations /></port></outputPorts><processors><processor><name>Init_Job_Service</name><inputPorts /><outputPorts><port><name>responseBody</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>rest-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.rest.RESTActivity</class><inputMap /><outputMap><map from="responseBody" to="responseBody" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean xmlns="">\r
+  <httpMethod>POST</httpMethod>\r
+  <urlSignature>http://127.0.0.1:3333/command/core/create-importing-job</urlSignature>\r
+  <acceptsHeaderValue>application/json</acceptsHeaderValue>\r
+  <contentTypeForUpdates>application/http</contentTypeForUpdates>\r
+  <outgoingDataFormat>String</outgoingDataFormat>\r
+  <sendHTTPExpectRequestHeader>false</sendHTTPExpectRequestHeader>\r
+  <showRedirectionOutputPort>false</showRedirectionOutputPort>\r
+  <escapeParameters>true</escapeParameters>\r
+  <otherHTTPHeaders />\r
+  <activityInputs />\r
+</net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross /></strategy></iteration></iterationStrategyStack></processor><processor><name>Parse_Job</name><inputPorts><port><name>jsonStr</name><depth>0</depth></port></inputPorts><outputPorts><port><name>jobID</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="jsonStr" to="jsonStr" /></inputMap><outputMap><map from="jobID" to="jobID" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
+  <inputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>jsonStr</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>text/plain</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+  </inputs>\r
+  <outputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>jsonErr</name>\r
+      <depth>0</depth>\r
+      <mimeTypes />\r
+      <granularDepth>0</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>jobID</name>\r
+      <depth>0</depth>\r
+      <mimeTypes />\r
+      <granularDepth>0</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+  </outputs>\r
+  <classLoaderSharing>workflow</classLoaderSharing>\r
+  <localDependencies>\r
+    <string>json-simple-1.1.1.jar</string>\r
+  </localDependencies>\r
+  <artifactDependencies />\r
+  <script>package org.bgbm.biovel.datacleaning.utils;\r
+\r
+import org.json.simple.parser.JSONParser;\r
+import org.json.simple.JSONArray;\r
+import org.json.simple.JSONObject;\r
+import org.json.simple.parser.ParseException;\r
+\r
+\r
+JSONParser parser=new JSONParser();\r
+       try {\r
+  \r
+           Object obj=parser.parse(jsonStr);\r
+           JSONObject jobj=(JSONObject)obj;\r
+           jobID = jobj.get("jobID");\r
+\r
+       } catch(ParseException pe) {\r
+           jsonErr = pe.getMessage();\r
+       }  \r
+\r
+    \r
+</script>\r
+  <dependencies />\r
+</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="jsonStr" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Upload_Data_Service</name><inputPorts><port><name>jobID</name><depth>0</depth></port><port><name>inputBody</name><depth>0</depth></port></inputPorts><outputPorts /><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>rest-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.rest.RESTActivity</class><inputMap><map from="jobID" to="jobID" /><map from="inputBody" to="inputBody" /></inputMap><outputMap /><configBean encoding="xstream"><net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean xmlns="">\r
+  <httpMethod>POST</httpMethod>\r
+  <urlSignature>http://127.0.0.1:3333/command/core/importing-controller?controller=core/default-importing-controller&amp;jobID={jobID}&amp;subCommand=load-raw-data</urlSignature>\r
+  <acceptsHeaderValue>text/html</acceptsHeaderValue>\r
+  <contentTypeForUpdates>multipart/form-data; boundary=----dcBoundary</contentTypeForUpdates>\r
+  <outgoingDataFormat>Binary</outgoingDataFormat>\r
+  <sendHTTPExpectRequestHeader>false</sendHTTPExpectRequestHeader>\r
+  <showRedirectionOutputPort>false</showRedirectionOutputPort>\r
+  <escapeParameters>true</escapeParameters>\r
+  <otherHTTPHeaders />\r
+  <activityInputs>\r
+    <entry>\r
+      <string>jobID</string>\r
+      <java-class>java.lang.String</java-class>\r
+    </entry>\r
+  </activityInputs>\r
+</net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="jobID" depth="0" /><port name="inputBody" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Parser_Format_Service</name><inputPorts><port><name>jobID</name><depth>0</depth></port></inputPorts><outputPorts /><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>rest-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.rest.RESTActivity</class><inputMap><map from="jobID" to="jobID" /></inputMap><outputMap /><configBean encoding="xstream"><net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean xmlns="">\r
+  <httpMethod>POST</httpMethod>\r
+  <urlSignature>http://127.0.0.1:3333/command/core/importing-controller?controller=core/default-importing-controller&amp;jobID={jobID}&amp;subCommand=initialize-parser-ui&amp;format=text/line-based/*sv</urlSignature>\r
+  <acceptsHeaderValue>application/json</acceptsHeaderValue>\r
+  <contentTypeForUpdates>application/xml</contentTypeForUpdates>\r
+  <outgoingDataFormat>String</outgoingDataFormat>\r
+  <sendHTTPExpectRequestHeader>false</sendHTTPExpectRequestHeader>\r
+  <showRedirectionOutputPort>false</showRedirectionOutputPort>\r
+  <escapeParameters>true</escapeParameters>\r
+  <otherHTTPHeaders />\r
+  <activityInputs>\r
+    <entry>\r
+      <string>jobID</string>\r
+      <java-class>java.lang.String</java-class>\r
+    </entry>\r
+  </activityInputs>\r
+</net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="jobID" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Update_Format_Service</name><inputPorts><port><name>jobID</name><depth>0</depth></port><port><name>inputBody</name><depth>0</depth></port></inputPorts><outputPorts /><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>rest-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.rest.RESTActivity</class><inputMap><map from="jobID" to="jobID" /><map from="inputBody" to="inputBody" /></inputMap><outputMap /><configBean encoding="xstream"><net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean xmlns="">\r
+  <httpMethod>POST</httpMethod>\r
+  <urlSignature>http://127.0.0.1:3333/command/core/importing-controller?controller=core%2Fdefault-importing-controller&amp;jobID={jobID}&amp;subCommand=update-format-and-options</urlSignature>\r
+  <acceptsHeaderValue>application/json</acceptsHeaderValue>\r
+  <contentTypeForUpdates>application/x-www-form-urlencoded</contentTypeForUpdates>\r
+  <outgoingDataFormat>Binary</outgoingDataFormat>\r
+  <sendHTTPExpectRequestHeader>false</sendHTTPExpectRequestHeader>\r
+  <showRedirectionOutputPort>false</showRedirectionOutputPort>\r
+  <escapeParameters>true</escapeParameters>\r
+  <otherHTTPHeaders />\r
+  <activityInputs>\r
+    <entry>\r
+      <string>jobID</string>\r
+      <java-class>java.lang.String</java-class>\r
+    </entry>\r
+  </activityInputs>\r
+</net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="jobID" depth="0" /><port name="inputBody" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Create_Project_Service</name><inputPorts><port><name>jobID</name><depth>0</depth></port><port><name>inputBody</name><depth>0</depth></port></inputPorts><outputPorts /><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>rest-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.rest.RESTActivity</class><inputMap><map from="jobID" to="jobID" /><map from="inputBody" to="inputBody" /></inputMap><outputMap /><configBean encoding="xstream"><net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean xmlns="">\r
+  <httpMethod>POST</httpMethod>\r
+  <urlSignature>http://127.0.0.1:3333/command/core/importing-controller?controller=core%2Fdefault-importing-controller&amp;jobID={jobID}&amp;subCommand=create-project</urlSignature>\r
+  <acceptsHeaderValue>application/json</acceptsHeaderValue>\r
+  <contentTypeForUpdates>application/x-www-form-urlencoded</contentTypeForUpdates>\r
+  <outgoingDataFormat>Binary</outgoingDataFormat>\r
+  <sendHTTPExpectRequestHeader>false</sendHTTPExpectRequestHeader>\r
+  <showRedirectionOutputPort>false</showRedirectionOutputPort>\r
+  <escapeParameters>true</escapeParameters>\r
+  <otherHTTPHeaders />\r
+  <activityInputs>\r
+    <entry>\r
+      <string>jobID</string>\r
+      <java-class>java.lang.String</java-class>\r
+    </entry>\r
+  </activityInputs>\r
+</net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="jobID" depth="0" /><port name="inputBody" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>create_project</name><inputPorts><port><name>jobID</name><depth>0</depth></port></inputPorts><outputPorts><port><name>projectID</name><depth>0</depth><granularDepth>0</granularDepth></port><port><name>percent</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>dataflow-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.dataflow.DataflowActivity</class><inputMap><map from="jobID" to="jobID" /></inputMap><outputMap><map from="projectID" to="projectID" /><map from="percent" to="percent" /></outputMap><configBean encoding="dataflow"><dataflow ref="7b1fa700-830f-4e0e-a100-1c3b33b9f677" /></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Loop</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.LoopConfiguration xmlns="">\r
+  <conditionXML>&lt;activity xmlns="http://taverna.sf.net/2008/xml/t2flow"&gt;&lt;raven&gt;&lt;group&gt;net.sf.taverna.t2.activities&lt;/group&gt;&lt;artifact&gt;beanshell-activity&lt;/artifact&gt;&lt;version&gt;1.3&lt;/version&gt;&lt;/raven&gt;&lt;class&gt;net.sf.taverna.t2.activities.beanshell.BeanshellActivity&lt;/class&gt;&lt;inputMap /&gt;&lt;outputMap /&gt;&lt;configBean encoding="xstream"&gt;&lt;net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns=""&gt;&#xD;\r
+  &lt;inputs&gt;&#xD;\r
+    &lt;net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean&gt;&#xD;\r
+      &lt;name&gt;percent&lt;/name&gt;&#xD;\r
+      &lt;depth&gt;0&lt;/depth&gt;&#xD;\r
+      &lt;translatedElementType&gt;java.lang.String&lt;/translatedElementType&gt;&#xD;\r
+      &lt;allowsLiteralValues&gt;true&lt;/allowsLiteralValues&gt;&#xD;\r
+    &lt;/net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean&gt;&#xD;\r
+  &lt;/inputs&gt;&#xD;\r
+  &lt;outputs&gt;&#xD;\r
+    &lt;net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean&gt;&#xD;\r
+      &lt;name&gt;loop&lt;/name&gt;&#xD;\r
+      &lt;depth&gt;0&lt;/depth&gt;&#xD;\r
+      &lt;granularDepth&gt;0&lt;/granularDepth&gt;&#xD;\r
+    &lt;/net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean&gt;&#xD;\r
+  &lt;/outputs&gt;&#xD;\r
+  &lt;classLoaderSharing&gt;workflow&lt;/classLoaderSharing&gt;&#xD;\r
+  &lt;localDependencies /&gt;&#xD;\r
+  &lt;artifactDependencies /&gt;&#xD;\r
+  &lt;script&gt;loop = "" + ! percent.equals("100"); &#xD;\r
+if ("true".matches(loop)) {&#xD;\r
+   Thread.sleep(1000);&#xD;\r
+}&lt;/script&gt;&#xD;\r
+  &lt;dependencies /&gt;&#xD;\r
+&lt;/net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean&gt;&lt;/configBean&gt;&lt;annotations /&gt;&lt;/activity&gt;</conditionXML>\r
+  <runFirst>true</runFirst>\r
+  <properties>\r
+    <property name="compareValue" value="100" />\r
+    <property name="comparePort" value="percent" />\r
+    <property name="delay" value="1.0" />\r
+    <property name="comparison" value="EqualTo" />\r
+    <property name="isFeedBack" value="false" />\r
+  </properties>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.LoopConfiguration></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="jobID" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>data_upload_status</name><inputPorts><port><name>jobID</name><depth>0</depth></port></inputPorts><outputPorts><port><name>upload_status</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>dataflow-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.dataflow.DataflowActivity</class><inputMap><map from="jobID" to="jobID" /></inputMap><outputMap><map from="upload_status" to="upload_status" /></outputMap><configBean encoding="dataflow"><dataflow ref="31fdf50d-202d-439f-b858-6011a70e3d1d" /></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Loop</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.LoopConfiguration xmlns="">\r
+  <conditionXML>&lt;activity xmlns="http://taverna.sf.net/2008/xml/t2flow"&gt;&lt;raven&gt;&lt;group&gt;net.sf.taverna.t2.activities&lt;/group&gt;&lt;artifact&gt;beanshell-activity&lt;/artifact&gt;&lt;version&gt;1.3&lt;/version&gt;&lt;/raven&gt;&lt;class&gt;net.sf.taverna.t2.activities.beanshell.BeanshellActivity&lt;/class&gt;&lt;inputMap /&gt;&lt;outputMap /&gt;&lt;configBean encoding="xstream"&gt;&lt;net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns=""&gt;&#xD;\r
+  &lt;inputs&gt;&#xD;\r
+    &lt;net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean&gt;&#xD;\r
+      &lt;name&gt;upload_status&lt;/name&gt;&#xD;\r
+      &lt;depth&gt;0&lt;/depth&gt;&#xD;\r
+      &lt;translatedElementType&gt;java.lang.String&lt;/translatedElementType&gt;&#xD;\r
+      &lt;allowsLiteralValues&gt;true&lt;/allowsLiteralValues&gt;&#xD;\r
+    &lt;/net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean&gt;&#xD;\r
+  &lt;/inputs&gt;&#xD;\r
+  &lt;outputs&gt;&#xD;\r
+    &lt;net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean&gt;&#xD;\r
+      &lt;name&gt;loop&lt;/name&gt;&#xD;\r
+      &lt;depth&gt;0&lt;/depth&gt;&#xD;\r
+      &lt;granularDepth&gt;0&lt;/granularDepth&gt;&#xD;\r
+    &lt;/net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean&gt;&#xD;\r
+  &lt;/outputs&gt;&#xD;\r
+  &lt;classLoaderSharing&gt;workflow&lt;/classLoaderSharing&gt;&#xD;\r
+  &lt;localDependencies /&gt;&#xD;\r
+  &lt;artifactDependencies /&gt;&#xD;\r
+  &lt;script&gt;loop = "" + ! upload_status.equals("true"); &#xD;\r
+if ("true".matches(loop)) {&#xD;\r
+   Thread.sleep(500);&#xD;\r
+}&lt;/script&gt;&#xD;\r
+  &lt;dependencies /&gt;&#xD;\r
+&lt;/net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean&gt;&lt;/configBean&gt;&lt;annotations /&gt;&lt;/activity&gt;</conditionXML>\r
+  <runFirst>true</runFirst>\r
+  <properties>\r
+    <property name="compareValue" value="true" />\r
+    <property name="delay" value="0.5" />\r
+    <property name="comparePort" value="upload_status" />\r
+    <property name="isFeedBack" value="false" />\r
+    <property name="comparison" value="EqualTo" />\r
+  </properties>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.LoopConfiguration></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="jobID" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Delete_Data</name><inputPorts><port><name>inputBody</name><depth>0</depth></port></inputPorts><outputPorts /><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>rest-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.rest.RESTActivity</class><inputMap><map from="inputBody" to="inputBody" /></inputMap><outputMap /><configBean encoding="xstream"><net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean xmlns="">\r
+  <httpMethod>POST</httpMethod>\r
+  <urlSignature>http://127.0.0.1:3333/command/core/delete-project</urlSignature>\r
+  <acceptsHeaderValue>application/json</acceptsHeaderValue>\r
+  <contentTypeForUpdates>application/x-www-form-urlencoded</contentTypeForUpdates>\r
+  <outgoingDataFormat>String</outgoingDataFormat>\r
+  <sendHTTPExpectRequestHeader>false</sendHTTPExpectRequestHeader>\r
+  <showRedirectionOutputPort>false</showRedirectionOutputPort>\r
+  <escapeParameters>true</escapeParameters>\r
+  <otherHTTPHeaders />\r
+  <activityInputs />\r
+</net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="inputBody" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Format_Options</name><inputPorts><port><name>jobID</name><depth>0</depth></port></inputPorts><outputPorts><port><name>options</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="jobID" to="jobID" /></inputMap><outputMap><map from="options" to="options" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
+  <inputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>jobID</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>text/plain</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+  </inputs>\r
+  <outputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>options</name>\r
+      <depth>0</depth>\r
+      <mimeTypes />\r
+      <granularDepth>0</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+  </outputs>\r
+  <classLoaderSharing>workflow</classLoaderSharing>\r
+  <localDependencies />\r
+  <artifactDependencies />\r
+  <script>options = "format=text/line-based/*sv&amp;options={\"encoding\":\"\",\"separator\":\",\",\"ignoreLines\":-1,\"headerLines\":1,\"skipDataLines\":0,\"limit\":-1,\"storeBlankRows\":true,\"guessCellValueTypes\":true,\"processQuotes\":true,\"storeBlankCellsAsNulls\":true,\"includeFileSources\":false,\"projectName\":\"" + jobID + "\"}";</script>\r
+  <dependencies />\r
+</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
   <maxJobs>1</maxJobs>\r
 </net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
   <backoffFactor>1.0</backoffFactor>\r
   <initialDelay>1000</initialDelay>\r
   <maxDelay>5000</maxDelay>\r
   <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="synRequest" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Wrap_strings_in_query_element</name><inputPorts><port><name>string2</name><depth>0</depth></port><port><name>string1</name><depth>0</depth></port></inputPorts><outputPorts><port><name>output</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="string2" to="string2" /><map from="string1" to="string1" /></inputMap><outputMap><map from="output" to="output" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="jobID" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>GRefine_Interaction</name><inputPorts><port><name>projectID</name><depth>0</depth></port></inputPorts><outputPorts><port><name>answer</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>interaction-activity</artifact><version>0.1.2</version></raven><class>net.sf.taverna.t2.activities.interaction.InteractionActivity</class><inputMap><map from="projectID" to="projectID" /></inputMap><outputMap><map from="answer" to="answer" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.interaction.InteractionActivityConfigurationBean xmlns="">\r
   <inputs>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>string1</name>\r
+      <name>projectID</name>\r
       <depth>0</depth>\r
       <mimeTypes>\r
-        <string>'text/plain'</string>\r
+        <string>text/plain</string>\r
       </mimeTypes>\r
       <handledReferenceSchemes />\r
       <translatedElementType>java.lang.String</translatedElementType>\r
       <allowsLiteralValues>true</allowsLiteralValues>\r
     </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+  </inputs>\r
+  <outputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>answer</name>\r
+      <depth>0</depth>\r
+      <mimeTypes />\r
+      <granularDepth>0</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+  </outputs>\r
+  <presentationOrigin>http://ww2.bgbm.org/temp/biovel/dc_iservice_redirect.html</presentationOrigin>\r
+  <interactionActivityType>LocallyPresentedHtml</interactionActivityType>\r
+</net.sf.taverna.t2.activities.interaction.InteractionActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="projectID" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Delete_Data_Options</name><inputPorts><port><name>projectID</name><depth>0</depth></port></inputPorts><outputPorts><port><name>options</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="projectID" to="projectID" /></inputMap><outputMap><map from="options" to="options" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
+  <inputs>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>string2</name>\r
+      <name>projectID</name>\r
       <depth>0</depth>\r
       <mimeTypes>\r
-        <string>'text/plain'</string>\r
+        <string>text/plain</string>\r
       </mimeTypes>\r
       <handledReferenceSchemes />\r
       <translatedElementType>java.lang.String</translatedElementType>\r
@@ -9528,7 +6183,7 @@ postInputBody = beginStr + csvData + endStr;
   </inputs>\r
   <outputs>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>output</name>\r
+      <name>options</name>\r
       <depth>0</depth>\r
       <mimeTypes />\r
       <granularDepth>0</granularDepth>\r
@@ -9537,39 +6192,27 @@ postInputBody = beginStr + csvData + endStr;
   <classLoaderSharing>workflow</classLoaderSharing>\r
   <localDependencies />\r
   <artifactDependencies />\r
-  <script>output = "&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;\n&lt;syncheck&gt;\n&lt;query&gt;\n" + string1 + string2 + "&lt;/query&gt;\n&lt;/syncheck&gt;";</script>\r
+  <script>options="project=" + projectID;</script>\r
   <dependencies />\r
-  <localworkerName>org.embl.ebi.escience.scuflworkers.java.StringConcat</localworkerName>\r
-</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations><annotation_chain encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.HostInstitution">\r
-        <text>UserNameHere</text>\r
-      </annotationBean>\r
-      <date>2012-02-10 15:51:36.322 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain></annotations></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
   <maxJobs>1</maxJobs>\r
 </net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
   <backoffFactor>1.0</backoffFactor>\r
   <initialDelay>1000</initialDelay>\r
   <maxDelay>5000</maxDelay>\r
   <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><dot><port name="string2" depth="0" /><port name="string1" depth="0" /></dot></strategy></iteration></iterationStrategyStack></processor><processor><name>syn_occurrences</name><inputPorts><port><name>sciNameList</name><depth>1</depth></port></inputPorts><outputPorts><port><name>csv_output</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>dataflow-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.dataflow.DataflowActivity</class><inputMap><map from="sciNameList" to="sciNameList" /></inputMap><outputMap><map from="csv_output" to="csv_output" /></outputMap><configBean encoding="dataflow"><dataflow ref="c919e20c-7881-47e8-afb1-b6233038e6d5" /></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="projectID" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>save_updates</name><inputPorts><port><name>projectID</name><depth>0</depth></port><port><name>save</name><depth>0</depth></port></inputPorts><outputPorts><port><name>export_data</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>dataflow-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.dataflow.DataflowActivity</class><inputMap><map from="projectID" to="projectID" /><map from="save" to="save" /></inputMap><outputMap><map from="export_data" to="export_data" /></outputMap><configBean encoding="dataflow"><dataflow ref="e39565fa-a649-4b7e-9fa3-58921efd4f53" /></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
   <maxJobs>1</maxJobs>\r
 </net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
   <backoffFactor>1.0</backoffFactor>\r
   <initialDelay>1000</initialDelay>\r
   <maxDelay>5000</maxDelay>\r
   <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="sciNameList" depth="1" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>SynCheckGUI</name><inputPorts><port><name>synreqres_list</name><depth>1</depth></port></inputPorts><outputPorts><port><name>out</name><depth>1</depth><granularDepth>1</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="synreqres_list" to="synreqres_list" /></inputMap><outputMap><map from="out" to="out" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="projectID" depth="0" /><port name="save" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Export_Data_Conditional</name><inputPorts><port><name>gref_answer</name><depth>0</depth></port></inputPorts><outputPorts><port><name>save_true</name><depth>1</depth><granularDepth>1</granularDepth></port><port><name>cancel_true</name><depth>1</depth><granularDepth>1</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="gref_answer" to="gref_answer" /></inputMap><outputMap><map from="save_true" to="save_true" /><map from="cancel_true" to="cancel_true" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
   <inputs>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>synreqres_list</name>\r
-      <depth>1</depth>\r
+      <name>gref_answer</name>\r
+      <depth>0</depth>\r
       <mimeTypes>\r
         <string>text/plain</string>\r
       </mimeTypes>\r
@@ -9580,25 +6223,30 @@ postInputBody = beginStr + csvData + endStr;
   </inputs>\r
   <outputs>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>out</name>\r
+      <name>save_true</name>\r
+      <depth>1</depth>\r
+      <mimeTypes />\r
+      <granularDepth>1</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>cancel_true</name>\r
       <depth>1</depth>\r
       <mimeTypes />\r
       <granularDepth>1</granularDepth>\r
     </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
   </outputs>\r
   <classLoaderSharing>workflow</classLoaderSharing>\r
-  <localDependencies>\r
-    <string>DCWorkflow.jar</string>\r
-  </localDependencies>\r
+  <localDependencies />\r
   <artifactDependencies />\r
-  <script>import org.bgbm.biovel.datacleaning.syncheck.SynCheckDialog;\r
-Frame f = new JFrame();\r
+  <script>List save_true = new ArrayList();\r
+List cancel_true = new ArrayList();\r
 \r
-SynCheckDialog scd = new SynCheckDialog(f,true, synreqres_list);\r
-scd.setLocationRelativeTo(null);\r
-scd.show();\r
+if(gref_answer.equals("save")) {\r
+  save_true.add("save");\r
+} else {\r
+  cancel_true.add("cancel");   \r
+}\r
 \r
-out = scd.getUniqueNameList();\r
 </script>\r
   <dependencies />\r
 </net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
@@ -9608,361 +6256,1323 @@ out = scd.getUniqueNameList();
   <initialDelay>1000</initialDelay>\r
   <maxDelay>5000</maxDelay>\r
   <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="synreqres_list" depth="1" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>DCDataParser</name><inputPorts><port><name>csvData</name><depth>0</depth></port></inputPorts><outputPorts><port><name>incorrectRecords</name><depth>0</depth><granularDepth>0</granularDepth></port><port><name>synonymRequest</name><depth>1</depth><granularDepth>1</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="csvData" to="csvData" /></inputMap><outputMap><map from="synonymRequest" to="synonymRequest" /><map from="incorrectRecords" to="incorrectRecords" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="gref_answer" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>cancel_updates</name><inputPorts><port><name>cancel</name><depth>0</depth></port><port><name>csvInput</name><depth>0</depth></port></inputPorts><outputPorts><port><name>csvOutput</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>dataflow-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.dataflow.DataflowActivity</class><inputMap><map from="cancel" to="cancel" /><map from="csvInput" to="csvInput" /></inputMap><outputMap><map from="csvOutput" to="csvOutput" /></outputMap><configBean encoding="dataflow"><dataflow ref="94a54de1-457f-4052-99dc-05a8e0855fa3" /></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="cancel" depth="0" /><port name="csvInput" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Flatten_List</name><inputPorts><port><name>inputlist</name><depth>2</depth></port></inputPorts><outputPorts><port><name>outputlist</name><depth>1</depth><granularDepth>1</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="inputlist" to="inputlist" /></inputMap><outputMap><map from="outputlist" to="outputlist" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
   <inputs>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>csvData</name>\r
-      <depth>0</depth>\r
+      <name>inputlist</name>\r
+      <depth>2</depth>\r
       <mimeTypes>\r
-        <string>text/plain</string>\r
+        <string>l(l(''))</string>\r
       </mimeTypes>\r
       <handledReferenceSchemes />\r
-      <translatedElementType>java.lang.String</translatedElementType>\r
+      <translatedElementType>[B</translatedElementType>\r
       <allowsLiteralValues>true</allowsLiteralValues>\r
     </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
   </inputs>\r
   <outputs>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>synonymRequest</name>\r
+      <name>outputlist</name>\r
       <depth>1</depth>\r
-      <mimeTypes />\r
-      <granularDepth>1</granularDepth>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>incorrectRecords</name>\r
-      <depth>0</depth>\r
-      <mimeTypes />\r
-      <granularDepth>0</granularDepth>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-  </outputs>\r
-  <classLoaderSharing>workflow</classLoaderSharing>\r
-  <localDependencies />\r
-  <artifactDependencies />\r
-  <script>\r
-\r
-import java.io.BufferedReader;\r
-import java.io.ByteArrayInputStream;\r
-import java.io.StringReader;\r
-import java.util.StringTokenizer;\r
-import java.util.HashSet;\r
-import java.util.Iterator;\r
-import java.io.StringWriter;\r
-import javax.xml.stream.XMLOutputFactory;\r
-import javax.xml.stream.XMLStreamWriter;\r
-import javax.xml.transform.OutputKeys;\r
-import javax.xml.transform.Transformer;\r
-import javax.xml.transform.TransformerFactory;\r
-import javax.xml.transform.stream.StreamResult;\r
-import javax.xml.transform.stream.StreamSource;\r
-\r
-\r
-\r
-\r
-class SynonymCheckData {\r
-    public boolean atomised = false;\r
-    public String sciName = "";\r
-    public String authorship = "";\r
-    public String genusPart = "";\r
-    public String infragenericEpithet = "";\r
-    public String specificEpithet = "";\r
-    public String infraspecificEpithet = "";\r
-    public String uninomial = "";\r
-\r
-    public SynonymCheckData() {\r
-       clear();\r
-    }\r
-\r
-    public void clear() {\r
-       atomised = false;\r
-       sciName = "";\r
-       authorship = "";\r
-       genusPart = "";\r
-       infragenericEpithet = "";\r
-       specificEpithet = "";\r
-       infraspecificEpithet = "";\r
-       uninomial = "";\r
-    }\r
-\r
-    public int hashCode() {\r
-       return sciName.hashCode();\r
-    }\r
-    public boolean equals(Object obj) {\r
-       \r
-       if ( this == obj ) return true;\r
-           \r
-       if ( !(obj instanceof SynonymCheckData) ) return false;\r
-           \r
-       SynonymCheckData scd = (SynonymCheckData) obj;\r
-           \r
-       return scd.sciName.equals(this.sciName);\r
-    }\r
-}\r
-\r
-\r
-    \r
-private final static String DELIMITER = ",";\r
-            \r
-private final static String AUTHORSHIP_HDR = "authorship";\r
-private final static String GENUSPART_HDR = "genusPart";\r
-private final static String INFRAGENERICEPITHET_HDR = "infragenericEpithet";\r
-private final static String SPECIFICEPITHET_HDR = "specificEpithet";\r
-private final static String INFRASPECIFICEPITHET_HDR = "infraspecificEpithet";\r
-private final static String NAMECOMPLETE_HDR = "nameComplete";\r
-private final static String UNINOMIAL_HDR = "uninomial";\r
-private final static String TAXONNAME_HDR = "taxonName";\r
-    \r
-private static StringBuilder incorrectRecordsBldr = new StringBuilder();\r
-   \r
-public static String[] split(String record, String delimiter, int noOfElements) throws Exception {\r
-        \r
-    String[] data = new String[noOfElements];\r
-    boolean wasDelimiter=true; \r
-    String token=""; \r
-    int token_count = 0;\r
-        \r
-    StringTokenizer st=new StringTokenizer(record,delimiter,true); \r
-\r
-    while(st.hasMoreTokens()) { \r
-       token=st.nextToken().trim(); \r
-       if(token_count &gt;= noOfElements) {\r
-           throw new Exception("No. of elements in record does not match no. of header elements");\r
-       }\r
-       if(token.equals(delimiter)) { \r
-           if(wasDelimiter) \r
-               { \r
-                   token=""; \r
-                   data[token_count] = token;\r
-                   token_count++;\r
-               }                 \r
-           wasDelimiter = true;              \r
-       }\r
-       else \r
-           { \r
-               wasDelimiter = false; \r
-               data[token_count] = token;\r
-               token_count++;\r
-           }                   \r
-    } \r
-\r
-   \r
-    return data;\r
-}\r
-    \r
-public static List synReq(HashSet hs) throws Exception {\r
-         \r
-    if(hs.isEmpty())\r
-       return null;\r
-    List synReqList = new ArrayList();\r
-    \r
-    XMLOutputFactory xof = XMLOutputFactory.newInstance();\r
-    XMLStreamWriter xtw;\r
-                    \r
-    Iterator itr = hs.iterator();\r
-       \r
-    while(itr.hasNext()) {\r
-       SynonymCheckData scd = (SynonymCheckData)itr.next();\r
-       if(scd.sciName.equals(""))\r
-           continue;\r
-       StringWriter out = new StringWriter();\r
-       xtw = xof.createXMLStreamWriter(out);    \r
-       //xtw.writeStartDocument("utf-8", "1.0");      \r
-       xtw.writeStartElement("synonymRequest");\r
-       xtw.writeAttribute("id", scd.sciName);\r
-\r
-       xtw.writeStartElement("taxonName");\r
-       if(!scd.authorship.equals("")) {\r
-           xtw.writeStartElement(AUTHORSHIP_HDR);\r
-           xtw.writeCharacters(scd.authorship);\r
-           xtw.writeEndElement();\r
+      <mimeTypes>\r
+        <string>l('')</string>\r
+      </mimeTypes>\r
+      <granularDepth>1</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+  </outputs>\r
+  <classLoaderSharing>workflow</classLoaderSharing>\r
+  <localDependencies />\r
+  <artifactDependencies />\r
+  <script>flatten(inputs, outputs, depth) {\r
+       for (i = inputs.iterator(); i.hasNext();) {\r
+           element = i.next();\r
+               if (element instanceof Collection &amp;&amp; depth &gt; 0) {\r
+                       flatten(element, outputs, depth - 1);\r
+               } else {\r
+                       outputs.add(element);\r
+               }\r
        }\r
+}\r
 \r
-       xtw.writeStartElement("name");\r
-\r
-       xtw.writeStartElement(NAMECOMPLETE_HDR);\r
-       xtw.writeCharacters(scd.sciName);\r
-       xtw.writeEndElement();\r
-\r
-           \r
-       if(!scd.uninomial.equals("")) {\r
-           xtw.writeStartElement("atomisedName");\r
-\r
-           xtw.writeStartElement(UNINOMIAL_HDR);\r
-           xtw.writeCharacters(scd.uninomial);\r
-           xtw.writeEndElement();\r
-\r
-           xtw.writeEndElement(); // end atomisedName element\r
-       } else if(!scd.genusPart.equals("")){\r
-           xtw.writeStartElement("atomisedName");\r
-           xtw.writeStartElement("subGenus");\r
-\r
-           xtw.writeStartElement(GENUSPART_HDR);\r
-           xtw.writeCharacters(scd.genusPart);\r
-           xtw.writeEndElement();\r
-\r
-           if(!scd.infragenericEpithet.equals("")) {\r
-               xtw.writeStartElement(INFRASPECIFICEPITHET_HDR);\r
-               xtw.writeCharacters(scd.infragenericEpithet);\r
-               xtw.writeEndElement();\r
-           }\r
-           \r
-           if(!scd.specificEpithet.equals("")) {\r
-               xtw.writeStartElement(SPECIFICEPITHET_HDR);\r
-               xtw.writeCharacters(scd.specificEpithet);\r
-               xtw.writeEndElement();\r
-           }\r
-\r
-           if(!scd.infraspecificEpithet.equals("")){\r
-               xtw.writeStartElement(INFRASPECIFICEPITHET_HDR);\r
-               xtw.writeCharacters(scd.infraspecificEpithet);\r
-               xtw.writeEndElement();\r
-           }\r
+outputlist = new ArrayList();\r
 \r
-           xtw.writeEndElement(); // end subGenus element\r
-           xtw.writeEndElement(); // end atomisedName element\r
+flatten(inputlist, outputlist, 1);</script>\r
+  <dependencies />\r
+  <localworkerName>org.embl.ebi.escience.scuflworkers.java.FlattenList</localworkerName>\r
+</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="inputlist" depth="2" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Merge_String_List_to_a_String</name><inputPorts><port><name>stringlist</name><depth>1</depth></port><port><name>seperator</name><depth>0</depth></port></inputPorts><outputPorts><port><name>concatenated</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="seperator" to="seperator" /><map from="stringlist" to="stringlist" /></inputMap><outputMap><map from="concatenated" to="concatenated" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
+  <inputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>stringlist</name>\r
+      <depth>1</depth>\r
+      <mimeTypes>\r
+        <string>l('text/plain')</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>seperator</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>'text/plain'</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+  </inputs>\r
+  <outputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>concatenated</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>'text/plain'</string>\r
+      </mimeTypes>\r
+      <granularDepth>0</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+  </outputs>\r
+  <classLoaderSharing>workflow</classLoaderSharing>\r
+  <localDependencies />\r
+  <artifactDependencies />\r
+  <script>String seperatorString = "\n";\r
+if (seperator != void) {\r
+       seperatorString = seperator;\r
+}\r
+StringBuffer sb = new StringBuffer();\r
+for (Iterator i = stringlist.iterator(); i.hasNext();) {\r
+       String item = (String) i.next();\r
+       sb.append(item);\r
+       if (i.hasNext()) {\r
+               sb.append(seperatorString);\r
        }\r
-           \r
-       xtw.writeEndElement(); // end name element\r
-       xtw.writeEndElement(); // end taxonName element\r
-       xtw.writeEndElement(); // end synonymRequest element                \r
-       xtw.writeEndDocument();       \r
-       xtw.flush();\r
-\r
-        \r
-       // Transform XML to get new with indentation.\r
-       TransformerFactory factory = TransformerFactory.newInstance();\r
-       \r
-       Transformer transformer = factory.newTransformer();\r
-       transformer.setOutputProperty(OutputKeys.INDENT, "yes");\r
-       transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");\r
-       \r
-       StringWriter indented_out = new StringWriter();\r
-       transformer.transform(new StreamSource(new StringReader(out.toString())), new StreamResult(indented_out));\r
-       synReqList.add(indented_out.toString());   \r
-       out.flush();\r
-    }     \r
-    xtw.close();\r
-    return synReqList;\r
 }\r
-    \r
-        \r
-int authorship_index = -1;        \r
-int genus_part_index = -1;\r
-int infrageneric_epithet_index = -1;\r
-int specific_epithet_index = -1;\r
-int infraspecific_epithet_index = -1;\r
-int name_complete_index = -1;\r
-int uninomial_index = -1;\r
-int taxon_name_index = -1;\r
-        \r
-int line_count = 0;\r
-int header_index = 0;\r
-        \r
-BufferedReader br = new BufferedReader(new StringReader(csvData));\r
-String line;\r
-HashSet sci_names_hs = new HashSet();\r
-SynonymCheckData scd;\r
-String[] recordData;\r
-while((line = br.readLine()) != null) {           \r
-    if (line.length() &gt; 0)  {     \r
-       try {\r
-           StringTokenizer st = new StringTokenizer(line, DELIMITER); \r
-           if(line_count == 0) {                                        \r
-               while(st.hasMoreTokens()) { \r
-                   String token = st.nextToken().trim();\r
-                   if(token.equals(AUTHORSHIP_HDR)) {\r
-                       authorship_index = header_index;\r
-                   }  \r
-                   if(token.equals(GENUSPART_HDR)) {\r
-                       genus_part_index = header_index;\r
-                   }                        \r
-                   if(token.equals(INFRAGENERICEPITHET_HDR)) {\r
-                       infrageneric_epithet_index = header_index;\r
-                   }  \r
-                   if(token.equals(SPECIFICEPITHET_HDR)) {\r
-                       specific_epithet_index = header_index;\r
-                   }  \r
-                   if(token.equals(INFRASPECIFICEPITHET_HDR)) {\r
-                       infraspecific_epithet_index = header_index;\r
-                   }  \r
-                   if(token.equals(NAMECOMPLETE_HDR)) {\r
-                       name_complete_index = header_index;\r
-                   }\r
-                   if(token.equals(TAXONNAME_HDR)) {\r
-                       taxon_name_index = header_index;\r
-                   }\r
-                   header_index++;\r
-               }\r
-           }\r
-           else {\r
-               recordData = split(line, DELIMITER, header_index);\r
-               if(recordData == null)\r
-                   continue;\r
-               scd = new SynonymCheckData();\r
-               if(genus_part_index &gt;= 0 &amp;&amp; !recordData[genus_part_index].equals("") \r
-                  &amp;&amp; ((infrageneric_epithet_index &gt;= 0  &amp;&amp; !recordData[infrageneric_epithet_index].equals("")) \r
-                      || (specific_epithet_index &gt;= 0  &amp;&amp; !recordData[specific_epithet_index].equals("")) \r
-                      || (infraspecific_epithet_index &gt;= 0  &amp;&amp; !recordData[infraspecific_epithet_index].equals("")))) {\r
-                   scd.atomised = true;                        \r
-                   scd.genusPart = recordData[genus_part_index];\r
-                   scd.infragenericEpithet = (infrageneric_epithet_index &gt;= 0)?recordData[infrageneric_epithet_index]:"";\r
-                   scd.specificEpithet = (specific_epithet_index &gt;= 0)?recordData[specific_epithet_index]:"";\r
-                   scd.infraspecificEpithet = (infrageneric_epithet_index &gt;= 0)?recordData[infraspecific_epithet_index]:"";\r
-                           \r
-                   scd.sciName = scd.genusPart;\r
-                   if(!scd.infragenericEpithet.equals(""))\r
-                       scd.sciName = scd.sciName + " " +  scd.infragenericEpithet;\r
-                   if(!scd.specificEpithet.equals(""))\r
-                       scd.sciName = scd.sciName + " " + scd.specificEpithet;\r
-                   if(!scd.infraspecificEpithet.equals(""))\r
-                       scd.sciName = scd.sciName + " " + scd.infraspecificEpithet;\r
+concatenated = sb.toString();\r
+</script>\r
+  <dependencies />\r
+  <localworkerName>org.embl.ebi.escience.scuflworkers.java.StringListMerge</localworkerName>\r
+</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="stringlist" depth="1" /><port name="seperator" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>no_seperator</name><inputPorts /><outputPorts><port><name>value</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>stringconstant-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.stringconstant.StringConstantActivity</class><inputMap /><outputMap><map from="value" to="value" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean xmlns="">\r
+  <value />\r
+</net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy /></iteration></iterationStrategyStack></processor><processor><name>Read_Convert_Input</name><inputPorts><port><name>csvData</name><depth>0</depth></port></inputPorts><outputPorts><port><name>postInputBody</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="csvData" to="csvData" /></inputMap><outputMap><map from="postInputBody" to="postInputBody" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
+  <inputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>csvData</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>'text/plain'</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+  </inputs>\r
+  <outputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>postInputBody</name>\r
+      <depth>0</depth>\r
+      <mimeTypes />\r
+      <granularDepth>0</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+  </outputs>\r
+  <classLoaderSharing>workflow</classLoaderSharing>\r
+  <localDependencies />\r
+  <artifactDependencies />\r
+  <script>String lineEnding = System.getProperty("line.separator");\r
+\r
+String boundary = "----dcBoundary";\r
+\r
+String beginStr = "--" + boundary + lineEnding +\r
+"Content-Disposition: form-data; name=\"upload\"; filename=\"dcinput.txt\"" + lineEnding +\r
+"Content-Type: text/plain" + lineEnding + lineEnding;\r
 \r
-               } else if(uninomial_index &gt;=0 &amp;&amp; !recordData[uninomial_index].equals("")) {\r
-                   scd.atomised = true;\r
-                   scd.uninomial = recordData[uninomial_index];\r
-                   scd.sciName = scd.uninomial;\r
-               } else if(name_complete_index &gt;=0 &amp;&amp; !recordData[name_complete_index].equals("")) {\r
-                   scd.sciName = recordData[name_complete_index];\r
-               } else if(taxon_name_index &gt;= 0 &amp;&amp; !recordData[taxon_name_index].equals("")){\r
-                   scd.sciName = recordData[taxon_name_index];\r
-               }\r
-               if(authorship_index &gt;= 0 &amp;&amp; !recordData[authorship_index].equals("")) {\r
-                   scd.authorship = recordData[authorship_index];\r
-               }\r
-                      \r
-               sci_names_hs.add(scd);                 \r
-           }\r
-           line_count++;\r
-       } catch(Exception e) {\r
-           incorrectRecordsBldr.append(line).append(":").append(e.getMessage());\r
-       }\r
-    }            \r
-}        \r
-    \r
-synonymRequest = synReq(sci_names_hs);\r
-incorrectRecords = incorrectRecordsBldr.toString();\r
+String endStr = lineEnding + "--" + boundary + "--";\r
+\r
+postInputBody = beginStr + csvData + endStr;\r
+  \r
 </script>\r
   <dependencies />\r
-</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <localworkerName>net.sourceforge.taverna.scuflworkers.io.TextFileReader</localworkerName>\r
+</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations><annotation_chain encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.HostInstitution">\r
+        <text>UserNameHere</text>\r
+      </annotationBean>\r
+      <date>2012-03-30 10:07:33.683 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain></annotations></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
   <maxJobs>1</maxJobs>\r
 </net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
   <backoffFactor>1.0</backoffFactor>\r
   <initialDelay>1000</initialDelay>\r
   <maxDelay>5000</maxDelay>\r
   <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="csvData" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Merge_String_List_to_a_String</name><inputPorts><port><name>seperator</name><depth>0</depth></port><port><name>stringlist</name><depth>1</depth></port></inputPorts><outputPorts><port><name>concatenated</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="seperator" to="seperator" /><map from="stringlist" to="stringlist" /></inputMap><outputMap><map from="concatenated" to="concatenated" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="csvData" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor></processors><conditions><condition control="data_upload_status" target="Parser_Format_Service" /><condition control="Upload_Data_Service" target="data_upload_status" /><condition control="Parser_Format_Service" target="Update_Format_Service" /><condition control="Update_Format_Service" target="Create_Project_Service" /><condition control="Create_Project_Service" target="create_project" /><condition control="Flatten_List" target="Delete_Data" /></conditions><datalinks><datalink><sink type="processor"><processor>Parse_Job</processor><port>jsonStr</port></sink><source type="processor"><processor>Init_Job_Service</processor><port>responseBody</port></source></datalink><datalink><sink type="processor"><processor>Upload_Data_Service</processor><port>jobID</port></sink><source type="processor"><processor>Parse_Job</processor><port>jobID</port></source></datalink><datalink><sink type="processor"><processor>Upload_Data_Service</processor><port>inputBody</port></sink><source type="processor"><processor>Read_Convert_Input</processor><port>postInputBody</port></source></datalink><datalink><sink type="processor"><processor>Parser_Format_Service</processor><port>jobID</port></sink><source type="processor"><processor>Parse_Job</processor><port>jobID</port></source></datalink><datalink><sink type="processor"><processor>Update_Format_Service</processor><port>jobID</port></sink><source type="processor"><processor>Parse_Job</processor><port>jobID</port></source></datalink><datalink><sink type="processor"><processor>Update_Format_Service</processor><port>inputBody</port></sink><source type="processor"><processor>Format_Options</processor><port>options</port></source></datalink><datalink><sink type="processor"><processor>Create_Project_Service</processor><port>jobID</port></sink><source type="processor"><processor>Parse_Job</processor><port>jobID</port></source></datalink><datalink><sink type="processor"><processor>Create_Project_Service</processor><port>inputBody</port></sink><source type="processor"><processor>Format_Options</processor><port>options</port></source></datalink><datalink><sink type="processor"><processor>create_project</processor><port>jobID</port></sink><source type="processor"><processor>Parse_Job</processor><port>jobID</port></source></datalink><datalink><sink type="processor"><processor>data_upload_status</processor><port>jobID</port></sink><source type="processor"><processor>Parse_Job</processor><port>jobID</port></source></datalink><datalink><sink type="processor"><processor>Delete_Data</processor><port>inputBody</port></sink><source type="processor"><processor>Delete_Data_Options</processor><port>options</port></source></datalink><datalink><sink type="processor"><processor>Format_Options</processor><port>jobID</port></sink><source type="processor"><processor>Parse_Job</processor><port>jobID</port></source></datalink><datalink><sink type="processor"><processor>GRefine_Interaction</processor><port>projectID</port></sink><source type="processor"><processor>create_project</processor><port>projectID</port></source></datalink><datalink><sink type="processor"><processor>Delete_Data_Options</processor><port>projectID</port></sink><source type="processor"><processor>create_project</processor><port>projectID</port></source></datalink><datalink><sink type="processor"><processor>save_updates</processor><port>projectID</port></sink><source type="processor"><processor>create_project</processor><port>projectID</port></source></datalink><datalink><sink type="processor"><processor>save_updates</processor><port>save</port></sink><source type="processor"><processor>Export_Data_Conditional</processor><port>save_true</port></source></datalink><datalink><sink type="processor"><processor>Export_Data_Conditional</processor><port>gref_answer</port></sink><source type="processor"><processor>GRefine_Interaction</processor><port>answer</port></source></datalink><datalink><sink type="processor"><processor>cancel_updates</processor><port>cancel</port></sink><source type="processor"><processor>Export_Data_Conditional</processor><port>cancel_true</port></source></datalink><datalink><sink type="processor"><processor>cancel_updates</processor><port>csvInput</port></sink><source type="dataflow"><port>csvData</port></source></datalink><datalink><sink type="processor"><processor>Merge_String_List_to_a_String</processor><port>stringlist</port></sink><source type="processor"><processor>Flatten_List</processor><port>outputlist</port></source></datalink><datalink><sink type="processor"><processor>Merge_String_List_to_a_String</processor><port>seperator</port></sink><source type="processor"><processor>no_seperator</processor><port>value</port></source></datalink><datalink><sink type="processor"><processor>Read_Convert_Input</processor><port>csvData</port></sink><source type="dataflow"><port>csvData</port></source></datalink><datalink><sink type="merge"><processor>Flatten_List</processor><port>inputlist</port></sink><source type="processor"><processor>save_updates</processor><port>export_data</port></source></datalink><datalink><sink type="merge"><processor>Flatten_List</processor><port>inputlist</port></sink><source type="processor"><processor>cancel_updates</processor><port>csvOutput</port></source></datalink><datalink><sink type="dataflow"><port>proj_percent</port></sink><source type="processor"><processor>create_project</processor><port>percent</port></source></datalink><datalink><sink type="dataflow"><port>upload_status</port></sink><source type="processor"><processor>data_upload_status</processor><port>upload_status</port></source></datalink><datalink><sink type="dataflow"><port>csv_output</port></sink><source type="processor"><processor>Merge_String_List_to_a_String</processor><port>concatenated</port></source></datalink><datalink><sink type="dataflow"><port>interaction_answer</port></sink><source type="processor"><processor>GRefine_Interaction</processor><port>answer</port></source></datalink></datalinks><annotations><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>68312bb3-0013-4ab6-9486-ebf2a88170e8</identification>\r
+      </annotationBean>\r
+      <date>2012-03-06 14:22:54.225 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>c691c14e-655f-482f-b64f-fa126ffa6c15</identification>\r
+      </annotationBean>\r
+      <date>2012-03-09 17:02:44.555 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>f5534ac8-a5ef-4d66-b8b3-50e1bddbc61e</identification>\r
+      </annotationBean>\r
+      <date>2012-03-07 15:25:14.413 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>c0bbaa99-7bd9-42fd-ad20-dd739ad58b13</identification>\r
+      </annotationBean>\r
+      <date>2012-03-09 13:13:47.224 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>1208f4a8-6088-4d7a-9ba2-1b28696557f5</identification>\r
+      </annotationBean>\r
+      <date>2012-03-27 14:44:39.271 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>96bd8edc-a795-45a0-809c-8068489b97c9</identification>\r
+      </annotationBean>\r
+      <date>2012-03-06 14:46:15.583 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>20e484cb-3f89-40b7-ba53-cd88f6ff612d</identification>\r
+      </annotationBean>\r
+      <date>2012-03-14 14:11:22.926 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>ff404630-4a3c-49ac-badd-5bf9f14a8103</identification>\r
+      </annotationBean>\r
+      <date>2012-03-06 14:59:02.673 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>d48e0933-caa4-4fdf-915c-904afadda47f</identification>\r
+      </annotationBean>\r
+      <date>2012-03-07 15:06:00.464 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>59260159-db76-468b-9f7c-97a0a2327e2d</identification>\r
+      </annotationBean>\r
+      <date>2012-03-14 14:38:15.329 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>211152d4-01e6-4491-b222-9f221c8ab784</identification>\r
+      </annotationBean>\r
+      <date>2012-03-06 14:34:54.685 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>886b4c22-92bf-4248-a6ef-fb8d66d0c0c3</identification>\r
+      </annotationBean>\r
+      <date>2012-03-06 13:32:35.828 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>1c3be139-e877-41ff-ae3a-30cba6a03406</identification>\r
+      </annotationBean>\r
+      <date>2012-03-06 14:20:55.986 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>d2317152-7017-4554-a3d3-43f73dc04b35</identification>\r
+      </annotationBean>\r
+      <date>2012-03-09 13:33:02.44 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>3bf6fe2c-dddb-46df-b417-7b6488deab58</identification>\r
+      </annotationBean>\r
+      <date>2012-03-07 17:17:47.780 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>fa415c13-16cb-4b7e-b928-8a15c997e6d7</identification>\r
+      </annotationBean>\r
+      <date>2012-04-03 13:29:51.253 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>a5401923-1dc9-430e-8a06-6d46a2c47b69</identification>\r
+      </annotationBean>\r
+      <date>2012-03-09 13:51:39.145 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>09dbfb45-65fc-4e8b-ba80-b48fd2c872a2</identification>\r
+      </annotationBean>\r
+      <date>2012-03-09 13:37:19.409 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>70d399e3-0f73-4985-a59c-f55d6ee5f03b</identification>\r
+      </annotationBean>\r
+      <date>2012-03-07 16:51:59.307 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>07d2543b-1c04-447a-be33-12e5944966be</identification>\r
+      </annotationBean>\r
+      <date>2012-03-09 13:38:31.558 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>7fdd92cb-215b-4478-af7b-a612cdea404a</identification>\r
+      </annotationBean>\r
+      <date>2012-03-06 13:21:38.788 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>464ddd54-aa48-4054-be49-5535d088a977</identification>\r
+      </annotationBean>\r
+      <date>2012-03-09 13:10:20.72 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>41777234-2c05-41b8-b77f-06e47fe427d7</identification>\r
+      </annotationBean>\r
+      <date>2012-03-09 13:04:58.180 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>2db6ea60-7ac1-4149-9d6f-0744e45dc25d</identification>\r
+      </annotationBean>\r
+      <date>2012-03-09 16:43:20.468 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>6983de44-4c3a-4a0d-b7cb-072a778d7bb8</identification>\r
+      </annotationBean>\r
+      <date>2012-03-06 13:39:32.674 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>67a96d49-6abf-4781-8a88-fc8026cb8b05</identification>\r
+      </annotationBean>\r
+      <date>2012-03-13 15:29:41.682 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>7ffe885a-da8f-4df1-b2cf-5150d1e35cb0</identification>\r
+      </annotationBean>\r
+      <date>2012-03-06 14:04:30.678 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>d4ca4bd2-cb12-431f-b4dd-4bab2b9d41c4</identification>\r
+      </annotationBean>\r
+      <date>2012-03-07 14:37:53.301 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>bc98e55f-8b60-42f4-8dd4-0878c4f407b3</identification>\r
+      </annotationBean>\r
+      <date>2012-03-06 14:02:13.752 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>c6ab60db-9455-445c-9afd-0ad67aa1ec9d</identification>\r
+      </annotationBean>\r
+      <date>2012-03-06 15:00:01.790 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>5bfc583d-8c54-4a7f-bfd5-187c318f39f6</identification>\r
+      </annotationBean>\r
+      <date>2012-03-06 15:11:00.14 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>45c42399-b811-4bf6-885e-7a5d0f54b4de</identification>\r
+      </annotationBean>\r
+      <date>2012-03-09 16:50:49.796 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>ac2f7fbd-5e39-453f-b572-ca547ed2680c</identification>\r
+      </annotationBean>\r
+      <date>2012-03-06 14:23:32.659 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>b2faaf46-2f5d-4a03-a837-4929348bfda7</identification>\r
+      </annotationBean>\r
+      <date>2012-03-09 16:59:23.594 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>e0f86762-c4c3-40f1-b61f-aabe274be8f1</identification>\r
+      </annotationBean>\r
+      <date>2012-03-09 13:02:30.672 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>047da834-2724-4833-bc5c-828140d48d7e</identification>\r
+      </annotationBean>\r
+      <date>2012-03-13 15:19:13.932 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>7ea8bb9f-9343-46bc-8218-75d88988b79d</identification>\r
+      </annotationBean>\r
+      <date>2012-03-14 14:26:04.190 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>7cea06b2-30dd-4ca1-b6a4-f95ade6c3db8</identification>\r
+      </annotationBean>\r
+      <date>2012-03-07 14:33:45.458 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>9e02e440-aa10-49df-a507-d1e43c7aed8d</identification>\r
+      </annotationBean>\r
+      <date>2012-03-06 15:15:41.94 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>623ec9e4-4797-4df1-a034-b3e37874e854</identification>\r
+      </annotationBean>\r
+      <date>2012-03-07 15:17:35.557 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>ab29db78-1a55-42ae-bdee-1554680a70a1</identification>\r
+      </annotationBean>\r
+      <date>2012-03-06 13:26:15.526 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>7fe1ded7-f5c7-4e8b-a62d-07a3793e5c0f</identification>\r
+      </annotationBean>\r
+      <date>2012-03-07 14:29:51.662 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>7f3d1b6c-8d42-4b6e-9078-899bade7337e</identification>\r
+      </annotationBean>\r
+      <date>2012-03-06 14:24:55.16 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>0f280dd3-ed61-46e2-851c-38a5d9504465</identification>\r
+      </annotationBean>\r
+      <date>2012-04-03 16:37:05.101 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>b36133fa-9a7c-4e26-b3ff-bc67782b9754</identification>\r
+      </annotationBean>\r
+      <date>2012-03-07 15:25:00.339 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>69f681a4-fee2-452e-bf4e-eb8e41d1698b</identification>\r
+      </annotationBean>\r
+      <date>2012-03-06 15:43:40.468 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>f8cd6827-4671-4cb5-b461-f597e0c04595</identification>\r
+      </annotationBean>\r
+      <date>2012-03-08 17:34:28.408 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>b5186d3f-d362-4400-ba1a-49f3561ebebe</identification>\r
+      </annotationBean>\r
+      <date>2012-03-09 13:26:13.317 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>dc11fa24-04fc-4a03-97f4-f9b6459a1ce9</identification>\r
+      </annotationBean>\r
+      <date>2012-03-07 15:16:22.747 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>467e36fc-8a4a-4750-8cd6-d8f435feb596</identification>\r
+      </annotationBean>\r
+      <date>2012-03-07 15:15:10.296 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>6d5effb2-ca3d-4cf3-afb4-d5a836d7ee72</identification>\r
+      </annotationBean>\r
+      <date>2012-03-27 14:49:07.757 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>75e28940-856e-48ef-8df9-6ebd22197196</identification>\r
+      </annotationBean>\r
+      <date>2012-03-09 12:47:56.624 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>553c311f-92e6-4e9c-97a3-e88a9ce41838</identification>\r
+      </annotationBean>\r
+      <date>2012-03-07 16:48:59.330 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>ea7c1608-1b9b-4565-b929-ff7c9cbd068c</identification>\r
+      </annotationBean>\r
+      <date>2012-04-03 13:26:12.871 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>f7616d77-5273-49a0-bbde-e88ad45f9437</identification>\r
+      </annotationBean>\r
+      <date>2012-03-13 15:29:48.169 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>de604c9f-f6be-4bef-9e7c-fa12b40c6b0f</identification>\r
+      </annotationBean>\r
+      <date>2012-03-07 17:15:11.332 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>199306ab-630e-4e5e-b536-430887f7dfe6</identification>\r
+      </annotationBean>\r
+      <date>2012-03-07 14:13:37.818 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>d4da4550-9e4f-41eb-9dfa-77fb1336392b</identification>\r
+      </annotationBean>\r
+      <date>2012-03-08 17:13:04.589 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>0cb24cbb-b20d-4920-9fce-cfb7ff84a82d</identification>\r
+      </annotationBean>\r
+      <date>2012-03-07 14:38:48.625 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>36aaa03c-c8b6-4c4f-b7b4-83e83edb9e0a</identification>\r
+      </annotationBean>\r
+      <date>2012-03-07 16:53:16.656 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>625a4542-a30b-4cdd-bf50-f8de9ddbf4c6</identification>\r
+      </annotationBean>\r
+      <date>2012-04-03 13:31:56.668 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>05219ba8-482a-4ae7-86de-6481a6886a70</identification>\r
+      </annotationBean>\r
+      <date>2012-03-07 15:20:04.949 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>d708bff3-40c3-460c-9a01-7ce8cae50c66</identification>\r
+      </annotationBean>\r
+      <date>2012-03-07 17:08:56.461 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>1fbd89ef-8f58-41c2-a760-e91fda60cd17</identification>\r
+      </annotationBean>\r
+      <date>2012-03-06 15:37:14.85 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>f1b750f3-f2a2-418e-a6b0-93aaf7bec99f</identification>\r
+      </annotationBean>\r
+      <date>2012-03-09 16:37:24.715 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>93437352-9975-42dc-9efa-1424b3effebd</identification>\r
+      </annotationBean>\r
+      <date>2012-03-06 15:14:52.759 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>e91435eb-cd87-4519-abf4-f4e0d4b3c461</identification>\r
+      </annotationBean>\r
+      <date>2012-04-03 16:32:03.751 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>dcf020ba-60b0-44d0-a748-a65f99e5e682</identification>\r
+      </annotationBean>\r
+      <date>2012-03-06 14:01:30.449 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>e42b52c8-f890-4777-966a-2e8cd33eccb2</identification>\r
+      </annotationBean>\r
+      <date>2012-04-03 13:28:49.550 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>a13b9a01-7273-44c4-a9b5-5618ca4a1b57</identification>\r
+      </annotationBean>\r
+      <date>2012-04-03 13:45:15.47 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>366ed372-2569-4322-a15b-56d1480658ce</identification>\r
+      </annotationBean>\r
+      <date>2012-03-09 16:50:02.681 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>7c286b63-74b7-43fb-befc-5ee0649d20ad</identification>\r
+      </annotationBean>\r
+      <date>2012-03-07 16:54:53.519 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>d35e19de-d446-4289-bab2-cc02c18d2c13</identification>\r
+      </annotationBean>\r
+      <date>2012-03-06 14:28:57.571 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>3f98b187-ed3c-4620-a8f1-5265cd36bc66</identification>\r
+      </annotationBean>\r
+      <date>2012-03-09 13:03:14.393 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>e78fcfc0-0401-4cfd-9c93-55be2acbc321</identification>\r
+      </annotationBean>\r
+      <date>2012-03-07 17:15:30.11 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>1c82e8a5-01a4-475c-b957-e1377b9e949e</identification>\r
+      </annotationBean>\r
+      <date>2012-04-03 13:33:48.655 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>2c4e801f-0148-4534-a2bb-e7ebe8f4ad92</identification>\r
+      </annotationBean>\r
+      <date>2012-04-03 13:25:10.503 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>052cccac-844f-4dba-8726-9ceeaa779533</identification>\r
+      </annotationBean>\r
+      <date>2012-03-07 14:49:21.292 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>8ec54701-98f2-48d0-91a0-a6f1799a514e</identification>\r
+      </annotationBean>\r
+      <date>2012-03-14 14:26:41.415 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>cbe51b2b-178c-4a0d-8897-261477544590</identification>\r
+      </annotationBean>\r
+      <date>2012-03-07 17:18:20.0 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>64952d46-aeda-4c59-93f4-17747d2d1bca</identification>\r
+      </annotationBean>\r
+      <date>2012-03-06 14:47:26.376 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>60848516-c260-4b2e-bf95-3e10764e8b98</identification>\r
+      </annotationBean>\r
+      <date>2012-03-06 14:47:14.778 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>4e411866-59fb-4b59-8a15-c00d7a119d51</identification>\r
+      </annotationBean>\r
+      <date>2012-03-07 17:02:21.575 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>37a0e9b8-2803-449f-adaa-4bfe32b440ff</identification>\r
+      </annotationBean>\r
+      <date>2012-03-06 12:02:09.363 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>8b0741bc-dad6-4913-b454-1c26fe5094d2</identification>\r
+      </annotationBean>\r
+      <date>2012-03-09 13:08:27.28 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>2305466b-1018-4e60-896e-9a952cb1f949</identification>\r
+      </annotationBean>\r
+      <date>2012-03-08 17:37:45.5 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>f33eff41-d6de-494f-8bbc-69740691b8f9</identification>\r
+      </annotationBean>\r
+      <date>2012-03-07 16:50:06.583 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>fc0eeba9-b5aa-4707-812b-8eb57e3848f1</identification>\r
+      </annotationBean>\r
+      <date>2012-03-06 13:37:00.887 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>56bc5bfd-9bc7-40f6-9a70-c1acf14e04c7</identification>\r
+      </annotationBean>\r
+      <date>2012-04-03 10:52:11.606 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>094db52f-ddd9-482e-8d53-cb7df0f92275</identification>\r
+      </annotationBean>\r
+      <date>2012-03-09 13:26:52.45 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>ea730a6d-3f2e-48e9-a04d-ba5d92917f40</identification>\r
+      </annotationBean>\r
+      <date>2012-03-06 14:09:01.721 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>2ea6209b-ae9d-4f7a-8def-e9cce8e8b6c8</identification>\r
+      </annotationBean>\r
+      <date>2012-03-09 13:41:57.411 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>c70bccac-90bf-4bf8-a801-9bbbf2c1d475</identification>\r
+      </annotationBean>\r
+      <date>2012-03-06 15:08:31.559 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>1e83c552-ca41-4587-9c0e-c29c38394bc1</identification>\r
+      </annotationBean>\r
+      <date>2012-03-06 13:51:44.109 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>ba94cdf1-ac8d-401e-b7cf-05cf33e62f34</identification>\r
+      </annotationBean>\r
+      <date>2012-03-07 13:59:09.736 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>37f97407-8a01-47b7-830f-23f861279f08</identification>\r
+      </annotationBean>\r
+      <date>2012-03-14 14:54:01.687 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>462e2ef4-893c-4e75-9bb2-d5630f7d1d03</identification>\r
+      </annotationBean>\r
+      <date>2012-03-06 12:00:28.995 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>bc00a2cd-4caf-4699-9e63-affa8610c161</identification>\r
+      </annotationBean>\r
+      <date>2012-03-06 13:46:03.84 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>ea12aff7-ac6d-4f1a-80e9-2827fd04cef9</identification>\r
+      </annotationBean>\r
+      <date>2012-03-06 14:25:52.266 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>330658b7-bf4d-4aab-b1c4-f5aee4e2e59e</identification>\r
+      </annotationBean>\r
+      <date>2012-03-08 17:35:33.174 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>54a07560-ef8c-44ad-b63e-ab2e2dd2b912</identification>\r
+      </annotationBean>\r
+      <date>2012-03-07 14:44:35.705 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>f69246e7-612c-418e-8c3d-1f94aed09a4f</identification>\r
+      </annotationBean>\r
+      <date>2012-03-07 16:59:47.257 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow><dataflow id="124b440e-f7ef-445f-901b-b3d04ca3e2a7" role="nested"><name>Workflow20</name><inputPorts><port><name>sciName</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port><port><name>next</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port></inputPorts><outputPorts><port><name>next</name><annotations /></port><port><name>max1000_csv_output</name><annotations /></port></outputPorts><processors><processor><name>Transform_XML</name><inputPorts><port><name>xslFileURL</name><depth>0</depth></port><port><name>inString</name><depth>0</depth></port></inputPorts><outputPorts><port><name>outputStr</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="inString" to="inString" /><map from="xslFileURL" to="xslFileURL" /></inputMap><outputMap><map from="outputStr" to="outputStr" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
   <inputs>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>stringlist</name>\r
-      <depth>1</depth>\r
+      <name>xslFileURL</name>\r
+      <depth>0</depth>\r
       <mimeTypes>\r
-        <string>l('text/plain')</string>\r
+        <string>'text/plain'</string>\r
       </mimeTypes>\r
       <handledReferenceSchemes />\r
       <translatedElementType>java.lang.String</translatedElementType>\r
       <allowsLiteralValues>true</allowsLiteralValues>\r
     </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>seperator</name>\r
+      <name>outFileURL</name>\r
       <depth>0</depth>\r
       <mimeTypes>\r
         <string>'text/plain'</string>\r
@@ -9971,45 +7581,156 @@ incorrectRecords = incorrectRecordsBldr.toString();
       <translatedElementType>java.lang.String</translatedElementType>\r
       <allowsLiteralValues>true</allowsLiteralValues>\r
     </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-  </inputs>\r
-  <outputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>concatenated</name>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>inString</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>'text/plain'</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>outputExt</name>\r
       <depth>0</depth>\r
       <mimeTypes>\r
         <string>'text/plain'</string>\r
       </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+  </inputs>\r
+  <outputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>outputStr</name>\r
+      <depth>0</depth>\r
+      <mimeTypes />\r
       <granularDepth>0</granularDepth>\r
     </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
   </outputs>\r
   <classLoaderSharing>workflow</classLoaderSharing>\r
   <localDependencies />\r
   <artifactDependencies />\r
-  <script>String seperatorString = "\n";\r
-if (seperator != void) {\r
-       seperatorString = seperator;\r
-}\r
-StringBuffer sb = new StringBuffer();\r
-for (Iterator i = stringlist.iterator(); i.hasNext();) {\r
-       String item = (String) i.next();\r
-       sb.append(item);\r
-       if (i.hasNext()) {\r
-               sb.append(seperatorString);\r
+  <script>import java.io.BufferedReader;\r
+import java.io.BufferedWriter;\r
+import java.io.FileInputStream;\r
+import java.io.FileNotFoundException;\r
+import java.io.FileReader;\r
+import java.io.FileWriter;\r
+import java.io.IOException;\r
+import java.io.InputStreamReader;\r
+import java.io.OutputStreamWriter;\r
+import java.io.StringWriter;\r
+import java.io.StringReader;\r
+import java.io.Writer;\r
+import java.net.URL;\r
+import java.util.HashMap;\r
+import java.util.Map;\r
+\r
+import javax.xml.transform.Result;\r
+import javax.xml.transform.Source;\r
+import javax.xml.transform.SourceLocator;\r
+import javax.xml.transform.Templates;\r
+import javax.xml.transform.Transformer;\r
+import javax.xml.transform.TransformerConfigurationException;\r
+import javax.xml.transform.TransformerException;\r
+import javax.xml.transform.TransformerFactory;\r
+import javax.xml.transform.stream.StreamResult;\r
+import javax.xml.transform.stream.StreamSource;\r
+\r
+BufferedReader getReader (String fileUrl) throws IOException {\r
+               InputStreamReader reader;\r
+               try {\r
+                       reader = new FileReader(fileUrl);\r
+               }\r
+               catch (FileNotFoundException e) {\r
+                       // try a real URL instead\r
+                       URL url = new URL(fileUrl);\r
+                       reader = new InputStreamReader (url.openStream());\r
+               }\r
+               return new BufferedReader(reader);\r
+       }\r
+       \r
+BufferedWriter getWriter (String fileUrl) throws IOException {\r
+               Writer writer;\r
+               try {\r
+                       writer = new FileWriter(fileUrl);\r
+               }\r
+               catch (FileNotFoundException e) {\r
+                       // try a real URL instead\r
+                       URL url = new URL(fileUrl);\r
+                       writer = new OutputStreamWriter (url.openConnection().getOutputStream());\r
+               }\r
+               return new BufferedWriter(writer);\r
        }\r
+       \r
+String xslFilename = xslFileURL;\r
+String outFilename;\r
+if (outFileURL != void) {\r
+    outFilename = outFileURL;\r
+}\r
+\r
+String ext;\r
+if (outputExt != void) {\r
+    ext = outputExt;\r
+}\r
+\r
+\r
+\r
+// Create transformer factory\r
+TransformerFactory factory = TransformerFactory.newInstance();\r
+\r
+// Use the factory to create a template containing the xsl file\r
+Templates template = factory.newTemplates(new StreamSource(getReader(xslFilename)));\r
+\r
+// Use the template to create a transformer\r
+Transformer xformer = template.newTransformer();\r
+\r
+// Prepare the input and output files\r
+Reader sourceReader = new StringReader(inString);\r
+Source source = new StreamSource(sourceReader);\r
+StringWriter resultStr = new StringWriter();\r
+Result result = new StreamResult(resultStr);\r
+\r
+// Apply the xsl file to the source file and write the result to the\r
+// output file\r
+xformer.transform(source, result);\r
+\r
+outputStr = resultStr.toString();\r
+\r
+if ((outFilename != null) &amp;&amp; !outFilename.equals("")) {\r
+\r
+       BufferedWriter out = getWriter(outFilename);\r
+\r
+       out.write(outputStr);\r
+       out.close();\r
 }\r
-concatenated = sb.toString();\r
+sourceReader.close();\r
 </script>\r
   <dependencies />\r
-  <localworkerName>org.embl.ebi.escience.scuflworkers.java.StringListMerge</localworkerName>\r
-</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <localworkerName>net.sourceforge.taverna.scuflworkers.xml.XSLTWorker</localworkerName>\r
+</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations><annotation_chain encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.HostInstitution">\r
+        <text>UserNameHere</text>\r
+      </annotationBean>\r
+      <date>2012-01-13 17:08:38.768 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain></annotations></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
   <maxJobs>1</maxJobs>\r
 </net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
   <backoffFactor>1.0</backoffFactor>\r
   <initialDelay>1000</initialDelay>\r
   <maxDelay>5000</maxDelay>\r
   <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="seperator" depth="0" /><port name="stringlist" depth="1" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>no_separator</name><inputPorts /><outputPorts><port><name>value</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>stringconstant-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.stringconstant.StringConstantActivity</class><inputMap /><outputMap><map from="value" to="value" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean xmlns="">\r
-  <value />\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="xslFileURL" depth="0" /><port name="inString" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>gbifResponse_to_csv_xsl</name><inputPorts /><outputPorts><port><name>value</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>stringconstant-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.stringconstant.StringConstantActivity</class><inputMap /><outputMap><map from="value" to="value" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean xmlns="">\r
+  <value>http://ww2.bgbm.org/temp/biovel/gbifResponse_to_csv.xsl</value>\r
 </net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
   <maxJobs>1</maxJobs>\r
 </net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
@@ -10017,184 +7738,2018 @@ concatenated = sb.toString();
   <initialDelay>1000</initialDelay>\r
   <maxDelay>5000</maxDelay>\r
   <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy /></iteration></iterationStrategyStack></processor></processors><conditions /><datalinks><datalink><sink type="processor"><processor>col_synonym</processor><port>synRequest</port></sink><source type="processor"><processor>DCDataParser</processor><port>synonymRequest</port></source></datalink><datalink><sink type="processor"><processor>Wrap_strings_in_query_element</processor><port>string2</port></sink><source type="processor"><processor>col_synonym</processor><port>synResponse</port></source></datalink><datalink><sink type="processor"><processor>Wrap_strings_in_query_element</processor><port>string1</port></sink><source type="processor"><processor>DCDataParser</processor><port>synonymRequest</port></source></datalink><datalink><sink type="processor"><processor>syn_occurrences</processor><port>sciNameList</port></sink><source type="processor"><processor>SynCheckGUI</processor><port>out</port></source></datalink><datalink><sink type="processor"><processor>SynCheckGUI</processor><port>synreqres_list</port></sink><source type="processor"><processor>Wrap_strings_in_query_element</processor><port>output</port></source></datalink><datalink><sink type="processor"><processor>DCDataParser</processor><port>csvData</port></sink><source type="dataflow"><port>csvData</port></source></datalink><datalink><sink type="processor"><processor>Merge_String_List_to_a_String</processor><port>seperator</port></sink><source type="processor"><processor>no_separator</processor><port>value</port></source></datalink><datalink><sink type="processor"><processor>Merge_String_List_to_a_String</processor><port>stringlist</port></sink><source type="processor"><processor>syn_occurrences</processor><port>csv_output</port></source></datalink><datalink><sink type="dataflow"><port>incorrectRecords</port></sink><source type="processor"><processor>DCDataParser</processor><port>incorrectRecords</port></source></datalink><datalink><sink type="dataflow"><port>synReqRes</port></sink><source type="processor"><processor>Wrap_strings_in_query_element</processor><port>output</port></source></datalink><datalink><sink type="dataflow"><port>names</port></sink><source type="processor"><processor>SynCheckGUI</processor><port>out</port></source></datalink><datalink><sink type="dataflow"><port>csv_output</port></sink><source type="processor"><processor>Merge_String_List_to_a_String</processor><port>concatenated</port></source></datalink></datalinks><annotations><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>fc0831b0-d5d1-4849-b27e-45393915f6bb</identification>\r
-      </annotationBean>\r
-      <date>2012-03-29 14:55:49.410 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>d9fbd0bb-0b5c-4ae1-a3e6-24b25fe15d8c</identification>\r
-      </annotationBean>\r
-      <date>2012-03-29 14:30:40.331 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>9c9f8b53-94a2-4e2f-8352-5871b5c93cc5</identification>\r
-      </annotationBean>\r
-      <date>2012-03-29 11:44:28.869 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>3702c3a9-3bac-4f53-bb8d-9fbbd457e077</identification>\r
-      </annotationBean>\r
-      <date>2012-03-29 11:45:10.791 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>e85227ec-8378-4cad-9a88-15a4a0f643c0</identification>\r
-      </annotationBean>\r
-      <date>2012-03-29 13:52:07.195 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>cc2ba98d-9d65-4882-a1ff-b64e73082de9</identification>\r
-      </annotationBean>\r
-      <date>2012-03-29 15:33:31.887 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>cdf9c220-fb85-4262-bf44-77fc3302797e</identification>\r
-      </annotationBean>\r
-      <date>2012-03-29 17:02:17.600 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>ae40be70-6c12-45e5-be8b-81f0b8b735ba</identification>\r
-      </annotationBean>\r
-      <date>2012-03-29 12:03:32.626 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>f080c4b4-30ee-42eb-8897-0084d7779196</identification>\r
-      </annotationBean>\r
-      <date>2012-03-29 13:41:32.443 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>2f0ef2c4-0d2f-41b1-a08c-cf5b114c4e4c</identification>\r
-      </annotationBean>\r
-      <date>2012-03-29 14:59:02.824 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>efd208a7-5a9b-4f0a-a5a4-4beb3a8cb586</identification>\r
-      </annotationBean>\r
-      <date>2012-03-29 11:37:04.382 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>b36d4cfa-6510-4d81-883e-eada09b56f2d</identification>\r
-      </annotationBean>\r
-      <date>2012-03-29 14:25:21.10 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>fd8fb852-f3e8-4a57-a600-7a28c8c68961</identification>\r
-      </annotationBean>\r
-      <date>2012-03-28 17:50:15.876 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>5d68a44d-bf06-405c-806f-b228e4617031</identification>\r
-      </annotationBean>\r
-      <date>2012-03-29 11:03:32.312 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow><dataflow id="c919e20c-7881-47e8-afb1-b6233038e6d5" role="nested"><name>Workflow32</name><inputPorts><port><name>sciNameList</name><depth>1</depth><granularDepth>1</granularDepth><annotations /></port></inputPorts><outputPorts><port><name>csv_output</name><annotations /></port><port><name>file_write_ok</name><annotations /></port></outputPorts><processors><processor><name>gbif_occurrence_list</name><inputPorts><port><name>sciName</name><depth>0</depth></port></inputPorts><outputPorts><port><name>csv_output</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>dataflow-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.dataflow.DataflowActivity</class><inputMap><map from="sciName" to="sciName" /></inputMap><outputMap><map from="csv_output" to="csv_output" /></outputMap><configBean encoding="dataflow"><dataflow ref="89f2b55a-52b9-43e9-a4a7-04fe6baca933" /></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy /></iteration></iterationStrategyStack></processor><processor><name>gbifOccurrence</name><inputPorts><port><name>format</name><depth>0</depth></port><port><name>scientificname</name><depth>0</depth></port><port><name>next</name><depth>0</depth></port></inputPorts><outputPorts><port><name>responseBody</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>rest-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.rest.RESTActivity</class><inputMap><map from="next" to="next" /><map from="format" to="format" /><map from="scientificname" to="scientificname" /></inputMap><outputMap><map from="responseBody" to="responseBody" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean xmlns="">\r
+  <httpMethod>GET</httpMethod>\r
+  <urlSignature>http://data.gbif.org/ws/rest/occurrence/list?scientificname={scientificname}&amp;format={format}&amp;startindex={next}&amp;maxresults=1000</urlSignature>\r
+  <acceptsHeaderValue>application/xml</acceptsHeaderValue>\r
+  <contentTypeForUpdates>application/xml</contentTypeForUpdates>\r
+  <outgoingDataFormat>String</outgoingDataFormat>\r
+  <sendHTTPExpectRequestHeader>false</sendHTTPExpectRequestHeader>\r
+  <showRedirectionOutputPort>false</showRedirectionOutputPort>\r
+  <escapeParameters>true</escapeParameters>\r
+  <otherHTTPHeaders />\r
+  <activityInputs>\r
+    <entry>\r
+      <string>next</string>\r
+      <java-class>java.lang.String</java-class>\r
+    </entry>\r
+    <entry>\r
+      <string>format</string>\r
+      <java-class>java.lang.String</java-class>\r
+    </entry>\r
+    <entry>\r
+      <string>scientificname</string>\r
+      <java-class>java.lang.String</java-class>\r
+    </entry>\r
+  </activityInputs>\r
+</net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="format" depth="0" /><port name="scientificname" depth="0" /><port name="next" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>format_value</name><inputPorts /><outputPorts><port><name>value</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>stringconstant-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.stringconstant.StringConstantActivity</class><inputMap /><outputMap><map from="value" to="value" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean xmlns="">\r
+  <value>darwin</value>\r
+</net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy /></iteration></iterationStrategyStack></processor><processor><name>next</name><inputPorts><port><name>xml_text</name><depth>0</depth></port></inputPorts><outputPorts><port><name>nodelist</name><depth>1</depth><granularDepth>1</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>xpath-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.xpath.XPathActivity</class><inputMap><map from="xml_text" to="xml_text" /></inputMap><outputMap><map from="nodelist" to="nodelist" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.xpath.XPathActivityConfigurationBean xmlns="">\r
+  <xmlDocument>&lt;?xml version="1.0" encoding="UTF-8"?&gt;\r
+&lt;?xml-stylesheet type="text/xsl" href="http://data.gbif.org/ws/rest/taxon/stylesheet"?&gt;&lt;gbif:gbifResponse xmlns:gbif="http://portal.gbif.org/ws/response/gbif" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:tc="http://rs.tdwg.org/ontology/voc/TaxonConcept#" xmlns:tn="http://rs.tdwg.org/ontology/voc/TaxonName#" xsi:schemaLocation="http://portal.gbif.org/ws/response/gbif http://data.gbif.org/ws/rest/taxon/schema http://purl.org/dc/elements/1.1/ http://data.gbif.org/schema/dc.xsd http://purl.org/dc/terms/ http://data.gbif.org/schema/dcterms.xsd http://www.w3.org/1999/02/22-rdf-syntax-ns# http://data.gbif.org/schema/rdf.xsd http://www.w3.org/2002/07/owl# http://data.gbif.org/schema/owl.xsd http://rs.tdwg.org/ontology/voc/Common# http://data.gbif.org/schema/tcom.xsd http://rs.tdwg.org/ontology/voc/TaxonOccurrence# http://data.gbif.org/schema/TaxonOccurrence.xsd http://rs.tdwg.org/ontology/voc/TaxonConcept# http://data.gbif.org/schema/TaxonConcept.xsd http://rs.tdwg.org/ontology/voc/TaxonName# http://data.gbif.org/schema/TaxonName.xsd"&gt;\r
+ &lt;gbif:header&gt;\r
+  &lt;gbif:help&gt;http://data.gbif.org/ws/rest/taxon/help\r
+&lt;/gbif:help&gt;\r
+  &lt;gbif:request&gt;list&lt;/gbif:request&gt;\r
+  &lt;gbif:statements&gt;-\r
+\r
+This document contains data shared through the GBIF Network - see http://data.gbif.org/ for more information.\r
+                                       \r
+All usage of these data must be in accordance with the GBIF Data Use Agreement - see http://www.gbif.org/DataProviders/Agreements/DUA\r
+\r
+-\r
+&lt;/gbif:statements&gt;\r
+  &lt;gbif:stylesheet&gt;http://data.gbif.org/ws/rest/taxon/stylesheet&lt;/gbif:stylesheet&gt;\r
+  &lt;gbif:parameter name="maxresults" value="100"/&gt;\r
+  &lt;gbif:parameter name="request" value="list"/&gt;\r
+  &lt;gbif:parameter name="service" value="taxon"/&gt;\r
+  &lt;gbif:parameter name="format" value="brief"/&gt;\r
+  &lt;gbif:parameter name="scientificname" value="Plantae"/&gt;\r
+  &lt;gbif:nextRequestUrl&gt;http://data.gbif.org/ws/rest/taxon/list?startindex=100&amp;amp;maxresults=100&amp;amp;format=brief&amp;amp;scientificname=Plantae&lt;/gbif:nextRequestUrl&gt;\r
+&lt;gbif:summary start="0" totalMatched="100" next="100" totalReturned="100"/&gt;\r
+ &lt;/gbif:header&gt;&lt;gbif:dataProviders&gt;\r
+\r
+\r
+&lt;gbif:dataProvider gbifKey="116" rdf:about="http://data.gbif.org/ws/rest/provider/get/116"&gt;\r
+                                                                                       &lt;gbif:name&gt;Museo Nacional de Costa Rica&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="566" rdf:about="http://data.gbif.org/ws/rest/resource/get/566"&gt;\r
+                    &lt;gbif:name&gt;herbario&lt;/gbif:name&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51456466" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51456466"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;herbario&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/566"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="318" rdf:about="http://data.gbif.org/ws/rest/provider/get/318"&gt;\r
+                                                                                       &lt;gbif:name&gt;Arizona State University, Global Institute for Sustainability&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="676" rdf:about="http://data.gbif.org/ws/rest/resource/get/676"&gt;\r
+                    &lt;gbif:name&gt;Arizona State University Vascular Plant Herbarium&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="52007005" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/52007005"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Arizona State University Vascular Plant Herbarium&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/676"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="112" rdf:about="http://data.gbif.org/ws/rest/provider/get/112"&gt;\r
+                                                                                       &lt;gbif:name&gt;Mokpo Museum of Natural History&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="570" rdf:about="http://data.gbif.org/ws/rest/resource/get/570"&gt;\r
+                    &lt;gbif:name&gt;Mokpo Museum of Natural History Plant&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51473457" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51473457"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Mokpo Museum of Natural History Plant&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/570"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="139" rdf:about="http://data.gbif.org/ws/rest/provider/get/139"&gt;\r
+                                                                                       &lt;gbif:name&gt;NLBIF&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="693" rdf:about="http://data.gbif.org/ws/rest/resource/get/693"&gt;\r
+                    &lt;gbif:name&gt;Natural History Museum Rotterdam&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;NLBIF, Natural History Museum Rotterdam&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="52066103" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/52066103"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Natural History Museum Rotterdam&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/693"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="57" rdf:about="http://data.gbif.org/ws/rest/provider/get/57"&gt;\r
+                                                                                       &lt;gbif:name&gt;GBIF-Spain&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="262" rdf:about="http://data.gbif.org/ws/rest/resource/get/262"&gt;\r
+                    &lt;gbif:name&gt;Institut d'Ecologia Litoral: IEL_Phyto&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Gomis, C. (2005). Institut d'Ecologia Litoral Phytoplankton Collections on line databases.&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50817295" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50817295"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Institut d'Ecologia Litoral: IEL_Phyto&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/262"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="263" rdf:about="http://data.gbif.org/ws/rest/resource/get/263"&gt;\r
+                    &lt;gbif:name&gt;Institut d'Ecologia Litoral: IEL_Plantae&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Vicedo, M. (2005). Institut d'Ecologia Litoral Plantae Collections on line databases&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50817987" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50817987"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Institut d'Ecologia Litoral: IEL_Plantae&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/263"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="240" rdf:about="http://data.gbif.org/ws/rest/resource/get/240"&gt;\r
+                    &lt;gbif:name&gt;Real Jardin Botanico (Madrid), Vascular Plant Herbarium (MA)&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50645543" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50645543"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Real Jardin Botanico (Madrid), Vascular Plant Herbarium (MA)&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/240"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="284" rdf:about="http://data.gbif.org/ws/rest/resource/get/284"&gt;\r
+                    &lt;gbif:name&gt;Herbario de la Universidad de Sevilla, SEV-Historico&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;F.J. Salgueiro, S. Talavera et al. (2006). SEV collections online data bases&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50842449" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50842449"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Herbario de la Universidad de Sevilla, SEV-Historico&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/284"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="283" rdf:about="http://data.gbif.org/ws/rest/resource/get/283"&gt;\r
+                    &lt;gbif:name&gt;Herbario de la Universidad de Sevilla, SEV&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;F.J. Salgueiro, S. Talavera et al. (2006). SEV collections online data bases&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50830315" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50830315"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Herbario de la Universidad de Sevilla, SEV&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/283"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="245" rdf:about="http://data.gbif.org/ws/rest/resource/get/245"&gt;\r
+                    &lt;gbif:name&gt;Universidad de Oviedo. Departamento de Biología de Organismos y Sistemas: FCO&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50743926" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50743926"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Universidad de Oviedo. Departamento de Biología de Organismos y Sistemas: FCO&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/245"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="244" rdf:about="http://data.gbif.org/ws/rest/resource/get/244"&gt;\r
+                    &lt;gbif:name&gt;Herbario de la Universidad de Almeria&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50739343" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50739343"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Herbario de la Universidad de Almeria&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/244"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="243" rdf:about="http://data.gbif.org/ws/rest/resource/get/243"&gt;\r
+                    &lt;gbif:name&gt;CeDoc de Biodiversitat Vegetal: BCN-Cormophyta&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Guardia, R. et al. (2007). Bases de dades de l'Herbari BCN http://www.ub.es/cedocbiv/bancdade.htm&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50735696" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50735696"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;CeDoc de Biodiversitat Vegetal: BCN-Cormophyta&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/243"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="242" rdf:about="http://data.gbif.org/ws/rest/resource/get/242"&gt;\r
+                    &lt;gbif:name&gt;Universidad del País Vasco/EHU, Bilbao: Herbario BIO&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Herrera, M. et al. (2004). BIO Vascular Plants Collections on line databases.&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50733148" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50733148"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Universidad del País Vasco/EHU, Bilbao: Herbario BIO&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/242"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="249" rdf:about="http://data.gbif.org/ws/rest/resource/get/249"&gt;\r
+                    &lt;gbif:name&gt;Departamento de Biolog. Veg. II, Facultad de Farmacia, Universidad Complutense, Madrid: MAF&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Pizarro, J. et al. Plantas vasculares en el herbario GBIFMAF.&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50770400" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50770400"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Departamento de Biolog. Veg. II, Facultad de Farmacia, Universidad Complutense, Madrid: MAF&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/249"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="248" rdf:about="http://data.gbif.org/ws/rest/resource/get/248"&gt;\r
+                    &lt;gbif:name&gt;Aranzadi Zientzi Elkartea&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50762908" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50762908"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Aranzadi Zientzi Elkartea&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/248"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="247" rdf:about="http://data.gbif.org/ws/rest/resource/get/247"&gt;\r
+                    &lt;gbif:name&gt;Jardín Botánico de Córdoba: Herbarium COA&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Martín-Consuegra, E. et al. (2005). COA collections online databases.&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50754749" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50754749"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Jardín Botánico de Córdoba: Herbarium COA&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/247"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="246" rdf:about="http://data.gbif.org/ws/rest/resource/get/246"&gt;\r
+                    &lt;gbif:name&gt;Instituto Pirenaico de Ecología-CSIC: Herbarium JACA&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Benito, J.L., D. Gómez and L. Villar (2004) Las bases de datos del herbario JACA en internet (Fecha de consulta).&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50753094" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50753094"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Instituto Pirenaico de Ecología-CSIC: Herbarium JACA&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/246"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="264" rdf:about="http://data.gbif.org/ws/rest/resource/get/264"&gt;\r
+                    &lt;gbif:name&gt;Institut d'Ecologia Litoral: IEL_Seed&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Vicedo, M. (2005). Institut d'Ecologia Litoral Seed Collections on line databases&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50818745" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50818745"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Institut d'Ecologia Litoral: IEL_Seed&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/264"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="300" rdf:about="http://data.gbif.org/ws/rest/resource/get/300"&gt;\r
+                    &lt;gbif:name&gt;Hortus Botanicus Sollerensis Herbarium (FBonafè)&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50883651" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50883651"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Hortus Botanicus Sollerensis Herbarium (FBonafè)&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/300"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="251" rdf:about="http://data.gbif.org/ws/rest/resource/get/251"&gt;\r
+                    &lt;gbif:name&gt;CIBIO, Alicante:ABH-GBIF&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Herbario de la Universidad de Alicante, ABH (2005).&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50773832" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50773832"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;CIBIO, Alicante:ABH-GBIF&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/251"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="296" rdf:about="http://data.gbif.org/ws/rest/resource/get/296"&gt;\r
+                    &lt;gbif:name&gt;CUBA: Herbario de la Academia de Ciencias, La Habana, Cuba: HAC-Pteridophyta&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Regalado, L., Lóriga J., Morejón, R., Hechavarría, L., Fuentes, I., Hernández A., Daniel, A., Caluff, M., Ventosa, I., Vale, A. et Echevarría R. 2006. Pteridophyte collection online database.&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50870745" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50870745"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;CUBA: Herbario de la Academia de Ciencias, La Habana, Cuba: HAC-Pteridophyta&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/296"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="292" rdf:about="http://data.gbif.org/ws/rest/resource/get/292"&gt;\r
+                    &lt;gbif:name&gt;Dpto de Botánica, Ecología y Fisiología Vegetal (herbario_cofc).Facultad de Ciencias.Universidad de Córdoba&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50860548" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50860548"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Dpto de Botánica, Ecología y Fisiología Vegetal (herbario_cofc).Facultad de Ciencias.Universidad de Córdoba&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/292"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="239" rdf:about="http://data.gbif.org/ws/rest/resource/get/239"&gt;\r
+                    &lt;gbif:name&gt;Herbario de la Universidad de Salamanca: SALA&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Herbario de la Universidad de Salamanca (SALA)&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50618940" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50618940"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Herbario de la Universidad de Salamanca: SALA&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/239"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="278" rdf:about="http://data.gbif.org/ws/rest/resource/get/278"&gt;\r
+                    &lt;gbif:name&gt;Escuela Técnica Superior de Ingenieros de Montes, UPM: EMMA&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50824900" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50824900"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Escuela Técnica Superior de Ingenieros de Montes, UPM: EMMA&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/278"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="297" rdf:about="http://data.gbif.org/ws/rest/resource/get/297"&gt;\r
+                    &lt;gbif:name&gt;CUBA:Herbario del Jardín de los Helechos, Centro Oriental de Ecosistemas y Biodiversidad, Santiago de Cuba: BSC-Pteridophyta&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Caluff, M., Serguera, M., Sánchez, C., Morejón, R., Regalado, L., Hernández, A. et Daniel A. 2006. Pteridophyte collection online database.&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50871285" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50871285"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;CUBA:Herbario del Jardín de los Helechos, Centro Oriental de Ecosistemas y Biodiversidad, Santiago de Cuba: BSC-Pteridophyta&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/297"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="298" rdf:about="http://data.gbif.org/ws/rest/resource/get/298"&gt;\r
+                    &lt;gbif:name&gt;CUBA:Herbario del Jardín Botánico Nacional, La Habana, Cuba: HAJB-Pteridophyta&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Morejón, R., Sánchez, C., Regalado, L., Hernández, A. et Daniel A. 2006. Pteridophyte collection online database.&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50871396" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50871396"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;CUBA:Herbario del Jardín Botánico Nacional, La Habana, Cuba: HAJB-Pteridophyta&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/298"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="299" rdf:about="http://data.gbif.org/ws/rest/resource/get/299"&gt;\r
+                    &lt;gbif:name&gt;Institut Botanic de Barcelona, BC&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50872014" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50872014"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Institut Botanic de Barcelona, BC&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/299"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="257" rdf:about="http://data.gbif.org/ws/rest/resource/get/257"&gt;\r
+                    &lt;gbif:name&gt;Departamento de Biolog. Veg. II, Facultad de Farmacia, Universidad Complutense, Madrid: MAF-Lich&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Pizarro, José et al. (2005), MAF Lichen collection online database, UCM&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50812257" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50812257"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Departamento de Biolog. Veg. II, Facultad de Farmacia, Universidad Complutense, Madrid: MAF-Lich&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/257"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="234" rdf:about="http://data.gbif.org/ws/rest/resource/get/234"&gt;\r
+                    &lt;gbif:name&gt;Real Jardin Botanico, Madrid: MA-Algae&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Pando, F. et al. (2003). MA Cryptogamic collections online databases. http://www.rjb.csic.es/herbario/crypto/crydb.htm. (date when consulted)&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50589373" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50589373"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Real Jardin Botanico, Madrid: MA-Algae&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/234"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="236" rdf:about="http://data.gbif.org/ws/rest/resource/get/236"&gt;\r
+                    &lt;gbif:name&gt;Real Jardin Botanico, Madrid: MA-Hepat&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Pando, F. et al. (2003). MA Cryptogamic collections online databases. http://www.rjb.csic.es/herbario/crypto/crydb.htm. (date when consulted)&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50602339" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50602339"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Real Jardin Botanico, Madrid: MA-Hepat&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/236"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="235" rdf:about="http://data.gbif.org/ws/rest/resource/get/235"&gt;\r
+                    &lt;gbif:name&gt;Real Jardin Botanico, Madrid: MA-Musci&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Pando, F. et al. (2003). MA Cryptogamic collections online databases. http://www.rjb.csic.es/herbario/crypto/crydb.htm. (date when consulted)&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50592362" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50592362"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Real Jardin Botanico, Madrid: MA-Musci&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/235"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="253" rdf:about="http://data.gbif.org/ws/rest/resource/get/253"&gt;\r
+                    &lt;gbif:name&gt;GBIF-PORTUGAL-Herbário João de Carvalho e Vasconcellos, I.S.A./U.T.L.&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50785400" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50785400"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;GBIF-PORTUGAL-Herbário João de Carvalho e Vasconcellos, I.S.A./U.T.L.&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/253"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="238" rdf:about="http://data.gbif.org/ws/rest/resource/get/238"&gt;\r
+                    &lt;gbif:name&gt;Jardi Botanic de Valencia: VAL&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50610276" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50610276"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Jardi Botanic de Valencia: VAL&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/238"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="256" rdf:about="http://data.gbif.org/ws/rest/resource/get/256"&gt;\r
+                    &lt;gbif:name&gt;Real Jardin Botanico, Madrid: MA-Funhist&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Pando, F. et al. (2003). MA Cryptogamic collections online databases. http://www.rjb.csic.es/herbario/crypto/crydb.htm. (date when consulted)&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50796630" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50796630"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Real Jardin Botanico, Madrid: MA-Funhist&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/256"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="237" rdf:about="http://data.gbif.org/ws/rest/resource/get/237"&gt;\r
+                    &lt;gbif:name&gt;Real Jardin Botanico, Madrid: MA-Lichen&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Pando, F. et al. (2003). MA Cryptogamic collections online databases. http://www.rjb.csic.es/herbario/crypto/crydb.htm. (date when consulted)&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50605097" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50605097"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Real Jardin Botanico, Madrid: MA-Lichen&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/237"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="255" rdf:about="http://data.gbif.org/ws/rest/resource/get/255"&gt;\r
+                    &lt;gbif:name&gt;Universidad de Extremadura, UNEX&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Ruiz, T. (2005) Vascular collection herbarium online database in Extremadura&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50788063" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50788063"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Universidad de Extremadura, UNEX&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/255"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="136" rdf:about="http://data.gbif.org/ws/rest/provider/get/136"&gt;\r
+                                                                                       &lt;gbif:name&gt;NatureServe&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="607" rdf:about="http://data.gbif.org/ws/rest/resource/get/607"&gt;\r
+                    &lt;gbif:name&gt;NatureServe Network Species Occurrence Data&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;NatureServe Central Databases&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51646369" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51646369"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;NatureServe Network Species Occurrence Data&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/607"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="56" rdf:about="http://data.gbif.org/ws/rest/provider/get/56"&gt;\r
+                                                                                       &lt;gbif:name&gt;GBIF New Zealand&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="471" rdf:about="http://data.gbif.org/ws/rest/resource/get/471"&gt;\r
+                    &lt;gbif:name&gt;NZFUNGI - Collections of the New Zealand National Fungal Herbarium (PDD)&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;http://nzfungi.landcareresearch.co.nz Landcare Research, New Zealand&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51166007" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51166007"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;NZFUNGI - Collections of the New Zealand National Fungal Herbarium (PDD)&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/471"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="472" rdf:about="http://data.gbif.org/ws/rest/resource/get/472"&gt;\r
+                    &lt;gbif:name&gt;International Collection of Microorganisms from Plants - New Zealand National Microbial Collection&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;International Collection of Microoganisms from Plants, Landcare Research, New Zealand&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51168326" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51168326"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;International Collection of Microorganisms from Plants - New Zealand National Microbial Collection&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/472"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="474" rdf:about="http://data.gbif.org/ws/rest/resource/get/474"&gt;\r
+                    &lt;gbif:name&gt;New Zealand National Plant Herbarium (CHR)&lt;/gbif:name&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51171666" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51171666"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;New Zealand National Plant Herbarium (CHR)&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/474"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="473" rdf:about="http://data.gbif.org/ws/rest/resource/get/473"&gt;\r
+                    &lt;gbif:name&gt;New Zealand National Vegetation Survey Databank&lt;/gbif:name&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51168344" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51168344"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;New Zealand National Vegetation Survey Databank&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/473"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="156" rdf:about="http://data.gbif.org/ws/rest/provider/get/156"&gt;\r
+                                                                                       &lt;gbif:name&gt;Seodaemun Museum of Natural History&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="673" rdf:about="http://data.gbif.org/ws/rest/resource/get/673"&gt;\r
+                    &lt;gbif:name&gt;Seodaemun Museum of Natural History Plant&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51988429" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51988429"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Seodaemun Museum of Natural History Plant&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/673"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="670" rdf:about="http://data.gbif.org/ws/rest/resource/get/670"&gt;\r
+                    &lt;gbif:name&gt;Seodaemun Museum of Natural History Fossil&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51988402" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51988402"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Seodaemun Museum of Natural History Fossil&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/670"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="14" rdf:about="http://data.gbif.org/ws/rest/provider/get/14"&gt;\r
+                                                                                       &lt;gbif:name&gt;Bernice Pauahi Bishop Museum&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="54" rdf:about="http://data.gbif.org/ws/rest/resource/get/54"&gt;\r
+                    &lt;gbif:name&gt;Bishop Museum Natural Sciences Data&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Bishop Museum Natural History Data&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50178479" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50178479"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Bishop Museum Natural Sciences Data&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/54"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="12" rdf:about="http://data.gbif.org/ws/rest/provider/get/12"&gt;\r
+                                                                                       &lt;gbif:name&gt;BeBIF Provider&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="96" rdf:about="http://data.gbif.org/ws/rest/resource/get/96"&gt;\r
+                    &lt;gbif:name&gt;Royal Museum of Central Africa - Metafro-Infosys - Prelude&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Metafro-Infosys&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50267686" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50267686"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Royal Museum of Central Africa - Metafro-Infosys - Prelude&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/96"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="95" rdf:about="http://data.gbif.org/ws/rest/resource/get/95"&gt;\r
+                    &lt;gbif:name&gt;Royal Museum of Central Africa - Metafro-Infosys - Xylarium&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;RMCA-Metafro-Infosys-Xylarium&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50254870" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50254870"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Royal Museum of Central Africa - Metafro-Infosys - Xylarium&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/95"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="153" rdf:about="http://data.gbif.org/ws/rest/provider/get/153"&gt;\r
+                                                                                       &lt;gbif:name&gt;Alaska Ocean Observing System&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="654" rdf:about="http://data.gbif.org/ws/rest/resource/get/654"&gt;\r
+                    &lt;gbif:name&gt;Arctic Ocean Diversity&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51921018" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51921018"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Arctic Ocean Diversity&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/654"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="20" rdf:about="http://data.gbif.org/ws/rest/provider/get/20"&gt;\r
+                                                                                       &lt;gbif:name&gt;Botanical Research Institute of Texas&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="56" rdf:about="http://data.gbif.org/ws/rest/resource/get/56"&gt;\r
+                    &lt;gbif:name&gt;Andes to Amazon Biodiversity Program&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50205952" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50205952"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Andes to Amazon Biodiversity Program&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/56"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="368" rdf:about="http://data.gbif.org/ws/rest/provider/get/368"&gt;\r
+                                                                                       &lt;gbif:name&gt;ECAT development publisher&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="13566" rdf:about="http://data.gbif.org/ws/rest/resource/get/13566"&gt;\r
+                    &lt;gbif:name&gt;Wikipedia Species Pages - English&lt;/gbif:name&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="110582304" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/110582304"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;unranked&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Wikipedia Species Pages - English&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/13566"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                                                                     &lt;tc:TaxonConcept gbifKey="110624584" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/110624584"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;unranked&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Wikipedia Species Pages - English&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/13566"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                                                                     &lt;tc:TaxonConcept gbifKey="110525446" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/110525446"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;unranked&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Wikipedia Species Pages - English&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/13566"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                                                                     &lt;tc:TaxonConcept gbifKey="110617462" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/110617462"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;unranked&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Wikipedia Species Pages - English&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/13566"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                                                                     &lt;tc:TaxonConcept gbifKey="110568798" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/110568798"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;unranked&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Wikipedia Species Pages - English&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/13566"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                                                                     &lt;tc:TaxonConcept gbifKey="110568797" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/110568797"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;unranked&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Wikipedia Species Pages - English&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/13566"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                                                                     &lt;tc:TaxonConcept gbifKey="110586738" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/110586738"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;unranked&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Wikipedia Species Pages - English&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/13566"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                                                                     &lt;tc:TaxonConcept gbifKey="110509215" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/110509215"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;unranked&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Wikipedia Species Pages - English&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/13566"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                                                                     &lt;tc:TaxonConcept gbifKey="110499063" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/110499063"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;unranked&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Wikipedia Species Pages - English&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/13566"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                                                                     &lt;tc:TaxonConcept gbifKey="110582305" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/110582305"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;unranked&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Wikipedia Species Pages - English&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/13566"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="13562" rdf:about="http://data.gbif.org/ws/rest/resource/get/13562"&gt;\r
+                    &lt;gbif:name&gt;Wikipedia Species Pages - German&lt;/gbif:name&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="110405143" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/110405143"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;unranked&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Wikipedia Species Pages - German&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/13562"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="82" rdf:about="http://data.gbif.org/ws/rest/provider/get/82"&gt;\r
+                                                                                       &lt;gbif:name&gt;Ocean Biogeographic Information System&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="327" rdf:about="http://data.gbif.org/ws/rest/resource/get/327"&gt;\r
+                    &lt;gbif:name&gt;Natural Geography In Shore Areas (NaGISA) Dataset&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;(how users should cite data if they use it): Rigby,P.R., B.Konar, T.Kato, K.Iken, H.Chenelot and Y.Shirayama (2005)NaGISA OBIS Dataset ver.1&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50930545" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50930545"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Natural Geography In Shore Areas (NaGISA) Dataset&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/327"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="328" rdf:about="http://data.gbif.org/ws/rest/resource/get/328"&gt;\r
+                    &lt;gbif:name&gt;Continuous Plankton Recorder database&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Continuous Plankton Recorder (CPR) data from the Sir Alister Hardy Foundation for Ocean Science (SAHFOS). Avaiable from http://iobis.org/ [Accessed DATE] (citation as instructed)&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50932584" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50932584"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Continuous Plankton Recorder database&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/328"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="343" rdf:about="http://data.gbif.org/ws/rest/resource/get/343"&gt;\r
+                    &lt;gbif:name&gt;Gwaii Haanas Marine Plants (OBIS Canada)&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Living marine legacy of Gwaii Haanas. I: Marine plant baseline to 1999 and plant-related management issues&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51014853" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51014853"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Gwaii Haanas Marine Plants (OBIS Canada)&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/343"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="361" rdf:about="http://data.gbif.org/ws/rest/resource/get/361"&gt;\r
+                    &lt;gbif:name&gt;Taxonomic Information Sytem for the Belgian coastal area (EurOBIS)&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Vanden Berghe, E. (2000). Tisbe, Taxonomic Information System for the Belgian coastal area. http://www.vliz.be/vmdcdata/tisbe.&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51042676" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51042676"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Taxonomic Information Sytem for the Belgian coastal area (EurOBIS)&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/361"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="320" rdf:about="http://data.gbif.org/ws/rest/resource/get/320"&gt;\r
+                    &lt;gbif:name&gt;SeamountsOnline (seamount biota) (CoML)&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Stocks, K. 2003. SeamountsOnline: an online information system for seamount biology. Version 3.1. seamounts.sdsc.edu&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50919086" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50919086"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;SeamountsOnline (seamount biota) (CoML)&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/320"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="380" rdf:about="http://data.gbif.org/ws/rest/resource/get/380"&gt;\r
+                    &lt;gbif:name&gt;MarBEF Publication Series data (EurOBIS)&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51068483" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51068483"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;MarBEF Publication Series data (EurOBIS)&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/380"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="347" rdf:about="http://data.gbif.org/ws/rest/resource/get/347"&gt;\r
+                    &lt;gbif:name&gt;Bay of Fundy Species List (OBIS Canada)&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Pohle, G., L. Van Guelpen, A. Martin, D. Welshman, and A. McGuire. 2004. Bay of Fundy Species&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51021774" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51021774"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Bay of Fundy Species List (OBIS Canada)&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/347"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="418" rdf:about="http://data.gbif.org/ws/rest/resource/get/418"&gt;\r
+                    &lt;gbif:name&gt;Benthic biodiversity along the central coast in the Brazilian EEZ (OBIS South America, BRAZIL) (OBIS South America, BRAZIL)&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Lavrado, H.P. &amp;amp; Ignacio, B.L. (eds.) 2006. Biodiversidade bentônica da costa central da Zona Econômica Exclusiva brasileira. Rio de Janeiro : Museu Nacional, 2006.(Série Livros; 18) 389 p. ISBN 85-7427-014-8&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51106042" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51106042"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Benthic biodiversity along the central coast in the Brazilian EEZ (OBIS South America, BRAZIL) (OBIS South America, BRAZIL)&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/418"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="408" rdf:about="http://data.gbif.org/ws/rest/resource/get/408"&gt;\r
+                    &lt;gbif:name&gt;Posidonia Oceanica Survey 2005 (EurOBIS)&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51095281" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51095281"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Posidonia Oceanica Survey 2005 (EurOBIS)&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/408"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="364" rdf:about="http://data.gbif.org/ws/rest/resource/get/364"&gt;\r
+                    &lt;gbif:name&gt;MedOBIS (EurOBIS)&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51049806" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51049806"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;MedOBIS (EurOBIS)&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/364"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="419" rdf:about="http://data.gbif.org/ws/rest/resource/get/419"&gt;\r
+                    &lt;gbif:name&gt;Phytoplankton Universidad Arturo Prat (OBIS South America, SOUTH PACIFIC NODE)&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Herrera, L., Escribano, R. (2006)&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51106440" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51106440"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Phytoplankton Universidad Arturo Prat (OBIS South America, SOUTH PACIFIC NODE)&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/419"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="396" rdf:about="http://data.gbif.org/ws/rest/resource/get/396"&gt;\r
+                    &lt;gbif:name&gt;AIMS - Bioresources Library (OBIS Australia)&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;AIMS - Bioresources Library&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51074210" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51074210"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;AIMS - Bioresources Library (OBIS Australia)&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/396"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="414" rdf:about="http://data.gbif.org/ws/rest/resource/get/414"&gt;\r
+                    &lt;gbif:name&gt;Bolus Herbarium Algal Specimen Database (AfrOBIS)&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Bolus Herbarium Algal Specimen Database&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51098105" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51098105"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Bolus Herbarium Algal Specimen Database (AfrOBIS)&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/414"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="131" rdf:about="http://data.gbif.org/ws/rest/provider/get/131"&gt;\r
+                                                                                       &lt;gbif:name&gt;National Museum of Nature and Science, Japan&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="595" rdf:about="http://data.gbif.org/ws/rest/resource/get/595"&gt;\r
+                    &lt;gbif:name&gt;Algae Collection of National Museum of Nature and Science&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51580651" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51580651"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Algae Collection of National Museum of Nature and Science&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/595"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="600" rdf:about="http://data.gbif.org/ws/rest/resource/get/600"&gt;\r
+                    &lt;gbif:name&gt;Herbarium Specimens of Tokushima Prefectural Museum, Japan&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51601143" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51601143"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Herbarium Specimens of Tokushima Prefectural Museum, Japan&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/600"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="594" rdf:about="http://data.gbif.org/ws/rest/resource/get/594"&gt;\r
+                    &lt;gbif:name&gt;Bryophytes Collection of National Museum of Nature and Science&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51578373" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51578373"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Bryophytes Collection of National Museum of Nature and Science&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/594"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="596" rdf:about="http://data.gbif.org/ws/rest/resource/get/596"&gt;\r
+                    &lt;gbif:name&gt;Vascular Plants Collection of National Museum of Nature and Science&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51583518" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51583518"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Vascular Plants Collection of National Museum of Nature and Science&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/596"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="599" rdf:about="http://data.gbif.org/ws/rest/resource/get/599"&gt;\r
+                    &lt;gbif:name&gt;Plant Specimens of Kurashiki Museum of Natural History&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51592579" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51592579"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Plant Specimens of Kurashiki Museum of Natural History&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/599"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="609" rdf:about="http://data.gbif.org/ws/rest/resource/get/609"&gt;\r
+                    &lt;gbif:name&gt;Bryophyte specimens database of Mr. Tsutomu Kodama collection, Osaka museum of Natural History&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51662408" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51662408"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Bryophyte specimens database of Mr. Tsutomu Kodama collection, Osaka museum of Natural History&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/609"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="606" rdf:about="http://data.gbif.org/ws/rest/resource/get/606"&gt;\r
+                    &lt;gbif:name&gt;Herbarium of Kitakyushu Museum of Natural History and Human History&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51631882" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51631882"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Herbarium of Kitakyushu Museum of Natural History and Human History&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/606"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="61" rdf:about="http://data.gbif.org/ws/rest/provider/get/61"&gt;\r
+                                                                                       &lt;gbif:name&gt;Gyeryonsan Natural History Museum&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="218" rdf:about="http://data.gbif.org/ws/rest/resource/get/218"&gt;\r
+                    &lt;gbif:name&gt;Gyeryonsan Natural History Museum Fossil&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50515837" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50515837"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Gyeryonsan Natural History Museum Fossil&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/218"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="101" rdf:about="http://data.gbif.org/ws/rest/provider/get/101"&gt;\r
+                                                                                       &lt;gbif:name&gt;Korea National Arboretum (Korea Forest Service)&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="469" rdf:about="http://data.gbif.org/ws/rest/resource/get/469"&gt;\r
+                    &lt;gbif:name&gt;Plant&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51135517" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51135517"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Plant&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/469"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="48" rdf:about="http://data.gbif.org/ws/rest/provider/get/48"&gt;\r
+                                                                                       &lt;gbif:name&gt;Fairchild Tropical Botanic Garden&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="202" rdf:about="http://data.gbif.org/ws/rest/resource/get/202"&gt;\r
+                    &lt;gbif:name&gt;Fairchild Tropical Botanic Garden Virtual Herbarium Darwin Core format&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Fairchild Tropical Botanic Garden Virtual Herbarium&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50497602" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50497602"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Fairchild Tropical Botanic Garden Virtual Herbarium Darwin Core format&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/202"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="97" rdf:about="http://data.gbif.org/ws/rest/provider/get/97"&gt;\r
+                                                                                       &lt;gbif:name&gt;Jyvaskyla University Museum - The Section of Natural Sciences&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="462" rdf:about="http://data.gbif.org/ws/rest/resource/get/462"&gt;\r
+                    &lt;gbif:name&gt;Vascular plant collection of Jyvaskyla University Museum&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Jyvaskyla University Museum - The Section of Natural Sciences&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51127387" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51127387"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Vascular plant collection of Jyvaskyla University Museum&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/462"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="69" rdf:about="http://data.gbif.org/ws/rest/provider/get/69"&gt;\r
+                                                                                       &lt;gbif:name&gt;Herbarium of the University of Aarhus&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="224" rdf:about="http://data.gbif.org/ws/rest/resource/get/224"&gt;\r
+                    &lt;gbif:name&gt;The AAU Herbarium Database&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;AAU Herbarium Database&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50538726" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50538726"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;The AAU Herbarium Database&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/224"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="148" rdf:about="http://data.gbif.org/ws/rest/provider/get/148"&gt;\r
+                                                                                       &lt;gbif:name&gt;Royal Botanic Gardens, Kew&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="629" rdf:about="http://data.gbif.org/ws/rest/resource/get/629"&gt;\r
+                    &lt;gbif:name&gt;Royal Botanic Gardens, Kew&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51701360" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51701360"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Royal Botanic Gardens, Kew&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/629"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="90" rdf:about="http://data.gbif.org/ws/rest/provider/get/90"&gt;\r
+                                                                                       &lt;gbif:name&gt;Instituto Nacional de Biodiversidad (INBio), Costa Rica&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="333" rdf:about="http://data.gbif.org/ws/rest/resource/get/333"&gt;\r
+                    &lt;gbif:name&gt;Biodiversidad de Costa Rica&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;http://www.gbif.org/DataProviders/Cite&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50974029" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50974029"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Biodiversidad de Costa Rica&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/333"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="23" rdf:about="http://data.gbif.org/ws/rest/provider/get/23"&gt;\r
+                                                                                       &lt;gbif:name&gt;British Antarctic Survey&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="67" rdf:about="http://data.gbif.org/ws/rest/resource/get/67"&gt;\r
+                    &lt;gbif:name&gt;ANTARCTIC PLANT DATABASE&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50223325" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50223325"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;ANTARCTIC PLANT DATABASE&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/67"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="25" rdf:about="http://data.gbif.org/ws/rest/provider/get/25"&gt;\r
+                                                                                       &lt;gbif:name&gt;University of Washington Burke Museum&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="126" rdf:about="http://data.gbif.org/ws/rest/resource/get/126"&gt;\r
+                    &lt;gbif:name&gt;Vascular Plant Collection - University of Washington Herbarium (WTU)&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;University of Washington Burke Museum. WTU Herbarium Vascular Plant Collection. Seattle, Washington.&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50316447" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50316447"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Vascular Plant Collection - University of Washington Herbarium (WTU)&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/126"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="26" rdf:about="http://data.gbif.org/ws/rest/provider/get/26"&gt;\r
+                                                                                       &lt;gbif:name&gt;CABIDiGIR Provider&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="167" rdf:about="http://data.gbif.org/ws/rest/resource/get/167"&gt;\r
+                    &lt;gbif:name&gt;CABI Bioscience Fungus Collection&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;IMI&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50432479" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50432479"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;CABI Bioscience Fungus Collection&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/167"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="164" rdf:about="http://data.gbif.org/ws/rest/provider/get/164"&gt;\r
+                                                                                       &lt;gbif:name&gt;The Danish Biodiversity Information Facility&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="703" rdf:about="http://data.gbif.org/ws/rest/resource/get/703"&gt;\r
+                    &lt;gbif:name&gt;Botany registration database by Danish botanists&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="52077210" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/52077210"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Botany registration database by Danish botanists&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/703"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="702" rdf:about="http://data.gbif.org/ws/rest/resource/get/702"&gt;\r
+                    &lt;gbif:name&gt;University of Copenhagen's Arboretum&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="52071070" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/52071070"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;University of Copenhagen's Arboretum&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/702"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="30" rdf:about="http://data.gbif.org/ws/rest/provider/get/30"&gt;\r
+                                                                                       &lt;gbif:name&gt;Canadian Biodiversity Information Facility&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="512" rdf:about="http://data.gbif.org/ws/rest/resource/get/512"&gt;\r
+                    &lt;gbif:name&gt;Royal Botanical Gardens Herbarium&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Royal Botanical Gardens Herbarium&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51196472" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51196472"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Royal Botanical Gardens Herbarium&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/512"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="526" rdf:about="http://data.gbif.org/ws/rest/resource/get/526"&gt;\r
+                    &lt;gbif:name&gt;Phragmites of Canada&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Phragmites of Canada&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51200628" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51200628"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Phragmites of Canada&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/526"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="6" rdf:about="http://data.gbif.org/ws/rest/provider/get/6"&gt;\r
+                                                                                       &lt;gbif:name&gt;Australian Antarctic Data Centre&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="77" rdf:about="http://data.gbif.org/ws/rest/resource/get/77"&gt;\r
+                    &lt;gbif:name&gt;Antarctic Marine Protists species checklist&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Species list derived from the book Antarctic Marine Prostists (2005) edited by Fiona J. Scott and Harvey J. Marchant. (ISBN 0 642 56835 9)&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50248379" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50248379"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Antarctic Marine Protists species checklist&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/77"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="76" rdf:about="http://data.gbif.org/ws/rest/resource/get/76"&gt;\r
+                    &lt;gbif:name&gt;Australian Antarctic Division Herbarium&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Contact Dave Watts for details on citation details.&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50244776" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50244776"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Australian Antarctic Division Herbarium&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/76"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="31" rdf:about="http://data.gbif.org/ws/rest/provider/get/31"&gt;\r
+                                                                                       &lt;gbif:name&gt;Canadian Museum of Nature&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="123" rdf:about="http://data.gbif.org/ws/rest/resource/get/123"&gt;\r
+                    &lt;gbif:name&gt;Canadian Museum of Nature Herbarium&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Canadian Museum of Nature Herbarium (The National Herbarium of Canada)&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50295570" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50295570"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Canadian Museum of Nature Herbarium&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/123"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="8" rdf:about="http://data.gbif.org/ws/rest/provider/get/8"&gt;\r
+                                                                                       &lt;gbif:name&gt;Australian National Herbarium (CANB)&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="47" rdf:about="http://data.gbif.org/ws/rest/resource/get/47"&gt;\r
+                    &lt;gbif:name&gt;Australian National Herbarium (CANB)&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;http://www.cpbr.gov.au/cpbr/herbarium&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50029604" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50029604"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Australian National Herbarium (CANB)&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/47"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="75" rdf:about="http://data.gbif.org/ws/rest/provider/get/75"&gt;\r
+                                                                                       &lt;gbif:name&gt;Illinois Natural History Survey&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="225" rdf:about="http://data.gbif.org/ws/rest/resource/get/225"&gt;\r
+                    &lt;gbif:name&gt;Illinois Natural History Survey&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;INHS Insect Collection&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50581580" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50581580"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Illinois Natural History Survey&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/225"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="141" rdf:about="http://data.gbif.org/ws/rest/provider/get/141"&gt;\r
+                                                                                       &lt;gbif:name&gt;Oregon State University&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="622" rdf:about="http://data.gbif.org/ws/rest/resource/get/622"&gt;\r
+                    &lt;gbif:name&gt;Vascular Plant Collection&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Oregon State University Herbarium (OSC)&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51680150" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51680150"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Vascular Plant Collection&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/622"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="89" rdf:about="http://data.gbif.org/ws/rest/provider/get/89"&gt;\r
+                                                                                       &lt;gbif:name&gt;Instituto de Investigaciones de la Amazonía Peruana&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="325" rdf:about="http://data.gbif.org/ws/rest/resource/get/325"&gt;\r
+                    &lt;gbif:name&gt;HerbarioHerrerense&lt;/gbif:name&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50922844" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50922844"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;HerbarioHerrerense&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/325"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;/gbif:dataProviders&gt;\r
+&lt;/gbif:gbifResponse&gt;</xmlDocument>\r
+  <xpathExpression>/gbif:gbifResponse/gbif:header/gbif:summary/@next[1]</xpathExpression>\r
+  <xpathNamespaceMap>\r
+    <entry>\r
+      <string>tn</string>\r
+      <string>http://rs.tdwg.org/ontology/voc/TaxonName#</string>\r
+    </entry>\r
+    <entry>\r
+      <string>gbif</string>\r
+      <string>http://portal.gbif.org/ws/response/gbif</string>\r
+    </entry>\r
+    <entry>\r
+      <string>tc</string>\r
+      <string>http://rs.tdwg.org/ontology/voc/TaxonConcept#</string>\r
+    </entry>\r
+    <entry>\r
+      <string>rdf</string>\r
+      <string>http://www.w3.org/1999/02/22-rdf-syntax-ns#</string>\r
+    </entry>\r
+    <entry>\r
+      <string>xsi</string>\r
+      <string>http://www.w3.org/2001/XMLSchema-instance</string>\r
+    </entry>\r
+  </xpathNamespaceMap>\r
+</net.sf.taverna.t2.activities.xpath.XPathActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
   <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Loop</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.LoopConfiguration xmlns="">\r
+  <properties />\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.LoopConfiguration></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
   <backoffFactor>1.0</backoffFactor>\r
   <initialDelay>1000</initialDelay>\r
   <maxDelay>5000</maxDelay>\r
   <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="sciName" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Read_CSV_Header_File</name><inputPorts><port><name>fileurl</name><depth>0</depth></port></inputPorts><outputPorts><port><name>filecontents</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="fileurl" to="fileurl" /></inputMap><outputMap><map from="filecontents" to="filecontents" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="xml_text" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>list_to_single_value</name><inputPorts><port><name>stringlist</name><depth>1</depth></port></inputPorts><outputPorts><port><name>value</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="stringlist" to="stringlist" /></inputMap><outputMap><map from="value" to="value" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
   <inputs>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>fileurl</name>\r
-      <depth>0</depth>\r
-      <mimeTypes>\r
-        <string>'text/plain'</string>\r
-      </mimeTypes>\r
-      <handledReferenceSchemes />\r
-      <translatedElementType>java.lang.String</translatedElementType>\r
-      <allowsLiteralValues>true</allowsLiteralValues>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>encoding</name>\r
-      <depth>0</depth>\r
+      <name>stringlist</name>\r
+      <depth>1</depth>\r
       <mimeTypes>\r
-        <string>'text/plain'</string>\r
+        <string>l('text/plain')</string>\r
       </mimeTypes>\r
       <handledReferenceSchemes />\r
       <translatedElementType>java.lang.String</translatedElementType>\r
@@ -10203,77 +9758,136 @@ concatenated = sb.toString();
   </inputs>\r
   <outputs>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>filecontents</name>\r
+      <name>value</name>\r
       <depth>0</depth>\r
-      <mimeTypes>\r
-        <string>'text/plain'</string>\r
-      </mimeTypes>\r
+      <mimeTypes />\r
       <granularDepth>0</granularDepth>\r
     </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
   </outputs>\r
   <classLoaderSharing>workflow</classLoaderSharing>\r
   <localDependencies />\r
   <artifactDependencies />\r
-  <script>BufferedReader getReader (String fileUrl, String encoding) throws IOException {\r
-               InputStreamReader reader;\r
-               try {\r
-                       if (encoding == null) {\r
-                               reader = new FileReader(fileUrl);\r
-                       } else {\r
-                               reader = new InputStreamReader(new FileInputStream(fileUrl),encoding); \r
-                       }\r
-               }\r
-               catch (FileNotFoundException e) {\r
-                       // try a real URL instead\r
-                       URL url = new URL(fileUrl);\r
-                       if (encoding == null) {\r
-                               reader = new InputStreamReader (url.openStream());\r
-                       } else {\r
-                               reader = new InputStreamReader (url.openStream(), encoding);\r
-                       }\r
-               }\r
-               return new BufferedReader(reader);\r
-       }\r
-\r
-\r
-\r
-StringBuffer sb = new StringBuffer(4000);\r
-\r
-if (encoding == void) {\r
-       encoding = null;\r
-}\r
-\r
-BufferedReader in = getReader(fileurl, encoding);\r
-String str;\r
-String lineEnding = System.getProperty("line.separator");\r
+  <script>String seperatorString = "\n";\r
 \r
-while ((str = in.readLine()) != null) {\r
-       sb.append(str);\r
-       sb.append(lineEnding);\r
+StringBuffer sb = new StringBuffer();\r
+for (Iterator i = stringlist.iterator(); i.hasNext();) {\r
+       String item = (String) i.next();\r
+       sb.append(item);\r
+       if (i.hasNext()) {\r
+               sb.append(seperatorString);\r
+       }\r
 }\r
-in.close();\r
-filecontents = sb.toString();\r
-  \r
+value = sb.toString();\r
 </script>\r
   <dependencies />\r
-  <localworkerName>net.sourceforge.taverna.scuflworkers.io.TextFileReader</localworkerName>\r
-</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="fileurl" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>csvheaders</name><inputPorts /><outputPorts><port><name>value</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>stringconstant-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.stringconstant.StringConstantActivity</class><inputMap /><outputMap><map from="value" to="value" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean xmlns="">\r
-  <value>http://ww2.bgbm.org/temp/biovel/csvHeader_beta.txt</value>\r
-</net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <localworkerName>org.embl.ebi.escience.scuflworkers.java.StringListMerge</localworkerName>\r
+</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations><annotation_chain encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.HostInstitution">\r
+        <text>UserNameHere</text>\r
+      </annotationBean>\r
+      <date>2011-12-05 16:37:45.485 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain></annotations></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
   <maxJobs>1</maxJobs>\r
 </net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
   <backoffFactor>1.0</backoffFactor>\r
   <initialDelay>1000</initialDelay>\r
   <maxDelay>5000</maxDelay>\r
   <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy /></iteration></iterationStrategyStack></processor><processor><name>Merge_String_List_to_a_String</name><inputPorts><port><name>seperator</name><depth>0</depth></port><port><name>stringlist</name><depth>1</depth></port></inputPorts><outputPorts><port><name>concatenated</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="seperator" to="seperator" /><map from="stringlist" to="stringlist" /></inputMap><outputMap><map from="concatenated" to="concatenated" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="stringlist" depth="1" /></cross></strategy></iteration></iterationStrategyStack></processor></processors><conditions /><datalinks><datalink><sink type="processor"><processor>Transform_XML</processor><port>xslFileURL</port></sink><source type="processor"><processor>gbifResponse_to_csv_xsl</processor><port>value</port></source></datalink><datalink><sink type="processor"><processor>Transform_XML</processor><port>inString</port></sink><source type="processor"><processor>gbifOccurrence</processor><port>responseBody</port></source></datalink><datalink><sink type="processor"><processor>gbifOccurrence</processor><port>format</port></sink><source type="processor"><processor>format_value</processor><port>value</port></source></datalink><datalink><sink type="processor"><processor>gbifOccurrence</processor><port>scientificname</port></sink><source type="dataflow"><port>sciName</port></source></datalink><datalink><sink type="processor"><processor>gbifOccurrence</processor><port>next</port></sink><source type="dataflow"><port>next</port></source></datalink><datalink><sink type="processor"><processor>next</processor><port>xml_text</port></sink><source type="processor"><processor>gbifOccurrence</processor><port>responseBody</port></source></datalink><datalink><sink type="processor"><processor>list_to_single_value</processor><port>stringlist</port></sink><source type="processor"><processor>next</processor><port>nodelist</port></source></datalink><datalink><sink type="dataflow"><port>next</port></sink><source type="processor"><processor>list_to_single_value</processor><port>value</port></source></datalink><datalink><sink type="dataflow"><port>max1000_csv_output</port></sink><source type="processor"><processor>Transform_XML</processor><port>outputStr</port></source></datalink></datalinks><annotations><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>124b440e-f7ef-445f-901b-b3d04ca3e2a7</identification>\r
+      </annotationBean>\r
+      <date>2012-03-02 16:39:23.274 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>428913bf-040a-43f2-9500-bb904c8c5aa6</identification>\r
+      </annotationBean>\r
+      <date>2012-02-07 17:54:40.933 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>65d843f2-dc3a-45f3-a8b7-94138384a01a</identification>\r
+      </annotationBean>\r
+      <date>2012-02-07 18:14:49.842 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>88fdb5ec-112f-40ce-be72-3c9bf4d888b0</identification>\r
+      </annotationBean>\r
+      <date>2012-02-08 15:37:15.977 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>3d7cc7af-f5a9-428f-a77d-2867c98c66a7</identification>\r
+      </annotationBean>\r
+      <date>2012-02-07 17:48:00.763 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>f653d906-88de-417d-bf3e-61ed29fd6733</identification>\r
+      </annotationBean>\r
+      <date>2012-02-07 18:09:00.574 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>0405ad51-49d4-499c-bba3-01dbac5fb318</identification>\r
+      </annotationBean>\r
+      <date>2012-02-07 17:37:21.427 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>801315c9-0a96-46b3-927b-b74e186f7ece</identification>\r
+      </annotationBean>\r
+      <date>2012-02-09 17:39:14.181 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow><dataflow id="89f2b55a-52b9-43e9-a4a7-04fe6baca933" role="nested"><name>Workflow32</name><inputPorts><port><name>sciName</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port></inputPorts><outputPorts><port><name>csv_output</name><annotations /></port></outputPorts><processors><processor><name>Merge_String_List_to_a_String</name><inputPorts><port><name>seperator</name><depth>0</depth></port><port><name>stringlist</name><depth>1</depth></port></inputPorts><outputPorts><port><name>concatenated</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="seperator" to="seperator" /><map from="stringlist" to="stringlist" /></inputMap><outputMap><map from="concatenated" to="concatenated" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
   <inputs>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
       <name>stringlist</name>\r
@@ -10341,394 +9955,404 @@ concatenated = sb.toString();
   <initialDelay>1000</initialDelay>\r
   <maxDelay>5000</maxDelay>\r
   <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy /></iteration></iterationStrategyStack></processor><processor><name>Concatenate_two_strings</name><inputPorts><port><name>string1</name><depth>0</depth></port><port><name>string2</name><depth>0</depth></port></inputPorts><outputPorts><port><name>output</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="string2" to="string2" /><map from="string1" to="string1" /></inputMap><outputMap><map from="output" to="output" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
-  <inputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>string1</name>\r
-      <depth>0</depth>\r
-      <mimeTypes>\r
-        <string>'text/plain'</string>\r
-      </mimeTypes>\r
-      <handledReferenceSchemes />\r
-      <translatedElementType>java.lang.String</translatedElementType>\r
-      <allowsLiteralValues>true</allowsLiteralValues>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>string2</name>\r
-      <depth>0</depth>\r
-      <mimeTypes>\r
-        <string>'text/plain'</string>\r
-      </mimeTypes>\r
-      <handledReferenceSchemes />\r
-      <translatedElementType>java.lang.String</translatedElementType>\r
-      <allowsLiteralValues>true</allowsLiteralValues>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-  </inputs>\r
-  <outputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>output</name>\r
-      <depth>0</depth>\r
-      <mimeTypes>\r
-        <string>'text/plain'</string>\r
-      </mimeTypes>\r
-      <granularDepth>0</granularDepth>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-  </outputs>\r
-  <classLoaderSharing>workflow</classLoaderSharing>\r
-  <localDependencies />\r
-  <artifactDependencies />\r
-  <script>output = string1 + string2;</script>\r
-  <dependencies />\r
-  <localworkerName>org.embl.ebi.escience.scuflworkers.java.StringConcat</localworkerName>\r
-</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="string1" depth="0" /><port name="string2" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>output_filechooser_title</name><inputPorts /><outputPorts><port><name>value</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>stringconstant-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.stringconstant.StringConstantActivity</class><inputMap /><outputMap><map from="value" to="value" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean xmlns="">\r
-  <value>Choose Output CSV File</value>\r
-</net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy /></iteration></iterationStrategyStack></processor><processor><name>gbif_occurrence_max1000</name><inputPorts><port><name>sciName</name><depth>0</depth></port><port><name>next</name><depth>0</depth></port></inputPorts><outputPorts><port><name>next</name><depth>0</depth><granularDepth>0</granularDepth></port><port><name>max1000_csv_output</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>dataflow-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.dataflow.DataflowActivity</class><inputMap><map from="next" to="next" /><map from="sciName" to="sciName" /></inputMap><outputMap><map from="next" to="next" /><map from="max1000_csv_output" to="max1000_csv_output" /></outputMap><configBean encoding="dataflow"><dataflow ref="124b440e-f7ef-445f-901b-b3d04ca3e2a7" /></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
   <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy /></iteration></iterationStrategyStack></processor><processor><name>Select_Output_CSV_File</name><inputPorts><port><name>title</name><depth>0</depth></port></inputPorts><outputPorts><port><name>selectedFile</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="title" to="title" /></inputMap><outputMap><map from="selectedFile" to="selectedFile" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
-  <inputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>title</name>\r
-      <depth>0</depth>\r
-      <mimeTypes>\r
-        <string>'text/plain'</string>\r
-      </mimeTypes>\r
-      <handledReferenceSchemes />\r
-      <translatedElementType>java.lang.String</translatedElementType>\r
-      <allowsLiteralValues>true</allowsLiteralValues>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>fileExtensions</name>\r
-      <depth>0</depth>\r
-      <mimeTypes>\r
-        <string>'text/plain'</string>\r
-      </mimeTypes>\r
-      <handledReferenceSchemes />\r
-      <translatedElementType>java.lang.String</translatedElementType>\r
-      <allowsLiteralValues>true</allowsLiteralValues>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>fileExtLabels</name>\r
-      <depth>0</depth>\r
-      <mimeTypes>\r
-        <string>'text/plain'</string>\r
-      </mimeTypes>\r
-      <handledReferenceSchemes />\r
-      <translatedElementType>java.lang.String</translatedElementType>\r
-      <allowsLiteralValues>true</allowsLiteralValues>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-  </inputs>\r
-  <outputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>selectedFile</name>\r
-      <depth>0</depth>\r
-      <mimeTypes>\r
-        <string>'text/plain'</string>\r
-      </mimeTypes>\r
-      <granularDepth>0</granularDepth>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-  </outputs>\r
-  <classLoaderSharing>workflow</classLoaderSharing>\r
-  <localDependencies />\r
-  <artifactDependencies />\r
-  <script>import java.awt.CardLayout;\r
-import java.awt.Image;\r
-import java.awt.Toolkit;\r
-import java.io.File;\r
-import java.util.HashMap;\r
-import java.util.Map;\r
-\r
-import javax.swing.ImageIcon;\r
-import javax.swing.JEditorPane;\r
-import javax.swing.JFileChooser;\r
-import javax.swing.JLabel;\r
-import javax.swing.JPanel;\r
-import javax.swing.filechooser.FileFilter;\r
-\r
-class FileExtFilter extends FileFilter {\r
-\r
-       public FileExtFilter(String ext, String label, boolean includeDir) {\r
-               this.ext = ext;\r
-               this.label = label;\r
-               this.includeDir = includeDir;\r
-       }\r
-\r
-       public String getDescription() {\r
-               return this.label;\r
-       }\r
-\r
-       public boolean accept(File file) {\r
-               if (file.isDirectory() &amp;&amp; includeDir) {\r
-                       return true;\r
-               } else {\r
-                       return file.getName().endsWith(this.ext);\r
-               }\r
-       }\r
-\r
-       String ext, label;\r
-\r
-       boolean includeDir;\r
-}\r
-\r
-if (title == void) {\r
-       title = null;\r
-}\r
-\r
-if ((fileExtensions == void) || (fileExtensions == null)) {\r
-       fileExtensions = "";\r
-}\r
-\r
-if ((fileExtLabels == void) || (fileExtLabels == null)) {\r
-       fileExtLabels = "";\r
-}\r
-\r
-JFileChooser chooser = new JFileChooser();\r
-chooser.setDialogTitle(title);\r
-\r
-String[] fileTypeList = fileExtensions.split(",");\r
-String[] filterLabelList = fileExtLabels.split(",");\r
-\r
-if (fileTypeList != null &amp;&amp; filterLabelList != null &amp;&amp; fileTypeList.length != filterLabelList.length) {\r
-       throw new RuntimeException("The list of extensions and file filter labels must be the same length");\r
-}\r
-\r
-// create the file filters\r
-for (int i = 0; i &lt; fileTypeList.length; i++) {\r
-       FileExtFilter filter = new FileExtFilter(fileTypeList[i], filterLabelList[i], true);\r
-       chooser.setFileFilter(filter);\r
-}\r
-\r
-chooser.showOpenDialog(null);\r
-File file = chooser.getSelectedFile();\r
-selectedFile = file.getAbsolutePath();\r
-</script>\r
-  <dependencies />\r
-  <localworkerName>net.sourceforge.taverna.scuflworkers.ui.SelectFileWorker</localworkerName>\r
-</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Loop</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.LoopConfiguration xmlns="">\r
+  <conditionXML>&lt;activity xmlns="http://taverna.sf.net/2008/xml/t2flow"&gt;&lt;raven&gt;&lt;group&gt;net.sf.taverna.t2.activities&lt;/group&gt;&lt;artifact&gt;beanshell-activity&lt;/artifact&gt;&lt;version&gt;1.3&lt;/version&gt;&lt;/raven&gt;&lt;class&gt;net.sf.taverna.t2.activities.beanshell.BeanshellActivity&lt;/class&gt;&lt;inputMap /&gt;&lt;outputMap /&gt;&lt;configBean encoding="xstream"&gt;&lt;net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns=""&gt;&#xD;\r
+  &lt;inputs&gt;&#xD;\r
+    &lt;net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean&gt;&#xD;\r
+      &lt;name&gt;next&lt;/name&gt;&#xD;\r
+      &lt;depth&gt;0&lt;/depth&gt;&#xD;\r
+      &lt;mimeTypes class="java.util.Collections$EmptyList" reference="../../net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean/mimeTypes" /&gt;&#xD;\r
+      &lt;handledReferenceSchemes class="java.util.Collections$EmptyList" reference="../../net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean/mimeTypes" /&gt;&#xD;\r
+      &lt;translatedElementType&gt;java.lang.String&lt;/translatedElementType&gt;&#xD;\r
+      &lt;allowsLiteralValues&gt;true&lt;/allowsLiteralValues&gt;&#xD;\r
+    &lt;/net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean&gt;&#xD;\r
+  &lt;/inputs&gt;&#xD;\r
+  &lt;outputs&gt;&#xD;\r
+    &lt;net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean&gt;&#xD;\r
+      &lt;name&gt;loop&lt;/name&gt;&#xD;\r
+      &lt;depth&gt;0&lt;/depth&gt;&#xD;\r
+      &lt;mimeTypes /&gt;&#xD;\r
+      &lt;granularDepth&gt;0&lt;/granularDepth&gt;&#xD;\r
+    &lt;/net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean&gt;&#xD;\r
+    &lt;net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean&gt;&#xD;\r
+      &lt;name&gt;next&lt;/name&gt;&#xD;\r
+      &lt;depth&gt;0&lt;/depth&gt;&#xD;\r
+      &lt;mimeTypes /&gt;&#xD;\r
+      &lt;granularDepth&gt;0&lt;/granularDepth&gt;&#xD;\r
+    &lt;/net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean&gt;&#xD;\r
+  &lt;/outputs&gt;&#xD;\r
+  &lt;classLoaderSharing&gt;workflow&lt;/classLoaderSharing&gt;&#xD;\r
+  &lt;localDependencies /&gt;&#xD;\r
+  &lt;artifactDependencies /&gt;&#xD;\r
+  &lt;script&gt;loop = "" + ! next.matches("");&lt;/script&gt;&#xD;\r
+  &lt;dependencies /&gt;&#xD;\r
+&lt;/net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean&gt;&lt;/configBean&gt;&lt;annotations /&gt;&lt;/activity&gt;</conditionXML>\r
+  <runFirst>true</runFirst>\r
+  <properties>\r
+    <property name="compareValue" value="" />\r
+    <property name="comparePort" value="next" />\r
+    <property name="delay" value="0.5" />\r
+    <property name="comparison" value="custom" />\r
+    <property name="isFeedBack" value="true" />\r
+  </properties>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.LoopConfiguration></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="sciName" depth="0" /><port name="next" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>next_value</name><inputPorts /><outputPorts><port><name>value</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>stringconstant-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.stringconstant.StringConstantActivity</class><inputMap /><outputMap><map from="value" to="value" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean xmlns="">\r
+  <value>0</value>\r
+</net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
   <maxJobs>1</maxJobs>\r
 </net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
   <backoffFactor>1.0</backoffFactor>\r
   <initialDelay>1000</initialDelay>\r
   <maxDelay>5000</maxDelay>\r
   <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="title" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Write_Text_File</name><inputPorts><port><name>outputFile</name><depth>0</depth></port><port><name>filecontents</name><depth>0</depth></port></inputPorts><outputPorts><port><name>writeOK</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="outputFile" to="outputFile" /><map from="filecontents" to="filecontents" /></inputMap><outputMap><map from="writeOK" to="writeOK" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy /></iteration></iterationStrategyStack></processor><processor><name>sink</name><inputPorts><port><name>inputlist</name><depth>1</depth></port></inputPorts><outputPorts /><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="inputlist" to="inputlist" /></inputMap><outputMap /><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
   <inputs>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>outputFile</name>\r
-      <depth>0</depth>\r
-      <mimeTypes>\r
-        <string>'text/plain'</string>\r
-      </mimeTypes>\r
-      <handledReferenceSchemes />\r
-      <translatedElementType>java.lang.String</translatedElementType>\r
-      <allowsLiteralValues>true</allowsLiteralValues>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>filecontents</name>\r
-      <depth>0</depth>\r
-      <mimeTypes>\r
-        <string>'text/plain'</string>\r
-      </mimeTypes>\r
-      <handledReferenceSchemes />\r
-      <translatedElementType>java.lang.String</translatedElementType>\r
-      <allowsLiteralValues>true</allowsLiteralValues>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>encoding</name>\r
-      <depth>0</depth>\r
+      <name>inputlist</name>\r
+      <depth>1</depth>\r
       <mimeTypes>\r
-        <string>'text/plain'</string>\r
+        <string>l('')</string>\r
       </mimeTypes>\r
       <handledReferenceSchemes />\r
-      <translatedElementType>java.lang.String</translatedElementType>\r
+      <translatedElementType>[B</translatedElementType>\r
       <allowsLiteralValues>true</allowsLiteralValues>\r
     </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
   </inputs>\r
-  <outputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>writeOK</name>\r
-      <depth>0</depth>\r
-      <mimeTypes />\r
-      <granularDepth>0</granularDepth>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-  </outputs>\r
+  <outputs />\r
   <classLoaderSharing>workflow</classLoaderSharing>\r
   <localDependencies />\r
   <artifactDependencies />\r
-  <script>writeOK = "false";\r
-  BufferedWriter out;\r
-  if (encoding == void) {\r
-       out = new BufferedWriter(new FileWriter(outputFile));\r
-  }\r
-  else {\r
-       out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outputFile), encoding)); \r
-  }\r
-out.write(filecontents);\r
-out.flush();\r
-out.close();\r
-writeOK = "true";\r
-</script>\r
+  <script>outputlist = inputlist;</script>\r
   <dependencies />\r
-  <localworkerName>net.sourceforge.taverna.scuflworkers.io.TextFileWriter</localworkerName>\r
+  <localworkerName>org.embl.ebi.escience.scuflworkers.java.EchoList</localworkerName>\r
 </net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations><annotation_chain encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.HostInstitution">\r
-        <text>UserNameHere</text>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.HostInstitution">\r
+        <text>UserNameHere</text>\r
+      </annotationBean>\r
+      <date>2011-12-05 17:26:34.170 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain></annotations></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="inputlist" depth="1" /></cross></strategy></iteration></iterationStrategyStack></processor></processors><conditions /><datalinks><datalink><sink type="processor"><processor>Merge_String_List_to_a_String</processor><port>seperator</port></sink><source type="processor"><processor>no_separator</processor><port>value</port></source></datalink><datalink><sink type="processor"><processor>Merge_String_List_to_a_String</processor><port>stringlist</port></sink><source type="processor"><processor>gbif_occurrence_max1000</processor><port>max1000_csv_output</port></source></datalink><datalink><sink type="processor"><processor>gbif_occurrence_max1000</processor><port>sciName</port></sink><source type="dataflow"><port>sciName</port></source></datalink><datalink><sink type="processor"><processor>gbif_occurrence_max1000</processor><port>next</port></sink><source type="processor"><processor>next_value</processor><port>value</port></source></datalink><datalink><sink type="processor"><processor>sink</processor><port>inputlist</port></sink><source type="processor"><processor>gbif_occurrence_max1000</processor><port>next</port></source></datalink><datalink><sink type="dataflow"><port>csv_output</port></sink><source type="processor"><processor>Merge_String_List_to_a_String</processor><port>concatenated</port></source></datalink></datalinks><annotations><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>97a86075-f1f7-4e46-a383-cec4b7b16ec4</identification>\r
+      </annotationBean>\r
+      <date>2012-01-31 16:24:57.958 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>2764b0d8-8242-40ea-b0a3-ddf550e8dc59</identification>\r
+      </annotationBean>\r
+      <date>2012-01-02 16:21:21.874 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>9995fb53-fe1e-4aee-88c8-60bb5f2f34cf</identification>\r
+      </annotationBean>\r
+      <date>2012-01-05 16:27:19.428 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>c818b2a9-90a8-4fc2-9c42-8066af346cba</identification>\r
+      </annotationBean>\r
+      <date>2012-01-31 15:47:04.807 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>8fd4d664-f4f1-48b8-a9a6-36c420e7214e</identification>\r
+      </annotationBean>\r
+      <date>2012-01-13 15:45:48.22 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>feaf6e99-716b-4cc9-81b0-7255ea5a38f7</identification>\r
+      </annotationBean>\r
+      <date>2012-01-02 16:03:20.221 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>8f681f37-c9a0-4f78-b668-0df9c735e332</identification>\r
+      </annotationBean>\r
+      <date>2012-01-13 15:24:58.691 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>69821203-d769-45ce-a3bb-145a9964679f</identification>\r
+      </annotationBean>\r
+      <date>2012-01-02 15:04:12.378 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>2547dd85-519d-4636-8ee9-3b380ad378ab</identification>\r
+      </annotationBean>\r
+      <date>2012-02-07 17:38:22.701 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>d044d916-0adb-4065-b39f-8357372e42cc</identification>\r
+      </annotationBean>\r
+      <date>2012-01-13 15:44:17.623 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>273737ec-425c-4577-8d2a-963156312cfd</identification>\r
+      </annotationBean>\r
+      <date>2012-01-02 15:56:51.418 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>54d71067-a78a-4e3b-a54f-d47f75bd2adf</identification>\r
+      </annotationBean>\r
+      <date>2012-01-31 16:10:34.267 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>9f8d21c5-2523-4485-a181-01e6de804d4d</identification>\r
+      </annotationBean>\r
+      <date>2012-01-02 17:35:34.596 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>0a796aad-5444-420c-a88c-c1ef2411601b</identification>\r
+      </annotationBean>\r
+      <date>2012-01-25 16:54:33.283 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>46828567-904f-4105-96ef-0bf268ada001</identification>\r
+      </annotationBean>\r
+      <date>2012-01-02 17:06:50.222 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>98429027-b6ab-4c7a-8952-f92ce82af604</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 17:01:58.829 CEST</date>\r
+      <date>2012-01-13 16:44:12.623 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
   </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain></annotations></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="outputFile" depth="0" /><port name="filecontents" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>OccTargetConditional</name><inputPorts><port><name>sciNameList</name><depth>1</depth></port></inputPorts><outputPorts><port><name>gbifList</name><depth>1</depth><granularDepth>1</granularDepth></port><port><name>slwList</name><depth>1</depth><granularDepth>1</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="sciNameList" to="sciNameList" /></inputMap><outputMap><map from="slwList" to="slwList" /><map from="gbifList" to="gbifList" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
-  <inputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>sciNameList</name>\r
-      <depth>1</depth>\r
-      <mimeTypes>\r
-        <string>text/plain</string>\r
-      </mimeTypes>\r
-      <handledReferenceSchemes />\r
-      <translatedElementType>java.lang.String</translatedElementType>\r
-      <allowsLiteralValues>true</allowsLiteralValues>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-  </inputs>\r
-  <outputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>emptyOutputList</name>\r
-      <depth>1</depth>\r
-      <mimeTypes />\r
-      <granularDepth>1</granularDepth>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>gbifList</name>\r
-      <depth>1</depth>\r
-      <mimeTypes />\r
-      <granularDepth>1</granularDepth>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>slwList</name>\r
-      <depth>1</depth>\r
-      <mimeTypes />\r
-      <granularDepth>1</granularDepth>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-  </outputs>\r
-  <classLoaderSharing>workflow</classLoaderSharing>\r
-  <localDependencies>\r
-    <string>DCWorkflow.jar</string>\r
-  </localDependencies>\r
-  <artifactDependencies />\r
-  <script>import java.util.ArrayList;\r
-import org.bgbm.biovel.datacleaning.syncheck.OccRetrievalTargetDialog;\r
-\r
-OccRetrievalTargetDialog ortd = new OccRetrievalTargetDialog(new javax.swing.JFrame(), true);\r
-ortd.setLocationRelativeTo(null);\r
-ortd.show();\r
-List occTargetList = ortd.getOccTargetList();\r
-\r
-ArrayList emptyOutputList = new ArrayList();\r
-emptyOutputList.add("");\r
-ArrayList gbifList = new ArrayList();\r
-ArrayList slwList = new ArrayList();\r
-\r
-if(occTargetList.contains("GBIF")) {\r
-        gbifList = sciNameList;\r
-}\r
-\r
-if(occTargetList.contains("SLW")) {\r
-        slwList = sciNameList;\r
-}\r
-</script>\r
-  <dependencies />\r
-</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="sciNameList" depth="1" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>slw_occurrence_list</name><inputPorts><port><name>sciName</name><depth>0</depth></port></inputPorts><outputPorts><port><name>csv_output</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>dataflow-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.dataflow.DataflowActivity</class><inputMap><map from="sciName" to="sciName" /></inputMap><outputMap><map from="csv_output" to="csv_output" /></outputMap><configBean encoding="dataflow"><dataflow ref="85ba17c1-2e24-49d8-a00b-84acb2a1cf61" /></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="sciName" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Flatten_List</name><inputPorts><port><name>inputlist</name><depth>2</depth></port></inputPorts><outputPorts><port><name>outputlist</name><depth>1</depth><granularDepth>1</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="inputlist" to="inputlist" /></inputMap><outputMap><map from="outputlist" to="outputlist" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
-  <inputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>inputlist</name>\r
-      <depth>2</depth>\r
-      <mimeTypes>\r
-        <string>l(l(''))</string>\r
-      </mimeTypes>\r
-      <handledReferenceSchemes />\r
-      <translatedElementType>[B</translatedElementType>\r
-      <allowsLiteralValues>true</allowsLiteralValues>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-  </inputs>\r
-  <outputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>outputlist</name>\r
-      <depth>1</depth>\r
-      <mimeTypes>\r
-        <string>l('')</string>\r
-      </mimeTypes>\r
-      <granularDepth>1</granularDepth>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-  </outputs>\r
-  <classLoaderSharing>workflow</classLoaderSharing>\r
-  <localDependencies />\r
-  <artifactDependencies />\r
-  <script>flatten(inputs, outputs, depth) {\r
-       for (i = inputs.iterator(); i.hasNext();) {\r
-           element = i.next();\r
-               if (element instanceof Collection &amp;&amp; depth &gt; 0) {\r
-                       flatten(element, outputs, depth - 1);\r
-               } else {\r
-                       outputs.add(element);\r
-               }\r
-       }\r
-}\r
-\r
-outputlist = new ArrayList();\r
-\r
-flatten(inputlist, outputlist, 1);</script>\r
-  <dependencies />\r
-  <localworkerName>org.embl.ebi.escience.scuflworkers.java.FlattenList</localworkerName>\r
-</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="inputlist" depth="2" /></cross></strategy></iteration></iterationStrategyStack></processor></processors><conditions><condition control="Concatenate_two_strings" target="Select_Output_CSV_File" /></conditions><datalinks><datalink><sink type="processor"><processor>gbif_occurrence_list</processor><port>sciName</port></sink><source type="processor"><processor>OccTargetConditional</processor><port>gbifList</port></source></datalink><datalink><sink type="processor"><processor>Read_CSV_Header_File</processor><port>fileurl</port></sink><source type="processor"><processor>csvheaders</processor><port>value</port></source></datalink><datalink><sink type="processor"><processor>Merge_String_List_to_a_String</processor><port>seperator</port></sink><source type="processor"><processor>no_separator</processor><port>value</port></source></datalink><datalink><sink type="processor"><processor>Merge_String_List_to_a_String</processor><port>stringlist</port></sink><source type="processor"><processor>Flatten_List</processor><port>outputlist</port></source></datalink><datalink><sink type="processor"><processor>Concatenate_two_strings</processor><port>string1</port></sink><source type="processor"><processor>Read_CSV_Header_File</processor><port>filecontents</port></source></datalink><datalink><sink type="processor"><processor>Concatenate_two_strings</processor><port>string2</port></sink><source type="processor"><processor>Merge_String_List_to_a_String</processor><port>concatenated</port></source></datalink><datalink><sink type="processor"><processor>Select_Output_CSV_File</processor><port>title</port></sink><source type="processor"><processor>output_filechooser_title</processor><port>value</port></source></datalink><datalink><sink type="processor"><processor>Write_Text_File</processor><port>outputFile</port></sink><source type="processor"><processor>Select_Output_CSV_File</processor><port>selectedFile</port></source></datalink><datalink><sink type="processor"><processor>Write_Text_File</processor><port>filecontents</port></sink><source type="processor"><processor>Concatenate_two_strings</processor><port>output</port></source></datalink><datalink><sink type="processor"><processor>OccTargetConditional</processor><port>sciNameList</port></sink><source type="dataflow"><port>sciNameList</port></source></datalink><datalink><sink type="processor"><processor>slw_occurrence_list</processor><port>sciName</port></sink><source type="processor"><processor>OccTargetConditional</processor><port>slwList</port></source></datalink><datalink><sink type="merge"><processor>Flatten_List</processor><port>inputlist</port></sink><source type="processor"><processor>gbif_occurrence_list</processor><port>csv_output</port></source></datalink><datalink><sink type="merge"><processor>Flatten_List</processor><port>inputlist</port></sink><source type="processor"><processor>slw_occurrence_list</processor><port>csv_output</port></source></datalink><datalink><sink type="dataflow"><port>csv_output</port></sink><source type="processor"><processor>Concatenate_two_strings</processor><port>output</port></source></datalink><datalink><sink type="dataflow"><port>file_write_ok</port></sink><source type="processor"><processor>Write_Text_File</processor><port>writeOK</port></source></datalink></datalinks><annotations><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>e2b4ef4f-5ce6-47fd-9aed-3042a7d27529</identification>\r
+      </annotationBean>\r
+      <date>2012-01-02 16:20:24.718 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>7a284b5d-ac86-416b-a639-27e9dc335bd6</identification>\r
+      </annotationBean>\r
+      <date>2012-02-07 17:40:29.204 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>b5b6d740-cc89-4450-8e5b-44fcac2bfee2</identification>\r
+      </annotationBean>\r
+      <date>2012-01-02 15:00:31.584 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>25217334-644c-43ed-bd13-7a3b2a03d5c1</identification>\r
+      </annotationBean>\r
+      <date>2012-01-31 16:20:23.935 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>62f4cd4d-508e-409c-8e06-3fef4020fa97</identification>\r
+      </annotationBean>\r
+      <date>2012-02-07 17:25:22.963 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>9b4884d3-e15c-4b7d-b142-29bf6a7dd990</identification>\r
+      </annotationBean>\r
+      <date>2012-02-07 17:48:17.932 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>dedef59b-8e8b-4e4d-8903-5f8c54422215</identification>\r
+      </annotationBean>\r
+      <date>2012-01-02 16:04:37.936 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>097d3ac1-d144-4f87-81f4-6b995a524fee</identification>\r
+      </annotationBean>\r
+      <date>2012-02-07 17:42:08.823 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>fc6e1c60-48ee-4b31-b03c-56578917a502</identification>\r
+      </annotationBean>\r
+      <date>2012-02-07 17:54:50.374 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>7be40bed-1839-4117-81ff-49391e0fe35a</identification>\r
+      </annotationBean>\r
+      <date>2012-01-02 17:52:39.889 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>9b1c8f07-a857-4d04-b260-b13bcf331662</identification>\r
+      </annotationBean>\r
+      <date>2012-01-31 16:03:53.673 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>3322b5a3-1530-4824-9300-ba6a6b18b7f1</identification>\r
+        <identification>a87dd75f-af3c-44ad-9718-b7125a22089f</identification>\r
       </annotationBean>\r
-      <date>2012-01-31 16:27:20.693 CET</date>\r
+      <date>2012-01-02 17:21:03.648 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -10737,9 +10361,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>40ab0272-4c88-4606-9f3a-2ebc309e017b</identification>\r
+        <identification>d4040120-4a6d-4a24-8bf4-73dd22e762c3</identification>\r
       </annotationBean>\r
-      <date>2012-02-08 15:46:10.571 CET</date>\r
+      <date>2012-01-02 16:46:06.131 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -10748,9 +10372,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>5dbd6255-5adc-46fb-a4c6-ed77d56af267</identification>\r
+        <identification>e0b1887f-8e9c-43d7-bb75-ee3b5e382834</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 17:16:27.428 CET</date>\r
+      <date>2012-01-31 16:29:30.593 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -10759,9 +10383,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>0a796aad-5444-420c-a88c-c1ef2411601b</identification>\r
+        <identification>56cae6e8-a10e-44dc-86d9-dde7c69beee3</identification>\r
       </annotationBean>\r
-      <date>2012-01-25 16:54:33.283 CET</date>\r
+      <date>2012-01-31 15:45:44.504 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -10770,9 +10394,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>1178f00c-044f-4f45-b5e4-ac5b9f548ef2</identification>\r
+        <identification>53f8a5ae-069d-4470-8da0-2df125dc5ec8</identification>\r
       </annotationBean>\r
-      <date>2012-02-07 17:53:12.962 CET</date>\r
+      <date>2012-01-02 17:50:56.83 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -10781,9 +10405,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>d6aa2f1a-4945-4c03-a5c1-83e8c5d71cbb</identification>\r
+        <identification>3322b5a3-1530-4824-9300-ba6a6b18b7f1</identification>\r
       </annotationBean>\r
-      <date>2012-02-07 18:09:14.553 CET</date>\r
+      <date>2012-01-31 16:27:20.693 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -10792,9 +10416,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>d4040120-4a6d-4a24-8bf4-73dd22e762c3</identification>\r
+        <identification>8a58b613-ac30-4ec1-9877-8221a6654ff4</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 16:46:06.131 CET</date>\r
+      <date>2012-01-03 12:48:44.529 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -10803,9 +10427,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>d8d8cbfe-4a10-4903-b5d6-a1dbd68a1e0f</identification>\r
+        <identification>a364b26a-abf3-425d-b166-ab27bf0381c5</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 17:43:58.338 CET</date>\r
+      <date>2012-01-02 17:04:19.721 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -10814,9 +10438,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>d705a674-a106-4328-b611-2deb72c4620b</identification>\r
+        <identification>df805bf7-d2c5-436b-a770-ba2258ed78c5</identification>\r
       </annotationBean>\r
-      <date>2012-01-31 16:22:50.732 CET</date>\r
+      <date>2012-01-31 16:39:08.415 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -10825,9 +10449,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>8f681f37-c9a0-4f78-b668-0df9c735e332</identification>\r
+        <identification>974e04bd-3efb-424a-9e35-2cd9f4fcd274</identification>\r
       </annotationBean>\r
-      <date>2012-01-13 15:24:58.691 CET</date>\r
+      <date>2012-01-02 17:23:23.829 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -10836,9 +10460,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>eeab83cc-69df-4a18-a6ad-e33a5cc51f35</identification>\r
+        <identification>5b4051bf-2a2a-46e8-a998-f80a766dd667</identification>\r
       </annotationBean>\r
-      <date>2012-01-13 16:59:53.791 CET</date>\r
+      <date>2012-01-02 15:59:00.308 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -10847,9 +10471,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>c919e20c-7881-47e8-afb1-b6233038e6d5</identification>\r
+        <identification>1e0e6327-6000-40bb-bb2f-fb8f118350f0</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 17:02:07.640 CEST</date>\r
+      <date>2012-02-07 18:14:57.3 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -10858,9 +10482,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>6be02b9a-7aaa-4e2f-9b42-b0b24ae2053d</identification>\r
+        <identification>5dbd6255-5adc-46fb-a4c6-ed77d56af267</identification>\r
       </annotationBean>\r
-      <date>2012-02-10 13:02:19.116 CET</date>\r
+      <date>2012-01-02 17:16:27.428 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -10869,9 +10493,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>702db05d-4a74-48b1-9b61-9ee90a1de8f4</identification>\r
+        <identification>eb452b59-dcaf-4db0-8f72-244455633870</identification>\r
       </annotationBean>\r
-      <date>2012-02-08 15:37:36.668 CET</date>\r
+      <date>2012-01-13 15:40:37.647 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -10880,9 +10504,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>92eb7f21-c6c2-4b1b-9200-1628662427a6</identification>\r
+        <identification>89f2b55a-52b9-43e9-a4a7-04fe6baca933</identification>\r
       </annotationBean>\r
-      <date>2012-03-21 12:06:31.153 CET</date>\r
+      <date>2012-03-02 16:39:26.106 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -10891,9 +10515,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>eb452b59-dcaf-4db0-8f72-244455633870</identification>\r
+        <identification>d3e29f08-a44b-4bb2-9896-4f325e0499d3</identification>\r
       </annotationBean>\r
-      <date>2012-01-13 15:40:37.647 CET</date>\r
+      <date>2012-01-13 17:09:46.986 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -10902,9 +10526,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>c818b2a9-90a8-4fc2-9c42-8066af346cba</identification>\r
+        <identification>533cbe09-7d47-4443-a85e-7a85ba750924</identification>\r
       </annotationBean>\r
-      <date>2012-01-31 15:47:04.807 CET</date>\r
+      <date>2012-02-07 17:33:24.631 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -10913,9 +10537,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>bb48ba73-aa77-42a1-9019-d72ebc20dfd0</identification>\r
+        <identification>7f0f8712-195f-48d2-9fce-5d5ff7832312</identification>\r
       </annotationBean>\r
-      <date>2012-02-07 18:07:20.452 CET</date>\r
+      <date>2012-01-25 16:57:56.63 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -10924,9 +10548,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>df805bf7-d2c5-436b-a770-ba2258ed78c5</identification>\r
+        <identification>5f7faf68-279b-4c53-84ca-6746a5fa7832</identification>\r
       </annotationBean>\r
-      <date>2012-01-31 16:39:08.415 CET</date>\r
+      <date>2012-01-31 16:40:24.470 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -10935,9 +10559,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>7f0f8712-195f-48d2-9fce-5d5ff7832312</identification>\r
+        <identification>68e10646-ec25-46ff-a748-a4ceb7eb8962</identification>\r
       </annotationBean>\r
-      <date>2012-01-25 16:57:56.63 CET</date>\r
+      <date>2012-01-31 17:02:32.988 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -10946,9 +10570,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>d5d43373-3338-4d0e-8f11-62fc2c73afae</identification>\r
+        <identification>aec72d1d-786a-4ccc-afb5-c712166bc3e2</identification>\r
       </annotationBean>\r
-      <date>2012-03-21 17:56:47.842 CET</date>\r
+      <date>2012-01-31 16:33:25.857 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -10957,9 +10581,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>82083c79-a4c9-4d8c-bf19-3e89ff2276e6</identification>\r
+        <identification>818abfc6-bd93-4bbd-9c36-68b73b0af681</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 15:05:39.350 CET</date>\r
+      <date>2012-02-08 15:37:32.562 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -10968,9 +10592,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>98429027-b6ab-4c7a-8952-f92ce82af604</identification>\r
+        <identification>6e0d1517-2294-4837-b994-80604a634cd0</identification>\r
       </annotationBean>\r
-      <date>2012-01-13 16:44:12.623 CET</date>\r
+      <date>2012-01-02 15:55:00.474 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -10979,9 +10603,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>8a58b613-ac30-4ec1-9877-8221a6654ff4</identification>\r
+        <identification>7cbd63e4-d73d-42d9-9133-4f359b06efb5</identification>\r
       </annotationBean>\r
-      <date>2012-01-03 12:48:44.529 CET</date>\r
+      <date>2012-01-02 14:51:19.40 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -10990,9 +10614,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>273737ec-425c-4577-8d2a-963156312cfd</identification>\r
+        <identification>8dc4d420-1edf-473f-b111-d6510f6f026e</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 15:56:51.418 CET</date>\r
+      <date>2012-01-02 17:47:36.491 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11001,9 +10625,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>62eace58-eeb6-495b-80e8-a94fadcc7316</identification>\r
+        <identification>6baa5e11-586d-4f13-b6f4-92c61c10ec9a</identification>\r
       </annotationBean>\r
-      <date>2012-02-08 13:41:58.660 CET</date>\r
+      <date>2012-01-13 15:29:27.496 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11012,9 +10636,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>d044d916-0adb-4065-b39f-8357372e42cc</identification>\r
+        <identification>82083c79-a4c9-4d8c-bf19-3e89ff2276e6</identification>\r
       </annotationBean>\r
-      <date>2012-01-13 15:44:17.623 CET</date>\r
+      <date>2012-01-02 15:05:39.350 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11023,9 +10647,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>b5b6d740-cc89-4450-8e5b-44fcac2bfee2</identification>\r
+        <identification>b87d4830-e4c0-4665-972b-b60353b71873</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 15:00:31.584 CET</date>\r
+      <date>2012-01-02 16:29:06.484 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11034,9 +10658,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>25217334-644c-43ed-bd13-7a3b2a03d5c1</identification>\r
+        <identification>32faa1ef-391d-4360-8bb4-cc7f25b963a1</identification>\r
       </annotationBean>\r
-      <date>2012-01-31 16:20:23.935 CET</date>\r
+      <date>2012-01-02 17:19:44.583 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11045,9 +10669,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>53f8a5ae-069d-4470-8da0-2df125dc5ec8</identification>\r
+        <identification>4f8dd224-cc83-4af5-bbd2-dedfd09b43fe</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 17:50:56.83 CET</date>\r
+      <date>2012-01-02 17:14:37.644 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11056,9 +10680,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>54d71067-a78a-4e3b-a54f-d47f75bd2adf</identification>\r
+        <identification>eeab83cc-69df-4a18-a6ad-e33a5cc51f35</identification>\r
       </annotationBean>\r
-      <date>2012-01-31 16:10:34.267 CET</date>\r
+      <date>2012-01-13 16:59:53.791 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11067,9 +10691,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>8dc4d420-1edf-473f-b111-d6510f6f026e</identification>\r
+        <identification>8218cf20-6aa4-4a85-a62a-da0b401991cd</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 17:47:36.491 CET</date>\r
+      <date>2012-02-09 17:39:17.418 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11078,9 +10702,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>974e04bd-3efb-424a-9e35-2cd9f4fcd274</identification>\r
+        <identification>d8d8cbfe-4a10-4903-b5d6-a1dbd68a1e0f</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 17:23:23.829 CET</date>\r
+      <date>2012-01-02 17:43:58.338 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11089,9 +10713,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>5f7faf68-279b-4c53-84ca-6746a5fa7832</identification>\r
+        <identification>f41b5d1f-a3a6-4fcb-a52a-748150c35471</identification>\r
       </annotationBean>\r
-      <date>2012-01-31 16:40:24.470 CET</date>\r
+      <date>2012-02-07 17:22:31.525 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11100,9 +10724,20 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>00826864-df38-4222-a06b-ac5fd4d79e9a</identification>\r
+        <identification>b123cffa-dcf7-4e76-85e6-0dc999f97104</identification>\r
       </annotationBean>\r
-      <date>2012-03-28 17:45:02.966 CEST</date>\r
+      <date>2012-02-07 18:09:06.414 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>4337a0e1-a09d-4b68-8660-637490e21edb</identification>\r
+      </annotationBean>\r
+      <date>2012-01-31 15:58:55.276 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11111,20 +10746,312 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>69821203-d769-45ce-a3bb-145a9964679f</identification>\r
+        <identification>d705a674-a106-4328-b611-2deb72c4620b</identification>\r
+      </annotationBean>\r
+      <date>2012-01-31 16:22:50.732 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow><dataflow id="e39565fa-a649-4b7e-9fa3-58921efd4f53" role="nested"><name>Workflow5</name><inputPorts><port><name>projectID</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port><port><name>save</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port></inputPorts><outputPorts><port><name>export_data</name><annotations /></port></outputPorts><processors><processor><name>Export_Data</name><inputPorts><port><name>projectID</name><depth>0</depth></port><port><name>inputBody</name><depth>0</depth></port></inputPorts><outputPorts><port><name>responseBody</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>rest-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.rest.RESTActivity</class><inputMap><map from="projectID" to="projectID" /><map from="inputBody" to="inputBody" /></inputMap><outputMap><map from="responseBody" to="responseBody" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean xmlns="">\r
+  <httpMethod>POST</httpMethod>\r
+  <urlSignature>http://127.0.0.1:3333/command/core/export-rows/{projectID}.csv</urlSignature>\r
+  <acceptsHeaderValue>text/html</acceptsHeaderValue>\r
+  <contentTypeForUpdates>application/x-www-form-urlencoded</contentTypeForUpdates>\r
+  <outgoingDataFormat>String</outgoingDataFormat>\r
+  <sendHTTPExpectRequestHeader>false</sendHTTPExpectRequestHeader>\r
+  <showRedirectionOutputPort>false</showRedirectionOutputPort>\r
+  <escapeParameters>true</escapeParameters>\r
+  <otherHTTPHeaders />\r
+  <activityInputs>\r
+    <entry>\r
+      <string>projectID</string>\r
+      <java-class>java.lang.String</java-class>\r
+    </entry>\r
+  </activityInputs>\r
+</net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="projectID" depth="0" /><port name="inputBody" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Export_Data_Options</name><inputPorts><port><name>projectID</name><depth>0</depth></port></inputPorts><outputPorts><port><name>options</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="projectID" to="projectID" /></inputMap><outputMap><map from="options" to="options" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
+  <inputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>projectID</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>text/plain</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+  </inputs>\r
+  <outputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>options</name>\r
+      <depth>0</depth>\r
+      <mimeTypes />\r
+      <granularDepth>0</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+  </outputs>\r
+  <classLoaderSharing>workflow</classLoaderSharing>\r
+  <localDependencies />\r
+  <artifactDependencies />\r
+  <script>options ="project="  + projectID + "&amp;format=csv&amp;engine={\"facets\":[],\"mode\":\"row-based\"}&amp;contentType=application/x-unknown";</script>\r
+  <dependencies />\r
+</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="projectID" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor></processors><conditions /><datalinks><datalink><sink type="processor"><processor>Export_Data</processor><port>projectID</port></sink><source type="dataflow"><port>projectID</port></source></datalink><datalink><sink type="processor"><processor>Export_Data</processor><port>inputBody</port></sink><source type="processor"><processor>Export_Data_Options</processor><port>options</port></source></datalink><datalink><sink type="processor"><processor>Export_Data_Options</processor><port>projectID</port></sink><source type="dataflow"><port>projectID</port></source></datalink><datalink><sink type="dataflow"><port>export_data</port></sink><source type="processor"><processor>Export_Data</processor><port>responseBody</port></source></datalink></datalinks><annotations><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>e39565fa-a649-4b7e-9fa3-58921efd4f53</identification>\r
+      </annotationBean>\r
+      <date>2012-04-03 13:20:41.459 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow><dataflow id="b5bf0e13-96b1-410e-99cb-02176b0b215d" role="nested"><name>Workflow66</name><inputPorts><port><name>csvData</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port><port><name>shouldRun</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port></inputPorts><outputPorts><port><name>csv_output</name><annotations /></port></outputPorts><processors><processor><name>passthrough_beanshell</name><inputPorts><port><name>csvData</name><depth>0</depth></port></inputPorts><outputPorts><port><name>csv_output</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="csvData" to="csvData" /></inputMap><outputMap><map from="csv_output" to="csv_output" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
+  <inputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>csvData</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>text/plain</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+  </inputs>\r
+  <outputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>csv_output</name>\r
+      <depth>0</depth>\r
+      <mimeTypes />\r
+      <granularDepth>0</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+  </outputs>\r
+  <classLoaderSharing>workflow</classLoaderSharing>\r
+  <localDependencies />\r
+  <artifactDependencies />\r
+  <script>csv_output=csvData</script>\r
+  <dependencies />\r
+</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="csvData" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor></processors><conditions /><datalinks><datalink><sink type="processor"><processor>passthrough_beanshell</processor><port>csvData</port></sink><source type="dataflow"><port>csvData</port></source></datalink><datalink><sink type="dataflow"><port>csv_output</port></sink><source type="processor"><processor>passthrough_beanshell</processor><port>csv_output</port></source></datalink></datalinks><annotations><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>b5bf0e13-96b1-410e-99cb-02176b0b215d</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 15:04:12.378 CET</date>\r
+      <date>2012-03-30 15:15:28.366 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
   </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow><dataflow id="4d356981-1062-4cf6-a15d-c89cf36ae317" role="nested"><name>Workflow63</name><inputPorts><port><name>internalCSVData</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port></inputPorts><outputPorts><port><name>internalCSVData</name><annotations /></port><port><name>endWFlow</name><annotations /></port></outputPorts><processors><processor><name>Syn_Exp_Occ_Ret_Conditional</name><inputPorts><port><name>csvData</name><depth>0</depth></port><port><name>shouldRun</name><depth>0</depth></port></inputPorts><outputPorts><port><name>csv_ouput</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>dataflow-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.dataflow.DataflowActivity</class><inputMap><map from="csvData" to="csvData" /><map from="shouldRun" to="shouldRun" /></inputMap><outputMap><map from="csv_ouput" to="csv_ouput" /></outputMap><configBean encoding="dataflow"><dataflow ref="2d2d9854-192c-4bf1-b17c-6605821b4423" /></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="csvData" depth="0" /><port name="shouldRun" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>DC_Choose_Sub_Flow</name><inputPorts><port><name>internalCSVData</name><depth>1</depth></port></inputPorts><outputPorts><port><name>synExpOccRetCSVData</name><depth>1</depth><granularDepth>1</granularDepth></port><port><name>csvData</name><depth>0</depth><granularDepth>0</granularDepth></port><port><name>endWFlow</name><depth>0</depth><granularDepth>0</granularDepth></port><port><name>endWFlowCSVData</name><depth>1</depth><granularDepth>1</granularDepth></port><port><name>dataQualCSVData</name><depth>1</depth><granularDepth>1</granularDepth></port><port><name>dataSelCSVData</name><depth>1</depth><granularDepth>1</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="internalCSVData" to="internalCSVData" /></inputMap><outputMap><map from="csvData" to="csvData" /><map from="dataSelCSVData" to="dataSelCSVData" /><map from="endWFlowCSVData" to="endWFlowCSVData" /><map from="dataQualCSVData" to="dataQualCSVData" /><map from="endWFlow" to="endWFlow" /><map from="synExpOccRetCSVData" to="synExpOccRetCSVData" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
+  <inputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>internalCSVData</name>\r
+      <depth>1</depth>\r
+      <mimeTypes>\r
+        <string>text/plain</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+  </inputs>\r
+  <outputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>synExpOccRetCSVData</name>\r
+      <depth>1</depth>\r
+      <mimeTypes />\r
+      <granularDepth>1</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>dataSelCSVData</name>\r
+      <depth>1</depth>\r
+      <mimeTypes />\r
+      <granularDepth>1</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>dataQualCSVData</name>\r
+      <depth>1</depth>\r
+      <mimeTypes />\r
+      <granularDepth>1</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>endWFlowCSVData</name>\r
+      <depth>1</depth>\r
+      <mimeTypes />\r
+      <granularDepth>1</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>endWFlow</name>\r
+      <depth>0</depth>\r
+      <mimeTypes />\r
+      <granularDepth>0</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>csvData</name>\r
+      <depth>0</depth>\r
+      <mimeTypes />\r
+      <granularDepth>0</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+  </outputs>\r
+  <classLoaderSharing>workflow</classLoaderSharing>\r
+  <localDependencies>\r
+    <string>DCWorkflow.jar</string>\r
+  </localDependencies>\r
+  <artifactDependencies />\r
+  <script>import org.bgbm.biovel.datacleaning.syncheck.DCChoiceDialog;\r
+import org.bgbm.biovel.datacleaning.utils.syncheck.SynCheckConstants;\r
+\r
+\r
+endWFlow = "false";\r
+csvData = "";\r
+if(internalCSVData.size() == 1) {\r
+       csvData = (String)internalCSVData.get(0);\r
+}\r
+\r
+Frame f = new JFrame();\r
+DCChoiceDialog dccd = new DCChoiceDialog(f,true,csvData);\r
+dccd.setLocationRelativeTo(null);\r
+dccd.show();\r
+\r
+synExpOccRetCSVData = new ArrayList();\r
+dataSelCSVData = new ArrayList();\r
+dataQualCSVData = new ArrayList();\r
+endWFlowCSVData = new ArrayList();\r
+\r
+switch(dccd.getChosenSubWorkflow()) {\r
+  case SynCheckConstants.SYN_EXP_OCC_RET :\r
+  synExpOccRetCSVData.add("shouldRun");\r
+  break;\r
+  case SynCheckConstants.DATA_SEL :\r
+  dataSelCSVData.add("shouldRun");\r
+  break;\r
+  case SynCheckConstants.DATA_QUAL :\r
+  dataQualCSVData.add("shouldRun");\r
+  break;\r
+  case SynCheckConstants.END_WKFLOW :\r
+  endWFlowCSVData.add("shouldRun");\r
+  endWFlow = "true";\r
+  break;\r
+  default :\r
+  endWFlowCSVData.add("shouldRun");\r
+  endWFlow = "true";\r
+}\r
+\r
+</script>\r
+  <dependencies />\r
+</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="internalCSVData" depth="1" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>End_Workflow_Conditional</name><inputPorts><port><name>csvData</name><depth>0</depth></port><port><name>shouldRun</name><depth>0</depth></port></inputPorts><outputPorts><port><name>csv_output</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>dataflow-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.dataflow.DataflowActivity</class><inputMap><map from="csvData" to="csvData" /><map from="shouldRun" to="shouldRun" /></inputMap><outputMap><map from="csv_output" to="csv_output" /></outputMap><configBean encoding="dataflow"><dataflow ref="d7362d7b-ec6b-46e2-89b4-0552c6dc8008" /></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="csvData" depth="0" /><port name="shouldRun" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Flatten_List</name><inputPorts><port><name>inputlist</name><depth>2</depth></port></inputPorts><outputPorts><port><name>outputlist</name><depth>1</depth><granularDepth>1</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="inputlist" to="inputlist" /></inputMap><outputMap><map from="outputlist" to="outputlist" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
+  <inputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>inputlist</name>\r
+      <depth>2</depth>\r
+      <mimeTypes>\r
+        <string>l(l(''))</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>[B</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+  </inputs>\r
+  <outputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>outputlist</name>\r
+      <depth>1</depth>\r
+      <mimeTypes>\r
+        <string>l('')</string>\r
+      </mimeTypes>\r
+      <granularDepth>1</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+  </outputs>\r
+  <classLoaderSharing>workflow</classLoaderSharing>\r
+  <localDependencies />\r
+  <artifactDependencies />\r
+  <script>flatten(inputs, outputs, depth) {\r
+       for (i = inputs.iterator(); i.hasNext();) {\r
+           element = i.next();\r
+               if (element instanceof Collection &amp;&amp; depth &gt; 0) {\r
+                       flatten(element, outputs, depth - 1);\r
+               } else {\r
+                       outputs.add(element);\r
+               }\r
+       }\r
+}\r
+\r
+outputlist = new ArrayList();\r
+\r
+flatten(inputlist, outputlist, 1);</script>\r
+  <dependencies />\r
+  <localworkerName>org.embl.ebi.escience.scuflworkers.java.FlattenList</localworkerName>\r
+</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="inputlist" depth="2" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>GRefine_Upload_Conditional</name><inputPorts><port><name>csvData</name><depth>0</depth></port><port><name>shouldRun</name><depth>0</depth></port></inputPorts><outputPorts><port><name>csv_output</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>dataflow-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.dataflow.DataflowActivity</class><inputMap><map from="csvData" to="csvData" /><map from="shouldRun" to="shouldRun" /></inputMap><outputMap><map from="csv_output" to="csv_output" /></outputMap><configBean encoding="dataflow"><dataflow ref="72fd803c-2c52-4097-8ba0-99b7f6d1e213" /></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="csvData" depth="0" /><port name="shouldRun" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>BioSTIF_Conditional</name><inputPorts><port><name>csvData</name><depth>0</depth></port><port><name>shouldRun</name><depth>0</depth></port></inputPorts><outputPorts><port><name>csv_output</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>dataflow-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.dataflow.DataflowActivity</class><inputMap><map from="csvData" to="csvData" /><map from="shouldRun" to="shouldRun" /></inputMap><outputMap><map from="csv_output" to="csv_output" /></outputMap><configBean encoding="dataflow"><dataflow ref="b5bf0e13-96b1-410e-99cb-02176b0b215d" /></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="csvData" depth="0" /><port name="shouldRun" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor></processors><conditions /><datalinks><datalink><sink type="processor"><processor>Syn_Exp_Occ_Ret_Conditional</processor><port>csvData</port></sink><source type="processor"><processor>DC_Choose_Sub_Flow</processor><port>csvData</port></source></datalink><datalink><sink type="processor"><processor>Syn_Exp_Occ_Ret_Conditional</processor><port>shouldRun</port></sink><source type="processor"><processor>DC_Choose_Sub_Flow</processor><port>synExpOccRetCSVData</port></source></datalink><datalink><sink type="processor"><processor>DC_Choose_Sub_Flow</processor><port>internalCSVData</port></sink><source type="dataflow"><port>internalCSVData</port></source></datalink><datalink><sink type="processor"><processor>End_Workflow_Conditional</processor><port>csvData</port></sink><source type="processor"><processor>DC_Choose_Sub_Flow</processor><port>csvData</port></source></datalink><datalink><sink type="processor"><processor>End_Workflow_Conditional</processor><port>shouldRun</port></sink><source type="processor"><processor>DC_Choose_Sub_Flow</processor><port>endWFlowCSVData</port></source></datalink><datalink><sink type="processor"><processor>GRefine_Upload_Conditional</processor><port>csvData</port></sink><source type="processor"><processor>DC_Choose_Sub_Flow</processor><port>csvData</port></source></datalink><datalink><sink type="processor"><processor>GRefine_Upload_Conditional</processor><port>shouldRun</port></sink><source type="processor"><processor>DC_Choose_Sub_Flow</processor><port>dataQualCSVData</port></source></datalink><datalink><sink type="processor"><processor>BioSTIF_Conditional</processor><port>csvData</port></sink><source type="processor"><processor>DC_Choose_Sub_Flow</processor><port>csvData</port></source></datalink><datalink><sink type="processor"><processor>BioSTIF_Conditional</processor><port>shouldRun</port></sink><source type="processor"><processor>DC_Choose_Sub_Flow</processor><port>dataSelCSVData</port></source></datalink><datalink><sink type="merge"><processor>Flatten_List</processor><port>inputlist</port></sink><source type="processor"><processor>Syn_Exp_Occ_Ret_Conditional</processor><port>csv_ouput</port></source></datalink><datalink><sink type="merge"><processor>Flatten_List</processor><port>inputlist</port></sink><source type="processor"><processor>End_Workflow_Conditional</processor><port>csv_output</port></source></datalink><datalink><sink type="merge"><processor>Flatten_List</processor><port>inputlist</port></sink><source type="processor"><processor>GRefine_Upload_Conditional</processor><port>csv_output</port></source></datalink><datalink><sink type="merge"><processor>Flatten_List</processor><port>inputlist</port></sink><source type="processor"><processor>BioSTIF_Conditional</processor><port>csv_output</port></source></datalink><datalink><sink type="dataflow"><port>internalCSVData</port></sink><source type="processor"><processor>Flatten_List</processor><port>outputlist</port></source></datalink><datalink><sink type="dataflow"><port>endWFlow</port></sink><source type="processor"><processor>DC_Choose_Sub_Flow</processor><port>endWFlow</port></source></datalink></datalinks><annotations><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>3c13925e-8808-471e-9f19-e40364e1406c</identification>\r
+        <identification>d2a50ec0-631d-44d3-82f8-8440e37c3686</identification>\r
       </annotationBean>\r
-      <date>2012-02-10 13:01:39.855 CET</date>\r
+      <date>2012-03-29 11:10:49.736 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11133,9 +11060,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>f356c7e2-888e-4a2d-85f8-4bc7b6b059cd</identification>\r
+        <identification>57030f97-56e0-4c85-a0fa-0f0e4f685aec</identification>\r
       </annotationBean>\r
-      <date>2012-02-07 18:13:43.986 CET</date>\r
+      <date>2012-03-30 15:21:09.327 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11144,9 +11071,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>a87dd75f-af3c-44ad-9718-b7125a22089f</identification>\r
+        <identification>10523fe8-d701-422f-bee9-0edbd8047367</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 17:21:03.648 CET</date>\r
+      <date>2012-03-29 11:37:16.87 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11155,9 +11082,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>24937535-5952-412a-bd44-beebd29db137</identification>\r
+        <identification>bdb56ce4-83c6-4580-8a1d-8478c5c8f1f9</identification>\r
       </annotationBean>\r
-      <date>2012-03-21 12:17:01.846 CET</date>\r
+      <date>2012-03-29 16:13:05.849 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11166,9 +11093,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>dedef59b-8e8b-4e4d-8903-5f8c54422215</identification>\r
+        <identification>1d20357a-8eb5-4909-8f29-ac3fa7147e27</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 16:04:37.936 CET</date>\r
+      <date>2012-03-29 16:01:34.810 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11177,9 +11104,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>32faa1ef-391d-4360-8bb4-cc7f25b963a1</identification>\r
+        <identification>3fa29b53-4aee-4da2-8a37-c43ef10dde87</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 17:19:44.583 CET</date>\r
+      <date>2012-04-03 10:05:32.575 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11188,9 +11115,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>7be40bed-1839-4117-81ff-49391e0fe35a</identification>\r
+        <identification>7e2e208b-293b-4167-a230-cd6f35666f74</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 17:52:39.889 CET</date>\r
+      <date>2012-03-29 15:02:02.261 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11199,9 +11126,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>97a86075-f1f7-4e46-a383-cec4b7b16ec4</identification>\r
+        <identification>7526365a-9138-48cd-b901-9409d809da28</identification>\r
       </annotationBean>\r
-      <date>2012-01-31 16:24:57.958 CET</date>\r
+      <date>2012-03-30 15:17:32.617 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11210,9 +11137,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>a364b26a-abf3-425d-b166-ab27bf0381c5</identification>\r
+        <identification>416e5379-34b5-4a3b-9006-9f75ffa230ac</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 17:04:19.721 CET</date>\r
+      <date>2012-03-29 17:42:36.936 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11221,9 +11148,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>b5feb718-54f5-402c-88a6-73874036974b</identification>\r
+        <identification>52ae795c-5f50-441f-9176-471a1ea8dc1d</identification>\r
       </annotationBean>\r
-      <date>2012-03-02 16:39:31.246 CET</date>\r
+      <date>2012-03-29 15:56:16.31 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11232,9 +11159,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>9f8d21c5-2523-4485-a181-01e6de804d4d</identification>\r
+        <identification>bcdb65e1-32cd-4f99-a661-d7556b1f5e9a</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 17:35:34.596 CET</date>\r
+      <date>2012-03-29 15:20:41.501 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11243,9 +11170,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>7cbd63e4-d73d-42d9-9133-4f359b06efb5</identification>\r
+        <identification>20e7589a-6e4c-4eb4-9136-f0abaa4e15fb</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 14:51:19.40 CET</date>\r
+      <date>2012-03-29 16:41:14.662 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11254,9 +11181,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>62f4cd4d-508e-409c-8e06-3fef4020fa97</identification>\r
+        <identification>735712c0-c502-45b1-9e02-7f6449340473</identification>\r
       </annotationBean>\r
-      <date>2012-02-07 17:25:22.963 CET</date>\r
+      <date>2012-03-29 16:50:50.49 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11265,9 +11192,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>416607f5-ecab-4866-ac2b-966286db8332</identification>\r
+        <identification>fc527fb0-55ac-406e-8457-93c2ffc37327</identification>\r
       </annotationBean>\r
-      <date>2012-03-22 09:26:32.315 CET</date>\r
+      <date>2012-03-29 16:55:43.218 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11276,9 +11203,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>d3e29f08-a44b-4bb2-9896-4f325e0499d3</identification>\r
+        <identification>ff628ef9-0eca-4f37-8124-efb938aca9dc</identification>\r
       </annotationBean>\r
-      <date>2012-01-13 17:09:46.986 CET</date>\r
+      <date>2012-03-29 15:33:56.232 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11287,9 +11214,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>34bdb8db-644c-4792-b591-dd8406ef7d78</identification>\r
+        <identification>1f88dc65-8381-4501-8090-46ff65eed62c</identification>\r
       </annotationBean>\r
-      <date>2012-03-21 12:12:06.884 CET</date>\r
+      <date>2012-03-29 11:08:26.891 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11298,9 +11225,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>0fa06dee-52dd-4af0-815c-92a4fca15a38</identification>\r
+        <identification>8690a2a8-905c-40bb-b39a-26bb12a19532</identification>\r
       </annotationBean>\r
-      <date>2012-03-22 09:26:12.858 CET</date>\r
+      <date>2012-03-29 14:26:41.116 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11309,9 +11236,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>e772224a-94c3-42a0-81e7-a7aedc37aff8</identification>\r
+        <identification>2344c16f-b332-4b0b-b9ca-385932e824a5</identification>\r
       </annotationBean>\r
-      <date>2012-03-21 11:58:50.611 CET</date>\r
+      <date>2012-04-03 16:37:22.524 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11320,9 +11247,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>e2b4ef4f-5ce6-47fd-9aed-3042a7d27529</identification>\r
+        <identification>06eab54b-74ed-42fe-9085-e93798a52e89</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 16:20:24.718 CET</date>\r
+      <date>2012-03-29 16:52:53.757 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11331,9 +11258,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>5b4051bf-2a2a-46e8-a998-f80a766dd667</identification>\r
+        <identification>480ba378-6be7-4ce9-9069-a6aac531dd8f</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 15:59:00.308 CET</date>\r
+      <date>2012-03-29 16:11:21.526 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11342,9 +11269,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>7f0d77bf-4336-4f46-8e55-d65a37d07ca3</identification>\r
+        <identification>efee1f01-086c-4872-a44b-f8ffce558173</identification>\r
       </annotationBean>\r
-      <date>2012-03-22 12:04:20.911 CET</date>\r
+      <date>2012-03-30 10:08:36.830 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11353,9 +11280,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>69b325a9-a976-4c1e-9915-c8661f96a4d9</identification>\r
+        <identification>7080020e-2d2f-4219-8442-87a9bfde26ff</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 17:01:22.102 CEST</date>\r
+      <date>2012-03-30 10:05:03.463 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11364,9 +11291,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>e0b1887f-8e9c-43d7-bb75-ee3b5e382834</identification>\r
+        <identification>4187d8a4-b0f1-45d8-994c-f10fb643447f</identification>\r
       </annotationBean>\r
-      <date>2012-01-31 16:29:30.593 CET</date>\r
+      <date>2012-03-28 17:59:41.884 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11375,9 +11302,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>6baa5e11-586d-4f13-b6f4-92c61c10ec9a</identification>\r
+        <identification>de1dff07-eb17-4d91-8a6f-65c675ffba18</identification>\r
       </annotationBean>\r
-      <date>2012-01-13 15:29:27.496 CET</date>\r
+      <date>2012-03-29 15:48:52.368 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11386,9 +11313,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>56cae6e8-a10e-44dc-86d9-dde7c69beee3</identification>\r
+        <identification>ba4304de-6f60-46d1-9f84-6604550f8eb9</identification>\r
       </annotationBean>\r
-      <date>2012-01-31 15:45:44.504 CET</date>\r
+      <date>2012-03-29 13:56:50.377 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11397,9 +11324,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>feaf6e99-716b-4cc9-81b0-7255ea5a38f7</identification>\r
+        <identification>c84c38ed-9b59-4349-a998-f4178f97de80</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 16:03:20.221 CET</date>\r
+      <date>2012-03-29 11:24:27.653 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11408,9 +11335,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>c630c1e5-1f83-4747-abd9-05a37cbb5b74</identification>\r
+        <identification>253d7440-f205-407a-a839-88f4fb17126a</identification>\r
       </annotationBean>\r
-      <date>2012-02-07 18:15:01.509 CET</date>\r
+      <date>2012-03-29 15:11:17.368 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11419,9 +11346,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>9995fb53-fe1e-4aee-88c8-60bb5f2f34cf</identification>\r
+        <identification>3c400bc4-d624-4b42-b90e-1cfb31b07e16</identification>\r
       </annotationBean>\r
-      <date>2012-01-05 16:27:19.428 CET</date>\r
+      <date>2012-03-29 15:56:48.448 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11430,9 +11357,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>14e0d5c9-4a24-47df-a07b-e532cec4ca5c</identification>\r
+        <identification>efe6e950-ffa0-4f5d-b87f-d2ed0d25fc71</identification>\r
       </annotationBean>\r
-      <date>2012-03-02 16:39:52.276 CET</date>\r
+      <date>2012-03-29 11:06:26.887 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11441,9 +11368,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>8fca71dd-0496-4ca3-b3be-788cecb6f2e2</identification>\r
+        <identification>eaeaf2ec-37e5-4fb8-aedf-adb91895c5ba</identification>\r
       </annotationBean>\r
-      <date>2012-02-07 17:54:59.874 CET</date>\r
+      <date>2012-03-28 17:58:12.884 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11452,9 +11379,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>c5da4161-0b70-4e67-9704-cc2d26b6cf6e</identification>\r
+        <identification>d5334add-15a0-4112-98dd-e343f98e3342</identification>\r
       </annotationBean>\r
-      <date>2012-03-21 13:03:44.642 CET</date>\r
+      <date>2012-03-29 16:17:19.513 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11463,9 +11390,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>b87d4830-e4c0-4665-972b-b60353b71873</identification>\r
+        <identification>a86328a9-31a0-412c-b337-5fb0433a0f5f</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 16:29:06.484 CET</date>\r
+      <date>2012-03-29 16:31:26.114 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11474,9 +11401,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>9b1c8f07-a857-4d04-b260-b13bcf331662</identification>\r
+        <identification>85c59d5f-b6a6-4d7b-a273-571ef4f66980</identification>\r
       </annotationBean>\r
-      <date>2012-01-31 16:03:53.673 CET</date>\r
+      <date>2012-03-29 11:45:17.583 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11485,9 +11412,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>e6ecc0b3-5281-4c6a-9d60-19b6fb367643</identification>\r
+        <identification>206c2234-a3a0-4f41-a265-e8cb70aba153</identification>\r
       </annotationBean>\r
-      <date>2012-03-21 13:25:38.0 CET</date>\r
+      <date>2012-03-29 15:13:02.627 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11496,9 +11423,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>4f8dd224-cc83-4af5-bbd2-dedfd09b43fe</identification>\r
+        <identification>8dfcc595-a065-4a6d-a01f-1c361aa7e2b5</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 17:14:37.644 CET</date>\r
+      <date>2012-03-29 16:33:57.126 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11507,9 +11434,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>aec72d1d-786a-4ccc-afb5-c712166bc3e2</identification>\r
+        <identification>2fdcdb19-4311-42bd-9149-66293f8d8f0c</identification>\r
       </annotationBean>\r
-      <date>2012-01-31 16:33:25.857 CET</date>\r
+      <date>2012-03-29 17:02:25.138 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11518,9 +11445,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>2764b0d8-8242-40ea-b0a3-ddf550e8dc59</identification>\r
+        <identification>f8fabcd5-a42b-41f1-b0c1-e62e06124522</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 16:21:21.874 CET</date>\r
+      <date>2012-03-28 18:01:09.752 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11529,9 +11456,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>4337a0e1-a09d-4b68-8660-637490e21edb</identification>\r
+        <identification>c6eb0505-2bf2-4282-b7de-83f50cb21051</identification>\r
       </annotationBean>\r
-      <date>2012-01-31 15:58:55.276 CET</date>\r
+      <date>2012-03-29 15:37:39.888 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11540,9 +11467,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>f41b5d1f-a3a6-4fcb-a52a-748150c35471</identification>\r
+        <identification>42e4157e-f8c3-4b7f-8f64-5abf089fa423</identification>\r
       </annotationBean>\r
-      <date>2012-02-07 17:22:31.525 CET</date>\r
+      <date>2012-03-29 14:29:46.673 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11551,9 +11478,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>68e10646-ec25-46ff-a748-a4ceb7eb8962</identification>\r
+        <identification>bbf7f7ca-930a-4f38-abed-179eae47d348</identification>\r
       </annotationBean>\r
-      <date>2012-01-31 17:02:32.988 CET</date>\r
+      <date>2012-03-29 11:26:17.248 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11562,9 +11489,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>8fd4d664-f4f1-48b8-a9a6-36c420e7214e</identification>\r
+        <identification>660c4b4d-61f0-46e3-a572-8eca976ad13c</identification>\r
       </annotationBean>\r
-      <date>2012-01-13 15:45:48.22 CET</date>\r
+      <date>2012-03-29 14:30:11.864 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11573,9 +11500,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>6e0d1517-2294-4837-b994-80604a634cd0</identification>\r
+        <identification>2318be82-51d3-4369-9009-6869f8e0e6f8</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 15:55:00.474 CET</date>\r
+      <date>2012-03-29 16:27:13.418 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11584,9 +11511,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>e0c29b5e-9019-434e-954a-367b41400d14</identification>\r
+        <identification>8db23fcc-fe58-40d1-ab38-915cf7364ba5</identification>\r
       </annotationBean>\r
-      <date>2012-03-21 12:22:38.39 CET</date>\r
+      <date>2012-03-29 12:07:09.322 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11595,9 +11522,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>46828567-904f-4105-96ef-0bf268ada001</identification>\r
+        <identification>3d5ba737-bc93-4833-bbef-5f869b8254ae</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 17:06:50.222 CET</date>\r
+      <date>2012-03-29 15:27:08.834 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11606,182 +11533,31 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>b176d4c2-c954-4fd4-971d-5f55f1c2ef09</identification>\r
+        <identification>e27b0a9c-b655-48cc-9471-660c03008a69</identification>\r
       </annotationBean>\r
-      <date>2012-02-09 17:39:20.187 CET</date>\r
+      <date>2012-03-29 15:43:15.451 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
   </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow><dataflow id="89f2b55a-52b9-43e9-a4a7-04fe6baca933" role="nested"><name>Workflow32</name><inputPorts><port><name>sciName</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port></inputPorts><outputPorts><port><name>csv_output</name><annotations /></port></outputPorts><processors><processor><name>Merge_String_List_to_a_String</name><inputPorts><port><name>seperator</name><depth>0</depth></port><port><name>stringlist</name><depth>1</depth></port></inputPorts><outputPorts><port><name>concatenated</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="seperator" to="seperator" /><map from="stringlist" to="stringlist" /></inputMap><outputMap><map from="concatenated" to="concatenated" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
-  <inputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>stringlist</name>\r
-      <depth>1</depth>\r
-      <mimeTypes>\r
-        <string>l('text/plain')</string>\r
-      </mimeTypes>\r
-      <handledReferenceSchemes />\r
-      <translatedElementType>java.lang.String</translatedElementType>\r
-      <allowsLiteralValues>true</allowsLiteralValues>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>seperator</name>\r
-      <depth>0</depth>\r
-      <mimeTypes>\r
-        <string>'text/plain'</string>\r
-      </mimeTypes>\r
-      <handledReferenceSchemes />\r
-      <translatedElementType>java.lang.String</translatedElementType>\r
-      <allowsLiteralValues>true</allowsLiteralValues>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-  </inputs>\r
-  <outputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>concatenated</name>\r
-      <depth>0</depth>\r
-      <mimeTypes>\r
-        <string>'text/plain'</string>\r
-      </mimeTypes>\r
-      <granularDepth>0</granularDepth>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-  </outputs>\r
-  <classLoaderSharing>workflow</classLoaderSharing>\r
-  <localDependencies />\r
-  <artifactDependencies />\r
-  <script>String seperatorString = "\n";\r
-if (seperator != void) {\r
-       seperatorString = seperator;\r
-}\r
-StringBuffer sb = new StringBuffer();\r
-for (Iterator i = stringlist.iterator(); i.hasNext();) {\r
-       String item = (String) i.next();\r
-       sb.append(item);\r
-       if (i.hasNext()) {\r
-               sb.append(seperatorString);\r
-       }\r
-}\r
-concatenated = sb.toString();\r
-</script>\r
-  <dependencies />\r
-  <localworkerName>org.embl.ebi.escience.scuflworkers.java.StringListMerge</localworkerName>\r
-</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="seperator" depth="0" /><port name="stringlist" depth="1" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>no_separator</name><inputPorts /><outputPorts><port><name>value</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>stringconstant-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.stringconstant.StringConstantActivity</class><inputMap /><outputMap><map from="value" to="value" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean xmlns="">\r
-  <value />\r
-</net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy /></iteration></iterationStrategyStack></processor><processor><name>gbif_occurrence_max1000</name><inputPorts><port><name>sciName</name><depth>0</depth></port><port><name>next</name><depth>0</depth></port></inputPorts><outputPorts><port><name>next</name><depth>0</depth><granularDepth>0</granularDepth></port><port><name>max1000_csv_output</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>dataflow-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.dataflow.DataflowActivity</class><inputMap><map from="next" to="next" /><map from="sciName" to="sciName" /></inputMap><outputMap><map from="next" to="next" /><map from="max1000_csv_output" to="max1000_csv_output" /></outputMap><configBean encoding="dataflow"><dataflow ref="124b440e-f7ef-445f-901b-b3d04ca3e2a7" /></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Loop</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.LoopConfiguration xmlns="">\r
-  <conditionXML>&lt;activity xmlns="http://taverna.sf.net/2008/xml/t2flow"&gt;&lt;raven&gt;&lt;group&gt;net.sf.taverna.t2.activities&lt;/group&gt;&lt;artifact&gt;beanshell-activity&lt;/artifact&gt;&lt;version&gt;1.3&lt;/version&gt;&lt;/raven&gt;&lt;class&gt;net.sf.taverna.t2.activities.beanshell.BeanshellActivity&lt;/class&gt;&lt;inputMap /&gt;&lt;outputMap /&gt;&lt;configBean encoding="xstream"&gt;&lt;net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns=""&gt;&#xD;\r
-  &lt;inputs&gt;&#xD;\r
-    &lt;net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean&gt;&#xD;\r
-      &lt;name&gt;next&lt;/name&gt;&#xD;\r
-      &lt;depth&gt;0&lt;/depth&gt;&#xD;\r
-      &lt;mimeTypes class="java.util.Collections$EmptyList" reference="../../net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean/mimeTypes" /&gt;&#xD;\r
-      &lt;handledReferenceSchemes class="java.util.Collections$EmptyList" reference="../../net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean/mimeTypes" /&gt;&#xD;\r
-      &lt;translatedElementType&gt;java.lang.String&lt;/translatedElementType&gt;&#xD;\r
-      &lt;allowsLiteralValues&gt;true&lt;/allowsLiteralValues&gt;&#xD;\r
-    &lt;/net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean&gt;&#xD;\r
-  &lt;/inputs&gt;&#xD;\r
-  &lt;outputs&gt;&#xD;\r
-    &lt;net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean&gt;&#xD;\r
-      &lt;name&gt;loop&lt;/name&gt;&#xD;\r
-      &lt;depth&gt;0&lt;/depth&gt;&#xD;\r
-      &lt;mimeTypes /&gt;&#xD;\r
-      &lt;granularDepth&gt;0&lt;/granularDepth&gt;&#xD;\r
-    &lt;/net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean&gt;&#xD;\r
-    &lt;net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean&gt;&#xD;\r
-      &lt;name&gt;next&lt;/name&gt;&#xD;\r
-      &lt;depth&gt;0&lt;/depth&gt;&#xD;\r
-      &lt;mimeTypes /&gt;&#xD;\r
-      &lt;granularDepth&gt;0&lt;/granularDepth&gt;&#xD;\r
-    &lt;/net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean&gt;&#xD;\r
-  &lt;/outputs&gt;&#xD;\r
-  &lt;classLoaderSharing&gt;workflow&lt;/classLoaderSharing&gt;&#xD;\r
-  &lt;localDependencies /&gt;&#xD;\r
-  &lt;artifactDependencies /&gt;&#xD;\r
-  &lt;script&gt;loop = "" + ! next.matches("");&lt;/script&gt;&#xD;\r
-  &lt;dependencies /&gt;&#xD;\r
-&lt;/net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean&gt;&lt;/configBean&gt;&lt;annotations /&gt;&lt;/activity&gt;</conditionXML>\r
-  <runFirst>true</runFirst>\r
-  <properties>\r
-    <property name="compareValue" value="" />\r
-    <property name="delay" value="0.5" />\r
-    <property name="comparePort" value="next" />\r
-    <property name="isFeedBack" value="true" />\r
-    <property name="comparison" value="custom" />\r
-  </properties>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.LoopConfiguration></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="sciName" depth="0" /><port name="next" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>next_value</name><inputPorts /><outputPorts><port><name>value</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>stringconstant-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.stringconstant.StringConstantActivity</class><inputMap /><outputMap><map from="value" to="value" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean xmlns="">\r
-  <value>0</value>\r
-</net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy /></iteration></iterationStrategyStack></processor><processor><name>sink</name><inputPorts><port><name>inputlist</name><depth>1</depth></port></inputPorts><outputPorts /><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="inputlist" to="inputlist" /></inputMap><outputMap /><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
-  <inputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>inputlist</name>\r
-      <depth>1</depth>\r
-      <mimeTypes>\r
-        <string>l('')</string>\r
-      </mimeTypes>\r
-      <handledReferenceSchemes />\r
-      <translatedElementType>[B</translatedElementType>\r
-      <allowsLiteralValues>true</allowsLiteralValues>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-  </inputs>\r
-  <outputs />\r
-  <classLoaderSharing>workflow</classLoaderSharing>\r
-  <localDependencies />\r
-  <artifactDependencies />\r
-  <script>outputlist = inputlist;</script>\r
-  <dependencies />\r
-  <localworkerName>org.embl.ebi.escience.scuflworkers.java.EchoList</localworkerName>\r
-</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations><annotation_chain encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.HostInstitution">\r
-        <text>UserNameHere</text>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>70807e42-4c86-4f29-a010-59166405abdd</identification>\r
       </annotationBean>\r
-      <date>2011-12-05 17:26:34.170 CET</date>\r
+      <date>2012-04-03 10:37:55.417 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
   </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain></annotations></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="inputlist" depth="1" /></cross></strategy></iteration></iterationStrategyStack></processor></processors><conditions /><datalinks><datalink><sink type="processor"><processor>Merge_String_List_to_a_String</processor><port>seperator</port></sink><source type="processor"><processor>no_separator</processor><port>value</port></source></datalink><datalink><sink type="processor"><processor>Merge_String_List_to_a_String</processor><port>stringlist</port></sink><source type="processor"><processor>gbif_occurrence_max1000</processor><port>max1000_csv_output</port></source></datalink><datalink><sink type="processor"><processor>gbif_occurrence_max1000</processor><port>sciName</port></sink><source type="dataflow"><port>sciName</port></source></datalink><datalink><sink type="processor"><processor>gbif_occurrence_max1000</processor><port>next</port></sink><source type="processor"><processor>next_value</processor><port>value</port></source></datalink><datalink><sink type="processor"><processor>sink</processor><port>inputlist</port></sink><source type="processor"><processor>gbif_occurrence_max1000</processor><port>next</port></source></datalink><datalink><sink type="dataflow"><port>csv_output</port></sink><source type="processor"><processor>Merge_String_List_to_a_String</processor><port>concatenated</port></source></datalink></datalinks><annotations><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>0a796aad-5444-420c-a88c-c1ef2411601b</identification>\r
+        <identification>5f6324c4-6c22-4687-a1df-7775aaa56b60</identification>\r
       </annotationBean>\r
-      <date>2012-01-25 16:54:33.283 CET</date>\r
+      <date>2012-03-29 15:04:35.714 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11790,9 +11566,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>4f8dd224-cc83-4af5-bbd2-dedfd09b43fe</identification>\r
+        <identification>846dc61d-6c76-4103-be41-537efaadfb33</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 17:14:37.644 CET</date>\r
+      <date>2012-04-03 10:10:58.140 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11801,9 +11577,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>a364b26a-abf3-425d-b166-ab27bf0381c5</identification>\r
+        <identification>20f22656-ec4e-4482-beb4-deafd3307b4c</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 17:04:19.721 CET</date>\r
+      <date>2012-03-30 09:51:53.423 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11812,9 +11588,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>56cae6e8-a10e-44dc-86d9-dde7c69beee3</identification>\r
+        <identification>31111fed-a35a-4c11-9db6-a1d02b24cb99</identification>\r
       </annotationBean>\r
-      <date>2012-01-31 15:45:44.504 CET</date>\r
+      <date>2012-03-29 11:19:23.122 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11823,9 +11599,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>5b4051bf-2a2a-46e8-a998-f80a766dd667</identification>\r
+        <identification>51fa84c3-cce6-49ca-8279-00fcb25c4ef1</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 15:59:00.308 CET</date>\r
+      <date>2012-03-30 09:52:21.787 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11834,9 +11610,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>9995fb53-fe1e-4aee-88c8-60bb5f2f34cf</identification>\r
+        <identification>99d35cdf-d961-456a-b4e4-2145ddd9ecf6</identification>\r
       </annotationBean>\r
-      <date>2012-01-05 16:27:19.428 CET</date>\r
+      <date>2012-03-29 16:18:24.819 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11845,9 +11621,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>68e10646-ec25-46ff-a748-a4ceb7eb8962</identification>\r
+        <identification>04f1e6b4-b358-406e-a7b2-05b8f47d451f</identification>\r
       </annotationBean>\r
-      <date>2012-01-31 17:02:32.988 CET</date>\r
+      <date>2012-03-29 11:01:42.629 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11856,9 +11632,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>feaf6e99-716b-4cc9-81b0-7255ea5a38f7</identification>\r
+        <identification>653c030b-6c50-47bc-a68e-8059e376f44b</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 16:03:20.221 CET</date>\r
+      <date>2012-03-29 16:40:12.692 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11867,9 +11643,163 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>7f0f8712-195f-48d2-9fce-5d5ff7832312</identification>\r
+        <identification>4d356981-1062-4cf6-a15d-c89cf36ae317</identification>\r
       </annotationBean>\r
-      <date>2012-01-25 16:57:56.63 CET</date>\r
+      <date>2012-04-03 17:02:49.413 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>3e040fea-6735-4c00-98fb-ff603ac82b5d</identification>\r
+      </annotationBean>\r
+      <date>2012-03-29 16:14:50.772 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>99d35cdf-d961-456a-b4e4-2145ddd9ecf6</identification>\r
+      </annotationBean>\r
+      <date>2012-03-29 16:28:08.547 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>662331cf-c169-4ff2-9de7-f4920998863c</identification>\r
+      </annotationBean>\r
+      <date>2012-04-03 09:40:50.290 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>76aff0cc-6996-4bcb-8b0c-2f7b86514118</identification>\r
+      </annotationBean>\r
+      <date>2012-03-29 15:23:13.954 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>458a2edf-d2c4-469b-a2e3-221ea98967ca</identification>\r
+      </annotationBean>\r
+      <date>2012-03-29 13:41:35.854 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>8ae6fe1c-be9b-47ec-995c-5ef9c9e6fb95</identification>\r
+      </annotationBean>\r
+      <date>2012-03-29 15:09:52.325 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>cac46121-b30a-4a16-b70b-16c707cba829</identification>\r
+      </annotationBean>\r
+      <date>2012-03-29 14:56:33.139 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>3229cc39-42a2-407a-9ff6-84faaccc5c73</identification>\r
+      </annotationBean>\r
+      <date>2012-03-29 15:28:48.301 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>c17f8e36-8a9f-4a9d-a6a4-c47b4ef89b00</identification>\r
+      </annotationBean>\r
+      <date>2012-03-29 11:03:35.785 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow><dataflow id="d7362d7b-ec6b-46e2-89b4-0552c6dc8008" role="nested"><name>Workflow199</name><inputPorts><port><name>shouldRun</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port><port><name>csvData</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port></inputPorts><outputPorts><port><name>csv_output</name><annotations /></port></outputPorts><processors><processor><name>End_Workflow</name><inputPorts><port><name>csvData</name><depth>0</depth></port></inputPorts><outputPorts><port><name>csv_output</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="csvData" to="csvData" /></inputMap><outputMap><map from="csv_output" to="csv_output" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
+  <inputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>csvData</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>text/plain</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+  </inputs>\r
+  <outputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>csv_output</name>\r
+      <depth>0</depth>\r
+      <mimeTypes />\r
+      <granularDepth>0</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+  </outputs>\r
+  <classLoaderSharing>workflow</classLoaderSharing>\r
+  <localDependencies />\r
+  <artifactDependencies />\r
+  <script>csv_output=csvData;</script>\r
+  <dependencies />\r
+</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="csvData" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor></processors><conditions /><datalinks><datalink><sink type="processor"><processor>End_Workflow</processor><port>csvData</port></sink><source type="dataflow"><port>csvData</port></source></datalink><datalink><sink type="dataflow"><port>csv_output</port></sink><source type="processor"><processor>End_Workflow</processor><port>csv_output</port></source></datalink></datalinks><annotations><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>6344c10d-f1eb-42a1-89f1-2cde815c0e51</identification>\r
+      </annotationBean>\r
+      <date>2012-03-29 15:43:08.451 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>d7362d7b-ec6b-46e2-89b4-0552c6dc8008</identification>\r
+      </annotationBean>\r
+      <date>2012-03-29 15:47:13.836 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11878,9 +11808,169 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>98429027-b6ab-4c7a-8952-f92ce82af604</identification>\r
+        <identification>a600030e-f6e9-4880-8f95-ba92febf1f24</identification>\r
+      </annotationBean>\r
+      <date>2012-03-29 15:27:57.74 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow><dataflow id="94a54de1-457f-4052-99dc-05a8e0855fa3" role="nested"><name>Workflow20</name><inputPorts><port><name>cancel</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port><port><name>csvInput</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port></inputPorts><outputPorts><port><name>csvOutput</name><annotations /></port></outputPorts><processors><processor><name>passthrough</name><inputPorts><port><name>csvin</name><depth>0</depth></port></inputPorts><outputPorts><port><name>csvout</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="csvin" to="csvin" /></inputMap><outputMap><map from="csvout" to="csvout" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
+  <inputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>csvin</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>text/plain</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+  </inputs>\r
+  <outputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>csvout</name>\r
+      <depth>0</depth>\r
+      <mimeTypes />\r
+      <granularDepth>0</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+  </outputs>\r
+  <classLoaderSharing>workflow</classLoaderSharing>\r
+  <localDependencies />\r
+  <artifactDependencies />\r
+  <script>csvout = csvin</script>\r
+  <dependencies />\r
+</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="csvin" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor></processors><conditions /><datalinks><datalink><sink type="processor"><processor>passthrough</processor><port>csvin</port></sink><source type="dataflow"><port>csvInput</port></source></datalink><datalink><sink type="dataflow"><port>csvOutput</port></sink><source type="processor"><processor>passthrough</processor><port>csvout</port></source></datalink></datalinks><annotations><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>94a54de1-457f-4052-99dc-05a8e0855fa3</identification>\r
+      </annotationBean>\r
+      <date>2012-04-03 13:28:16.645 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow><dataflow id="12806644-8a59-4917-a0bf-a32566bfe2ff" role="nested"><name>Workflow1</name><inputPorts><port><name>synResponse</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port><port><name>nameStatus</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port></inputPorts><outputPorts><port><name>colResponse</name><annotations /></port></outputPorts><processors><processor><name>COLSynCheck_REST</name><inputPorts><port><name>sciId</name><depth>0</depth></port></inputPorts><outputPorts><port><name>responseBody</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>rest-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.rest.RESTActivity</class><inputMap><map from="sciId" to="sciId" /></inputMap><outputMap><map from="responseBody" to="responseBody" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean xmlns="">\r
+  <httpMethod>GET</httpMethod>\r
+  <urlSignature>http://www.catalogueoflife.org/webservice?response=full&amp;id={sciId}</urlSignature>\r
+  <acceptsHeaderValue>application/xml</acceptsHeaderValue>\r
+  <contentTypeForUpdates>application/xml</contentTypeForUpdates>\r
+  <outgoingDataFormat>String</outgoingDataFormat>\r
+  <sendHTTPExpectRequestHeader>false</sendHTTPExpectRequestHeader>\r
+  <showRedirectionOutputPort>false</showRedirectionOutputPort>\r
+  <escapeParameters>true</escapeParameters>\r
+  <otherHTTPHeaders />\r
+  <activityInputs>\r
+    <entry>\r
+      <string>sciId</string>\r
+      <java-class>java.lang.String</java-class>\r
+    </entry>\r
+  </activityInputs>\r
+</net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="sciId" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>taxon_id_xpath</name><inputPorts /><outputPorts><port><name>value</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>stringconstant-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.stringconstant.StringConstantActivity</class><inputMap /><outputMap><map from="value" to="value" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean xmlns="">\r
+  <value>/results/result[1]/sn_id</value>\r
+</net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy /></iteration></iterationStrategyStack></processor><processor><name>FirstElement_From_XPath</name><inputPorts><port><name>xmltext</name><depth>0</depth></port><port><name>xpath</name><depth>0</depth></port></inputPorts><outputPorts><port><name>nodeVal</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="xmltext" to="xmltext" /><map from="xpath" to="xpath" /></inputMap><outputMap><map from="nodeVal" to="nodeVal" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
+  <inputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>xpath</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>text/plain</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>xmltext</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>text/plain</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+  </inputs>\r
+  <outputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>nodeVal</name>\r
+      <depth>0</depth>\r
+      <mimeTypes />\r
+      <granularDepth>0</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+  </outputs>\r
+  <classLoaderSharing>workflow</classLoaderSharing>\r
+  <localDependencies />\r
+  <artifactDependencies />\r
+  <script>import org.dom4j.Document;\r
+import org.dom4j.Node;\r
+import org.dom4j.io.SAXReader;\r
+\r
+SAXReader reader = new SAXReader(false);\r
+reader.setIncludeInternalDTDDeclarations(false);\r
+reader.setIncludeExternalDTDDeclarations(false);\r
+\r
+Document document = reader.read(new StringReader(xmltext));\r
+List nodelist = document.selectNodes(xpath);\r
+\r
+// Process the elements in the nodelist\r
+ArrayList outputList = new ArrayList();\r
+ArrayList outputXmlList = new ArrayList();\r
+\r
+String val = null;\r
+String xmlVal = null;\r
+for (Iterator iter = nodelist.iterator(); iter.hasNext();) {\r
+       Node element = (Node) iter.next();\r
+       xmlVal = element.asXML();\r
+       val = element.getStringValue();\r
+       if (val != null &amp;&amp; !val.equals("")) {\r
+               outputList.add(val);\r
+               outputXmlList.add(xmlVal);\r
+       }\r
+break;\r
+}\r
+\r
+//List nodelist=outputList;\r
+nodeVal = val;\r
+</script>\r
+  <dependencies />\r
+</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="xmltext" depth="0" /><port name="xpath" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor></processors><conditions /><datalinks><datalink><sink type="processor"><processor>COLSynCheck_REST</processor><port>sciId</port></sink><source type="processor"><processor>FirstElement_From_XPath</processor><port>nodeVal</port></source></datalink><datalink><sink type="processor"><processor>FirstElement_From_XPath</processor><port>xmltext</port></sink><source type="dataflow"><port>synResponse</port></source></datalink><datalink><sink type="processor"><processor>FirstElement_From_XPath</processor><port>xpath</port></sink><source type="processor"><processor>taxon_id_xpath</processor><port>value</port></source></datalink><datalink><sink type="dataflow"><port>colResponse</port></sink><source type="processor"><processor>COLSynCheck_REST</processor><port>responseBody</port></source></datalink></datalinks><annotations><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>91226a57-267d-49c5-adc4-fab3dda2880a</identification>\r
       </annotationBean>\r
-      <date>2012-01-13 16:44:12.623 CET</date>\r
+      <date>2012-01-23 18:00:29.942 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11889,9 +11979,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>a87dd75f-af3c-44ad-9718-b7125a22089f</identification>\r
+        <identification>1d63adfb-85c4-4ce2-a039-13daee06364a</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 17:21:03.648 CET</date>\r
+      <date>2012-01-23 17:41:34.44 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11900,9 +11990,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>533cbe09-7d47-4443-a85e-7a85ba750924</identification>\r
+        <identification>0bc37d95-ca84-4270-9a68-a33a6563caa4</identification>\r
       </annotationBean>\r
-      <date>2012-02-07 17:33:24.631 CET</date>\r
+      <date>2012-01-23 17:32:43.771 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11911,9 +12001,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>4337a0e1-a09d-4b68-8660-637490e21edb</identification>\r
+        <identification>126219a1-2553-4015-a3cb-56f21d51f599</identification>\r
       </annotationBean>\r
-      <date>2012-01-31 15:58:55.276 CET</date>\r
+      <date>2012-01-23 17:18:47.464 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11922,9 +12012,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>c818b2a9-90a8-4fc2-9c42-8066af346cba</identification>\r
+        <identification>09763558-ce78-4cf7-bde5-1a202ba7953c</identification>\r
       </annotationBean>\r
-      <date>2012-01-31 15:47:04.807 CET</date>\r
+      <date>2012-01-23 17:47:09.64 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11933,9 +12023,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>8fd4d664-f4f1-48b8-a9a6-36c420e7214e</identification>\r
+        <identification>ca3ec15d-1ea5-4bf2-a81f-136065d1d38b</identification>\r
       </annotationBean>\r
-      <date>2012-01-13 15:45:48.22 CET</date>\r
+      <date>2012-01-23 17:48:54.281 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11944,9 +12034,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>9b4884d3-e15c-4b7d-b142-29bf6a7dd990</identification>\r
+        <identification>3114c079-dc39-46d0-8feb-99dc0f686512</identification>\r
       </annotationBean>\r
-      <date>2012-02-07 17:48:17.932 CET</date>\r
+      <date>2012-01-23 17:33:51.189 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11955,9 +12045,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>2547dd85-519d-4636-8ee9-3b380ad378ab</identification>\r
+        <identification>cff680af-4261-4881-8faa-0c3f155a4f1b</identification>\r
       </annotationBean>\r
-      <date>2012-02-07 17:38:22.701 CET</date>\r
+      <date>2012-01-23 17:27:35.142 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11966,9 +12056,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>e0b1887f-8e9c-43d7-bb75-ee3b5e382834</identification>\r
+        <identification>8eb05b48-f79d-4448-80a7-d45520247aee</identification>\r
       </annotationBean>\r
-      <date>2012-01-31 16:29:30.593 CET</date>\r
+      <date>2012-01-24 14:00:38.765 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11977,9 +12067,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>8dc4d420-1edf-473f-b111-d6510f6f026e</identification>\r
+        <identification>12806644-8a59-4917-a0bf-a32566bfe2ff</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 17:47:36.491 CET</date>\r
+      <date>2012-02-10 12:40:34.784 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11988,9 +12078,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>9b1c8f07-a857-4d04-b260-b13bcf331662</identification>\r
+        <identification>f856eeda-c416-44e3-b84a-3a0b3b8cd10d</identification>\r
       </annotationBean>\r
-      <date>2012-01-31 16:03:53.673 CET</date>\r
+      <date>2012-01-23 17:37:08.778 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -11999,9 +12089,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>8218cf20-6aa4-4a85-a62a-da0b401991cd</identification>\r
+        <identification>75f5a83c-3008-466a-ad20-33e95ba9ff15</identification>\r
       </annotationBean>\r
-      <date>2012-02-09 17:39:17.418 CET</date>\r
+      <date>2012-01-23 17:38:12.894 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -12010,9 +12100,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>d044d916-0adb-4065-b39f-8357372e42cc</identification>\r
+        <identification>6be0b511-0710-45a1-a809-31681f072659</identification>\r
       </annotationBean>\r
-      <date>2012-01-13 15:44:17.623 CET</date>\r
+      <date>2012-01-23 17:30:31.962 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -12021,9 +12111,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>89f2b55a-52b9-43e9-a4a7-04fe6baca933</identification>\r
+        <identification>9b2ea773-b806-4c88-9dd8-8d952d8a0755</identification>\r
       </annotationBean>\r
-      <date>2012-03-02 16:39:26.106 CET</date>\r
+      <date>2012-01-24 14:32:22.796 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -12032,20 +12122,107 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>54d71067-a78a-4e3b-a54f-d47f75bd2adf</identification>\r
+        <identification>07ec689f-59aa-4be9-8481-5f8e3f6000cf</identification>\r
       </annotationBean>\r
-      <date>2012-01-31 16:10:34.267 CET</date>\r
+      <date>2012-01-23 17:45:21.174 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
   </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow><dataflow id="31fdf50d-202d-439f-b858-6011a70e3d1d" role="nested"><name>Workflow38</name><inputPorts><port><name>jobID</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port></inputPorts><outputPorts><port><name>upload_status</name><annotations /></port></outputPorts><processors><processor><name>Upload_Status_Service</name><inputPorts><port><name>jobID</name><depth>0</depth></port></inputPorts><outputPorts><port><name>responseBody</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>rest-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.rest.RESTActivity</class><inputMap><map from="jobID" to="jobID" /></inputMap><outputMap><map from="responseBody" to="responseBody" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean xmlns="">\r
+  <httpMethod>POST</httpMethod>\r
+  <urlSignature>http://127.0.0.1:3333/command/core/get-importing-job-status?jobID={jobID}</urlSignature>\r
+  <acceptsHeaderValue>application/json</acceptsHeaderValue>\r
+  <contentTypeForUpdates>multipart/form-data</contentTypeForUpdates>\r
+  <outgoingDataFormat>String</outgoingDataFormat>\r
+  <sendHTTPExpectRequestHeader>false</sendHTTPExpectRequestHeader>\r
+  <showRedirectionOutputPort>false</showRedirectionOutputPort>\r
+  <escapeParameters>true</escapeParameters>\r
+  <otherHTTPHeaders />\r
+  <activityInputs>\r
+    <entry>\r
+      <string>jobID</string>\r
+      <java-class>java.lang.String</java-class>\r
+    </entry>\r
+  </activityInputs>\r
+</net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="jobID" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Parse_Data_Upload</name><inputPorts><port><name>jsonStr</name><depth>0</depth></port></inputPorts><outputPorts><port><name>upload_ok</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="jsonStr" to="jsonStr" /></inputMap><outputMap><map from="upload_ok" to="upload_ok" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
+  <inputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>jsonStr</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>text/plain</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+  </inputs>\r
+  <outputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>jsonErr</name>\r
+      <depth>0</depth>\r
+      <mimeTypes />\r
+      <granularDepth>0</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>upload_ok</name>\r
+      <depth>0</depth>\r
+      <mimeTypes />\r
+      <granularDepth>0</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+  </outputs>\r
+  <classLoaderSharing>workflow</classLoaderSharing>\r
+  <localDependencies>\r
+    <string>json-simple-1.1.1.jar</string>\r
+  </localDependencies>\r
+  <artifactDependencies />\r
+  <script>package org.bgbm.biovel.datacleaning.utils;\r
+\r
+import org.json.simple.parser.JSONParser;\r
+import org.json.simple.JSONArray;\r
+import org.json.simple.JSONObject;\r
+import org.json.simple.parser.ParseException;\r
+\r
+upload_ok = "false";\r
+JSONParser parser=new JSONParser();\r
+       try {  \r
+           Object obj=parser.parse(jsonStr);\r
+           JSONObject jobj=(JSONObject)obj;\r
+           JSONObject job = (JSONObject)jobj.get("job");\r
+           JSONObject config = (JSONObject)job.get("config");\r
+           boolean hasData = config.get("hasData");\r
+           String state = config.get("state");\r
+           if(hasData &amp;&amp; state.equals("ready"))\r
+               upload_ok="true";\r
+       } catch(ParseException pe) {\r
+           jsonErr = pe.getMessage();\r
+       }  \r
+\r
+    \r
+</script>\r
+  <dependencies />\r
+</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="jsonStr" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor></processors><conditions /><datalinks><datalink><sink type="processor"><processor>Upload_Status_Service</processor><port>jobID</port></sink><source type="dataflow"><port>jobID</port></source></datalink><datalink><sink type="processor"><processor>Parse_Data_Upload</processor><port>jsonStr</port></sink><source type="processor"><processor>Upload_Status_Service</processor><port>responseBody</port></source></datalink><datalink><sink type="dataflow"><port>upload_status</port></sink><source type="processor"><processor>Parse_Data_Upload</processor><port>upload_ok</port></source></datalink></datalinks><annotations><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>7a284b5d-ac86-416b-a639-27e9dc335bd6</identification>\r
+        <identification>86bf6ca4-201f-450e-bc88-9922b490aa68</identification>\r
       </annotationBean>\r
-      <date>2012-02-07 17:40:29.204 CET</date>\r
+      <date>2012-03-09 13:03:05.472 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -12054,9 +12231,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>7cbd63e4-d73d-42d9-9133-4f359b06efb5</identification>\r
+        <identification>d5398ff1-78d8-48ba-ace4-b0daec6ea8a0</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 14:51:19.40 CET</date>\r
+      <date>2012-03-09 13:08:09.391 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -12065,9 +12242,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>46828567-904f-4105-96ef-0bf268ada001</identification>\r
+        <identification>841ea555-f5f8-4f25-b8f1-c1a28ac1e6f3</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 17:06:50.222 CET</date>\r
+      <date>2012-03-09 13:00:14.572 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -12076,9 +12253,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>9f8d21c5-2523-4485-a181-01e6de804d4d</identification>\r
+        <identification>a5c16a81-e8fb-4cd3-b620-3b972e1fea15</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 17:35:34.596 CET</date>\r
+      <date>2012-03-09 13:04:55.106 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -12087,9 +12264,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>e2b4ef4f-5ce6-47fd-9aed-3042a7d27529</identification>\r
+        <identification>31fdf50d-202d-439f-b858-6011a70e3d1d</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 16:20:24.718 CET</date>\r
+      <date>2012-03-14 14:37:03.161 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -12098,20 +12275,113 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>32faa1ef-391d-4360-8bb4-cc7f25b963a1</identification>\r
+        <identification>d2599501-a88c-4658-b1d5-889cd67a4844</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 17:19:44.583 CET</date>\r
+      <date>2012-03-09 12:53:00.448 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
   </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow><dataflow id="7b1fa700-830f-4e0e-a100-1c3b33b9f677" role="nested"><name>Workflow9</name><inputPorts><port><name>jobID</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port></inputPorts><outputPorts><port><name>percent</name><annotations /></port><port><name>projectID</name><annotations /></port></outputPorts><processors><processor><name>Create_Project_Status_Service</name><inputPorts><port><name>jobID</name><depth>0</depth></port></inputPorts><outputPorts><port><name>responseBody</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>rest-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.rest.RESTActivity</class><inputMap><map from="jobID" to="jobID" /></inputMap><outputMap><map from="responseBody" to="responseBody" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean xmlns="">\r
+  <httpMethod>POST</httpMethod>\r
+  <urlSignature>http://127.0.0.1:3333/command/core/get-importing-job-status?jobID={jobID}</urlSignature>\r
+  <acceptsHeaderValue>application/json</acceptsHeaderValue>\r
+  <contentTypeForUpdates>application/xml</contentTypeForUpdates>\r
+  <outgoingDataFormat>String</outgoingDataFormat>\r
+  <sendHTTPExpectRequestHeader>false</sendHTTPExpectRequestHeader>\r
+  <showRedirectionOutputPort>false</showRedirectionOutputPort>\r
+  <escapeParameters>true</escapeParameters>\r
+  <otherHTTPHeaders />\r
+  <activityInputs>\r
+    <entry>\r
+      <string>jobID</string>\r
+      <java-class>java.lang.String</java-class>\r
+    </entry>\r
+  </activityInputs>\r
+</net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="jobID" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Parse_Project</name><inputPorts><port><name>jsonStr</name><depth>0</depth></port></inputPorts><outputPorts><port><name>percent</name><depth>0</depth><granularDepth>0</granularDepth></port><port><name>projectID</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="jsonStr" to="jsonStr" /></inputMap><outputMap><map from="projectID" to="projectID" /><map from="percent" to="percent" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
+  <inputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>jsonStr</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>text/plain</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+  </inputs>\r
+  <outputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>jsonErr</name>\r
+      <depth>0</depth>\r
+      <mimeTypes />\r
+      <granularDepth>0</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>projectID</name>\r
+      <depth>0</depth>\r
+      <mimeTypes />\r
+      <granularDepth>0</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>percent</name>\r
+      <depth>0</depth>\r
+      <mimeTypes />\r
+      <granularDepth>0</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+  </outputs>\r
+  <classLoaderSharing>workflow</classLoaderSharing>\r
+  <localDependencies>\r
+    <string>json-simple-1.1.1.jar</string>\r
+  </localDependencies>\r
+  <artifactDependencies />\r
+  <script>package org.bgbm.biovel.datacleaning.utils;\r
+\r
+import org.json.simple.parser.JSONParser;\r
+import org.json.simple.JSONArray;\r
+import org.json.simple.JSONObject;\r
+import org.json.simple.parser.ParseException;\r
+\r
+projectID = -1;\r
+percent = 0;\r
+JSONParser parser=new JSONParser();\r
+       try {  \r
+           Object obj=parser.parse(jsonStr);\r
+           JSONObject jobj=(JSONObject)obj;\r
+           JSONObject job = (JSONObject)jobj.get("job");\r
+           JSONObject config = (JSONObject)job.get("config");\r
+           JSONObject progress = (JSONObject)config.get("progress");\r
+           percent = progress.get("percent");\r
+           projectID = config.get("projectID");\r
+       } catch(ParseException pe) {\r
+           jsonErr = pe.getMessage();\r
+       }  \r
+\r
+    \r
+</script>\r
+  <dependencies />\r
+</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="jsonStr" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor></processors><conditions /><datalinks><datalink><sink type="processor"><processor>Create_Project_Status_Service</processor><port>jobID</port></sink><source type="dataflow"><port>jobID</port></source></datalink><datalink><sink type="processor"><processor>Parse_Project</processor><port>jsonStr</port></sink><source type="processor"><processor>Create_Project_Status_Service</processor><port>responseBody</port></source></datalink><datalink><sink type="dataflow"><port>percent</port></sink><source type="processor"><processor>Parse_Project</processor><port>percent</port></source></datalink><datalink><sink type="dataflow"><port>projectID</port></sink><source type="processor"><processor>Parse_Project</processor><port>projectID</port></source></datalink></datalinks><annotations><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>b5b6d740-cc89-4450-8e5b-44fcac2bfee2</identification>\r
+        <identification>62dc4167-612a-47f7-9daa-1cc5111355c9</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 15:00:31.584 CET</date>\r
+      <date>2012-03-08 17:34:26.153 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -12120,9 +12390,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>8a58b613-ac30-4ec1-9877-8221a6654ff4</identification>\r
+        <identification>7b1fa700-830f-4e0e-a100-1c3b33b9f677</identification>\r
       </annotationBean>\r
-      <date>2012-01-03 12:48:44.529 CET</date>\r
+      <date>2012-03-08 17:36:57.329 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -12131,9 +12401,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>273737ec-425c-4577-8d2a-963156312cfd</identification>\r
+        <identification>5415b66c-0cdb-4425-b654-3347857519ef</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 15:56:51.418 CET</date>\r
+      <date>2012-03-08 17:25:55.318 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -12142,20 +12412,53 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>82083c79-a4c9-4d8c-bf19-3e89ff2276e6</identification>\r
+        <identification>e1894c1f-5daf-48d9-9aa0-0432bc2e330b</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 15:05:39.350 CET</date>\r
+      <date>2012-03-08 17:35:06.427 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
   </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow><dataflow id="89482956-6a9c-4300-ace2-d8cebb2c4750" role="nested"><name>Workflow21</name><inputPorts><port><name>nameStatus</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port><port><name>colResponseIN</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port></inputPorts><outputPorts><port><name>colResponse</name><annotations /></port></outputPorts><processors><processor><name>AssignInputOutput</name><inputPorts><port><name>in</name><depth>0</depth></port></inputPorts><outputPorts><port><name>out</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="in" to="in" /></inputMap><outputMap><map from="out" to="out" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
+  <inputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>in</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>text/plain</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+  </inputs>\r
+  <outputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>out</name>\r
+      <depth>0</depth>\r
+      <mimeTypes />\r
+      <granularDepth>0</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+  </outputs>\r
+  <classLoaderSharing>workflow</classLoaderSharing>\r
+  <localDependencies />\r
+  <artifactDependencies />\r
+  <script>out = in;</script>\r
+  <dependencies />\r
+</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="in" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor></processors><conditions /><datalinks><datalink><sink type="processor"><processor>AssignInputOutput</processor><port>in</port></sink><source type="dataflow"><port>colResponseIN</port></source></datalink><datalink><sink type="dataflow"><port>colResponse</port></sink><source type="processor"><processor>AssignInputOutput</processor><port>out</port></source></datalink></datalinks><annotations><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>8f681f37-c9a0-4f78-b668-0df9c735e332</identification>\r
+        <identification>810c97ff-1258-47ad-a9fa-c018449828ef</identification>\r
       </annotationBean>\r
-      <date>2012-01-13 15:24:58.691 CET</date>\r
+      <date>2012-01-24 14:06:51.959 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -12164,9 +12467,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>5dbd6255-5adc-46fb-a4c6-ed77d56af267</identification>\r
+        <identification>8da12769-2015-408b-a6e2-d331a50c9c96</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 17:16:27.428 CET</date>\r
+      <date>2012-01-24 14:10:10.838 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -12175,9 +12478,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>3322b5a3-1530-4824-9300-ba6a6b18b7f1</identification>\r
+        <identification>95364f28-7f90-498a-bc62-1d1ede09052c</identification>\r
       </annotationBean>\r
-      <date>2012-01-31 16:27:20.693 CET</date>\r
+      <date>2012-01-24 14:08:22.102 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -12186,9 +12489,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>25217334-644c-43ed-bd13-7a3b2a03d5c1</identification>\r
+        <identification>6eadb547-663a-49c7-bdf8-a23b2d7f4123</identification>\r
       </annotationBean>\r
-      <date>2012-01-31 16:20:23.935 CET</date>\r
+      <date>2012-01-24 14:07:22.177 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -12197,9 +12500,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>f41b5d1f-a3a6-4fcb-a52a-748150c35471</identification>\r
+        <identification>b8e14154-831e-41ce-b590-9f6daaa9fa67</identification>\r
       </annotationBean>\r
-      <date>2012-02-07 17:22:31.525 CET</date>\r
+      <date>2012-01-24 14:12:26.300 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -12208,9 +12511,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>aec72d1d-786a-4ccc-afb5-c712166bc3e2</identification>\r
+        <identification>89482956-6a9c-4300-ace2-d8cebb2c4750</identification>\r
       </annotationBean>\r
-      <date>2012-01-31 16:33:25.857 CET</date>\r
+      <date>2012-01-24 14:27:28.355 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -12219,31 +12522,256 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>818abfc6-bd93-4bbd-9c36-68b73b0af681</identification>\r
+        <identification>724a8409-b76e-40b8-ab78-45fad288675b</identification>\r
       </annotationBean>\r
-      <date>2012-02-08 15:37:32.562 CET</date>\r
+      <date>2012-01-24 14:06:25.755 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
   </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow><dataflow id="85ba17c1-2e24-49d8-a00b-84acb2a1cf61" role="nested"><name>Workflow33</name><inputPorts><port><name>sciName</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port></inputPorts><outputPorts><port><name>csv_output</name><annotations /></port></outputPorts><processors><processor><name>slwArtDataBank_to_csv_xsl</name><inputPorts /><outputPorts><port><name>value</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>stringconstant-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.stringconstant.StringConstantActivity</class><inputMap /><outputMap><map from="value" to="value" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean xmlns="">\r
+  <value>http://ww2.bgbm.org/temp/biovel/slwArtDataBank_to_csv.xsl</value>\r
+</net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy /></iteration></iterationStrategyStack></processor><processor><name>slwOccurrence</name><inputPorts><port><name>scientificNameFilter</name><depth>0</depth></port></inputPorts><outputPorts><port><name>responseBody</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>rest-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.rest.RESTActivity</class><inputMap><map from="scientificNameFilter" to="scientificNameFilter" /></inputMap><outputMap><map from="responseBody" to="responseBody" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean xmlns="">\r
+  <httpMethod>GET</httpMethod>\r
+  <urlSignature>http://slwgeo.artdata.slu.se:8080/geoserver/wfs?&amp;VERSION=1.0.0&amp;SERVICE=WFS&amp;REQUEST=GetFeature&amp;TYPENAME=SLW:SwedishSpeciesDarwinCore_1.5&amp;Filter={scientificNameFilter}</urlSignature>\r
+  <acceptsHeaderValue>application/xml</acceptsHeaderValue>\r
+  <contentTypeForUpdates>application/xml</contentTypeForUpdates>\r
+  <outgoingDataFormat>String</outgoingDataFormat>\r
+  <sendHTTPExpectRequestHeader>false</sendHTTPExpectRequestHeader>\r
+  <showRedirectionOutputPort>false</showRedirectionOutputPort>\r
+  <escapeParameters>true</escapeParameters>\r
+  <otherHTTPHeaders />\r
+  <activityInputs>\r
+    <entry>\r
+      <string>scientificNameFilter</string>\r
+      <java-class>java.lang.String</java-class>\r
+    </entry>\r
+  </activityInputs>\r
+</net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="scientificNameFilter" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>slw_filter_generator</name><inputPorts><port><name>sciName</name><depth>0</depth></port></inputPorts><outputPorts><port><name>filter</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="sciName" to="sciName" /></inputMap><outputMap><map from="filter" to="filter" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
+  <inputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>sciName</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>text/plain</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+  </inputs>\r
+  <outputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>filter</name>\r
+      <depth>0</depth>\r
+      <mimeTypes />\r
+      <granularDepth>0</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+  </outputs>\r
+  <classLoaderSharing>workflow</classLoaderSharing>\r
+  <localDependencies />\r
+  <artifactDependencies />\r
+  <script>\r
+filter = "&lt;Filter&gt;&lt;PropertyIsLike wildCard='*' singleChar='.' escape='!'&gt;&lt;PropertyName&gt;scientificName&lt;/PropertyName&gt;&lt;Literal&gt;*" + sciName + "*&lt;/Literal&gt;&lt;/PropertyIsLike&gt;&lt;/Filter&gt;";</script>\r
+  <dependencies />\r
+</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="sciName" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Transform_XML_String</name><inputPorts><port><name>inString</name><depth>0</depth></port><port><name>xslFileURL</name><depth>0</depth></port></inputPorts><outputPorts><port><name>outputStr</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="inString" to="inString" /><map from="xslFileURL" to="xslFileURL" /></inputMap><outputMap><map from="outputStr" to="outputStr" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
+  <inputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>xslFileURL</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>'text/plain'</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>outFileURL</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>'text/plain'</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>inString</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>'text/plain'</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>outputExt</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>'text/plain'</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+  </inputs>\r
+  <outputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>outputStr</name>\r
+      <depth>0</depth>\r
+      <mimeTypes />\r
+      <granularDepth>0</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+  </outputs>\r
+  <classLoaderSharing>workflow</classLoaderSharing>\r
+  <localDependencies />\r
+  <artifactDependencies />\r
+  <script>import java.io.BufferedReader;\r
+import java.io.BufferedWriter;\r
+import java.io.FileInputStream;\r
+import java.io.FileNotFoundException;\r
+import java.io.FileReader;\r
+import java.io.FileWriter;\r
+import java.io.IOException;\r
+import java.io.InputStreamReader;\r
+import java.io.OutputStreamWriter;\r
+import java.io.StringWriter;\r
+import java.io.StringReader;\r
+import java.io.Writer;\r
+import java.net.URL;\r
+import java.util.HashMap;\r
+import java.util.Map;\r
+\r
+import javax.xml.transform.Result;\r
+import javax.xml.transform.Source;\r
+import javax.xml.transform.SourceLocator;\r
+import javax.xml.transform.Templates;\r
+import javax.xml.transform.Transformer;\r
+import javax.xml.transform.TransformerConfigurationException;\r
+import javax.xml.transform.TransformerException;\r
+import javax.xml.transform.TransformerFactory;\r
+import javax.xml.transform.stream.StreamResult;\r
+import javax.xml.transform.stream.StreamSource;\r
+\r
+BufferedReader getReader (String fileUrl) throws IOException {\r
+               InputStreamReader reader;\r
+               try {\r
+                       reader = new FileReader(fileUrl);\r
+               }\r
+               catch (FileNotFoundException e) {\r
+                       // try a real URL instead\r
+                       URL url = new URL(fileUrl);\r
+                       reader = new InputStreamReader (url.openStream());\r
+               }\r
+               return new BufferedReader(reader);\r
+       }\r
+       \r
+BufferedWriter getWriter (String fileUrl) throws IOException {\r
+               Writer writer;\r
+               try {\r
+                       writer = new FileWriter(fileUrl);\r
+               }\r
+               catch (FileNotFoundException e) {\r
+                       // try a real URL instead\r
+                       URL url = new URL(fileUrl);\r
+                       writer = new OutputStreamWriter (url.openConnection().getOutputStream());\r
+               }\r
+               return new BufferedWriter(writer);\r
+       }\r
+       \r
+String xslFilename = xslFileURL;\r
+String outFilename;\r
+if (outFileURL != void) {\r
+    outFilename = outFileURL;\r
+}\r
+\r
+String ext;\r
+if (outputExt != void) {\r
+    ext = outputExt;\r
+}\r
+\r
+\r
+\r
+// Create transformer factory\r
+TransformerFactory factory = TransformerFactory.newInstance();\r
+\r
+// Use the factory to create a template containing the xsl file\r
+Templates template = factory.newTemplates(new StreamSource(getReader(xslFilename)));\r
+\r
+// Use the template to create a transformer\r
+Transformer xformer = template.newTransformer();\r
+\r
+// Prepare the input and output files\r
+Reader sourceReader = new StringReader(inString);\r
+Source source = new StreamSource(sourceReader);\r
+StringWriter resultStr = new StringWriter();\r
+Result result = new StreamResult(resultStr);\r
+\r
+// Apply the xsl file to the source file and write the result to the\r
+// output file\r
+xformer.transform(source, result);\r
+\r
+outputStr = resultStr.toString();\r
+\r
+if ((outFilename != null) &amp;&amp; !outFilename.equals("")) {\r
+\r
+       BufferedWriter out = getWriter(outFilename);\r
+\r
+       out.write(outputStr);\r
+       out.close();\r
+}\r
+sourceReader.close();\r
+</script>\r
+  <dependencies />\r
+  <localworkerName>net.sourceforge.taverna.scuflworkers.xml.XSLTWorker</localworkerName>\r
+</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations><annotation_chain encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>6baa5e11-586d-4f13-b6f4-92c61c10ec9a</identification>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.HostInstitution">\r
+        <text>UserNameHere</text>\r
       </annotationBean>\r
-      <date>2012-01-13 15:29:27.496 CET</date>\r
+      <date>2012-01-13 17:08:38.768 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
   </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain></annotations></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="inString" depth="0" /><port name="xslFileURL" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor></processors><conditions /><datalinks><datalink><sink type="processor"><processor>slwOccurrence</processor><port>scientificNameFilter</port></sink><source type="processor"><processor>slw_filter_generator</processor><port>filter</port></source></datalink><datalink><sink type="processor"><processor>slw_filter_generator</processor><port>sciName</port></sink><source type="dataflow"><port>sciName</port></source></datalink><datalink><sink type="processor"><processor>Transform_XML_String</processor><port>inString</port></sink><source type="processor"><processor>slwOccurrence</processor><port>responseBody</port></source></datalink><datalink><sink type="processor"><processor>Transform_XML_String</processor><port>xslFileURL</port></sink><source type="processor"><processor>slwArtDataBank_to_csv_xsl</processor><port>value</port></source></datalink><datalink><sink type="dataflow"><port>csv_output</port></sink><source type="processor"><processor>Transform_XML_String</processor><port>outputStr</port></source></datalink></datalinks><annotations><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>7be40bed-1839-4117-81ff-49391e0fe35a</identification>\r
+        <identification>c2694978-40f8-4032-af83-fce1617d630e</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 17:52:39.889 CET</date>\r
+      <date>2012-03-20 16:44:25.215 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -12252,9 +12780,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>eb452b59-dcaf-4db0-8f72-244455633870</identification>\r
+        <identification>15151ee4-7e16-4331-acb4-34a735cf3631</identification>\r
       </annotationBean>\r
-      <date>2012-01-13 15:40:37.647 CET</date>\r
+      <date>2012-03-20 16:54:42.882 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -12263,9 +12791,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>6e0d1517-2294-4837-b994-80604a634cd0</identification>\r
+        <identification>85ba17c1-2e24-49d8-a00b-84acb2a1cf61</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 15:55:00.474 CET</date>\r
+      <date>2012-03-22 09:26:26.82 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -12274,9 +12802,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>eeab83cc-69df-4a18-a6ad-e33a5cc51f35</identification>\r
+        <identification>a6cc5fd4-fe4a-461f-a371-bc5b87bc0513</identification>\r
       </annotationBean>\r
-      <date>2012-01-13 16:59:53.791 CET</date>\r
+      <date>2012-03-20 16:48:17.526 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -12285,9 +12813,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>2764b0d8-8242-40ea-b0a3-ddf550e8dc59</identification>\r
+        <identification>0ae246b3-cb94-4c25-851c-d306d21ad467</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 16:21:21.874 CET</date>\r
+      <date>2012-03-20 17:37:48.845 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -12296,9 +12824,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>97a86075-f1f7-4e46-a383-cec4b7b16ec4</identification>\r
+        <identification>1c711ced-b003-47e0-bd32-3abd5705da83</identification>\r
       </annotationBean>\r
-      <date>2012-01-31 16:24:57.958 CET</date>\r
+      <date>2012-03-22 09:26:09.603 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -12307,9 +12835,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>53f8a5ae-069d-4470-8da0-2df125dc5ec8</identification>\r
+        <identification>c0f096ee-4813-461c-a55a-6d153f3d06fb</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 17:50:56.83 CET</date>\r
+      <date>2012-03-21 13:13:48.453 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -12318,9 +12846,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>d8d8cbfe-4a10-4903-b5d6-a1dbd68a1e0f</identification>\r
+        <identification>986b70a2-9f54-4b20-80a8-aead9fdd537d</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 17:43:58.338 CET</date>\r
+      <date>2012-03-21 17:56:36.196 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -12329,9 +12857,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>62f4cd4d-508e-409c-8e06-3fef4020fa97</identification>\r
+        <identification>eafd7ab2-9c8f-4bfc-bac6-31e87a14286c</identification>\r
       </annotationBean>\r
-      <date>2012-02-07 17:25:22.963 CET</date>\r
+      <date>2012-03-20 16:59:03.163 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -12340,9 +12868,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>1e0e6327-6000-40bb-bb2f-fb8f118350f0</identification>\r
+        <identification>1f00c813-cd52-4caa-8030-892cccb3ab13</identification>\r
       </annotationBean>\r
-      <date>2012-02-07 18:14:57.3 CET</date>\r
+      <date>2012-03-20 17:39:54.780 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -12351,9 +12879,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>974e04bd-3efb-424a-9e35-2cd9f4fcd274</identification>\r
+        <identification>1dd9b6f5-24e8-4ea7-875f-4e98f9d135e4</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 17:23:23.829 CET</date>\r
+      <date>2012-03-21 13:25:11.607 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -12362,9 +12890,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>b123cffa-dcf7-4e76-85e6-0dc999f97104</identification>\r
+        <identification>f4b19cf9-23f9-483a-ad3c-bfd981052f51</identification>\r
       </annotationBean>\r
-      <date>2012-02-07 18:09:06.414 CET</date>\r
+      <date>2012-03-20 16:53:37.766 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -12373,9 +12901,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>69821203-d769-45ce-a3bb-145a9964679f</identification>\r
+        <identification>1db7de4d-ac2e-4ce8-aa12-e50f2535dd51</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 15:04:12.378 CET</date>\r
+      <date>2012-03-20 17:01:09.185 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -12384,9 +12912,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>fc6e1c60-48ee-4b31-b03c-56578917a502</identification>\r
+        <identification>62e3c568-62d4-405a-85e1-59356b885e27</identification>\r
       </annotationBean>\r
-      <date>2012-02-07 17:54:50.374 CET</date>\r
+      <date>2012-03-20 17:00:24.471 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -12395,20 +12923,27 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>d4040120-4a6d-4a24-8bf4-73dd22e762c3</identification>\r
+        <identification>7d53acd3-c1d9-4ab0-9552-7dd5b3955adf</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 16:46:06.131 CET</date>\r
+      <date>2012-03-21 17:55:21.599 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
   </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow><dataflow id="2d2d9854-192c-4bf1-b17c-6605821b4423" role="nested"><name>Workflow169</name><inputPorts><port><name>shouldRun</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port><port><name>csvData</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port></inputPorts><outputPorts><port><name>csv_ouput</name><annotations /></port></outputPorts><processors><processor><name>Syn_Exp_Occ_Ret</name><inputPorts><port><name>csvData</name><depth>0</depth></port></inputPorts><outputPorts><port><name>csv_output</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>dataflow-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.dataflow.DataflowActivity</class><inputMap><map from="csvData" to="csvData" /></inputMap><outputMap><map from="csv_output" to="csv_output" /></outputMap><configBean encoding="dataflow"><dataflow ref="b4c96465-61be-4e99-bd05-52ba51a75f42" /></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="csvData" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor></processors><conditions /><datalinks><datalink><sink type="processor"><processor>Syn_Exp_Occ_Ret</processor><port>csvData</port></sink><source type="dataflow"><port>csvData</port></source></datalink><datalink><sink type="dataflow"><port>csv_ouput</port></sink><source type="processor"><processor>Syn_Exp_Occ_Ret</processor><port>csv_output</port></source></datalink></datalinks><annotations><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>d705a674-a106-4328-b611-2deb72c4620b</identification>\r
+        <identification>2d2d9854-192c-4bf1-b17c-6605821b4423</identification>\r
       </annotationBean>\r
-      <date>2012-01-31 16:22:50.732 CET</date>\r
+      <date>2012-04-03 17:02:05.350 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -12417,9 +12952,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>097d3ac1-d144-4f87-81f4-6b995a524fee</identification>\r
+        <identification>31e4528f-d7d4-45d4-8fdc-e2d85a98fd9e</identification>\r
       </annotationBean>\r
-      <date>2012-02-07 17:42:08.823 CET</date>\r
+      <date>2012-03-29 15:33:39.687 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -12428,9 +12963,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>b87d4830-e4c0-4665-972b-b60353b71873</identification>\r
+        <identification>d72c319e-e7e1-48e8-85e1-37ebe66b92cd</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 16:29:06.484 CET</date>\r
+      <date>2012-03-29 15:10:59.480 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -12439,9 +12974,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>5f7faf68-279b-4c53-84ca-6746a5fa7832</identification>\r
+        <identification>481193bb-155a-4448-81bb-24c8e77a6801</identification>\r
       </annotationBean>\r
-      <date>2012-01-31 16:40:24.470 CET</date>\r
+      <date>2012-04-03 09:40:45.595 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -12450,9 +12985,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>d3e29f08-a44b-4bb2-9896-4f325e0499d3</identification>\r
+        <identification>8ec6ae8e-b2d8-4dd6-b2ee-85e1ecaec132</identification>\r
       </annotationBean>\r
-      <date>2012-01-13 17:09:46.986 CET</date>\r
+      <date>2012-03-29 17:02:21.736 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -12461,9 +12996,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>dedef59b-8e8b-4e4d-8903-5f8c54422215</identification>\r
+        <identification>71f1ee5f-1682-4671-8ef4-b0cc2f24f426</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 16:04:37.936 CET</date>\r
+      <date>2012-03-29 15:00:58.820 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -12472,9 +13007,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>df805bf7-d2c5-436b-a770-ba2258ed78c5</identification>\r
+        <identification>6da3d3fa-470a-4440-b57e-5c80e3e69eaa</identification>\r
       </annotationBean>\r
-      <date>2012-01-31 16:39:08.415 CET</date>\r
+      <date>2012-03-30 15:17:02.946 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r