Index: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.App/Runner.cs
===================================================================
--- branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.App/Runner.cs	(revision 18058)
+++ branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.App/Runner.cs	(revision 18059)
@@ -14,5 +14,4 @@
       InstantiatorResult instantiatorResult = JsonTemplateInstantiator.Instantiate(template, config);
       IOptimizer optimizer = instantiatorResult.Optimizer;
-      IEnumerable<IResultJsonItem> configuredResultItem = instantiatorResult.ConfiguredResultItems;
 
       optimizer.Runs.Clear();
@@ -22,29 +21,21 @@
       Task task = optimizer.StartAsync();
       while (!task.IsCompleted) {
-        WriteResultsToFile(outputFile, optimizer, configuredResultItem, instantiatorResult.RunCollectionModifiers);
+        WriteResultsToFile(outputFile, optimizer, instantiatorResult.RunCollectionModifiers);
         Thread.Sleep(100);
       }
 
-      WriteResultsToFile(outputFile, optimizer, configuredResultItem, instantiatorResult.RunCollectionModifiers);
+      WriteResultsToFile(outputFile, optimizer, instantiatorResult.RunCollectionModifiers);
     }
 
-    private static void WriteResultsToFile(string file, IOptimizer optimizer, IEnumerable<IResultJsonItem> configuredResultItem, IEnumerable<IRunCollectionModifier> runCollectionModifiers) {
+    private static void WriteResultsToFile(string file, IOptimizer optimizer, IEnumerable<IRunCollectionModifier> runCollectionModifiers) {
       if (optimizer.Runs.Count > 0) 
-        File.WriteAllText(file, FetchResults(optimizer, configuredResultItem, runCollectionModifiers));
+        File.WriteAllText(file, FetchResults(optimizer, runCollectionModifiers));
     }
+
+    private static string FetchResults(IOptimizer optimizer, IEnumerable<IRunCollectionModifier> runCollectionModifiers) {
+      JArray arr = new JArray();
       
-
-    private static IEnumerable<IResultFormatter> ResultFormatter { get; } =
-      PluginInfrastructure.ApplicationManager.Manager.GetInstances<IResultFormatter>();
-
-    private static IResultFormatter GetResultFormatter(string fullName) =>
-      ResultFormatter?.Where(x => x.GetType().FullName == fullName).Last();
-
-    private static string FetchResults(IOptimizer optimizer, IEnumerable<IResultJsonItem> configuredResultItems, IEnumerable<IRunCollectionModifier> runCollectionModifiers) {
-      JArray arr = new JArray();
-      IEnumerable<string> configuredResults = configuredResultItems.Select(x => x.Name);
-      
-      foreach (var processor in runCollectionModifiers)
-        processor.Modify(new List<IRun>(optimizer.Runs.ToArray()));
+      foreach (var modifier in runCollectionModifiers)
+        modifier.Modify(new List<IRun>(optimizer.Runs.ToArray()));
       
       foreach (var run in optimizer.Runs) {
@@ -54,45 +45,5 @@
         foreach (var result in run.Results)
           obj.Add(result.Key, result.Value.ToString());
-
-        // zip and filter the results with the ResultJsonItems
-        var filteredResults = new List<Tuple<IResultJsonItem, IItem>>();
-        foreach (var resultItem in configuredResultItems) {
-          foreach (var result in run.Results) {
-            if (resultItem.Name == result.Key) {
-              filteredResults.Add(Tuple.Create(resultItem, result.Value));
-            }
-          }
-        }
-
-        // add results to the JObject
-        foreach (var result in filteredResults) {
-          var formatter = GetResultFormatter(result.Item1.ResultFormatterType);
-          if (!obj.ContainsKey(result.Item1.Name)) // to prevent duplicates
-            obj.Add(result.Item1.Name, formatter.Format(result.Item2));
-        }
       }
-      /*
-      foreach (var run in optimizer.Runs) {
-        JObject obj = new JObject();
-        arr.Add(obj);
-        obj.Add("Run", JToken.FromObject(run.ToString()));
-
-        // zip and filter the results with the ResultJsonItems
-        var filteredResults = new List<Tuple<IResultJsonItem, IItem>>();
-        foreach(var resultItem in configuredResultItems) {
-          foreach(var result in run.Results) {
-            if(resultItem.Name == result.Key) {
-              filteredResults.Add(Tuple.Create(resultItem, result.Value));
-            }
-          }
-        }
-
-        // add results to the JObject
-        foreach(var result in filteredResults) {
-          var formatter = GetResultFormatter(result.Item1.ResultFormatterType);
-          if(!obj.ContainsKey(result.Item1.Name)) // to prevent duplicates
-            obj.Add(result.Item1.Name, formatter.Format(result.Item2));
-        }
-      }*/
       return SingleLineArrayJsonWriter.Serialize(arr);
     }
Index: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/HeuristicLab.JsonInterface.OptimizerIntegration.csproj
===================================================================
--- branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/HeuristicLab.JsonInterface.OptimizerIntegration.csproj	(revision 18058)
+++ branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/HeuristicLab.JsonInterface.OptimizerIntegration.csproj	(revision 18059)
@@ -134,5 +134,4 @@
     <Compile Include="ViewModels\RangedValueBaseVM.cs" />
     <Compile Include="ViewModels\RangeVM.cs" />
-    <Compile Include="ViewModels\ResultItemVM.cs" />
     <Compile Include="ViewModels\SingleValueVM.cs" />
     <Compile Include="ViewModels\StringValueVM.cs" />
@@ -155,15 +154,9 @@
     <Compile Include="Plugin.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
-    <Compile Include="Views\ResultCollectionPostProcessorControl.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Include="Views\ResultCollectionPostProcessorControl.Designer.cs">
-      <DependentUpon>ResultCollectionPostProcessorControl.cs</DependentUpon>
-    </Compile>
-    <Compile Include="Views\ResultJsonItemControl.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Include="Views\ResultJsonItemControl.Designer.cs">
-      <DependentUpon>ResultJsonItemControl.cs</DependentUpon>
+    <Compile Include="Views\RunCollectionModifierControl.cs">
+      <SubType>UserControl</SubType>
+    </Compile>
+    <Compile Include="Views\RunCollectionModifierControl.Designer.cs">
+      <DependentUpon>RunCollectionModifierControl.cs</DependentUpon>
     </Compile>
     <Compile Include="Views\ValueLookupJsonItemControl.cs">
@@ -241,7 +234,4 @@
     <EmbeddedResource Include="Views\ExportJsonDialog.resx">
       <DependentUpon>ExportJsonDialog.cs</DependentUpon>
-    </EmbeddedResource>
-    <EmbeddedResource Include="Views\ResultJsonItemControl.resx">
-      <DependentUpon>ResultJsonItemControl.cs</DependentUpon>
     </EmbeddedResource>
     <EmbeddedResource Include="Views\ValueLookupJsonItemControl.resx">
Index: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/ViewModels/ResultItemVM.cs
===================================================================
--- branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/ViewModels/ResultItemVM.cs	(revision 18058)
+++ 	(revision )
@@ -1,17 +1,0 @@
-﻿using System;
-using System.Windows.Forms;
-
-namespace HeuristicLab.JsonInterface.OptimizerIntegration {
-  public class ResultItemVM : JsonItemVMBase<ResultJsonItem> {
-    public override Type TargetedJsonItemType => typeof(ResultJsonItem);
-    public override UserControl Control => ResultJsonItemControl.Create(this);
-
-    public string ResultFormatterType {
-      get => Item.ResultFormatterType; 
-      set {
-        Item.ResultFormatterType = value;
-        OnPropertyChange(this, nameof(ResultFormatterType));
-      }
-    }
-  }
-}
Index: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/Views/ExportJsonDialog.Designer.cs
===================================================================
--- branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/Views/ExportJsonDialog.Designer.cs	(revision 18058)
+++ branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/Views/ExportJsonDialog.Designer.cs	(revision 18059)
@@ -34,14 +34,9 @@
       this.groupBoxDetails = new System.Windows.Forms.GroupBox();
       this.panelParameterDetails = new System.Windows.Forms.Panel();
-      this.splitContainer1 = new System.Windows.Forms.SplitContainer();
-      this.treeViewResults = new System.Windows.Forms.TreeView();
-      this.groupBox = new System.Windows.Forms.GroupBox();
-      this.panelResultDetails = new System.Windows.Forms.Panel();
       this.splitContainer2 = new System.Windows.Forms.SplitContainer();
       this.tabControl1 = new System.Windows.Forms.TabControl();
       this.tabPage1 = new System.Windows.Forms.TabPage();
       this.tabPage2 = new System.Windows.Forms.TabPage();
-      this.tabPage3 = new System.Windows.Forms.TabPage();
-      this.postProcessorListControl = new HeuristicLab.JsonInterface.OptimizerIntegration.ResultCollectionPostProcessorControl();
+      this.postProcessorListControl = new HeuristicLab.JsonInterface.OptimizerIntegration.RunCollectionModifierControl();
       this.label1 = new System.Windows.Forms.Label();
       this.textBoxTemplateName = new System.Windows.Forms.TextBox();
@@ -49,9 +44,4 @@
       this.jsonItemBindingSource = new System.Windows.Forms.BindingSource(this.components);
       this.groupBoxDetails.SuspendLayout();
-      ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
-      this.splitContainer1.Panel1.SuspendLayout();
-      this.splitContainer1.Panel2.SuspendLayout();
-      this.splitContainer1.SuspendLayout();
-      this.groupBox.SuspendLayout();
       ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).BeginInit();
       this.splitContainer2.Panel1.SuspendLayout();
@@ -61,5 +51,4 @@
       this.tabPage1.SuspendLayout();
       this.tabPage2.SuspendLayout();
-      this.tabPage3.SuspendLayout();
       ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).BeginInit();
       ((System.ComponentModel.ISupportInitialize)(this.jsonItemBindingSource)).BeginInit();
