Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IAlgorithm.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IAlgorithm.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IAlgorithm.cs	(revision 14712)
@@ -28,4 +28,5 @@
   /// Interface to represent an algorithm.
   /// </summary>
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("D9E81D57-CE20-4441-AFAB-0329D0E7DEA5")]
   public interface IAlgorithm : IParameterizedNamedItem, IOptimizer {
     Type ProblemType { get; }
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IAnalyzer.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IAnalyzer.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IAnalyzer.cs	(revision 14712)
@@ -26,4 +26,5 @@
   /// An interface which represents an analysis operator.
   /// </summary>
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("94CBFC5D-C085-4961-A30D-BBA936B4CD84")]
   public interface IAnalyzer : IOperator {
     bool EnabledByDefault { get; }
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ICrossover.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ICrossover.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ICrossover.cs	(revision 14712)
@@ -26,4 +26,5 @@
   /// An interface which represents an operator for crossing solutions.
   /// </summary>
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("EBD654DA-FBD6-4143-A4CF-0F1956E06234")]
   public interface ICrossover : IOperator { }
 }
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IDiscreteDoubleMatrixModifier.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IDiscreteDoubleMatrixModifier.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IDiscreteDoubleMatrixModifier.cs	(revision 14712)
@@ -25,4 +25,5 @@
 
 namespace HeuristicLab.Optimization {
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("7752E591-EDA6-4727-BC6C-459947D8C29B")]
   public interface IDiscreteDoubleMatrixModifier : IOperator {
     ILookupParameter<DoubleMatrix> ValueParameter { get; }
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IDiscreteDoubleValueModifier.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IDiscreteDoubleValueModifier.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IDiscreteDoubleValueModifier.cs	(revision 14712)
@@ -24,4 +24,5 @@
 
 namespace HeuristicLab.Optimization {
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("67062FFB-F715-4E6B-8952-073E3BC183E0")]
   public interface IDiscreteDoubleValueModifier : IOperator {
     ILookupParameter<DoubleValue> ValueParameter { get; }
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IEvaluator.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IEvaluator.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IEvaluator.cs	(revision 14712)
@@ -26,4 +26,5 @@
   /// An interface which represents an evaluation operator for optimization problems.
   /// </summary>
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("EA616593-7682-4298-87E1-6C3A50E0F549")]
   public interface IEvaluator : IOperator { }
 }
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IExhaustiveMoveGenerator.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IExhaustiveMoveGenerator.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IExhaustiveMoveGenerator.cs	(revision 14712)
@@ -21,4 +21,5 @@
 
 namespace HeuristicLab.Optimization {
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("AE570F01-CFA6-4CD8-84C2-2F342E27801E")]
   public interface IExhaustiveMoveGenerator : IMoveGenerator {
   }
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IGlobalParticleUpdater.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IGlobalParticleUpdater.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IGlobalParticleUpdater.cs	(revision 14712)
@@ -21,4 +21,5 @@
 
 namespace HeuristicLab.Optimization {
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("A43CEEA9-CCFF-4754-9250-DE092684B823")]
   public interface IGlobalParticleUpdater : IParticleUpdater {
   }
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IHeuristicOptimizationProblem.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IHeuristicOptimizationProblem.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IHeuristicOptimizationProblem.cs	(revision 14712)
@@ -27,4 +27,5 @@
   /// Interface to represent a heuristic optimization problem.
   /// </summary>
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("E58F8661-D489-46A1-BCC2-3CB57927EE8E")]
   public interface IHeuristicOptimizationProblem : IProblem {
     IParameter SolutionCreatorParameter { get; }
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IImprovementOperator.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IImprovementOperator.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IImprovementOperator.cs	(revision 14712)
@@ -26,4 +26,5 @@
   /// An interface which represents an operator for improvement.
   /// </summary>
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("A638F7BB-0095-4159-9351-188E16F16C6D")]
   public interface IImprovementOperator : IOperator {
   }
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IIterationBasedOperator.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IIterationBasedOperator.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IIterationBasedOperator.cs	(revision 14712)
@@ -24,4 +24,5 @@
 
 namespace HeuristicLab.Optimization {
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("F156DC9A-8857-41A6-808A-270BE3E98805")]
   public interface IIterationBasedOperator : IOperator {
     ILookupParameter<IntValue> IterationsParameter { get; }
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ILocalImprovementAlgorithmOperator.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ILocalImprovementAlgorithmOperator.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ILocalImprovementAlgorithmOperator.cs	(revision 14712)
@@ -23,4 +23,5 @@
 
 namespace HeuristicLab.Optimization {
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("C7058E05-E3A0-405A-A876-EC294DD36081")]
   public interface ILocalImprovementAlgorithmOperator : ILocalImprovementOperator {
     Type ProblemType { get; }
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ILocalImprovementOperator.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ILocalImprovementOperator.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ILocalImprovementOperator.cs	(revision 14712)
@@ -24,4 +24,5 @@
 
 namespace HeuristicLab.Optimization {
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("A4E55EF0-3D1B-4CE0-8B73-890C546B9FCB")]
   public interface ILocalImprovementOperator : IOperator {
     IValueLookupParameter<IntValue> MaximumIterationsParameter { get; }
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ILocalParticleUpdater.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ILocalParticleUpdater.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ILocalParticleUpdater.cs	(revision 14712)
@@ -21,4 +21,5 @@
 
 namespace HeuristicLab.Optimization {
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("47D6341D-60CE-4B77-ABB4-6D564C69D482")]
   public interface ILocalParticleUpdater : IParticleUpdater {
   }
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IManipulator.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IManipulator.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IManipulator.cs	(revision 14712)
@@ -26,4 +26,5 @@
   /// An interface which represents an operator for manipulating solutions.
   /// </summary>
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("1BE1EBC4-3FD2-4CF1-A0EA-A2F5842CC54F")]
   public interface IManipulator : IOperator { }
 }
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IMigrator.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IMigrator.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IMigrator.cs	(revision 14712)
@@ -23,4 +23,5 @@
 
 namespace HeuristicLab.Optimization {
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("0AF2BE99-1757-4A58-A1D9-E761D1CFF69E")]
   public interface IMigrator : IOperator { }
 }
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IMoveGenerator.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IMoveGenerator.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IMoveGenerator.cs	(revision 14712)
@@ -29,4 +29,5 @@
   /// Please read the remarks on <see cref="IMoveOperator"/> on how to implement moves.
   /// </remarks>
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("F6A67617-720F-4482-B741-2C6F5C3FD83B")]
   public interface IMoveGenerator : IOperator {
   }
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IMoveMaker.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IMoveMaker.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IMoveMaker.cs	(revision 14712)
@@ -24,4 +24,5 @@
 
 namespace HeuristicLab.Optimization {
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("2ACF2830-A10E-40CA-B24E-51F1C6E1D79B")]
   public interface IMoveMaker : IOperator {
     ILookupParameter<DoubleValue> QualityParameter { get; }
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IMoveOperator.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IMoveOperator.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IMoveOperator.cs	(revision 14712)
@@ -70,4 +70,5 @@
   /// These operators should not implement further move types. For further moves
   /// a new interface derived from IMoveOperator should be created.
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("AE2A7DE8-9B97-43A4-9572-11D632DB2DCF")]
   public interface IMoveOperator : IOperator {
   }
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IMultiAnalyzer.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IMultiAnalyzer.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IMultiAnalyzer.cs	(revision 14712)
@@ -26,4 +26,5 @@
   /// An interface which represents a multi analysis operator.
   /// </summary>
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("AB428D84-D17C-4996-B85F-35C46D072B18")]
   public interface IMultiAnalyzer : ICheckedMultiOperator<IAnalyzer>, IAnalyzer { }
 }
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IMultiMoveGenerator.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IMultiMoveGenerator.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IMultiMoveGenerator.cs	(revision 14712)
@@ -24,4 +24,5 @@
 
 namespace HeuristicLab.Optimization {
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("56906048-49C8-4CCE-84F2-E873AB670141")]
   public interface IMultiMoveGenerator : IMoveGenerator {
     IValueLookupParameter<IntValue> SampleSizeParameter { get; }
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IMultiNeighborhoodShakingOperator.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IMultiNeighborhoodShakingOperator.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IMultiNeighborhoodShakingOperator.cs	(revision 14712)
@@ -24,4 +24,5 @@
 
 namespace HeuristicLab.Optimization {
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("C3DFEDC5-AAB1-415B-A7DE-0C495C0E1FEA")]
   public interface IMultiNeighborhoodShakingOperator : IOperator {
     IValueLookupParameter<IntValue> CurrentNeighborhoodIndexParameter { get; }
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IMultiObjectiveEvaluator.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IMultiObjectiveEvaluator.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IMultiObjectiveEvaluator.cs	(revision 14712)
@@ -27,4 +27,5 @@
   /// An interface which represents an evaluation operator for multi-objective optimization problems.
   /// </summary>
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("85A0F43A-8789-44E4-B0E9-1F3EA3721CC5")]
   public interface IMultiObjectiveEvaluator : IEvaluator, IMultiObjectiveOperator {
     ILookupParameter<DoubleArray> QualitiesParameter { get; }
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IMultiObjectiveHeuristicOptimizationProblem.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IMultiObjectiveHeuristicOptimizationProblem.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IMultiObjectiveHeuristicOptimizationProblem.cs	(revision 14712)
@@ -26,4 +26,5 @@
   /// An interface to represent a multi-objective optimization problem.
   /// </summary>
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("DFFA509D-36DD-4837-9CC3-809C2EEE75D7")]
   public interface IMultiObjectiveHeuristicOptimizationProblem : IHeuristicOptimizationProblem {
     IParameter MaximizationParameter { get; }
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IMultiObjectiveOperator.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IMultiObjectiveOperator.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IMultiObjectiveOperator.cs	(revision 14712)
@@ -49,4 +49,5 @@
   /// </list>
   /// </remarks>
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("C448E13F-9301-47BC-9680-5EACE647305B")]
   public interface IMultiObjectiveOperator { }
 }
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IMultiObjectiveSelector.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IMultiObjectiveSelector.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IMultiObjectiveSelector.cs	(revision 14712)
@@ -27,4 +27,5 @@
   /// An interface which represents a selection operator for selecting solutions of multi-objective optimization problems.
   /// </summary>
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("D9614F00-C0EF-40A7-9E52-FB97A520B015")]
   public interface IMultiObjectiveSelector : ISelector, IMultiObjectiveOperator {
     ILookupParameter<BoolArray> MaximizationParameter { get; }
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IOptimizer.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IOptimizer.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IOptimizer.cs	(revision 14712)
@@ -27,4 +27,5 @@
   /// Interface to represent optimizers such as algorithms, batch runs, or experiments.
   /// </summary>
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("A9FA5EC0-2917-4964-A694-371CAD756AF2")]
   public interface IOptimizer : INamedItem, IExecutable {
     RunCollection Runs { get; }
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IParticleCreator.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IParticleCreator.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IParticleCreator.cs	(revision 14712)
@@ -26,4 +26,5 @@
   /// Interface to represent an operator that generates a particle. 
   /// </summary>
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("DDA26BF4-2A34-4DC5-8C12-521337838D71")]
   public interface IParticleCreator : ISolutionCreator {
   }
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IParticleUpdater.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IParticleUpdater.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IParticleUpdater.cs	(revision 14712)
@@ -27,4 +27,5 @@
   /// Interface to represent an operator that updates a particle 
   /// </summary>
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("CB99FB40-7F37-4B8E-AF57-19B169994283")]
   public interface IParticleUpdater : IOperator {
     ILookupParameter<DoubleValue> InertiaParameter { get; }
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IPathRelinker.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IPathRelinker.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IPathRelinker.cs	(revision 14712)
@@ -26,4 +26,5 @@
   /// An interface which represents an operator for path relinking.
   /// </summary>
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("4AF844FD-4B14-4E44-B90D-3D69F76628A6")]
   public interface IPathRelinker : IOperator {
   }
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IProblem.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IProblem.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IProblem.cs	(revision 14712)
@@ -28,4 +28,5 @@
   /// Interface to represent an optimization problem.
   /// </summary>
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("18B2C930-F5E5-4CFB-A28A-D38962E1AC8C")]
   public interface IProblem : IParameterizedNamedItem {
     IEnumerable<IItem> Operators { get; }
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IQualityComparator.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IQualityComparator.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IQualityComparator.cs	(revision 14712)
@@ -24,4 +24,5 @@
 
 namespace HeuristicLab.Optimization {
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("E0CA1F6D-7212-4D68-A911-342D0DA655DF")]
   public interface IQualityComparator {
     ILookupParameter<DoubleValue> LeftSideParameter { get; }
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IReducer.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IReducer.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IReducer.cs	(revision 14712)
@@ -26,4 +26,5 @@
   /// An interface which represents a reduction opertor.
   /// </summary>
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("6C419580-DAB3-4E8D-B477-511A4B02EC6F")]
   public interface IReducer : IOperator { }
 }
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IReplacer.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IReplacer.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IReplacer.cs	(revision 14712)
@@ -27,4 +27,5 @@
   /// Replacers are merging a remaining and a selected branch in several special ways.
   /// </summary>
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("7DD674C3-447A-44FD-93AA-586F45D6451B")]
   public interface IReplacer : IOperator {
     IValueLookupParameter<ISelector> ReplacedSelectorParameter { get; }
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IResult.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IResult.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IResult.cs	(revision 14712)
@@ -27,4 +27,5 @@
   /// Represents a result which has a name and a data type and holds an IItem.
   /// </summary>
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("90684A0B-5948-4895-A851-C584F15503BC")]
   public interface IResult : INamedItem {
     Type DataType { get; }
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IRun.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IRun.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IRun.cs	(revision 14712)
@@ -29,4 +29,5 @@
   /// Represents the parameters and results of an algorithm run.
   /// </summary>
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("21268532-6837-4DF5-BD00-F13F265E8CA2")]
   public interface IRun : INamedItem, INotifyPropertyChanged {
     IAlgorithm Algorithm { get; }
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IRunCollectionModifier.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IRunCollectionModifier.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IRunCollectionModifier.cs	(revision 14712)
@@ -27,4 +27,5 @@
 
 namespace HeuristicLab.Optimization {
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("B56F2A9B-97CD-494D-B665-216E5049CBF3")]
   public interface IRunCollectionModifier : IItem {    
     void Modify(List<IRun> runs);
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ISelector.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ISelector.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ISelector.cs	(revision 14712)
@@ -27,4 +27,5 @@
   /// An interface which represents a selection operator.
   /// </summary>
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("445939F2-6C30-484E-A71F-A600B7C9F546")]
   public interface ISelector : IOperator {
     BoolValue CopySelected { get; set; }
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ISelfAdaptiveManipulator.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ISelfAdaptiveManipulator.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ISelfAdaptiveManipulator.cs	(revision 14712)
@@ -27,4 +27,5 @@
   /// An interface which represents an operator for manipulating solutions, given a strategy parameter.
   /// </summary>
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("A137BB96-497A-4CE7-9A1E-104ACB76A2DF")]
   public interface ISelfAdaptiveManipulator : IManipulator {
     Type StrategyParameterType { get; }
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ISimilarityBasedOperator.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ISimilarityBasedOperator.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ISimilarityBasedOperator.cs	(revision 14712)
@@ -23,4 +23,5 @@
 
 namespace HeuristicLab.Optimization {
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("22A677E6-F733-40F4-AC0E-ECC2883C208A")]
   public interface ISimilarityBasedOperator : IOperator {
     IConstrainedValueParameter<ISolutionSimilarityCalculator> SimilarityCalculatorParameter { get; }
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ISingleMoveGenerator.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ISingleMoveGenerator.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ISingleMoveGenerator.cs	(revision 14712)
@@ -21,4 +21,5 @@
 
 namespace HeuristicLab.Optimization {
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("6BEE3554-EF92-47B1-AB8B-9A7E731255CA")]
   public interface ISingleMoveGenerator : IMoveGenerator, ISingleObjectiveOperator {
   }
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveEvaluator.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveEvaluator.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveEvaluator.cs	(revision 14712)
@@ -27,4 +27,5 @@
   /// An interface which represents an evaluation operator for single-objective optimization problems.
   /// </summary>
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("E88E4D8B-FC1E-4632-A5FF-86287725BFF6")]
   public interface ISingleObjectiveEvaluator : IEvaluator, ISingleObjectiveOperator {
     ILookupParameter<DoubleValue> QualityParameter { get; }
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveHeuristicOptimizationProblem.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveHeuristicOptimizationProblem.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveHeuristicOptimizationProblem.cs	(revision 14712)
@@ -26,4 +26,5 @@
   /// An interface to represent a single-objective optimization problem.
   /// </summary>
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("24AF5DEC-32CA-433A-BDD4-8DCB86AEC8C7")]
   public interface ISingleObjectiveHeuristicOptimizationProblem : IHeuristicOptimizationProblem {
     IParameter MaximizationParameter { get; }
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveImprovementOperator.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveImprovementOperator.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveImprovementOperator.cs	(revision 14712)
@@ -26,4 +26,5 @@
   /// An interface which represents an operator for improvement of a single objective solution.
   /// </summary>
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("07B07C02-F928-42EC-8663-6AE5D5601D64")]
   public interface ISingleObjectiveImprovementOperator : IImprovementOperator, ISingleObjectiveOperator {
     IValueLookupParameter<IItem> SolutionParameter { get; }
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveMoveEvaluator.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveMoveEvaluator.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveMoveEvaluator.cs	(revision 14712)
@@ -24,4 +24,5 @@
 
 namespace HeuristicLab.Optimization {
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("FADEEF51-A4AE-46F6-A52E-BEB123DC8D95")]
   public interface ISingleObjectiveMoveEvaluator : IOperator, ISingleObjectiveOperator {
     ILookupParameter<DoubleValue> QualityParameter { get; }
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveOperator.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveOperator.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveOperator.cs	(revision 14712)
@@ -49,4 +49,5 @@
   /// </list>
   /// </remarks>
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("ACA83C0C-4846-450C-B18B-D17C9BFBF998")]
   public interface ISingleObjectiveOperator { }
 }
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectivePathRelinker.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectivePathRelinker.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectivePathRelinker.cs	(revision 14712)
@@ -26,4 +26,5 @@
   /// An interface which represents an operator for path relinking between single objective solutions.
   /// </summary>
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("DE551E19-8E50-40FD-92DF-AC10F91731F7")]
   public interface ISingleObjectivePathRelinker : IPathRelinker, ISingleObjectiveOperator {
     ILookupParameter<ItemArray<IItem>> ParentsParameter { get; }
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveReplacer.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveReplacer.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveReplacer.cs	(revision 14712)
@@ -27,4 +27,5 @@
   /// An interface which represents a replacement operator for replacing solutions of single-objective optimization problems.
   /// </summary>
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("7405076E-8AD0-430C-B334-77CEBF5699FB")]
   public interface ISingleObjectiveReplacer : IReplacer, ISingleObjectiveOperator {
     IValueLookupParameter<BoolValue> MaximizationParameter { get; }
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveSelector.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveSelector.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveSelector.cs	(revision 14712)
@@ -27,4 +27,5 @@
   /// An interface which represents a selection operator for selecting solutions of single-objective optimization problems.
   /// </summary>
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("C12B20A5-5507-4139-8888-85C459379E20")]
   public interface ISingleObjectiveSelector : ISelector, ISingleObjectiveOperator {
     IValueLookupParameter<BoolValue> MaximizationParameter { get; }
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveSolutionSimilarityCalculator.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveSolutionSimilarityCalculator.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveSolutionSimilarityCalculator.cs	(revision 14712)
@@ -30,4 +30,5 @@
   /// </summary>
   [Obsolete("use HeuristicLab.Optimization.ISolutionSimilarityCalculator instead")]
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("3F4307E2-01BF-40FF-A602-BAD324BCEC8C")]
   public interface ISingleObjectiveSolutionSimilarityCalculator : ISolutionSimilarityCalculator, ISingleObjectiveOperator {
 
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ISolutionCreator.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ISolutionCreator.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ISolutionCreator.cs	(revision 14712)
@@ -26,4 +26,5 @@
   /// An interface which represents an operator for creating new solutions.
   /// </summary>
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("92D0A067-FBDC-427B-B366-A0A99925EA34")]
   public interface ISolutionCreator : IOperator { }
 }
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ISolutionSimilarityCalculator.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ISolutionSimilarityCalculator.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ISolutionSimilarityCalculator.cs	(revision 14712)
@@ -27,4 +27,5 @@
   /// An interface which represents an operator for similarity calculation.
   /// </summary>
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("853E7A29-19DE-469B-B234-BF9A1899C87F")]
   public interface ISolutionSimilarityCalculator : IItem, IEqualityComparer<IScope> {
     string SolutionVariableName { get; set; }
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IStochasticOperator.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IStochasticOperator.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IStochasticOperator.cs	(revision 14712)
@@ -26,4 +26,5 @@
   /// An interface which represents a stochastic operator.
   /// </summary>
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("CEB690C7-F87F-42BA-8BDB-A70A0DECFEFC")]
   public interface IStochasticOperator : IOperator {
     ILookupParameter<IRandom> RandomParameter { get; }
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IStrategyParameterCreator.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IStrategyParameterCreator.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IStrategyParameterCreator.cs	(revision 14712)
@@ -23,4 +23,5 @@
 
 namespace HeuristicLab.Optimization {
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("94A28EE0-47EC-4D28-AAD6-4E739BF0FB7D")]
   public interface IStrategyParameterCreator : IOperator {
   }
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IStrategyParameterCrossover.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IStrategyParameterCrossover.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IStrategyParameterCrossover.cs	(revision 14712)
@@ -23,4 +23,5 @@
 
 namespace HeuristicLab.Optimization {
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("D4E894EF-01E1-4398-801D-E5989FBCAB4B")]
   public interface IStrategyParameterCrossover : IOperator {
   }
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IStrategyParameterManipulator.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IStrategyParameterManipulator.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/IStrategyParameterManipulator.cs	(revision 14712)
@@ -23,4 +23,5 @@
 
 namespace HeuristicLab.Optimization {
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("0EB60A74-2FA5-4367-8DA7-84AB9FC9B6B1")]
   public interface IStrategyParameterManipulator : IOperator {
   }
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ISubScopesQualityComparator.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ISubScopesQualityComparator.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ISubScopesQualityComparator.cs	(revision 14712)
@@ -24,4 +24,5 @@
 
 namespace HeuristicLab.Optimization {
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("56451A9A-476E-4E6C-B548-90020E30911D")]
   public interface ISubScopesQualityComparator {
     ILookupParameter<DoubleValue> LeftSideParameter { get; }
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ISwarmUpdater.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ISwarmUpdater.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ISwarmUpdater.cs	(revision 14712)
@@ -24,4 +24,5 @@
 
 namespace HeuristicLab.Optimization {
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("812B735E-EF65-45B7-8B27-93EF092A30BB")]
   public interface ISwarmUpdater : IOperator {
     IScopeTreeLookupParameter<DoubleValue> QualityParameter { get; }
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ITabuChecker.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ITabuChecker.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ITabuChecker.cs	(revision 14712)
@@ -24,4 +24,5 @@
 
 namespace HeuristicLab.Optimization {
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("C833E721-D763-4F7D-B24E-6A1039F3160C")]
   public interface ITabuChecker : IOperator {
     ILookupParameter<BoolValue> MoveTabuParameter { get; }
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ITabuMaker.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ITabuMaker.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ITabuMaker.cs	(revision 14712)
@@ -24,4 +24,5 @@
 
 namespace HeuristicLab.Optimization {
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("97C644C5-C5A1-4C4E-8B25-A3115BCF8E34")]
   public interface ITabuMaker : IOperator {
     ILookupParameter<DoubleValue> MoveQualityParameter { get; }
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ITerminationBasedOperator.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ITerminationBasedOperator.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ITerminationBasedOperator.cs	(revision 14712)
@@ -24,4 +24,5 @@
 
 namespace HeuristicLab.Optimization {
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("004D8DAC-C34B-47CE-923E-B4C387E043AC")]
   public interface ITerminationBasedOperator : IOperator {
     ILookupParameter<BoolValue> TerminateParameter { get; }
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ITerminator.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ITerminator.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ITerminator.cs	(revision 14712)
@@ -24,4 +24,5 @@
   /// An interface which represents an operator for checking a termination criterion.
   /// </summary>
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("9447F425-F09C-4AC8-AF72-A9FF1E67A84C")]
   public interface ITerminator : ITerminationBasedOperator {
   }
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ITopologyInitializer.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ITopologyInitializer.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ITopologyInitializer.cs	(revision 14712)
@@ -24,4 +24,5 @@
 
 namespace HeuristicLab.Optimization {
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("DA7A9023-31D0-477A-9167-26F64DCF747F")]
   public interface ITopologyInitializer : IOperator {
     IScopeTreeLookupParameter<IntArray> NeighborsParameter { get; }
Index: branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ITopologyUpdater.cs
===================================================================
--- branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ITopologyUpdater.cs	(revision 13401)
+++ branches/PersistenceOverhaul/HeuristicLab.Optimization/3.3/Interfaces/ITopologyUpdater.cs	(revision 14712)
@@ -24,4 +24,5 @@
 
 namespace HeuristicLab.Optimization {
+  [HeuristicLab.Persistence.Default.CompositeSerializers.Storable.StorableType("46B4ECEA-0A45-4D6A-8F36-34F08403E078")]
   public interface ITopologyUpdater : IOperator {
     IScopeTreeLookupParameter<IntArray> NeighborsParameter { get; }
