Create a mirror process for each new nested workflow
diff --git a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/Converter.java b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/Converter.java
index 2f77d05..4134783 100644
--- a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/Converter.java
+++ b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/Converter.java
@@ -179,10 +179,14 @@
         Set<OutputWorkflowPort> outputs = new HashSet<>(workflowProcess.getWorkflowOutputs().values());
         workflow.setInputPorts(inputs);
         workflow.setOutputPorts(outputs);
+        Set<InputPort> inputPorts = workflowProcess.getInputPorts();
+        Set<OutputPort> outputPorts = workflowProcess.getOutputPorts();
 
         for(Process process: workflowProcess.getProcesses()) {
             if(process instanceof WorkflowProcess) {
                 Workflow childWorkflow = convertWorkflowProcess((WorkflowProcess) process, bundle); // TODO: Add nested relationship
+                Processor processor = new Processor(workflow, childWorkflow.getName()); // TODO: Check if we want the processor to have the same name as the childworkflow
+                createProcessPortsFromWorkflow(processor, childWorkflow);
                 bundle.getWorkflows().add(childWorkflow);
             } else if(process instanceof CommandLineTool) {
                 Processor processor = convertCommandLineTool((CommandLineTool) process);
@@ -197,6 +201,15 @@
         return workflow;
     }
 
+    public void createProcessPortsFromWorkflow(Processor processor, Workflow workflow) {
+        for(InputWorkflowPort inputWorkflowPort: workflow.getInputPorts()) {
+            processor.getInputPorts().add(new InputProcessorPort(processor, inputWorkflowPort.getName()));
+        }
+        for(OutputWorkflowPort outputWorkflowPort: workflow.getOutputPorts()) {
+            processor.getOutputPorts().add(new OutputProcessorPort(processor, outputWorkflowPort.getName()));
+        }
+    }
+
     public Processor convertCommandLineTool(CommandLineTool command) {
         Processor processor = new Processor(null, command.getBaseCommand());
 
diff --git a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/components/Process.java b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/components/Process.java
index 74f2f5f..5447e8c 100644
--- a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/components/Process.java
+++ b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/components/Process.java
@@ -24,8 +24,8 @@
 
 public abstract class Process {
 
-    private Set<InputPort> inputPorts = new HashSet<>();
-    private Set<OutputPort> outputPorts = new HashSet<>();
+    protected Set<InputPort> inputPorts = new HashSet<>();
+    protected Set<OutputPort> outputPorts = new HashSet<>();
 
 
     public abstract void parse();