@@ -113,53 +102,4 @@
       this.panelParameterDetails.TabIndex = 0;
       // 
-      // splitContainer1
-      // 
-      this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
-      this.splitContainer1.Location = new System.Drawing.Point(3, 3);
-      this.splitContainer1.Name = "splitContainer1";
-      // 
-      // splitContainer1.Panel1
-      // 
-      this.splitContainer1.Panel1.Controls.Add(this.treeViewResults);
-      this.splitContainer1.Panel1.Padding = new System.Windows.Forms.Padding(0, 6, 0, 1);
-      // 
-      // splitContainer1.Panel2
-      // 
-      this.splitContainer1.Panel2.Controls.Add(this.groupBox);
-      this.splitContainer1.Size = new System.Drawing.Size(796, 499);
-      this.splitContainer1.SplitterDistance = 380;
-      this.splitContainer1.TabIndex = 7;
-      // 
-      // treeViewResults
-      // 
-      this.treeViewResults.CheckBoxes = true;
-      this.treeViewResults.Dock = System.Windows.Forms.DockStyle.Fill;
-      this.treeViewResults.Location = new System.Drawing.Point(0, 6);
-      this.treeViewResults.Name = "treeViewResults";
-      this.treeViewResults.Size = new System.Drawing.Size(380, 492);
-      this.treeViewResults.TabIndex = 6;
-      this.treeViewResults.AfterCheck += new System.Windows.Forms.TreeViewEventHandler(this.treeViewResults_AfterCheck);
-      this.treeViewResults.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeViewResults_AfterSelect);
-      // 
-      // groupBox
-      // 
-      this.groupBox.Controls.Add(this.panelResultDetails);
-      this.groupBox.Dock = System.Windows.Forms.DockStyle.Fill;
-      this.groupBox.Location = new System.Drawing.Point(0, 0);
-      this.groupBox.Name = "groupBox";
-      this.groupBox.Size = new System.Drawing.Size(412, 499);
-      this.groupBox.TabIndex = 5;
-      this.groupBox.TabStop = false;
-      this.groupBox.Text = "Details";
-      // 
-      // panelResultDetails
-      // 
-      this.panelResultDetails.AutoScroll = true;
-      this.panelResultDetails.Dock = System.Windows.Forms.DockStyle.Fill;
-      this.panelResultDetails.Location = new System.Drawing.Point(3, 16);
-      this.panelResultDetails.Name = "panelResultDetails";
-      this.panelResultDetails.Size = new System.Drawing.Size(406, 480);
-      this.panelResultDetails.TabIndex = 0;
-      // 
       // splitContainer2
       // 
