Index: branches/HeuristicLab.Analysis.AlgorithmBehavior/HeuristicLab.Analysis.SolutionCaching.Views/3.3/HeuristicLab.Analysis.SolutionCaching.Views-3.3.csproj
===================================================================
--- branches/HeuristicLab.Analysis.AlgorithmBehavior/HeuristicLab.Analysis.SolutionCaching.Views/3.3/HeuristicLab.Analysis.SolutionCaching.Views-3.3.csproj	(revision 10114)
+++ branches/HeuristicLab.Analysis.AlgorithmBehavior/HeuristicLab.Analysis.SolutionCaching.Views/3.3/HeuristicLab.Analysis.SolutionCaching.Views-3.3.csproj	(revision 10115)
@@ -178,7 +178,4 @@
   </ItemGroup>
   <ItemGroup>
-    <EmbeddedResource Include="RunCollectionModifierTasksConfigurator.resx">
-      <DependentUpon>RunCollectionModifierTasksConfigurator.cs</DependentUpon>
-    </EmbeddedResource>
     <EmbeddedResource Include="SolutionCacheView.resx">
       <DependentUpon>SolutionCacheView.cs</DependentUpon>
Index: branches/HeuristicLab.Analysis.AlgorithmBehavior/HeuristicLab.Analysis.SolutionCaching.Views/3.3/RunCollectionModifierTasksConfigurator.Designer.cs
===================================================================
--- branches/HeuristicLab.Analysis.AlgorithmBehavior/HeuristicLab.Analysis.SolutionCaching.Views/3.3/RunCollectionModifierTasksConfigurator.Designer.cs	(revision 10114)
+++ branches/HeuristicLab.Analysis.AlgorithmBehavior/HeuristicLab.Analysis.SolutionCaching.Views/3.3/RunCollectionModifierTasksConfigurator.Designer.cs	(revision 10115)
@@ -32,5 +32,5 @@
       // 
       this.okButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
-      this.okButton.Location = new System.Drawing.Point(502, 325);
+      this.okButton.Location = new System.Drawing.Point(707, 437);
       this.okButton.Name = "okButton";
       this.okButton.Size = new System.Drawing.Size(75, 23);
@@ -43,5 +43,5 @@
       // 
       this.cancelButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
-      this.cancelButton.Location = new System.Drawing.Point(583, 325);
+      this.cancelButton.Location = new System.Drawing.Point(788, 437);
       this.cancelButton.Name = "cancelButton";
       this.cancelButton.Size = new System.Drawing.Size(75, 23);
@@ -62,5 +62,5 @@
       this.viewHost.Name = "viewHost";
       this.viewHost.ReadOnly = false;
-      this.viewHost.Size = new System.Drawing.Size(646, 307);
+      this.viewHost.Size = new System.Drawing.Size(851, 419);
       this.viewHost.TabIndex = 2;
       this.viewHost.ViewsLabelVisible = true;
@@ -71,5 +71,5 @@
       this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
       this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-      this.ClientSize = new System.Drawing.Size(670, 360);
+      this.ClientSize = new System.Drawing.Size(875, 472);
       this.Controls.Add(this.viewHost);
       this.Controls.Add(this.cancelButton);
Index: branches/HeuristicLab.Analysis.AlgorithmBehavior/HeuristicLab.Analysis.SolutionCaching.Views/3.3/RunCollectionModifierTasksConfigurator.cs
===================================================================
--- branches/HeuristicLab.Analysis.AlgorithmBehavior/HeuristicLab.Analysis.SolutionCaching.Views/3.3/RunCollectionModifierTasksConfigurator.cs	(revision 10114)
+++ branches/HeuristicLab.Analysis.AlgorithmBehavior/HeuristicLab.Analysis.SolutionCaching.Views/3.3/RunCollectionModifierTasksConfigurator.cs	(revision 10115)
@@ -55,9 +55,10 @@
 
     private void RunCollectionModifierTasksConfigurator_Load(object sender, EventArgs e) {
+      runCollectionModifierExecutable.RunCollection.AddRange(Content.Runs);
       viewHost.Content = runCollectionModifierExecutable;
     }
 
     private void CreateTask() {
-      runCollectionModifierExecutable.RunCollection.AddRange(Content.Runs);
+      runCollectionModifierExecutable.Prepare();
       MainFormManager.MainForm.ShowContent(runCollectionModifierExecutable);
     }
Index: branches/HeuristicLab.Analysis.AlgorithmBehavior/HeuristicLab.Analysis.SolutionCaching/3.3/RunCollectionModifiers/RunCollectionModifierExecutable.cs
===================================================================
--- branches/HeuristicLab.Analysis.AlgorithmBehavior/HeuristicLab.Analysis.SolutionCaching/3.3/RunCollectionModifiers/RunCollectionModifierExecutable.cs	(revision 10114)
+++ branches/HeuristicLab.Analysis.AlgorithmBehavior/HeuristicLab.Analysis.SolutionCaching/3.3/RunCollectionModifiers/RunCollectionModifierExecutable.cs	(revision 10115)
@@ -62,12 +62,13 @@
       get { return (ValueParameter<ItemList<IRunCollectionModifier>>)Parameters["RunCollectionModifiers"]; }
     }
+    public RunCollection RunCollection {
+      get { return RunCollectionParameter.Value; }
+      protected set { RunCollectionParameter.Value = value; }
+    }
+    public ValueParameter<RunCollection> RunCollectionParameter {
+      get { return (ValueParameter<RunCollection>)Parameters["RunCollection"]; }
+    }
     public ItemList<IRunCollectionModifier> RunCollectionModifiers {
       get { return RunCollectionModifiersParameter.Value; }
-    }
-
-    [Storable]
-    protected RunCollection runCollection;
-    public RunCollection RunCollection {
-      get { return runCollection; }
     }
 
@@ -90,6 +91,6 @@
     public RunCollectionModifierExecutable() {
       Parameters.Add(new ValueParameter<ItemList<IRunCollectionModifier>>("RunCollectionModifiers", "List of RunCollectionModifiers that are executed. ", new ItemList<IRunCollectionModifier>()));
+      Parameters.Add(new ValueParameter<RunCollection>("RunCollection", "RunCollection on which the modifiers are applied. ", new RunCollection()));
       executionStack = new Stack<IRunCollectionModifier>();
-      runCollection = new RunCollection();
       log = new Log();
     }
@@ -100,5 +101,4 @@
       executionTime = original.executionTime;
       executionState = original.executionState;
-      runCollection = (RunCollection)original.runCollection.Clone(cloner);
       executionStack = new Stack<IRunCollectionModifier>();
       foreach (var runCollectionModifier in original.executionStack) {
@@ -165,4 +165,5 @@
       CancellationToken ct = (CancellationToken)state;
       OnStarted();
+      var runs = RunCollection.ToList();
 
       IRunCollectionModifier next;
@@ -171,5 +172,5 @@
         try {
           ct.ThrowIfCancellationRequested();
-          next.Modify(runCollection.ToList());
+          next.Modify(runs);
         }
         catch (Exception ex) {
@@ -177,4 +178,7 @@
           if (ex is OperationCanceledException) throw ex;
           else throw new Exception("IRunCollectionModifier " + next + "threw an exception.", ex);
+        }
+        finally {
+          RunCollection = new RunCollection(runs);
         }
       }
