Index: trunk/sources/HeuristicLab.Optimization/3.3/Algorithm.cs
===================================================================
--- trunk/sources/HeuristicLab.Optimization/3.3/Algorithm.cs	(revision 4375)
+++ trunk/sources/HeuristicLab.Optimization/3.3/Algorithm.cs	(revision 4419)
@@ -35,5 +35,7 @@
   [Item("Algorithm", "A base class for algorithms.")]
   [StorableClass]
-  public abstract class Algorithm : ParameterizedNamedItem, IAlgorithm {
+  public abstract class Algorithm : ParameterizedNamedItem, IAlgorithm, IStorableContent {
+    public string Filename { get; set; }
+
     public override Image ItemImage {
       get {
Index: trunk/sources/HeuristicLab.Optimization/3.3/BatchRun.cs
===================================================================
--- trunk/sources/HeuristicLab.Optimization/3.3/BatchRun.cs	(revision 4375)
+++ trunk/sources/HeuristicLab.Optimization/3.3/BatchRun.cs	(revision 4419)
@@ -36,5 +36,7 @@
   [Creatable("Testing & Analysis")]
   [StorableClass]
-  public sealed class BatchRun : NamedItem, IOptimizer {
+  public sealed class BatchRun : NamedItem, IOptimizer, IStorableContent {
+    public string Filename { get; set; }
+
     public override Image ItemImage {
       get {
Index: trunk/sources/HeuristicLab.Optimization/3.3/Experiment.cs
===================================================================
--- trunk/sources/HeuristicLab.Optimization/3.3/Experiment.cs	(revision 4375)
+++ trunk/sources/HeuristicLab.Optimization/3.3/Experiment.cs	(revision 4419)
@@ -35,5 +35,7 @@
   [Creatable("Testing & Analysis")]
   [StorableClass]
-  public sealed class Experiment : NamedItem, IOptimizer {
+  public sealed class Experiment : NamedItem, IOptimizer, IStorableContent {
+    public string Filename { get; set; }
+
     public override Image ItemImage {
       get {
Index: trunk/sources/HeuristicLab.Optimization/3.3/OptimizerList.cs
===================================================================
--- trunk/sources/HeuristicLab.Optimization/3.3/OptimizerList.cs	(revision 4375)
+++ trunk/sources/HeuristicLab.Optimization/3.3/OptimizerList.cs	(revision 4419)
@@ -21,4 +21,5 @@
 
 using System.Collections.Generic;
+using HeuristicLab.Common;
 using HeuristicLab.Core;
 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
@@ -26,5 +27,4 @@
 namespace HeuristicLab.Optimization {
   [Item("Optimizer List", "Represents a list of optimizers.")]
-  [Creatable("Testing & Analysis")]
   [StorableClass]
   public class OptimizerList : ItemList<IOptimizer> {
Index: trunk/sources/HeuristicLab.Optimization/3.3/Result.cs
===================================================================
--- trunk/sources/HeuristicLab.Optimization/3.3/Result.cs	(revision 4375)
+++ trunk/sources/HeuristicLab.Optimization/3.3/Result.cs	(revision 4419)
@@ -32,5 +32,7 @@
   [Item("Result", "A result which has a name and a data type and holds an IItem.")]
   [StorableClass]
-  public sealed class Result : NamedItem, IResult {
+  public sealed class Result : NamedItem, IResult, IStorableContent {
+    public string Filename { get; set; }
+
     public override Image ItemImage {
       get {
Index: trunk/sources/HeuristicLab.Optimization/3.3/Run.cs
===================================================================
--- trunk/sources/HeuristicLab.Optimization/3.3/Run.cs	(revision 4375)
+++ trunk/sources/HeuristicLab.Optimization/3.3/Run.cs	(revision 4419)
@@ -33,5 +33,7 @@
   [Item("Run", "The parameters and results of an algorithm run.")]
   [StorableClass]
-  public sealed class Run : NamedItem, IRun {
+  public sealed class Run : NamedItem, IRun, IStorableContent {
+    public string Filename { get; set; }
+
     [StorableConstructor]
     private Run(bool deserializing) : base(deserializing) { }
Index: trunk/sources/HeuristicLab.Optimization/3.3/RunCollection.cs
===================================================================
--- trunk/sources/HeuristicLab.Optimization/3.3/RunCollection.cs	(revision 4375)
+++ trunk/sources/HeuristicLab.Optimization/3.3/RunCollection.cs	(revision 4419)
@@ -33,5 +33,7 @@
   [Creatable("Testing & Analysis")]
   [StorableClass]
-  public class RunCollection : ItemCollection<IRun>, IStringConvertibleMatrix {
+  public class RunCollection : ItemCollection<IRun>, IStringConvertibleMatrix, IStorableContent {
+    public string Filename { get; set; }
+
     [StorableConstructor]
     protected RunCollection(bool deserializing) : base(deserializing) { }
Index: trunk/sources/HeuristicLab.Optimization/3.3/UserDefinedProblem.cs
===================================================================
--- trunk/sources/HeuristicLab.Optimization/3.3/UserDefinedProblem.cs	(revision 4375)
+++ trunk/sources/HeuristicLab.Optimization/3.3/UserDefinedProblem.cs	(revision 4419)
@@ -38,5 +38,7 @@
   [Creatable("Problems")]
   [StorableClass]
-  public sealed class UserDefinedProblem : ParameterizedNamedItem, ISingleObjectiveProblem {
+  public sealed class UserDefinedProblem : ParameterizedNamedItem, ISingleObjectiveProblem, IStorableContent {
+    public string Filename { get; set; }
+
     public override Image ItemImage {
       get { return HeuristicLab.Common.Resources.VS2008ImageLibrary.Type; }