@@ -187,5 +127,4 @@
       this.tabControl1.Controls.Add(this.tabPage1);
       this.tabControl1.Controls.Add(this.tabPage2);
-      this.tabControl1.Controls.Add(this.tabPage3);
       this.tabControl1.Location = new System.Drawing.Point(12, 38);
       this.tabControl1.Name = "tabControl1";
@@ -207,22 +146,11 @@
       // tabPage2
       // 
-      this.tabPage2.Controls.Add(this.splitContainer1);
+      this.tabPage2.Controls.Add(this.postProcessorListControl);
       this.tabPage2.Location = new System.Drawing.Point(4, 22);
       this.tabPage2.Name = "tabPage2";
-      this.tabPage2.Padding = new System.Windows.Forms.Padding(3);
       this.tabPage2.Size = new System.Drawing.Size(802, 505);
-      this.tabPage2.TabIndex = 1;
-      this.tabPage2.Text = "Results";
+      this.tabPage2.TabIndex = 2;
+      this.tabPage2.Text = "Result Collection Modifiers";
       this.tabPage2.UseVisualStyleBackColor = true;
-      // 
-      // tabPage3
-      // 
-      this.tabPage3.Controls.Add(this.postProcessorListControl);
-      this.tabPage3.Location = new System.Drawing.Point(4, 22);
-      this.tabPage3.Name = "tabPage3";
-      this.tabPage3.Size = new System.Drawing.Size(802, 505);
-      this.tabPage3.TabIndex = 2;
-      this.tabPage3.Text = "Result Collection Modifiers";
-      this.tabPage3.UseVisualStyleBackColor = true;
       // 
       // postProcessorListControl
@@ -281,9 +209,4 @@
       this.Text = "Export Json";
       this.groupBoxDetails.ResumeLayout(false);
-      this.splitContainer1.Panel1.ResumeLayout(false);
-      this.splitContainer1.Panel2.ResumeLayout(false);
-      ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
-      this.splitContainer1.ResumeLayout(false);
-      this.groupBox.ResumeLayout(false);
       this.splitContainer2.Panel1.ResumeLayout(false);
       this.splitContainer2.Panel2.ResumeLayout(false);
@@ -293,5 +216,4 @@
       this.tabPage1.ResumeLayout(false);
       this.tabPage2.ResumeLayout(false);
-      this.tabPage3.ResumeLayout(false);
       ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).EndInit();
       ((System.ComponentModel.ISupportInitialize)(this.jsonItemBindingSource)).EndInit();
@@ -312,14 +234,9 @@
     private System.Windows.Forms.TabControl tabControl1;
     private System.Windows.Forms.TabPage tabPage1;
-    private System.Windows.Forms.TabPage tabPage2;
-    private System.Windows.Forms.TreeView treeViewResults;
     private System.Windows.Forms.Label label1;
     private System.Windows.Forms.TextBox textBoxTemplateName;
     private System.Windows.Forms.ErrorProvider errorProvider;
-    private System.Windows.Forms.SplitContainer splitContainer1;
-    private System.Windows.Forms.GroupBox groupBox;
-    private System.Windows.Forms.Panel panelResultDetails;
-    private System.Windows.Forms.TabPage tabPage3;
-    private ResultCollectionPostProcessorControl postProcessorListControl;
+    private System.Windows.Forms.TabPage tabPage2;
+    private RunCollectionModifierControl postProcessorListControl;
   }
 }
Index: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/Views/ExportJsonDialog.cs
===================================================================
--- branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/Views/ExportJsonDialog.cs	(revision 18058)
+++ branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/Views/ExportJsonDialog.cs	(revision 18059)
@@ -30,9 +30,7 @@
       set {
         content = value;
-        //CheckedItemListView
         #region Clear
         VMs = new List<IJsonItemVM>();
         treeView.Nodes.Clear();
-        treeViewResults.Nodes.Clear();
         #endregion
         Optimizer = content as IOptimizer;
@@ -46,5 +44,4 @@
           treeView.ExpandAll();
           panelParameterDetails.Controls.Clear();
-          panelResultDetails.Controls.Clear();
         }
       } 
@@ -61,6 +58,6 @@
     public ExportJsonDialog() {
       InitializeComponent();
-      this.RunCollectionModifiers = this.postProcessorListControl.Content;
-      this.Icon = HeuristicLab.Common.Resources.HeuristicLab.Icon;
+      RunCollectionModifiers = postProcessorListControl.Content;
+      Icon = Common.Resources.HeuristicLab.Icon;
       InitCache();
     }
@@ -74,6 +71,4 @@
       if (FolderBrowserDialog.ShowDialog() == DialogResult.OK) {
         try {
-          //foreach(var x in PostProcessors.CheckedItems)
-            
           JsonTemplateGenerator.GenerateTemplate(
             Path.Combine(FolderBrowserDialog.SelectedPath, textBoxTemplateName.Text), 
@@ -92,12 +87,6 @@
           if (IsDrawableItem(c)) {
             TreeNode childNode = new TreeNode(c.Name);
-            if (c is IResultJsonItem) {
-              treeViewResults.Nodes.Add(childNode);
-              IJsonItemVM vm = RegisterItem(childNode, c, treeViewResults);
-              if (vm != null) vm.Selected = true;              
-            } else {
-              node.Nodes.Add(childNode);
-              BuildTreeNode(childNode, c);
-            }
+            node.Nodes.Add(childNode);
+            BuildTreeNode(childNode, c);
           }
         }
@@ -128,9 +117,7 @@
     private bool IsDrawableItem(IJsonItem item) {
       bool b = false;
-      if (item.Children != null) {
-        foreach (var c in item.Children) {
+      if (item.Children != null)
+        foreach (var c in item.Children)
           b = b || IsDrawableItem(c);
-        }
-      }
       
       return b || !(item is EmptyJsonItem) || !(item is UnsupportedJsonItem);
@@ -140,10 +127,4 @@
       if(Node2Control.TryGetValue(treeView.SelectedNode, out UserControl control)) {
         SetControlOnPanel(control, panelParameterDetails);
-      }
-    }
-
-    private void treeViewResults_AfterSelect(object sender, TreeViewEventArgs e) {
-      if (Node2Control.TryGetValue(treeViewResults.SelectedNode, out UserControl control)) {
-        SetControlOnPanel(control, panelResultDetails);
       }
     }
@@ -171,17 +152,13 @@
 
     private void TreeView_AfterCheck(object sender, TreeViewEventArgs e) {
-      if (e.Action != TreeViewAction.Unknown) {
-        if (Node2VM.TryGetValue(e.Node, out IJsonItemVM vm)) {
+      if (e.Action != TreeViewAction.Unknown)
+        if (Node2VM.TryGetValue(e.Node, out IJsonItemVM vm))
           vm.Selected = e.Node.Checked;
-        }
-      }
     }
 
     private void treeViewResults_AfterCheck(object sender, TreeViewEventArgs e) {
-      if (e.Action != TreeViewAction.Unknown) {
-        if (Node2VM.TryGetValue(e.Node, out IJsonItemVM vm)) {
+      if (e.Action != TreeViewAction.Unknown)
+        if (Node2VM.TryGetValue(e.Node, out IJsonItemVM vm))
           vm.Selected = e.Node.Checked;
-        }
-      }
     }
   }
Index: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/Views/ResultCollectionPostProcessorControl.Designer.cs
===================================================================
--- branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/Views/ResultCollectionPostProcessorControl.Designer.cs	(revision 18058)
+++ 	(revision )
@@ -1,33 +1,0 @@
-﻿
-namespace HeuristicLab.JsonInterface.OptimizerIntegration {
-  partial class ResultCollectionPostProcessorControl {
-    /// <summary> 
-    /// Erforderliche Designervariable.
-    /// </summary>
-    private System.ComponentModel.IContainer components = null;
-
-    /// <summary> 
-    /// Verwendete Ressourcen bereinigen.
-    /// </summary>
-    /// <param name="disposing">True, wenn verwaltete Ressourcen gelöscht werden sollen; andernfalls False.</param>
-    protected override void Dispose(bool disposing) {
-      if (disposing && (components != null)) {
-        components.Dispose();
-      }
-      base.Dispose(disposing);
-    }
-
-    #region Vom Komponenten-Designer generierter Code
-
-    /// <summary> 
-    /// Erforderliche Methode für die Designerunterstützung. 
-    /// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden.
-    /// </summary>
-    private void InitializeComponent() {
-      components = new System.ComponentModel.Container();
-      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-    }
-
-    #endregion
-  }
-}
Index: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/Views/ResultCollectionPostProcessorControl.cs
===================================================================
--- branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/Views/ResultCollectionPostProcessorControl.cs	(revision 18058)
+++ 	(revision )
@@ -1,22 +1,0 @@
-﻿using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Data;
-using System.Drawing;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using System.Windows.Forms;
-using HeuristicLab.Collections;
-using HeuristicLab.Optimization;
-
-namespace HeuristicLab.JsonInterface.OptimizerIntegration {
-  public partial class ResultCollectionPostProcessorControl : Core.Views.CheckedItemListView<IRunCollectionModifier> {
-    public ResultCollectionPostProcessorControl() {
-      InitializeComponent();
-    }
-
-    protected override string GroupBoxText => "Run Collection Modifiers";
-
-  }
-}
Index: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/Views/ResultJsonItemControl.Designer.cs
===================================================================
--- branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/Views/ResultJsonItemControl.Designer.cs	(revision 18058)
+++ 	(revision )
@@ -1,90 +1,0 @@
-﻿
-namespace HeuristicLab.JsonInterface.OptimizerIntegration {
-  partial class ResultJsonItemControl {
-    /// <summary> 
-    /// Erforderliche Designervariable.
-    /// </summary>
-    private System.ComponentModel.IContainer components = null;
-
-    /// <summary> 
-    /// Verwendete Ressourcen bereinigen.
-    /// </summary>
-    /// <param name="disposing">True, wenn verwaltete Ressourcen gelöscht werden sollen; andernfalls False.</param>
-    protected override void Dispose(bool disposing) {
-      if (disposing && (components != null)) {
-        components.Dispose();
-      }
-      base.Dispose(disposing);
-    }
-
-    #region Vom Komponenten-Designer generierter Code
-
-    /// <summary> 
-    /// Erforderliche Methode für die Designerunterstützung. 
-    /// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden.
-    /// </summary>
-    private void InitializeComponent() {
-      this.groupBox1 = new System.Windows.Forms.GroupBox();
-      this.comboBoxFormatter = new System.Windows.Forms.ComboBox();
-      this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
-      this.groupBox1.SuspendLayout();
-      this.tableLayoutPanel1.SuspendLayout();
-      this.SuspendLayout();
-      // 
-      // groupBox1
-      // 
-      this.groupBox1.Controls.Add(this.comboBoxFormatter);
-      this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill;
-      this.groupBox1.Location = new System.Drawing.Point(0, 0);
-      this.groupBox1.Margin = new System.Windows.Forms.Padding(0);
-      this.groupBox1.Name = "groupBox1";
-      this.groupBox1.Padding = new System.Windows.Forms.Padding(6);
-      this.groupBox1.Size = new System.Drawing.Size(526, 47);
-      this.groupBox1.TabIndex = 0;
-      this.groupBox1.TabStop = false;
-      this.groupBox1.Text = "Formatter";
-      // 
-      // comboBoxFormatter
-      // 
-      this.comboBoxFormatter.Dock = System.Windows.Forms.DockStyle.Fill;
-      this.comboBoxFormatter.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
-      this.comboBoxFormatter.FormattingEnabled = true;
-      this.comboBoxFormatter.Location = new System.Drawing.Point(6, 19);
-      this.comboBoxFormatter.Name = "comboBoxFormatter";
-      this.comboBoxFormatter.Size = new System.Drawing.Size(514, 21);
-      this.comboBoxFormatter.TabIndex = 0;
-      // 
-      // tableLayoutPanel1
-      // 
-      this.tableLayoutPanel1.ColumnCount = 1;
-      this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
-      this.tableLayoutPanel1.Controls.Add(this.groupBox1, 0, 0);
-      this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
-      this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 0);
-      this.tableLayoutPanel1.Name = "tableLayoutPanel1";
-      this.tableLayoutPanel1.RowCount = 2;
-      this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 47F));
-      this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle());
-      this.tableLayoutPanel1.Size = new System.Drawing.Size(526, 47);
-      this.tableLayoutPanel1.TabIndex = 1;
-      // 
-      // ResultJsonItemControl
-      // 
-      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
-      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-      this.Controls.Add(this.tableLayoutPanel1);
-      this.Name = "ResultJsonItemControl";
-      this.Size = new System.Drawing.Size(526, 47);
-      this.groupBox1.ResumeLayout(false);
-      this.tableLayoutPanel1.ResumeLayout(false);
-      this.ResumeLayout(false);
-
-    }
-
-    #endregion
-
-    private System.Windows.Forms.GroupBox groupBox1;
-    private System.Windows.Forms.ComboBox comboBoxFormatter;
-    private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
-  }
-}
Index: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/Views/ResultJsonItemControl.cs
===================================================================
--- branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/Views/ResultJsonItemControl.cs	(revision 18058)
+++ 	(revision )
@@ -1,23 +1,0 @@
-﻿using System.Linq;
-using System.Windows.Forms;
-
-namespace HeuristicLab.JsonInterface.OptimizerIntegration {
-  public partial class ResultJsonItemControl : UserControl {
-    private ResultJsonItemControl() {
-      InitializeComponent();
-    }
-
-    protected ResultJsonItemControl(ResultItemVM vm) {
-      InitializeComponent();
-      var formatters = ResultFormatter.ForType(vm.Item.ValueType).ToList();
-      comboBoxFormatter.DataSource = formatters;
-      comboBoxFormatter.DisplayMember = "Name";
-
-      // set action to override the ResultFormatterType property for changing the selected value
-      comboBoxFormatter.SelectedValueChanged += (s, e) => vm.ResultFormatterType = comboBoxFormatter.SelectedValue.GetType().FullName;
-      comboBoxFormatter.SelectedItem = formatters.Last();
-    }
-
-    public static ResultJsonItemControl Create(ResultItemVM vm) => new ResultJsonItemControl(vm);
-  }
-}
Index: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/Views/ResultJsonItemControl.resx
===================================================================
--- branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/Views/ResultJsonItemControl.resx	(revision 18058)
+++ 	(revision )
@@ -1,120 +1,0 @@
-﻿<?xml version="1.0" encoding="utf-8"?>
-<root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-</root>
Index: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/Views/RunCollectionModifierControl.Designer.cs
===================================================================
--- branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/Views/RunCollectionModifierControl.Designer.cs	(revision 18059)
+++ branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/Views/RunCollectionModifierControl.Designer.cs	(revision 18059)
@@ -0,0 +1,33 @@
+﻿
+namespace HeuristicLab.JsonInterface.OptimizerIntegration {
+  partial class RunCollectionModifierControl {
+    /// <summary> 
+    /// Erforderliche Designervariable.
+    /// </summary>
+    private System.ComponentModel.IContainer components = null;
+
+    /// <summary> 
+    /// Verwendete Ressourcen bereinigen.
+    /// </summary>
+    /// <param name="disposing">True, wenn verwaltete Ressourcen gelöscht werden sollen; andernfalls False.</param>
+    protected override void Dispose(bool disposing) {
+      if (disposing && (components != null)) {
+        components.Dispose();
+      }
+      base.Dispose(disposing);
+    }
+
+    #region Vom Komponenten-Designer generierter Code
+
+    /// <summary> 
+    /// Erforderliche Methode für die Designerunterstützung. 
+    /// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden.
+    /// </summary>
+    private void InitializeComponent() {
+      components = new System.ComponentModel.Container();
+      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+    }
+
+    #endregion
+  }
+}
Index: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/Views/RunCollectionModifierControl.cs
===================================================================
--- branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/Views/RunCollectionModifierControl.cs	(revision 18059)
+++ branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/Views/RunCollectionModifierControl.cs	(revision 18059)
@@ -0,0 +1,22 @@
+﻿using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+using HeuristicLab.Collections;
+using HeuristicLab.Optimization;
+
+namespace HeuristicLab.JsonInterface.OptimizerIntegration {
+  public partial class RunCollectionModifierControl : Core.Views.CheckedItemListView<IRunCollectionModifier> {
+    public RunCollectionModifierControl() {
+      InitializeComponent();
+    }
+
+    protected override string GroupBoxText => "Run Collection Modifiers";
+
+  }
+}
Index: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Constants.cs
===================================================================
--- branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Constants.cs	(revision 18058)
+++ branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Constants.cs	(revision 18059)
@@ -10,5 +10,4 @@
     internal const string OptimizerDescription = "OptimizerDescription";
     internal const string Parameters = "Parameters";
-    internal const string Results = "Results";
     internal const string RunCollectionModifiers = "RunCollectionModifiers";
 
@@ -20,5 +19,4 @@
       },
       '" + Parameters + @"': [],
-      '" + Results + @"': [],
       '" + RunCollectionModifiers + @"': []
     }";
Index: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/AlgorithmConverter.cs
===================================================================
--- branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/AlgorithmConverter.cs	(revision 18058)
+++ branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/AlgorithmConverter.cs	(revision 18059)
@@ -24,17 +24,4 @@
       IJsonItem item = base.Extract(value, root);
       IAlgorithm algorithm = value as IAlgorithm;
-      foreach (var res in algorithm.Results) {
-        var resultItem = root.Extract(res, root);
-        // fetch all result parameter items
-        var resultParameterItems = 
-          item.Where(x => x
-          .GetType()
-          .GetInterfaces()
-          .Any(y => y == typeof(IResultJsonItem)));
-        // check for duplicates (to prevent double result items,
-        // which can occur with result parameters)
-        if(!resultParameterItems.Any(x => x.Name == resultItem.Name))
-          item.AddChildren(resultItem);
-      }
       item.AddChildren(root.Extract(algorithm.Problem, root));
       return item;
Index: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/BaseConverter.cs
===================================================================
--- branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/BaseConverter.cs	(revision 18058)
+++ branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/BaseConverter.cs	(revision 18059)
@@ -6,10 +6,7 @@
   {
     public abstract int Priority { get; }
-
     public abstract bool CanConvertType(Type t);
-
     public abstract void Inject(IItem item, IJsonItem data, IJsonItemConverter root);
     public abstract IJsonItem Extract(IItem value, IJsonItemConverter root);
-
 
     #region Helper
Index: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/ResultConverter.cs
===================================================================
--- branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/ResultConverter.cs	(revision 18058)
+++ 	(revision )
@@ -1,29 +1,0 @@
-﻿using System;
-using System.Linq;
-using HeuristicLab.Core;
-using HeuristicLab.Optimization;
-
-namespace HeuristicLab.JsonInterface {
-  public class ResultConverter : BaseConverter {
-    public override int Priority => 1;
-
-    public override bool CanConvertType(Type t) =>
-      t.GetInterfaces().Any(x => x == typeof(IResult));
-
-    public override IJsonItem Extract(IItem value, IJsonItemConverter root) {
-      IResult res = value as IResult;
-      var formatter = ResultFormatter.ForType(res.Value.GetType()).Last();
-      return new ResultJsonItem() {
-        Name = res.Name,
-        Description = res.Description,
-        ResultFormatterType = formatter.GetType().FullName,
-        ValueType = res.DataType
-      };
-    }
-
-    public override void Inject(IItem item, IJsonItem data, IJsonItemConverter root) {
-      IResult res = item as IResult;
-      res.Name = data.Name;
-    }
-  }
-}
Index: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/ResultParameterConverter.cs
===================================================================
--- branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/ResultParameterConverter.cs	(revision 18058)
+++ branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/ResultParameterConverter.cs	(revision 18059)
@@ -12,18 +12,8 @@
 
     public override IJsonItem Extract(IItem value, IJsonItemConverter root) {
-      IResultParameter res = value as IResultParameter;
-      var formatter = ResultFormatter.ForType(res.DataType).Last();
-      return new ResultJsonItem() {
-        Name = res.ActualName,
-        Description = res.Description,
-        ResultFormatterType = formatter.GetType().FullName,
-        ValueType = res.DataType
-      };
+      return new UnsupportedJsonItem();
     }
 
-    public override void Inject(IItem item, IJsonItem data, IJsonItemConverter root) {
-      IResultParameter res = item as IResultParameter;
-      res.ActualName = data.Name;
-    }
+    public override void Inject(IItem item, IJsonItem data, IJsonItemConverter root) {}
   }
 }
Index: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/HeuristicLab.JsonInterface.csproj
===================================================================
--- branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/HeuristicLab.JsonInterface.csproj	(revision 18058)
+++ branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/HeuristicLab.JsonInterface.csproj	(revision 18059)
@@ -68,5 +68,4 @@
     <Compile Include="Converters\ItemCollectionConverter.cs" />
     <Compile Include="Converters\RegressionProblemDataConverter.cs" />
-    <Compile Include="Converters\ResultConverter.cs" />
     <Compile Include="Converters\ResultParameterConverter.cs" />
     <Compile Include="Converters\ValueLookupParameterConverter.cs" />
@@ -80,6 +79,4 @@
     <Compile Include="Interfaces\IMatrixJsonItem.cs" />
     <Compile Include="Interfaces\IRangedJsonItem.cs" />
-    <Compile Include="Interfaces\IResultFormatter.cs" />
-    <Compile Include="Interfaces\IResultJsonItem.cs" />
     <Compile Include="Interfaces\IValueJsonItem.cs" />
     <Compile Include="Interfaces\IValueLookupJsonItem.cs" />
@@ -102,5 +99,4 @@
     <Compile Include="JsonItems\MatrixJsonItem.cs" />
     <Compile Include="JsonItems\RangedJsonItem.cs" />
-    <Compile Include="JsonItems\ResultJsonItem.cs" />
     <Compile Include="JsonItems\StringJsonItem.cs" />
     <Compile Include="JsonItems\UnsupportedJsonItem.cs" />
@@ -112,9 +108,4 @@
     <Compile Include="ResultCollectionProcessors\RunCollectionSRSolutionLatexFormatter.cs" />
     <Compile Include="ResultCollectionProcessors\RunCollectionSRSolutionPythonFormatter.cs" />
-    <Compile Include="ResultFormatters\MatlabResultFormatter.cs" />
-    <Compile Include="ResultFormatters\PythonResultFormatter.cs" />
-    <Compile Include="ResultFormatters\ResultFormatter.cs" />
-    <Compile Include="ResultFormatters\StringResultFormatter.cs" />
-    <Compile Include="ResultFormatters\SymbolicRegressionSolutionFormatterBase.cs" />
     <Compile Include="SingleLineArrayJsonWriter.cs" />
     <Compile Include="JsonTemplateGenerator.cs" />
Index: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Interfaces/IResultFormatter.cs
===================================================================
--- branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Interfaces/IResultFormatter.cs	(revision 18058)
+++ 	(revision )
@@ -1,24 +1,0 @@
-﻿using System;
-
-namespace HeuristicLab.JsonInterface {
-  public interface IResultFormatter {
-    /// <summary>
-    /// A given priority, higher numbers are prior.
-    /// </summary>
-    int Priority { get; }
-
-    /// <summary>
-    /// Checks if the given type can be formatted
-    /// </summary>
-    /// <param name="t"></param>
-    /// <returns></returns>
-    bool CanFormatType(Type t);
-
-    /// <summary>
-    /// The format method which formats and object into a string (which can be saved in a JSON file).
-    /// </summary>
-    /// <param name="o"></param>
-    /// <returns></returns>
-    string Format(object o);
-  }
-}
Index: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Interfaces/IResultJsonItem.cs
===================================================================
--- branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Interfaces/IResultJsonItem.cs	(revision 18058)
+++ 	(revision )
@@ -1,21 +1,0 @@
-﻿using System;
-using Newtonsoft.Json;
-
-namespace HeuristicLab.JsonInterface {
-  /// <summary>
-  /// JsonItem, which indicates a result. For example 'BestQuality'.
-  /// Types of this JsonItems are stored in the result section of the template.
-  /// </summary>
-  public interface IResultJsonItem : IJsonItem {
-    /// <summary>
-    /// the result formatter type's fullname 
-    /// </summary>
-    string ResultFormatterType { get; set; }
-
-    /// <summary>
-    /// the type of the result value
-    /// </summary>
-    [JsonIgnore]
-    Type ValueType { get; set; }
-  }
-}
Index: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/JsonItems/ResultJsonItem.cs
===================================================================
--- branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/JsonItems/ResultJsonItem.cs	(revision 18058)
+++ 	(revision )
@@ -1,25 +1,0 @@
-﻿using System;
-using Newtonsoft.Json.Linq;
-using HEAL.Attic;
-
-namespace HeuristicLab.JsonInterface {
-  [StorableType("AA00656C-56D5-4F4E-9843-BA15636FC399")]
-  public class ResultJsonItem : JsonItem, IResultJsonItem {
-    public string ResultFormatterType { get; set; }
-
-    public Type ValueType { get; set; }
-
-    protected override ValidationResult Validate() => ValidationResult.Successful();
-
-    public override void SetJObject(JObject jObject) {
-      base.SetJObject(jObject);
-      ResultFormatterType = (jObject[nameof(IResultJsonItem.ResultFormatterType)]?.ToObject<string>());
-    }
-
-    public ResultJsonItem() { }
-
-    [StorableConstructor]
-    protected ResultJsonItem(StorableConstructorFlag _) : base(_) { }
-
-  }
-}
Index: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/JsonTemplateGenerator.cs
===================================================================
--- branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/JsonTemplateGenerator.cs	(revision 18058)
+++ branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/JsonTemplateGenerator.cs	(revision 18059)
@@ -53,29 +53,26 @@
       #region Filter Items
       foreach (var item in jsonItems) {
-        if (item is IResultJsonItem)
-          resultItems.Add(item.GenerateJObject());
-        else
-          parameterItems.Add(item.GenerateJObject());
+        parameterItems.Add(item.GenerateJObject());
       }
       #endregion
 
       #region RunCollectionModifiers Serialization
-      foreach (var proc in runCollectionModifiers) {
-        JArray rcpParameterItems = new JArray();
-        var guid = StorableTypeAttribute.GetStorableTypeAttribute(proc.GetType()).Guid.ToString();
-        var item = JsonItemConverter.Extract(proc);
+      foreach (var rcModifier in runCollectionModifiers) {
+        JArray rcModifierParameterItems = new JArray();
+        var guid = StorableTypeAttribute.GetStorableTypeAttribute(rcModifier.GetType()).Guid.ToString();
+        var item = JsonItemConverter.Extract(rcModifier);
 
-        var rcpItems = item
+        var rcModifierItems = item
           .Where(x => !(x is EmptyJsonItem) && !(x is UnsupportedJsonItem))
           .Select(x => x.GenerateJObject());
 
-        foreach (var i in rcpItems)
-          rcpParameterItems.Add(i);
+        foreach (var i in rcModifierItems)
+          rcModifierParameterItems.Add(i);
 
-        JObject processorObj = new JObject();
-        processorObj.Add(nameof(IJsonItem.Name), item.Name);
-        processorObj.Add("GUID", guid);
-        processorObj.Add(Constants.Parameters, rcpParameterItems);
-        runCollectionModifierItems.Add(processorObj);
+        JObject rcModifierObj = new JObject();
+        rcModifierObj.Add(nameof(IJsonItem.Name), item.Name);
+        rcModifierObj.Add("GUID", guid);
+        rcModifierObj.Add(Constants.Parameters, rcModifierParameterItems);
+        runCollectionModifierItems.Add(rcModifierObj);
       }
       #endregion
@@ -86,5 +83,4 @@
       template[Constants.Metadata][Constants.OptimizerDescription] = optimizer.Description;
       template[Constants.Parameters] = parameterItems;
-      template[Constants.Results] = resultItems;
       template[Constants.RunCollectionModifiers] = runCollectionModifierItems;
       #endregion
Index: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/JsonTemplateInstantiator.cs
===================================================================
--- branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/JsonTemplateInstantiator.cs	(revision 18058)
+++ branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/JsonTemplateInstantiator.cs	(revision 18059)
@@ -11,18 +11,11 @@
 namespace HeuristicLab.JsonInterface {
   public readonly struct InstantiatorResult {
-    public InstantiatorResult(IOptimizer optimizer, IEnumerable<IResultJsonItem> configuredResultItems) {
+
+    public InstantiatorResult(IOptimizer optimizer, IEnumerable<IRunCollectionModifier> runCollectionModifiers) {
       Optimizer = optimizer;
-      ConfiguredResultItems = configuredResultItems;
-      RunCollectionModifiers = Enumerable.Empty<IRunCollectionModifier>();
-    }
-
-    public InstantiatorResult(IOptimizer optimizer, IEnumerable<IResultJsonItem> configuredResultItems, IEnumerable<IRunCollectionModifier> runCollectionModifiers) {
-      Optimizer = optimizer;
-      ConfiguredResultItems = configuredResultItems;
       RunCollectionModifiers = runCollectionModifiers;
     }
 
     public IOptimizer Optimizer { get; }
-    public IEnumerable<IResultJsonItem> ConfiguredResultItems { get; }
     public IEnumerable<IRunCollectionModifier> RunCollectionModifiers { get; }
   }
@@ -75,4 +68,5 @@
       ProtoBufSerializer serializer = new ProtoBufSerializer();
       IOptimizer optimizer = (IOptimizer)serializer.Deserialize(hLFileLocation);
+      optimizer.Prepare(true);
       #endregion
 
@@ -94,5 +88,5 @@
       JsonItemConverter.Inject(optimizer, rootItem);
 
-      return new InstantiatorResult(optimizer, CollectResults(), CollectRunCollectionModifiers());
+      return new InstantiatorResult(optimizer, CollectRunCollectionModifiers());
     }
 
@@ -102,32 +96,26 @@
     private IEnumerable<IRunCollectionModifier> CollectRunCollectionModifiers() {
       IList<IRunCollectionModifier> runCollectionModifiers = new List<IRunCollectionModifier>();
+
+      if (Template is JObject o && !o.ContainsKey(Constants.RunCollectionModifiers))
+        return Enumerable.Empty<IRunCollectionModifier>();
+
       foreach (JObject obj in Template[Constants.RunCollectionModifiers]) {
         var guid = obj["GUID"].ToString();
         var parameters = obj[Constants.Parameters];
         var type = Mapper.StaticCache.GetType(new Guid(guid));
-        var rcp = (IRunCollectionModifier)Activator.CreateInstance(type);
-        var rcpItem = JsonItemConverter.Extract(rcp);
+        var rcModifier = (IRunCollectionModifier)Activator.CreateInstance(type);
+        var rcModifierItem = JsonItemConverter.Extract(rcModifier);
 
         foreach (JObject param in parameters) {
           var path = param[nameof(IJsonItem.Path)].ToString();
-          foreach (var item in rcpItem)
+          foreach (var item in rcModifierItem)
             if (item.Path == path)
               item.SetJObject(param);
         }
 
-        JsonItemConverter.Inject(rcp, rcpItem);
-        runCollectionModifiers.Add(rcp);
+        JsonItemConverter.Inject(rcModifier, rcModifierItem);
+        runCollectionModifiers.Add(rcModifier);
       }
       return runCollectionModifiers;
-    }
-
-    private IEnumerable<IResultJsonItem> CollectResults() {
-      IList<IResultJsonItem> res = new List<IResultJsonItem>();
-      foreach(JObject obj in Template[Constants.Results]) {
-        var resultItem = new ResultJsonItem();
-        resultItem.SetJObject(obj);
-        res.Add(resultItem);
-      }
-      return res;
     }
 
