Index: /branches/PersistenceReintegration/HeuristicLab.Algorithms.ALPS/3.3/AgingScheme.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Algorithms.ALPS/3.3/AgingScheme.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Algorithms.ALPS/3.3/AgingScheme.cs	(revision 14929)
@@ -24,4 +24,5 @@
 using System.Linq;
 using HeuristicLab.Data;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Algorithms.ALPS {
@@ -29,4 +30,5 @@
   /// Defines the growth of age limits for the layers.
   /// </summary>
+  [StorableType("6b266409-a21f-44cf-9f76-8ff166e7814c")]
   public enum AgingScheme {
     Linear,
Index: /branches/PersistenceReintegration/HeuristicLab.Algorithms.Benchmarks/3.3/IBenchmark.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Algorithms.Benchmarks/3.3/IBenchmark.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Algorithms.Benchmarks/3.3/IBenchmark.cs	(revision 14929)
@@ -24,6 +24,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Algorithms.Benchmarks {
+  [StorableType("d371b596-3fb6-4ed2-94c7-4a7b9caff142")]
   public interface IBenchmark : IItem {
     byte[][] ChunkData { get; set; }
Index: /branches/PersistenceReintegration/HeuristicLab.Algorithms.CMAEvolutionStrategy/3.4/Interfaces/ICMAInitializer.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Algorithms.CMAEvolutionStrategy/3.4/Interfaces/ICMAInitializer.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Algorithms.CMAEvolutionStrategy/3.4/Interfaces/ICMAInitializer.cs	(revision 14929)
@@ -25,6 +25,8 @@
 using HeuristicLab.Data;
 using System;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Algorithms.CMAEvolutionStrategy {
+  [StorableType("623879a0-0ecd-4c2f-82f6-e7fb45df2368")]
   public interface ICMAInitializer : IOperator {
     Type CMAType { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Algorithms.CMAEvolutionStrategy/3.4/Interfaces/ICMAManipulator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Algorithms.CMAEvolutionStrategy/3.4/Interfaces/ICMAManipulator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Algorithms.CMAEvolutionStrategy/3.4/Interfaces/ICMAManipulator.cs	(revision 14929)
@@ -26,6 +26,8 @@
 using HeuristicLab.Encodings.RealVectorEncoding;
 using System;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Algorithms.CMAEvolutionStrategy {
+  [StorableType("93fc8fd6-0363-46e6-8ed1-a5fdef57a8bb")]
   public interface ICMAManipulator : IOperator {
     Type CMAType { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Algorithms.CMAEvolutionStrategy/3.4/Interfaces/ICMARecombinator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Algorithms.CMAEvolutionStrategy/3.4/Interfaces/ICMARecombinator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Algorithms.CMAEvolutionStrategy/3.4/Interfaces/ICMARecombinator.cs	(revision 14929)
@@ -25,6 +25,8 @@
 using HeuristicLab.Encodings.RealVectorEncoding;
 using System;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Algorithms.CMAEvolutionStrategy {
+  [StorableType("a8ebdbad-f3e1-499f-8ed6-9d21cf77ffce")]
   public interface ICMARecombinator : IOperator {
     Type CMAType { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Algorithms.CMAEvolutionStrategy/3.4/Interfaces/ICMAUpdater.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Algorithms.CMAEvolutionStrategy/3.4/Interfaces/ICMAUpdater.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Algorithms.CMAEvolutionStrategy/3.4/Interfaces/ICMAUpdater.cs	(revision 14929)
@@ -26,6 +26,8 @@
 using HeuristicLab.Encodings.RealVectorEncoding;
 using System;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Algorithms.CMAEvolutionStrategy {
+  [StorableType("90733091-af10-43fb-ae87-94d44536d916")]
   public interface ICMAUpdater : IOperator {
     Type CMAType { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/GaussianProcess/ICovarianceFunction.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/GaussianProcess/ICovarianceFunction.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/GaussianProcess/ICovarianceFunction.cs	(revision 14929)
@@ -22,4 +22,5 @@
 using System.Collections.Generic;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Algorithms.DataAnalysis {
@@ -35,4 +36,5 @@
   }
 
+  [StorableType("b691c820-fb23-4e5f-8966-85e9563b70bd")]
   public interface ICovarianceFunction : IItem {
     int GetNumberOfParameters(int numberOfVariables);
Index: /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/GaussianProcess/IMeanFunction.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/GaussianProcess/IMeanFunction.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/GaussianProcess/IMeanFunction.cs	(revision 14929)
@@ -21,4 +21,5 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Algorithms.DataAnalysis {
@@ -31,4 +32,5 @@
   }
 
+  [StorableType("d179a74e-fbea-466a-a574-ce12d15efb86")]
   public interface IMeanFunction : IItem {
     int GetNumberOfParameters(int numberOfVariables);
Index: /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/GradientBoostedTrees/GradientBoostedTreesAlgorithmStatic.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/GradientBoostedTrees/GradientBoostedTreesAlgorithmStatic.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/GradientBoostedTrees/GradientBoostedTreesAlgorithmStatic.cs	(revision 14929)
@@ -27,4 +27,5 @@
 using HeuristicLab.Problems.DataAnalysis;
 using HeuristicLab.Random;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Algorithms.DataAnalysis {
@@ -32,4 +33,5 @@
     #region static API
 
+    [StorableType("26b9feb6-93ec-4003-a53a-f852df71c27e")]
     public interface IGbmState {
       IRegressionModel GetModel();
Index: /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/GradientBoostedTrees/IGradientBoostedTreesModel.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/GradientBoostedTrees/IGradientBoostedTreesModel.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/GradientBoostedTrees/IGradientBoostedTreesModel.cs	(revision 14929)
@@ -30,4 +30,5 @@
 
 namespace HeuristicLab.Algorithms.DataAnalysis {
+  [StorableType("16146195-0fbe-4926-b913-21890bcd16ca")]
   public interface IGradientBoostedTreesModel : IRegressionModel {
     IEnumerable<IRegressionModel> Models { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/GradientBoostedTrees/LossFunctions/ILossFunction.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/GradientBoostedTrees/LossFunctions/ILossFunction.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/GradientBoostedTrees/LossFunctions/ILossFunction.cs	(revision 14929)
@@ -23,4 +23,5 @@
 using System.Collections.Generic;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Algorithms.DataAnalysis {
@@ -28,4 +29,5 @@
   // target represents the target vector  (original targets from the problem data, never changed)
   // pred   represents the current vector of predictions (a weighted combination of models learned so far, this vector is updated after each step)
+  [StorableType("b5737a42-af19-4f7f-b883-72320136db2e")]
   public interface ILossFunction : IItem {
     // returns the loss of the current prediction vector 
Index: /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/IDataAnalysisAlgorithm.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/IDataAnalysisAlgorithm.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/IDataAnalysisAlgorithm.cs	(revision 14929)
@@ -22,4 +22,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Problems.DataAnalysis;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Algorithms.DataAnalysis {
@@ -27,4 +28,5 @@
   /// Interface to represent a data analysis algorithm.
   /// </summary>
+  [StorableType("aa16c093-277b-4044-8ba8-a3c7db3b0e04")]
   public interface IDataAnalysisAlgorithm<T> : IAlgorithm where T : class, IDataAnalysisProblem {
     new T Problem { get; set; }
Index: /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/IGaussianProcessClassificationModelCreator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/IGaussianProcessClassificationModelCreator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/IGaussianProcessClassificationModelCreator.cs	(revision 14929)
@@ -22,4 +22,5 @@
 using HeuristicLab.Core;
 using HeuristicLab.Problems.DataAnalysis;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Algorithms.DataAnalysis {
@@ -27,4 +28,5 @@
   /// Interface to represent a Gaussian process model creator for classification
   /// </summary>
+  [StorableType("beabbdcd-83ab-4b79-92dc-eec7c0b05b2c")]
   public interface IGaussianProcessClassificationModelCreator : IGaussianProcessModelCreator {
     ILookupParameter<IClassificationProblemData> ProblemDataParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/IGaussianProcessModel.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/IGaussianProcessModel.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/IGaussianProcessModel.cs	(revision 14929)
@@ -21,4 +21,5 @@
 
 using HeuristicLab.Problems.DataAnalysis;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Algorithms.DataAnalysis {
@@ -26,4 +27,5 @@
   /// Interface to represent a Gaussian process posterior
   /// </summary>
+  [StorableType("34d84247-6b3a-48ec-96d7-2ed863e5f9be")]
   public interface IGaussianProcessModel : IConfidenceRegressionModel {
     double NegativeLogLikelihood { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/IGaussianProcessModelCreator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/IGaussianProcessModelCreator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/IGaussianProcessModelCreator.cs	(revision 14929)
@@ -23,4 +23,5 @@
 using HeuristicLab.Data;
 using HeuristicLab.Encodings.RealVectorEncoding;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Algorithms.DataAnalysis {
@@ -28,4 +29,5 @@
   /// Interface to represent a Gaussian process model creator (either regression or classification)
   /// </summary>
+  [StorableType("9bc24c5e-51a4-4790-83bb-dd03435153e5")]
   public interface IGaussianProcessModelCreator : IOperator {
     ILookupParameter<RealVector> HyperparameterParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/IGaussianProcessRegressionModelCreator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/IGaussianProcessRegressionModelCreator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/IGaussianProcessRegressionModelCreator.cs	(revision 14929)
@@ -22,4 +22,5 @@
 using HeuristicLab.Core;
 using HeuristicLab.Problems.DataAnalysis;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Algorithms.DataAnalysis {
@@ -27,4 +28,5 @@
   /// Interface to represent a Gaussian process model creator for regression
   /// </summary>
+  [StorableType("3f62ebdc-0668-4161-9a72-089179142363")]
   public interface IGaussianProcessRegressionModelCreator : IGaussianProcessModelCreator {
     ILookupParameter<IRegressionProblemData> ProblemDataParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/IGaussianProcessSolution.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/IGaussianProcessSolution.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/IGaussianProcessSolution.cs	(revision 14929)
@@ -21,4 +21,5 @@
 
 using HeuristicLab.Problems.DataAnalysis;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Algorithms.DataAnalysis {
@@ -26,4 +27,5 @@
   /// Interface to represent a Gaussian process solution (either regression or classification)
   /// </summary>
+  [StorableType("409963f8-e767-4c0d-bc69-211928a475eb")]
   public interface IGaussianProcessSolution : IConfidenceRegressionSolution {
     new IGaussianProcessModel Model { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/INcaClassificationSolution.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/INcaClassificationSolution.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/INcaClassificationSolution.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Problems.DataAnalysis;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Algorithms.DataAnalysis {
+  [StorableType("51e5f35a-c345-4631-b6ad-8e593ee82de6")]
   public interface INcaClassificationSolution : IClassificationSolution {
     new INcaModel Model { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/INcaModel.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/INcaModel.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/INcaModel.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using System.Collections.Generic;
 using HeuristicLab.Problems.DataAnalysis;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Algorithms.DataAnalysis {
+  [StorableType("21b21af8-d5bd-41b2-af7d-880ceefb6840")]
   public interface INcaModel : IClassificationModel {
     new INcaClassificationSolution CreateClassificationSolution(IClassificationProblemData problemData);
Index: /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/INearestNeighbourClassificationSolution.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/INearestNeighbourClassificationSolution.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/INearestNeighbourClassificationSolution.cs	(revision 14929)
@@ -23,4 +23,5 @@
 using HeuristicLab.Problems.DataAnalysis;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Algorithms.DataAnalysis {
@@ -28,4 +29,5 @@
   /// Interface to represent a nearest neighbour classification solution
   /// </summary>
+  [StorableType("be647c5d-2567-42df-b605-75513c991863")]
   public interface INearestNeighbourClassificationSolution : IClassificationSolution {
     new INearestNeighbourModel Model { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/INearestNeighbourModel.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/INearestNeighbourModel.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/INearestNeighbourModel.cs	(revision 14929)
@@ -24,4 +24,5 @@
 using HeuristicLab.Core;
 using System.Collections.Generic;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Algorithms.DataAnalysis {
@@ -29,4 +30,5 @@
   /// Interface to represent a nearest neighbour model for either regression or classification
   /// </summary>
+  [StorableType("497b59fa-fa07-4b34-9462-86503948e245")]
   public interface INearestNeighbourModel : IRegressionModel, IClassificationModel {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/INearestNeighbourRegressionSolution.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/INearestNeighbourRegressionSolution.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/INearestNeighbourRegressionSolution.cs	(revision 14929)
@@ -23,4 +23,5 @@
 using HeuristicLab.Problems.DataAnalysis;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Algorithms.DataAnalysis {
@@ -28,4 +29,5 @@
   /// Interface to represent a nearest neighbour regression solution
   /// </summary>
+  [StorableType("f186330a-a7f5-45b9-b174-f0e77cad5610")]
   public interface INearestNeighbourRegressionSolution : IRegressionSolution {
     new INearestNeighbourModel Model { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/INeuralNetworkClassificationSolution.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/INeuralNetworkClassificationSolution.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/INeuralNetworkClassificationSolution.cs	(revision 14929)
@@ -23,4 +23,5 @@
 using HeuristicLab.Problems.DataAnalysis;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Algorithms.DataAnalysis {
@@ -28,4 +29,5 @@
   /// Interface to represent a neural network classification solution
   /// </summary>
+  [StorableType("6d15cbf0-a531-46c4-a654-9bb39be37a8e")]
   public interface INeuralNetworkClassificationSolution : IClassificationSolution {
     new INeuralNetworkModel Model { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/INeuralNetworkEnsembleClassificationSolution.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/INeuralNetworkEnsembleClassificationSolution.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/INeuralNetworkEnsembleClassificationSolution.cs	(revision 14929)
@@ -23,4 +23,5 @@
 using HeuristicLab.Problems.DataAnalysis;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Algorithms.DataAnalysis {
@@ -28,4 +29,5 @@
   /// Interface to represent a neural network ensemble classification solution
   /// </summary>
+  [StorableType("997f9bc5-1834-48e1-8cde-3f2e205c42b6")]
   public interface INeuralNetworkEnsembleClassificationSolution : IClassificationSolution {
     new INeuralNetworkEnsembleModel Model { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/INeuralNetworkEnsembleModel.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/INeuralNetworkEnsembleModel.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/INeuralNetworkEnsembleModel.cs	(revision 14929)
@@ -24,4 +24,5 @@
 using HeuristicLab.Core;
 using System.Collections.Generic;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Algorithms.DataAnalysis {
@@ -29,4 +30,5 @@
   /// Interface to represent a neural network ensemble model for either regression or classification
   /// </summary>
+  [StorableType("ab7a2187-a173-4da1-a67f-3ea6808d8399")]
   public interface INeuralNetworkEnsembleModel : IRegressionModel, IClassificationModel {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/INeuralNetworkEnsembleRegressionSolution.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/INeuralNetworkEnsembleRegressionSolution.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/INeuralNetworkEnsembleRegressionSolution.cs	(revision 14929)
@@ -23,4 +23,5 @@
 using HeuristicLab.Problems.DataAnalysis;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Algorithms.DataAnalysis {
@@ -28,4 +29,5 @@
   /// Interface to represent a neural network ensemble regression solution
   /// </summary>
+  [StorableType("6edf2669-c6fb-4be7-bc4a-4719ba3bc5cc")]
   public interface INeuralNetworkEnsembleRegressionSolution : IRegressionSolution {
     new INeuralNetworkEnsembleModel Model { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/INeuralNetworkModel.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/INeuralNetworkModel.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/INeuralNetworkModel.cs	(revision 14929)
@@ -24,4 +24,5 @@
 using HeuristicLab.Core;
 using System.Collections.Generic;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Algorithms.DataAnalysis {
@@ -29,4 +30,5 @@
   /// Interface to represent a neural network model for either regression or classification
   /// </summary>
+  [StorableType("614739ab-c8f1-49d8-9de1-ff3ad8b5d354")]
   public interface INeuralNetworkModel : IRegressionModel, IClassificationModel {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/INeuralNetworkRegressionSolution.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/INeuralNetworkRegressionSolution.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/INeuralNetworkRegressionSolution.cs	(revision 14929)
@@ -23,4 +23,5 @@
 using HeuristicLab.Problems.DataAnalysis;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Algorithms.DataAnalysis {
@@ -28,4 +29,5 @@
   /// Interface to represent a neural network regression solution
   /// </summary>
+  [StorableType("caaae32c-c294-4eca-970b-6d910d10864c")]
   public interface INeuralNetworkRegressionSolution : IRegressionSolution {
     new INeuralNetworkModel Model { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/IRandomForestClassificationSolution.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/IRandomForestClassificationSolution.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/IRandomForestClassificationSolution.cs	(revision 14929)
@@ -23,4 +23,5 @@
 using HeuristicLab.Problems.DataAnalysis;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Algorithms.DataAnalysis {
@@ -28,4 +29,5 @@
   /// Interface to represent a random forest classification solution
   /// </summary>
+  [StorableType("84b21e31-8289-4c7d-b719-609dfc9475a6")]
   public interface IRandomForestClassificationSolution : IClassificationSolution {
     new IRandomForestModel Model { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/IRandomForestModel.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/IRandomForestModel.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/IRandomForestModel.cs	(revision 14929)
@@ -22,5 +22,5 @@
 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
 using HeuristicLab.Problems.DataAnalysis;
-
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Algorithms.DataAnalysis {
@@ -28,4 +28,5 @@
   /// Interface to represent a random forest model for either regression or classification
   /// </summary>
+  [StorableType("21941637-6921-4369-ad4c-3fd6e8adc0c9")]
   public interface IRandomForestModel : IConfidenceRegressionModel, IClassificationModel {
     int NumberOfTrees { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/IRandomForestRegressionSolution.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/IRandomForestRegressionSolution.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/IRandomForestRegressionSolution.cs	(revision 14929)
@@ -22,4 +22,5 @@
 using HeuristicLab.Problems.DataAnalysis;
 using HeuristicLab.Problems.DataAnalysis.Symbolic.Regression;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Algorithms.DataAnalysis {
@@ -27,4 +28,5 @@
   /// Interface to represent a random forest regression solution
   /// </summary>
+  [StorableType("4df5773d-7f2f-4667-8785-5ef3157ea4b4")]
   public interface IRandomForestRegressionSolution : IConfidenceRegressionSolution {
     new IRandomForestModel Model { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/ISupportVectorMachineModel.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/ISupportVectorMachineModel.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/ISupportVectorMachineModel.cs	(revision 14929)
@@ -22,4 +22,5 @@
 using HeuristicLab.Problems.DataAnalysis;
 using LibSVM;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Algorithms.DataAnalysis {
@@ -27,4 +28,5 @@
   /// Interface to represent a support vector machine model
   /// </summary>
+  [StorableType("db160d38-68f8-4bda-a0b2-9f279c77414c")]
   public interface ISupportVectorMachineModel : IDataAnalysisModel, IRegressionModel, IClassificationModel {
     svm_model Model { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/ISupportVectorMachineSolution.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/ISupportVectorMachineSolution.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/ISupportVectorMachineSolution.cs	(revision 14929)
@@ -23,4 +23,5 @@
 using HeuristicLab.Problems.DataAnalysis;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Algorithms.DataAnalysis {
@@ -28,4 +29,5 @@
   /// Interface to represent a support vector solution (either regression or classification)
   /// </summary>
+  [StorableType("2e3bc5e7-7958-4123-89d7-2cff33c49dd8")]
   public interface ISupportVectorMachineSolution : IDataAnalysisSolution {
     new ISupportVectorMachineModel Model { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/KernelRidgeRegression/KernelFunctions/IKernel.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/KernelRidgeRegression/KernelFunctions/IKernel.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/KernelRidgeRegression/KernelFunctions/IKernel.cs	(revision 14929)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HeuristicLab.Persistence;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -22,4 +23,5 @@
 
 namespace HeuristicLab.Algorithms.DataAnalysis.KernelRidgeRegression {
+  [StorableType("09f38306-a33c-44c4-a3c9-10dbfd923808")]
   public interface IKernel : ICovarianceFunction {
     double? Beta { get; set; } // a kernel parameter
Index: /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/MctsSymbolicRegression/MctsSymbolicRegressionStatic.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/MctsSymbolicRegression/MctsSymbolicRegressionStatic.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/MctsSymbolicRegression/MctsSymbolicRegressionStatic.cs	(revision 14929)
@@ -31,4 +31,5 @@
 using HeuristicLab.Problems.DataAnalysis.Symbolic.Regression;
 using HeuristicLab.Random;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Algorithms.DataAnalysis.MctsSymbolicRegression {
@@ -39,4 +40,5 @@
     #region static API
 
+    [StorableType("c370f13f-cfd9-4388-be24-09a979d74740")]
     public interface IState {
       bool Done { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/MctsSymbolicRegression/OpCodes.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/MctsSymbolicRegression/OpCodes.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/MctsSymbolicRegression/OpCodes.cs	(revision 14929)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HeuristicLab.Persistence;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -21,4 +22,5 @@
 
 namespace HeuristicLab.Algorithms.DataAnalysis.MctsSymbolicRegression {
+  [StorableType("ce2ac2c7-be22-4da4-8e24-f6c5efcc890a")]
   internal enum OpCodes : byte {
     Nop,
Index: /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/MctsSymbolicRegression/Policies/IActionStatistics.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/MctsSymbolicRegression/Policies/IActionStatistics.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/MctsSymbolicRegression/Policies/IActionStatistics.cs	(revision 14929)
@@ -4,6 +4,8 @@
 using System.Text;
 using System.Threading.Tasks;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Algorithms.DataAnalysis.MctsSymbolicRegression.Policies {
+  [StorableType("d1132b07-26e0-4904-bd87-776d5989979f")]
   public interface IActionStatistics {
     double AverageQuality { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/MctsSymbolicRegression/Policies/IPolicy.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/MctsSymbolicRegression/Policies/IPolicy.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/MctsSymbolicRegression/Policies/IPolicy.cs	(revision 14929)
@@ -5,6 +5,8 @@
 using System.Threading.Tasks;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Algorithms.DataAnalysis.MctsSymbolicRegression.Policies {
+  [StorableType("751db940-f960-4a52-a15d-f30563258ce9")]
   public interface IPolicy : IItem {
     int Select(IEnumerable<IActionStatistics> actions, IRandom random);
Index: /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Nca/Initialization/INcaInitializer.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Nca/Initialization/INcaInitializer.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Nca/Initialization/INcaInitializer.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Problems.DataAnalysis;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Algorithms.DataAnalysis {
+  [StorableType("a0bd0799-89b2-481c-a09c-8524e4e3dd29")]
   public interface INcaInitializer : IOperator {
     /// <summary>
Index: /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Nca/ModelCreation/INcaModelCreator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Nca/ModelCreation/INcaModelCreator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Nca/ModelCreation/INcaModelCreator.cs	(revision 14929)
@@ -25,6 +25,8 @@
 using System.Text;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Algorithms.DataAnalysis {
+  [StorableType("6660f580-e03a-435f-94ad-a18abd947e8e")]
   public interface INcaModelCreator : IOperator {
 
Index: /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Nca/SolutionCreation/INcaSolutionCreator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Nca/SolutionCreation/INcaSolutionCreator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/Nca/SolutionCreation/INcaSolutionCreator.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Algorithms.DataAnalysis {
+  [StorableType("5898602c-bf7f-4f0e-aa96-03bd7b457653")]
   public interface INcaSolutionCreator : IOperator {
 
Index: /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/TSNE/Interfaces/IDistance.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/TSNE/Interfaces/IDistance.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/TSNE/Interfaces/IDistance.cs	(revision 14929)
@@ -23,6 +23,8 @@
 using System.Collections.Generic;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Algorithms.DataAnalysis {
+  [StorableType("48c477fd-f914-42c7-a88d-5f9db8156dbb")]
   public interface IDistance<in T> : IItem, IDistance {
     /// <summary>
@@ -44,4 +46,5 @@
 
 
+  [StorableType("dda8efe1-4ba9-4f69-ab19-f68574840f36")]
   public interface IDistance : IItem {
     double Get(object x, object y);
Index: /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/TSNE/Interfaces/ISpacePartitioningTree.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/TSNE/Interfaces/ISpacePartitioningTree.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/TSNE/Interfaces/ISpacePartitioningTree.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Common;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Algorithms.DataAnalysis {
+  [StorableType("f7b06152-ce4e-493b-9e0a-5851f20ad83e")]
   public interface ISpacePartitioningTree {
 
Index: /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/TSNE/Interfaces/IVantagePointTree.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/TSNE/Interfaces/IVantagePointTree.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/TSNE/Interfaces/IVantagePointTree.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using System.Collections.Generic;
 using HeuristicLab.Common;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Algorithms.DataAnalysis {
+  [StorableType("e2525971-74bb-498e-a11a-490389451396")]
   public interface IVantagePointTree<T> {
     void Search(T target, int k, out IList<T> results, out IList<double> distances);
Index: /branches/PersistenceReintegration/HeuristicLab.Analysis/3.3/DataVisualization/DataRowVisualProperties.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Analysis/3.3/DataVisualization/DataRowVisualProperties.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Analysis/3.3/DataVisualization/DataRowVisualProperties.cs	(revision 14929)
@@ -33,4 +33,5 @@
   public class DataRowVisualProperties : DeepCloneable, INotifyPropertyChanged {
     #region ChartType
+    [StorableType("c43ebac6-acf0-40f7-9515-c032f73f6b3c")]
     public enum DataRowChartType {
       Line,
@@ -43,4 +44,5 @@
     #endregion
     #region LineStyle
+    [StorableType("d006c5b0-a8f2-44ce-9cb7-6fb1f6ef7109")]
     public enum DataRowLineStyle {
       Dash,
@@ -53,4 +55,5 @@
     #endregion
     #region Histogram Aggregation
+    [StorableType("7fd525d7-4126-4084-b811-ee36b9eddf45")]
     public enum DataRowHistogramAggregation {
       Overlapping,
Index: /branches/PersistenceReintegration/HeuristicLab.Analysis/3.3/DataVisualization/ScatterPlotDataRowVisualProperties.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Analysis/3.3/DataVisualization/ScatterPlotDataRowVisualProperties.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Analysis/3.3/DataVisualization/ScatterPlotDataRowVisualProperties.cs	(revision 14929)
@@ -33,4 +33,5 @@
   public class ScatterPlotDataRowVisualProperties : DeepCloneable, INotifyPropertyChanged {
     #region PointStyle
+    [StorableType("a23fb4fd-7b9e-41c9-800b-85a7b3964937")]
     public enum ScatterPlotDataRowPointStyle {
       Circle,
@@ -46,4 +47,5 @@
     #endregion
     #region
+    [StorableType("496715c3-1f4f-4c93-9b47-76a94324a069")]
     public enum ScatterPlotDataRowRegressionType {
       None,
Index: /branches/PersistenceReintegration/HeuristicLab.Analysis/3.3/Statistics/Fitting/IFitting.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Analysis/3.3/Statistics/Fitting/IFitting.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Analysis/3.3/Statistics/Fitting/IFitting.cs	(revision 14929)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HeuristicLab.Persistence;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -21,4 +22,5 @@
 
 namespace HeuristicLab.Analysis.Statistics {
+  [StorableType("68007b6c-7899-4aa1-8778-0e5196acc500")]
   public interface IFitting {
     DataRow CalculateFittedLine(double[] dataPoints);
Index: /branches/PersistenceReintegration/HeuristicLab.Collections/3.3/INotifyObservableArrayItemsChanged.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Collections/3.3/INotifyObservableArrayItemsChanged.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Collections/3.3/INotifyObservableArrayItemsChanged.cs	(revision 14929)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HeuristicLab.Persistence;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -22,4 +23,5 @@
 
 namespace HeuristicLab.Collections {
+  [StorableType("23d5d519-a6f5-45bf-bb0c-5022e64b46b3")]
   public interface INotifyObservableArrayItemsChanged<T> {
     event CollectionItemsChangedEventHandler<IndexedItem<T>> ItemsReplaced;
Index: /branches/PersistenceReintegration/HeuristicLab.Collections/3.3/INotifyObservableCollectionItemsChanged.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Collections/3.3/INotifyObservableCollectionItemsChanged.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Collections/3.3/INotifyObservableCollectionItemsChanged.cs	(revision 14929)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HeuristicLab.Persistence;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -22,4 +23,5 @@
 
 namespace HeuristicLab.Collections {
+  [StorableType("238c7acc-fdb3-4183-ac9c-92559d9c54cd")]
   public interface INotifyObservableCollectionItemsChanged<T> {
     event CollectionItemsChangedEventHandler<T> ItemsAdded;
Index: /branches/PersistenceReintegration/HeuristicLab.Collections/3.3/INotifyObservableDictionaryItemsChanged.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Collections/3.3/INotifyObservableDictionaryItemsChanged.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Collections/3.3/INotifyObservableDictionaryItemsChanged.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using System.Collections.Generic;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Collections {
+  [StorableType("b152e5ef-557c-4485-91c7-b803282e7e8f")]
   public interface INotifyObservableDictionaryItemsChanged<TKey, TValue> : INotifyObservableCollectionItemsChanged<KeyValuePair<TKey, TValue>> {
     event CollectionItemsChangedEventHandler<KeyValuePair<TKey, TValue>> ItemsReplaced;
Index: /branches/PersistenceReintegration/HeuristicLab.Collections/3.3/INotifyObservableKeyedCollectionItemsChanged.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Collections/3.3/INotifyObservableKeyedCollectionItemsChanged.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Collections/3.3/INotifyObservableKeyedCollectionItemsChanged.cs	(revision 14929)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HeuristicLab.Persistence;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -21,4 +22,5 @@
 
 namespace HeuristicLab.Collections {
+  [StorableType("6cc465b8-e56e-47d1-ae79-a86592f5e1ae")]
   public interface INotifyObservableKeyedCollectionItemsChanged<TKey, TItem> : INotifyObservableCollectionItemsChanged<TItem> {
     event CollectionItemsChangedEventHandler<TItem> ItemsReplaced;
Index: /branches/PersistenceReintegration/HeuristicLab.Collections/3.3/INotifyObservableListItemsChanged.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Collections/3.3/INotifyObservableListItemsChanged.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Collections/3.3/INotifyObservableListItemsChanged.cs	(revision 14929)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HeuristicLab.Persistence;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -22,4 +23,5 @@
 
 namespace HeuristicLab.Collections {
+  [StorableType("1d6e3a50-47e8-4b1a-8508-3404e4067d23")]
   public interface INotifyObservableListItemsChanged<T> : INotifyObservableCollectionItemsChanged<T> {
     new event CollectionItemsChangedEventHandler<IndexedItem<T>> ItemsAdded;
Index: /branches/PersistenceReintegration/HeuristicLab.Collections/3.3/IObservableArray.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Collections/3.3/IObservableArray.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Collections/3.3/IObservableArray.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using System.Collections.Generic;
 using System.ComponentModel;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Collections {
+  [StorableType("2582353a-9592-4594-abea-79e1b3efffda")]
   public interface IObservableArray<T> : IList<T>, INotifyObservableArrayItemsChanged<T>, INotifyPropertyChanged {
     int Length { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Collections/3.3/IObservableCollection.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Collections/3.3/IObservableCollection.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Collections/3.3/IObservableCollection.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using System.Collections.Generic;
 using System.ComponentModel;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Collections {
+  [StorableType("d9ba46a6-04ff-412d-ac50-9124821114e3")]
   public interface IObservableCollection<T> : ICollection<T>, INotifyObservableCollectionItemsChanged<T>, INotifyPropertyChanged { }
 }
Index: /branches/PersistenceReintegration/HeuristicLab.Collections/3.3/IObservableDictionary.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Collections/3.3/IObservableDictionary.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Collections/3.3/IObservableDictionary.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using System.Collections.Generic;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Collections {
+  [StorableType("74269fc2-6b23-4335-9c98-44f70dc10f93")]
   public interface IObservableDictionary<TKey, TValue> : IDictionary<TKey, TValue>, IObservableCollection<KeyValuePair<TKey, TValue>>, INotifyObservableDictionaryItemsChanged<TKey, TValue> { }
 }
Index: /branches/PersistenceReintegration/HeuristicLab.Collections/3.3/IObservableKeyedCollection.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Collections/3.3/IObservableKeyedCollection.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Collections/3.3/IObservableKeyedCollection.cs	(revision 14929)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HeuristicLab.Persistence;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -21,4 +22,5 @@
 
 namespace HeuristicLab.Collections {
+  [StorableType("1ee7b4f3-8ad9-43e8-9a40-c11029e3d012")]
   public interface IObservableKeyedCollection<TKey, TItem> : IObservableCollection<TItem>, INotifyObservableKeyedCollectionItemsChanged<TKey, TItem> {
     TItem this[TKey key] { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Collections/3.3/IObservableKeyedList.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Collections/3.3/IObservableKeyedList.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Collections/3.3/IObservableKeyedList.cs	(revision 14929)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HeuristicLab.Persistence;
+#region License Information
 
 /* HeuristicLab
@@ -23,4 +24,5 @@
 
 namespace HeuristicLab.Collections {
+  [StorableType("74c67a5e-d45e-44d9-ac54-13d2bc9db0e4")]
   public interface IObservableKeyedList<TKey, TItem> : IObservableKeyedCollection<TKey, TItem>, IObservableList<TItem> {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Collections/3.3/IObservableList.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Collections/3.3/IObservableList.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Collections/3.3/IObservableList.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using System.Collections.Generic;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Collections {
+  [StorableType("672c4118-b252-47c1-b650-1bb4e2cb5ae9")]
   public interface IObservableList<T> : IList<T>, IObservableCollection<T>, INotifyObservableListItemsChanged<T> {
     void Reverse();
Index: /branches/PersistenceReintegration/HeuristicLab.Collections/3.3/IObservableSet.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Collections/3.3/IObservableSet.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Collections/3.3/IObservableSet.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using System.Collections.Generic;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Collections {
+  [StorableType("9566d8ae-5189-4d1a-89f1-2703270ff8a1")]
   public interface IObservableSet<T> : IObservableCollection<T> {
     bool IsProperSubsetOf(IEnumerable<T> other);
Index: /branches/PersistenceReintegration/HeuristicLab.Common/3.3/DeepCloneable.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Common/3.3/DeepCloneable.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Common/3.3/DeepCloneable.cs	(revision 14929)
@@ -1,2 +1,3 @@
+using HeuristicLab.Persistence;
 #region License Information
 /* HeuristicLab
@@ -25,4 +26,5 @@
   /// Represents a base class for all deeply cloneable objects.
   /// </summary>
+  [StorableType("c184f5d2-596e-4b10-a25a-7a87fbf3d4de")]
   public abstract class DeepCloneable : IDeepCloneable {
     protected DeepCloneable(DeepCloneable original, Cloner cloner) {
Index: /branches/PersistenceReintegration/HeuristicLab.Common/3.3/NaturalStringComparer.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Common/3.3/NaturalStringComparer.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Common/3.3/NaturalStringComparer.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using System.Collections.Generic;
 using System.Text.RegularExpressions;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Common {
+  [StorableType("1437722c-78c5-4fca-85bc-4ac07de9d1a4")]
   public class NaturalStringComparer : IComparer<string> {
     public int Compare(string x, string y) {
Index: /branches/PersistenceReintegration/HeuristicLab.Common/3.3/Point2D.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Common/3.3/Point2D.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Common/3.3/Point2D.cs	(revision 14929)
@@ -23,7 +23,9 @@
 using System.ComponentModel;
 using System.Globalization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Common {
   [Serializable]
+  [StorableType("64c7d002-d5e0-4596-b9d9-c027025f5e9c")]
   public struct Point2D<T> where T : struct, IEquatable<T> {
     public static readonly Point2D<T> Empty = new Point2D<T>();
Index: /branches/PersistenceReintegration/HeuristicLab.Common/3.3/ReferenceEqualityComparer.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Common/3.3/ReferenceEqualityComparer.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Common/3.3/ReferenceEqualityComparer.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using System.Collections.Generic;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Common {
+  [StorableType("bf59f521-05e8-43de-8dbc-0700968c00d2")]
   public class ReferenceEqualityComparer : IEqualityComparer<object> {
     bool IEqualityComparer<object>.Equals(object x, object y) {
Index: /branches/PersistenceReintegration/HeuristicLab.Common/3.3/TypeEqualityComparer.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Common/3.3/TypeEqualityComparer.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Common/3.3/TypeEqualityComparer.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using System.Collections.Generic;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Common {
+  [StorableType("1042bf0f-d25d-4936-91be-68dbbae11c54")]
   public class TypeEqualityComparer<T> : IEqualityComparer<T> {
 
Index: /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Constraints/IConstraint.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Constraints/IConstraint.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Constraints/IConstraint.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using System;
 using System.Collections.Generic;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Core {
+  [StorableType("6145ebe3-c59b-4bd9-8f17-f4ffdf0bf0ac")]
   public interface IConstraint : IItem {
     bool Active { get; set; }
Index: /branches/PersistenceReintegration/HeuristicLab.Core/3.3/ExecutionState.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Core/3.3/ExecutionState.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Core/3.3/ExecutionState.cs	(revision 14929)
@@ -1,2 +1,3 @@
+using HeuristicLab.Persistence;
 #region License Information
 /* HeuristicLab
@@ -21,4 +22,5 @@
 
 namespace HeuristicLab.Core {
+  [StorableType("78cfa365-611e-4269-af22-4e558644c4a6")]
   public enum ExecutionState {
     Prepared,
Index: /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/DirectedGraph/IArc.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/DirectedGraph/IArc.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/DirectedGraph/IArc.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using System;
 using HeuristicLab.Common;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Core {
+  [StorableType("bb99e419-45fb-4c73-bf76-e4a37b154ca6")]
   public interface IArc : IItem {
     IVertex Source { get; }
@@ -33,4 +35,5 @@
   }
 
+  [StorableType("ae2ee002-878b-4fd4-8ef4-0a97397bf1dd")]
   public interface IArc<T> : IArc where T : class, IDeepCloneable {
     T Data { get; set; }
Index: /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/DirectedGraph/IDirectedGraph.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/DirectedGraph/IDirectedGraph.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/DirectedGraph/IDirectedGraph.cs	(revision 14929)
@@ -23,6 +23,8 @@
 using System.Collections.Generic;
 using HeuristicLab.Common;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Core {
+  [StorableType("4cb3d3c3-30f2-4695-a5f5-3411b236c724")]
   public interface IDirectedGraph : IItem {
     IEnumerable<IVertex> Vertices { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/DirectedGraph/IVertex.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/DirectedGraph/IVertex.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/DirectedGraph/IVertex.cs	(revision 14929)
@@ -23,6 +23,8 @@
 using System.Collections.Generic;
 using HeuristicLab.Common;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Core {
+  [StorableType("3eb07777-cf55-4e4e-b682-72e7ed0a56d3")]
   public interface IVertex : IItem {
     IEnumerable<IArc> InArcs { get; }
@@ -44,4 +46,5 @@
   }
 
+  [StorableType("db0f22db-d909-48ef-8030-74d9549edd1c")]
   public interface IVertex<T> : IVertex where T : class, IDeepCloneable {
     T Data { get; set; }
Index: /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IAtomicOperation.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IAtomicOperation.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IAtomicOperation.cs	(revision 14929)
@@ -1,2 +1,3 @@
+using HeuristicLab.Persistence;
 #region License Information
 /* HeuristicLab
@@ -24,4 +25,5 @@
   /// Interface which represents an atomic operation.
   /// </summary>
+  [StorableType("441b7c2e-0c6e-4f92-a970-f15c4b7cb99c")]
   public interface IAtomicOperation : IOperation {
     IOperator Operator { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/ICheckedItemCollection.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/ICheckedItemCollection.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/ICheckedItemCollection.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using System.Collections.Generic;
 using HeuristicLab.Collections;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Core {
+  [StorableType("5b7be247-ee39-4b06-827b-ff27993d6f06")]
   public interface ICheckedItemCollection<T> : IItemCollection<T> where T : class, IItem {
     event CollectionItemsChangedEventHandler<T> CheckedItemsChanged;
Index: /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/ICheckedItemList.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/ICheckedItemList.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/ICheckedItemList.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using System.Collections.Generic;
 using HeuristicLab.Collections;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Core {
+  [StorableType("49c1897a-41d8-4943-bb11-467d472ea8ce")]
   public interface ICheckedItemList<T> : IItemList<T> where T : class, IItem {
     event CollectionItemsChangedEventHandler<IndexedItem<T>> CheckedItemsChanged;
Index: /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/ICheckedMultiOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/ICheckedMultiOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/ICheckedMultiOperator.cs	(revision 14929)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HeuristicLab.Persistence;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -22,4 +23,5 @@
 
 namespace HeuristicLab.Core {
+  [StorableType("4559740d-4add-4799-9304-e8ffedd95724")]
   public interface ICheckedMultiOperator<T> : IMultiOperator<T> where T : class, IOperator {
     new ICheckedItemList<T> Operators { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IConstrainedValueParameter.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IConstrainedValueParameter.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IConstrainedValueParameter.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using System;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Core {
+  [StorableType("1622f4a5-72ba-4eef-96a7-ff62859002a6")]
   public interface IConstrainedValueParameter<T> : IValueParameter<T> where T : class, IItem {
     IItemSet<T> ValidValues { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IEngine.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IEngine.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IEngine.cs	(revision 14929)
@@ -1,2 +1,3 @@
+using HeuristicLab.Persistence;
 #region License Information
 /* HeuristicLab
@@ -21,4 +22,5 @@
 
 namespace HeuristicLab.Core {
+  [StorableType("9ef9b0f8-0b3f-437a-acb4-d45133c065d0")]
   public interface IEngine : IExecutable {
     ILog Log { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IExecutable.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IExecutable.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IExecutable.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using System;
 using HeuristicLab.Common;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Core {
+  [StorableType("81695755-bae2-4237-b10c-f9984c5b770e")]
   public interface IExecutable : IItem {
     ExecutionState ExecutionState { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IExecutionContext.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IExecutionContext.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IExecutionContext.cs	(revision 14929)
@@ -21,4 +21,5 @@
 
 using HeuristicLab.Common;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Core {
@@ -26,4 +27,5 @@
   /// Interface which represents an execution context.
   /// </summary>
+  [StorableType("45a272d1-312f-44a1-ac5a-6fb149c1f759")]
   public interface IExecutionContext : IDeepCloneable {
     IExecutionContext Parent { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IFixedValueParameter.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IFixedValueParameter.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IFixedValueParameter.cs	(revision 14929)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HeuristicLab.Persistence;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -21,4 +22,5 @@
 
 namespace HeuristicLab.Core {
+  [StorableType("159d53f6-7a3c-4d0a-aa80-9b4bc834987c")]
   public interface IFixedValueParameter : IValueParameter {
     new IItem Value { get; }
@@ -26,4 +28,5 @@
   }
 
+  [StorableType("45cd49d2-9efc-42e6-8e38-95a2ce303edb")]
   public interface IFixedValueParameter<T> : IFixedValueParameter, IValueParameter<T> where T : class, IItem {
     new T Value { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IItemArray.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IItemArray.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IItemArray.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Collections;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Core {
+  [StorableType("e965adf9-0995-478c-ba0d-4a1ce4f76e8f")]
   public interface IItemArray<T> : IObservableArray<T>, IItem where T : class, IItem { }
 }
Index: /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IItemCollection.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IItemCollection.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IItemCollection.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Collections;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Core {
+  [StorableType("d96bd1ee-5d3b-446d-9ab7-584f60c1640d")]
   public interface IItemCollection<T> : IObservableCollection<T>, IItem where T : class, IItem { }
 }
Index: /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IItemDictionary.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IItemDictionary.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IItemDictionary.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Collections;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Core {
+  [StorableType("91c09102-8a26-462f-992a-186468b486ec")]
   public interface IItemDictionary<TKey, TValue> : IObservableDictionary<TKey, TValue>, IItem
     where TKey : class, IItem
Index: /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IItemList.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IItemList.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IItemList.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Collections;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Core {
+  [StorableType("18656cac-f7bd-4db8-be86-8dfb0575b12d")]
   public interface IItemList<T> : IObservableList<T>, IItemCollection<T>, IItem where T : class, IItem { }
 }
Index: /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IItemSet.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IItemSet.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IItemSet.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Collections;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Core {
+  [StorableType("13bf729c-c054-49b0-9978-3b41ad903d08")]
   public interface IItemSet<T> : IObservableSet<T>, IItemCollection<T>, IItem where T : class, IItem { }
 }
Index: /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IKeyedItemCollection.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IKeyedItemCollection.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IKeyedItemCollection.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Collections;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Core {
+  [StorableType("d7058cb9-4702-4783-8d9b-05111e33f671")]
   public interface IKeyedItemCollection<TKey, TItem> : IObservableKeyedCollection<TKey, TItem>, IItemCollection<TItem>, IItem where TItem : class, IItem { }
 }
Index: /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/ILog.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/ILog.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/ILog.cs	(revision 14929)
@@ -23,6 +23,8 @@
 using System.Collections.Generic;
 using HeuristicLab.Common;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Core {
+  [StorableType("563ef474-fb16-453c-8b31-3b62073bc296")]
   public interface ILog : IItem {
     IEnumerable<string> Messages { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/ILookupParameter.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/ILookupParameter.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/ILookupParameter.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using System;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Core {
+  [StorableType("ec8395c5-8dcd-49ae-a9c8-74128415496b")]
   public interface ILookupParameter : IParameter {
     string ActualName { get; set; }
@@ -30,4 +32,5 @@
   }
 
+  [StorableType("52910af7-0773-407a-93a0-6fc2164cc569")]
   public interface ILookupParameter<T> : ILookupParameter where T : class, IItem {
     new T ActualValue { get; set; }
Index: /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IMultiOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IMultiOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IMultiOperator.cs	(revision 14929)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HeuristicLab.Persistence;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -22,4 +23,5 @@
 
 namespace HeuristicLab.Core {
+  [StorableType("e285b907-7b34-44a5-8b8a-e93649401921")]
   public interface IMultiOperator<T> : IOperator where T : class, IOperator {
     IItemList<T> Operators { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IOperation.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IOperation.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IOperation.cs	(revision 14929)
@@ -21,4 +21,5 @@
 
 using HeuristicLab.Common;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Core {
@@ -26,4 +27,5 @@
   /// Interface which represents an operation.
   /// </summary>
+  [StorableType("3192e8f2-8cb5-412f-a1bc-bd686404b9c0")]
   public interface IOperation : IDeepCloneable { }
 }
Index: /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IOperatorGraphOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IOperatorGraphOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IOperatorGraphOperator.cs	(revision 14929)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HeuristicLab.Persistence;
+#region License Information
 
 /* HeuristicLab
@@ -23,4 +24,5 @@
 
 namespace HeuristicLab.Core {
+  [StorableType("9dfc2860-631a-4b1f-aad4-17049643821d")]
   public interface IOperatorGraphOperator : IOperator {
     OperatorGraph OperatorGraph { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IParameter.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IParameter.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IParameter.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using System;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Core {
+  [StorableType("2924627c-9292-45bc-bce5-fd37399ac5a9")]
   public interface IParameter : INamedItem {
     Type DataType { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IProgrammableItem.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IProgrammableItem.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IProgrammableItem.cs	(revision 14929)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HeuristicLab.Persistence;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -21,4 +22,5 @@
 
 namespace HeuristicLab.Core {
+  [StorableType("d8d0c438-d8f3-4286-9c28-06bbb229b511")]
   public interface IProgrammableItem { }
 }
Index: /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IRandom.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IRandom.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IRandom.cs	(revision 14929)
@@ -1,2 +1,3 @@
+using HeuristicLab.Persistence;
 #region License Information
 /* HeuristicLab
@@ -24,4 +25,5 @@
   /// Represents an interface for random number generators.
   /// </summary>
+  [StorableType("494faf35-0bdd-4565-a4c4-c86c0db09423")]
   public interface IRandom : IItem {
     /// <summary>
Index: /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IScope.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IScope.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IScope.cs	(revision 14929)
@@ -1,2 +1,3 @@
+using HeuristicLab.Persistence;
 #region License Information
 /* HeuristicLab
@@ -24,4 +25,5 @@
   /// Hierarchical container of variables (and of subscopes).
   /// </summary>
+  [StorableType("3e077b2f-21e1-4d3c-b14a-d2940835ac63")]
   public interface IScope : INamedItem {
     IScope Parent { get; set; }
Index: /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IScopeTreeLookupParameter.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IScopeTreeLookupParameter.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IScopeTreeLookupParameter.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using System;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Core {
+  [StorableType("4edbfb7e-492b-4d0a-ba51-3303ff9cada2")]
   public interface IScopeTreeLookupParameter : ILookupParameter {
     int Depth { get; set; }
@@ -28,4 +30,5 @@
   }
 
+  [StorableType("996dfcff-2f6d-4c04-97a2-e5d46f825bc4")]
   public interface IScopeTreeLookupParameter<T> : IScopeTreeLookupParameter, ILookupParameter<ItemArray<T>> where T : class, IItem { }
 }
Index: /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IStatefulItem.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IStatefulItem.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IStatefulItem.cs	(revision 14929)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HeuristicLab.Persistence;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -21,4 +22,5 @@
 
 namespace HeuristicLab.Core {
+  [StorableType("5b6b8dfa-a99b-4482-92b4-e416d3558397")]
   public interface IStatefulItem : IItem {
     void InitializeState();
Index: /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IValueLookupParameter.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IValueLookupParameter.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IValueLookupParameter.cs	(revision 14929)
@@ -1,2 +1,3 @@
+using HeuristicLab.Persistence;
 #region License Information
 /* HeuristicLab
@@ -21,6 +22,8 @@
 
 namespace HeuristicLab.Core {
+  [StorableType("d89e7368-1633-44d7-8f80-010b462f6ac8")]
   public interface IValueLookupParameter : IValueParameter, ILookupParameter { }
 
+  [StorableType("d59ec862-0f86-4d9b-802f-d3548bd51ac1")]
   public interface IValueLookupParameter<T> : IValueLookupParameter, IValueParameter<T>, ILookupParameter<T> where T : class, IItem { }
 }
Index: /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IValueParameter.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IValueParameter.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IValueParameter.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using System;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Core {
+  [StorableType("86ae090c-45bc-4903-ae3f-5602a5df86d2")]
   public interface IValueParameter : IParameter {
     IItem Value { get; set; }
@@ -30,4 +32,5 @@
   }
 
+  [StorableType("e4f4fc38-d362-4c3f-9344-ec637d502b39")]
   public interface IValueParameter<T> : IValueParameter where T : class, IItem {
     new T Value { get; set; }
Index: /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IVariable.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IVariable.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IVariable.cs	(revision 14929)
@@ -21,4 +21,5 @@
 
 using System;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Core {
@@ -26,4 +27,5 @@
   /// Represents a variable which has a name and holds an IItem.
   /// </summary>
+  [StorableType("a863d1d5-8e66-4feb-bc76-d08939f8d008")]
   public interface IVariable : INamedItem {
     IItem Value { get; set; }
Index: /branches/PersistenceReintegration/HeuristicLab.Data/3.3/ComparisonType.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Data/3.3/ComparisonType.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Data/3.3/ComparisonType.cs	(revision 14929)
@@ -1,2 +1,3 @@
+using HeuristicLab.Persistence;
 #region License Information
 /* HeuristicLab
@@ -21,4 +22,5 @@
 
 namespace HeuristicLab.Data {
+  [StorableType("bd467031-f463-4b98-a534-a201b33d0e56")]
   public enum ComparisonType {
     Less,
Index: /branches/PersistenceReintegration/HeuristicLab.Data/3.3/Interfaces/IStringConvertibleArray.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Data/3.3/Interfaces/IStringConvertibleArray.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Data/3.3/Interfaces/IStringConvertibleArray.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Common;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Data {
+  [StorableType("d9eaccc2-7e48-48a6-b819-d6c50acf6533")]
   public interface IStringConvertibleArray : IContent, IValueTypeArray {
     bool Validate(string value, out string errorMessage);
Index: /branches/PersistenceReintegration/HeuristicLab.Data/3.3/Interfaces/IStringConvertibleMatrix.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Data/3.3/Interfaces/IStringConvertibleMatrix.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Data/3.3/Interfaces/IStringConvertibleMatrix.cs	(revision 14929)
@@ -23,6 +23,8 @@
 using System.Collections.Generic;
 using HeuristicLab.Common;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Data {
+  [StorableType("781c8935-07b7-4a65-bbd9-6198d529f5a1")]
   public interface IStringConvertibleMatrix : IContent {
     int Rows { get; set; }
Index: /branches/PersistenceReintegration/HeuristicLab.Data/3.3/Interfaces/IStringConvertibleValue.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Data/3.3/Interfaces/IStringConvertibleValue.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Data/3.3/Interfaces/IStringConvertibleValue.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using System;
 using HeuristicLab.Common;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Data {
+  [StorableType("dd7d252d-ae53-4805-bcc3-7f95e8197fb0")]
   public interface IStringConvertibleValue : IContent {
     bool ReadOnly { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Data/3.3/Interfaces/IStringConvertibleValueTuple.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Data/3.3/Interfaces/IStringConvertibleValueTuple.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Data/3.3/Interfaces/IStringConvertibleValueTuple.cs	(revision 14929)
@@ -20,5 +20,8 @@
 #endregion
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
+
 namespace HeuristicLab.Data {
+  [StorableType("c3cd8a3b-9968-4d6e-931a-30955d319d42")]
   public interface IStringConvertibleValueTuple : IItem {
     IStringConvertibleValue Item1 { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Data/3.3/Interfaces/IValueTypeArray.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Data/3.3/Interfaces/IValueTypeArray.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Data/3.3/Interfaces/IValueTypeArray.cs	(revision 14929)
@@ -27,6 +27,8 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Data {
+  [StorableType("7bcabd08-a781-4623-b60f-a56b2471b108")]
   public interface IValueTypeArray : IItem, IEnumerable {
     bool ReadOnly { get; }
@@ -44,4 +46,5 @@
   }
 
+  [StorableType("25976fe2-abe7-4ebf-ab30-8720eaa8d642")]
   public interface IValueTypeArray<T> : IValueTypeArray, IEnumerable<T> where T : struct {
     T this[int index] { get; set; }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Interfaces/IBinaryVectorCreator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Interfaces/IBinaryVectorCreator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Interfaces/IBinaryVectorCreator.cs	(revision 14929)
@@ -23,4 +23,5 @@
 using HeuristicLab.Data;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.BinaryVectorEncoding {
@@ -28,4 +29,5 @@
   /// An interface which represents an operator for creating vectors of bool-valued data.
   /// </summary>
+  [StorableType("5a23dbce-3c66-47fb-a032-b67f4756d3db")]
   public interface IBinaryVectorCreator : IBinaryVectorOperator, ISolutionCreator {
     IValueLookupParameter<IntValue> LengthParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Interfaces/IBinaryVectorCrossover.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Interfaces/IBinaryVectorCrossover.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Interfaces/IBinaryVectorCrossover.cs	(revision 14929)
@@ -22,4 +22,5 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.BinaryVectorEncoding {
@@ -27,4 +28,5 @@
   /// An interface which represents an operator for crossing vectors of bool-valued data.
   /// </summary>
+  [StorableType("85894518-4445-438f-b99b-8c610772e90c")]
   public interface IBinaryVectorCrossover : IBinaryVectorOperator, ICrossover {
     ILookupParameter<ItemArray<BinaryVector>> ParentsParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Interfaces/IBinaryVectorManipulator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Interfaces/IBinaryVectorManipulator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Interfaces/IBinaryVectorManipulator.cs	(revision 14929)
@@ -22,4 +22,5 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.BinaryVectorEncoding {
@@ -27,4 +28,5 @@
   /// An interface which represents an operator for manipulating vectors of bool-valued data.
   /// </summary>
+  [StorableType("7019d6f2-5c21-4961-a936-3f0c06077348")]
   public interface IBinaryVectorManipulator : IBinaryVectorOperator, IManipulator {
     ILookupParameter<BinaryVector> BinaryVectorParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Interfaces/IBinaryVectorMoveOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Interfaces/IBinaryVectorMoveOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Interfaces/IBinaryVectorMoveOperator.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.BinaryVectorEncoding {
+  [StorableType("f666de83-43a5-44cf-b950-e685b26121e4")]
   public interface IBinaryVectorMoveOperator : IBinaryVectorOperator, IMoveOperator {
     ILookupParameter<BinaryVector> BinaryVectorParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Interfaces/IBinaryVectorMultiNeighborhoodShakingOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Interfaces/IBinaryVectorMultiNeighborhoodShakingOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Interfaces/IBinaryVectorMultiNeighborhoodShakingOperator.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.BinaryVectorEncoding {
+  [StorableType("a872cd9f-ef6c-40f6-bbd5-d045fb428c4f")]
   public interface IBinaryVectorMultiNeighborhoodShakingOperator : IBinaryVectorOperator {
     ILookupParameter<BinaryVector> BinaryVectorParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Interfaces/IBinaryVectorOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Interfaces/IBinaryVectorOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Interfaces/IBinaryVectorOperator.cs	(revision 14929)
@@ -21,4 +21,5 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.BinaryVectorEncoding {
@@ -26,4 +27,5 @@
   /// An interface which represents an operator dealing with vectors of bool-valued data.
   /// </summary>
+  [StorableType("c6cf1709-6863-488d-931f-0144085bc118")]
   public interface IBinaryVectorOperator : IOperator { }
 }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Interfaces/IOneBitflipMoveOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Interfaces/IOneBitflipMoveOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Interfaces/IOneBitflipMoveOperator.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.BinaryVectorEncoding {
+  [StorableType("582c7838-73d0-40c3-a532-f200e5415355")]
   public interface IOneBitflipMoveOperator : IBinaryVectorMoveOperator {
     ILookupParameter<OneBitflipMove> OneBitflipMoveParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Interfaces/IBoundedIntegerVectorOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Interfaces/IBoundedIntegerVectorOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Interfaces/IBoundedIntegerVectorOperator.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.IntegerVectorEncoding {
+  [StorableType("4744c61a-2e59-47d1-a86d-df65110545d4")]
   public interface IBoundedIntegerVectorOperator : IIntegerVectorOperator {
     /// <summary>
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Interfaces/IIntegerVectorCreator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Interfaces/IIntegerVectorCreator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Interfaces/IIntegerVectorCreator.cs	(revision 14929)
@@ -23,4 +23,5 @@
 using HeuristicLab.Data;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.IntegerVectorEncoding {
@@ -28,4 +29,5 @@
   /// An interface which represents an operator for creating vectors of int-valued data.
   /// </summary>
+  [StorableType("b99516a9-ed1d-4683-8856-e2d1db0a50d9")]
   public interface IIntegerVectorCreator : ISolutionCreator, IBoundedIntegerVectorOperator {
     IValueLookupParameter<IntValue> LengthParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Interfaces/IIntegerVectorCrossover.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Interfaces/IIntegerVectorCrossover.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Interfaces/IIntegerVectorCrossover.cs	(revision 14929)
@@ -22,4 +22,5 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.IntegerVectorEncoding {
@@ -27,4 +28,5 @@
   /// An interface which represents an operator for crossing vectors of int-valued data.
   /// </summary>
+  [StorableType("1a0fa9e8-cdf4-423b-bfd7-13b2c0dfa306")]
   public interface IIntegerVectorCrossover : IIntegerVectorOperator, ICrossover {
     ILookupParameter<ItemArray<IntegerVector>> ParentsParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Interfaces/IIntegerVectorManipulator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Interfaces/IIntegerVectorManipulator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Interfaces/IIntegerVectorManipulator.cs	(revision 14929)
@@ -22,4 +22,5 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.IntegerVectorEncoding {
@@ -27,4 +28,5 @@
   /// An interface which represents an operator for manipulating vectors of int-valued data.
   /// </summary>
+  [StorableType("5c8d243c-5ff3-40bd-b82f-12c2ab05ac03")]
   public interface IIntegerVectorManipulator : IIntegerVectorOperator, IManipulator {
     ILookupParameter<IntegerVector> IntegerVectorParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Interfaces/IIntegerVectorMultiNeighborhoodShakingOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Interfaces/IIntegerVectorMultiNeighborhoodShakingOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Interfaces/IIntegerVectorMultiNeighborhoodShakingOperator.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.IntegerVectorEncoding {
+  [StorableType("d7f3845a-fd58-4fea-aa6b-3d55cbb008a0")]
   public interface IIntegerVectorMultiNeighborhoodShakingOperator : IIntegerVectorOperator {
     ILookupParameter<IntegerVector> IntegerVectorParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Interfaces/IIntegerVectorOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Interfaces/IIntegerVectorOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Interfaces/IIntegerVectorOperator.cs	(revision 14929)
@@ -21,4 +21,5 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.IntegerVectorEncoding {
@@ -26,4 +27,5 @@
   /// An interface which represents an operator dealing with vectors of int-valued data.
   /// </summary>
+  [StorableType("af579b6f-34f2-4738-9c18-aab47c84d519")]
   public interface IIntegerVectorOperator : IOperator { }
 }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Interfaces/IIntegerVectorStdDevStrategyParameterCreator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Interfaces/IIntegerVectorStdDevStrategyParameterCreator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Interfaces/IIntegerVectorStdDevStrategyParameterCreator.cs	(revision 14929)
@@ -23,6 +23,8 @@
 using HeuristicLab.Data;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.IntegerVectorEncoding {
+  [StorableType("6ab31b1b-fd5b-4608-a4df-d89ce349408b")]
   public interface IIntegerVectorStdDevStrategyParameterCreator : IIntegerVectorStdDevStrategyParameterOperator, IStrategyParameterCreator {
     ILookupParameter<DoubleArray> StrategyParameterParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Interfaces/IIntegerVectorStdDevStrategyParameterCrossover.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Interfaces/IIntegerVectorStdDevStrategyParameterCrossover.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Interfaces/IIntegerVectorStdDevStrategyParameterCrossover.cs	(revision 14929)
@@ -23,6 +23,8 @@
 using HeuristicLab.Data;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.IntegerVectorEncoding {
+  [StorableType("03f9ab7f-8cc3-4824-b325-a0c6e25ffba1")]
   public interface IIntegerVectorStdDevStrategyParameterCrossover : IIntegerVectorStdDevStrategyParameterOperator, IStrategyParameterCrossover {
     ILookupParameter<DoubleArray> StrategyParameterParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Interfaces/IIntegerVectorStdDevStrategyParameterManipulator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Interfaces/IIntegerVectorStdDevStrategyParameterManipulator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Interfaces/IIntegerVectorStdDevStrategyParameterManipulator.cs	(revision 14929)
@@ -23,6 +23,8 @@
 using HeuristicLab.Data;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.IntegerVectorEncoding {
+  [StorableType("ff8ce4b1-be84-4dc5-871b-812b7ad90d8e")]
   public interface IIntegerVectorStdDevStrategyParameterManipulator : IIntegerVectorStdDevStrategyParameterOperator, IStrategyParameterManipulator {
     ILookupParameter<DoubleArray> StrategyParameterParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Interfaces/IIntegerVectorStdDevStrategyParameterOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Interfaces/IIntegerVectorStdDevStrategyParameterOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Interfaces/IIntegerVectorStdDevStrategyParameterOperator.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.IntegerVectorEncoding {
+  [StorableType("4b1b9c96-13dd-42ce-813a-6d7e3403ccb6")]
   public interface IIntegerVectorStdDevStrategyParameterOperator : IOperator {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageCreator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageCreator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageCreator.cs	(revision 14929)
@@ -23,6 +23,8 @@
 using HeuristicLab.Data;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
+  [StorableType("0138e426-76ac-4b7b-bc8a-35c3ec7a4224")]
   public interface ILinearLinkageCreator : ISolutionCreator, ILinearLinkageOperator {
     IValueLookupParameter<IntValue> LengthParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageCrossover.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageCrossover.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageCrossover.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
+  [StorableType("233a1cc9-a0ec-4431-9492-b5ff7d5de6cc")]
   public interface ILinearLinkageCrossover : ICrossover, ILinearLinkageOperator {
     ILookupParameter<LinearLinkage> ChildParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageManipulator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageManipulator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageManipulator.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
+  [StorableType("c1d50778-88a0-41c5-9526-368f7d4a6445")]
   public interface ILinearLinkageManipulator : IManipulator, ILinearLinkageOperator {
     ILookupParameter<LinearLinkage> LLEParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageMoveOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageMoveOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageMoveOperator.cs	(revision 14929)
@@ -22,4 +22,5 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
@@ -31,4 +32,5 @@
   /// See <see cref="ILinearLinkageSwap2MoveOperator"/> for a reference implementation.
   /// </summary>
+  [StorableType("ce997145-cc6d-4d23-bafb-10b015f47a00")]
   public interface ILinearLinkageMoveOperator : IMoveOperator, ILinearLinkageOperator {
     ILookupParameter<LinearLinkage> LLEParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageOperator.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
+  [StorableType("71692af0-d7c1-48ff-8c68-633458ea8880")]
   public interface ILinearLinkageOperator : IOperator {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageShakingOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageShakingOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageShakingOperator.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
+  [StorableType("40a0c8f1-b2f5-46fa-8ec2-114afccc7aee")]
   public interface ILinearLinkageShakingOperator : ILinearLinkageOperator {
     ILookupParameter<LinearLinkage> LLEParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageSwap2MoveOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageSwap2MoveOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageSwap2MoveOperator.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
+  [StorableType("bde2e08b-bc68-4866-b52f-5430cfa6036d")]
   public interface ILinearLinkageSwap2MoveOperator : ILinearLinkageMoveOperator {
     ILookupParameter<Swap2Move> Swap2MoveParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Interfaces/IPermutationCreator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Interfaces/IPermutationCreator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Interfaces/IPermutationCreator.cs	(revision 14929)
@@ -23,4 +23,5 @@
 using HeuristicLab.Data;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.PermutationEncoding {
@@ -28,4 +29,5 @@
   /// An interface which represents an operator for creating permutations.
   /// </summary>
+  [StorableType("ff0731f2-e21e-46bc-a8a7-88eb2642308b")]
   public interface IPermutationCreator : IPermutationOperator, ISolutionCreator {
     IValueLookupParameter<IntValue> LengthParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Interfaces/IPermutationCrossover.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Interfaces/IPermutationCrossover.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Interfaces/IPermutationCrossover.cs	(revision 14929)
@@ -22,4 +22,5 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.PermutationEncoding {
@@ -27,4 +28,5 @@
   /// An interface which represents an operator for crossing permutations.
   /// </summary>
+  [StorableType("eddf4eb4-ce20-4370-a56a-452b8c2c07af")]
   public interface IPermutationCrossover : IPermutationOperator, ICrossover {
     ILookupParameter<ItemArray<Permutation>> ParentsParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Interfaces/IPermutationInversionMoveOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Interfaces/IPermutationInversionMoveOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Interfaces/IPermutationInversionMoveOperator.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.PermutationEncoding {
+  [StorableType("a1e47030-b87e-44ab-b880-b9e585232a47")]
   public interface IPermutationInversionMoveOperator : IPermutationMoveOperator {
     ILookupParameter<InversionMove> InversionMoveParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Interfaces/IPermutationManipulator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Interfaces/IPermutationManipulator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Interfaces/IPermutationManipulator.cs	(revision 14929)
@@ -22,4 +22,5 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.PermutationEncoding {
@@ -27,4 +28,5 @@
   /// An interface which represents an operator for manipulating solutions.
   /// </summary>
+  [StorableType("7f303722-095a-4e05-b32d-0c5841fd35be")]
   public interface IPermutationManipulator : IPermutationOperator, IManipulator {
     ILookupParameter<Permutation> PermutationParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Interfaces/IPermutationMoveOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Interfaces/IPermutationMoveOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Interfaces/IPermutationMoveOperator.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.PermutationEncoding {
+  [StorableType("916135e7-6f62-4863-a576-9d8b82f74af3")]
   public interface IPermutationMoveOperator : IPermutationOperator, IMoveOperator {
     ILookupParameter<Permutation> PermutationParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Interfaces/IPermutationMultiNeighborhoodShakingOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Interfaces/IPermutationMultiNeighborhoodShakingOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Interfaces/IPermutationMultiNeighborhoodShakingOperator.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.PermutationEncoding {
+  [StorableType("d17e606e-f38e-4d62-b02f-7ee25ccc0edd")]
   public interface IPermutationMultiNeighborhoodShakingOperator : IMultiNeighborhoodShakingOperator, IPermutationOperator {
     ILookupParameter<Permutation> PermutationParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Interfaces/IPermutationOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Interfaces/IPermutationOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Interfaces/IPermutationOperator.cs	(revision 14929)
@@ -21,4 +21,5 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.PermutationEncoding {
@@ -26,4 +27,5 @@
   /// An interface which represents an operator dealing with permutations.
   /// </summary>
+  [StorableType("3f03dc6e-f215-43d7-8bd3-6e0a2ba9f095")]
   public interface IPermutationOperator : IOperator { }
 }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Interfaces/IPermutationScrambleMoveOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Interfaces/IPermutationScrambleMoveOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Interfaces/IPermutationScrambleMoveOperator.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.PermutationEncoding {
+  [StorableType("8179e2c6-a43a-4919-9046-f8b88e6e960a")]
   public interface IPermutationScrambleMoveOperator : IPermutationMoveOperator {
     ILookupParameter<ScrambleMove> ScrambleMoveParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Interfaces/IPermutationSwap2MoveOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Interfaces/IPermutationSwap2MoveOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Interfaces/IPermutationSwap2MoveOperator.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.PermutationEncoding {
+  [StorableType("858d37d9-5351-49de-ba6a-b2a1ba358164")]
   public interface IPermutationSwap2MoveOperator : IPermutationMoveOperator {
     ILookupParameter<Swap2Move> Swap2MoveParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Interfaces/IPermutationTranslocationMoveOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Interfaces/IPermutationTranslocationMoveOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Interfaces/IPermutationTranslocationMoveOperator.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.PermutationEncoding {
+  [StorableType("f40c2980-4a09-424c-9ad7-449a12b9df94")]
   public interface IPermutationTranslocationMoveOperator : IPermutationMoveOperator {
     ILookupParameter<TranslocationMove> TranslocationMoveParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/PermutationTypes.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/PermutationTypes.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/PermutationTypes.cs	(revision 14929)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HeuristicLab.Persistence;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -21,4 +22,5 @@
 
 namespace HeuristicLab.Encodings.PermutationEncoding {
+  [StorableType("c263bb41-17ce-4757-9164-04d83141ac40")]
   public enum PermutationTypes {
     RelativeDirected,
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/SimilarityCalculators/HammingSimilarityCalculator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/SimilarityCalculators/HammingSimilarityCalculator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/SimilarityCalculators/HammingSimilarityCalculator.cs	(revision 14929)
@@ -24,7 +24,9 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization.Operators;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.PermutationEncoding {
   [Item("Hamming Similarity Calculator for Permutation", "An operator that performs similarity calculation between two permutation-encoded solutions.")]
+  [StorableType("f60f68af-cb7a-43d2-bd41-c96627c40a56")]
   public sealed class HammingSimilarityCalculator : SingleObjectiveSolutionSimilarityCalculator {
     protected override bool IsCommutative { get { return true; } }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IAdditiveRealVectorMoveOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IAdditiveRealVectorMoveOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IAdditiveRealVectorMoveOperator.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.RealVectorEncoding {
+  [StorableType("4c34d0bb-05c6-4291-9eb7-002c567fd255")]
   public interface IAdditiveRealVectorMoveOperator : IRealVectorMoveOperator {
     ILookupParameter<AdditiveMove> AdditiveMoveParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorBoundsChecker.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorBoundsChecker.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorBoundsChecker.cs	(revision 14929)
@@ -23,6 +23,8 @@
 using HeuristicLab.Data;
 using HeuristicLab.Parameters;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.RealVectorEncoding {
+  [StorableType("c27ee5f3-c7b7-44c6-9135-c59a097c12c1")]
   public interface IRealVectorBoundsChecker : IOperator {
     LookupParameter<RealVector> RealVectorParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorCreator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorCreator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorCreator.cs	(revision 14929)
@@ -23,4 +23,5 @@
 using HeuristicLab.Data;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.RealVectorEncoding {
@@ -28,4 +29,5 @@
   /// An interface which represents an operator for creating vectors of real-valued data.
   /// </summary>
+  [StorableType("bc6f3acd-5c17-4854-b0c6-299823106286")]
   public interface IRealVectorCreator : IRealVectorOperator, ISolutionCreator {
     IValueLookupParameter<IntValue> LengthParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorCrossover.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorCrossover.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorCrossover.cs	(revision 14929)
@@ -23,4 +23,5 @@
 using HeuristicLab.Data;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.RealVectorEncoding {
@@ -28,4 +29,5 @@
   /// An interface which represents an operator for crossing vectors of real-valued data.
   /// </summary>
+  [StorableType("3939d5b9-edcb-46a9-ac52-41a0d63bb3fd")]
   public interface IRealVectorCrossover : IRealVectorOperator, ICrossover {
     ILookupParameter<ItemArray<RealVector>> ParentsParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorManipulator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorManipulator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorManipulator.cs	(revision 14929)
@@ -23,4 +23,5 @@
 using HeuristicLab.Data;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.RealVectorEncoding {
@@ -28,4 +29,5 @@
   /// An interface which represents an operator for manipulating vectors of real-valued data.
   /// </summary>
+  [StorableType("b5856823-55d2-4ace-b8a9-ac7457695dc5")]
   public interface IRealVectorManipulator : IRealVectorOperator, IManipulator {
     ILookupParameter<RealVector> RealVectorParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorMoveGenerator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorMoveGenerator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorMoveGenerator.cs	(revision 14929)
@@ -23,6 +23,8 @@
 using HeuristicLab.Data;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.RealVectorEncoding {
+  [StorableType("aff0fbe3-12e5-4ea4-b8e9-352c3eb7869f")]
   public interface IRealVectorMoveGenerator : IRealVectorMoveOperator, IMoveGenerator {
     IValueLookupParameter<DoubleMatrix> BoundsParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorMoveOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorMoveOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorMoveOperator.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.RealVectorEncoding {
+  [StorableType("ca48c1d6-217a-49d1-8e71-f06d04087f46")]
   public interface IRealVectorMoveOperator : IRealVectorOperator, IMoveOperator {
     ILookupParameter<RealVector> RealVectorParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorMultiNeighborhoodShakingOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorMultiNeighborhoodShakingOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorMultiNeighborhoodShakingOperator.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.RealVectorEncoding {
+  [StorableType("16e21e95-b6bc-4bb3-8725-3c5ca0ce1201")]
   public interface IRealVectorMultiNeighborhoodShakingOperator : IRealVectorOperator {
     ILookupParameter<RealVector> RealVectorParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorOperator.cs	(revision 14929)
@@ -21,4 +21,5 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.RealVectorEncoding {
@@ -26,4 +27,5 @@
   /// An interface which represents an operator dealing with vectors of real-valued data.
   /// </summary>
+  [StorableType("3f054bdf-781b-49a6-b590-6077e71209fd")]
   public interface IRealVectorOperator : IOperator { }
 }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorParticleCreator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorParticleCreator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorParticleCreator.cs	(revision 14929)
@@ -23,6 +23,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.RealVectorEncoding {
+  [StorableType("17aefe81-633a-47fe-8268-7ccb0a9dd51d")]
   public interface IRealVectorParticleCreator : IParticleCreator, IRealVectorOperator {
     ILookupParameter<IntValue> ProblemSizeParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorParticleUpdater.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorParticleUpdater.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorParticleUpdater.cs	(revision 14929)
@@ -23,6 +23,8 @@
 using HeuristicLab.Data;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.RealVectorEncoding {
+  [StorableType("048fec0c-8e11-4c92-89ee-e8e17fee1297")]
   public interface IRealVectorParticleUpdater : IParticleUpdater, IRealVectorOperator {
     ILookupParameter<RealVector> VelocityParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorStdDevStrategyParameterCreator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorStdDevStrategyParameterCreator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorStdDevStrategyParameterCreator.cs	(revision 14929)
@@ -23,6 +23,8 @@
 using HeuristicLab.Data;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.RealVectorEncoding {
+  [StorableType("8e1619ec-2140-4005-8c5c-2825203a7c08")]
   public interface IRealVectorStdDevStrategyParameterCreator : IRealVectorStdDevStrategyParameterOperator, IStrategyParameterCreator {
     ILookupParameter<RealVector> StrategyParameterParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorStdDevStrategyParameterCrossover.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorStdDevStrategyParameterCrossover.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorStdDevStrategyParameterCrossover.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.RealVectorEncoding {
+  [StorableType("85cdf345-83e0-4b73-9248-3c25ed2c1e6c")]
   public interface IRealVectorStdDevStrategyParameterCrossover : IRealVectorStdDevStrategyParameterOperator, IStrategyParameterCrossover {
     ILookupParameter<RealVector> StrategyParameterParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorStdDevStrategyParameterManipulator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorStdDevStrategyParameterManipulator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorStdDevStrategyParameterManipulator.cs	(revision 14929)
@@ -23,6 +23,8 @@
 using HeuristicLab.Data;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.RealVectorEncoding {
+  [StorableType("906f1212-3282-40a8-bd5e-2aa6fe419ef5")]
   public interface IRealVectorStdDevStrategyParameterManipulator : IRealVectorStdDevStrategyParameterOperator, IStrategyParameterManipulator {
     ILookupParameter<RealVector> StrategyParameterParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorStdDevStrategyParameterOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorStdDevStrategyParameterOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorStdDevStrategyParameterOperator.cs	(revision 14929)
@@ -20,6 +20,8 @@
 #endregion
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.RealVectorEncoding {
+  [StorableType("87c3eee5-e097-4ce6-948e-66afb22fa126")]
   public interface IRealVectorStdDevStrategyParameterOperator : IOperator {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorSwarmUpdater.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorSwarmUpdater.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorSwarmUpdater.cs	(revision 14929)
@@ -21,7 +21,9 @@
 
 using HeuristicLab.Core;
-using HeuristicLab.Optimization; 
+using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.RealVectorEncoding {
+  [StorableType("6fc00138-5da5-4831-b7f5-2ac08d1e6dd5")]
   public interface IRealVectorSwarmUpdater : ISwarmUpdater, IRealVectorOperator {
     IScopeTreeLookupParameter<RealVector> NeighborBestParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IDirectScheduleOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IDirectScheduleOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IDirectScheduleOperator.cs	(revision 14929)
@@ -21,7 +21,9 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.ScheduleEncoding {
-  public interface IDirectScheduleOperator : IOperator {
+  [StorableType("6e81f0de-428d-46f2-9a60-ff9c4acca6d8")]
+  public interface IDirectScheduleoperator : IOperator {
   }
 }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IJSMOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IJSMOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IJSMOperator.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.ScheduleEncoding {
+  [StorableType("5bdf4a8f-57b9-4ee7-b7fc-b08db1dfad73")]
   public interface IJSMOperator : IOperator {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IPRVOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IPRVOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IPRVOperator.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.ScheduleEncoding {
+  [StorableType("79309b32-51ab-4187-9099-bc6f41278163")]
   public interface IPRVOperator : IOperator {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IPWROperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IPWROperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IPWROperator.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.ScheduleEncoding {
+  [StorableType("e16113a4-d2fb-4426-9e3a-0eebf42fa7ef")]
   public interface IPWROperator : IOperator {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IScheduleCreator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IScheduleCreator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IScheduleCreator.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.ScheduleEncoding {
+  [StorableType("e8ee42a8-505a-43b6-9b46-00b8287c4544")]
   public interface IScheduleCreator : ISolutionCreator, IScheduleOperator {
     ILookupParameter<IScheduleEncoding> ScheduleEncodingParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IScheduleCrossover.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IScheduleCrossover.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IScheduleCrossover.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.ScheduleEncoding {
+  [StorableType("05c0942d-e992-46bb-bb67-b5483f5a45f1")]
   public interface IScheduleCrossover : ICrossover, IScheduleOperator {
     ILookupParameter<IScheduleEncoding> ChildParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IScheduleEncoding.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IScheduleEncoding.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IScheduleEncoding.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.ScheduleEncoding {
+  [StorableType("448f916f-2f05-4e75-8f5d-a377e2d87575")]
   public interface IScheduleEncoding : IItem {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IScheduleManipulator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IScheduleManipulator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IScheduleManipulator.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.ScheduleEncoding {
+  [StorableType("46dc7be2-bd08-4eb5-adc0-cf16a8b70f11")]
   public interface IScheduleManipulator : IManipulator, IScheduleOperator {
     ILookupParameter<IScheduleEncoding> ScheduleEncodingParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IScheduleOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IScheduleOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IScheduleOperator.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.ScheduleEncoding {
+  [StorableType("4562d872-73c7-4ecc-90b7-a041dd31e63f")]
   public interface IScheduleOperator : IOperator {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.ScheduleEncoding/3.3/ScheduleEncoding/Crossovers/DirectScheduleCrossover.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.ScheduleEncoding/3.3/ScheduleEncoding/Crossovers/DirectScheduleCrossover.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.ScheduleEncoding/3.3/ScheduleEncoding/Crossovers/DirectScheduleCrossover.cs	(revision 14929)
@@ -28,5 +28,5 @@
   [Item("DirectScheduleCrossover", "An operator which crosses two schedule representations.")]
   [StorableType("af26fa0e-cee7-41e5-9182-469ba6920501")]
-  public abstract class DirectScheduleCrossover : ScheduleCrossover, IDirectScheduleOperator {
+  public abstract class DirectScheduleCrossover : ScheduleCrossover, IDirectScheduleoperator {
     [StorableConstructor]
     protected DirectScheduleCrossover(bool deserializing) : base(deserializing) { }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.ScheduleEncoding/3.3/ScheduleEncoding/Manipulators/DirectScheduleManipulator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.ScheduleEncoding/3.3/ScheduleEncoding/Manipulators/DirectScheduleManipulator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.ScheduleEncoding/3.3/ScheduleEncoding/Manipulators/DirectScheduleManipulator.cs	(revision 14929)
@@ -28,5 +28,5 @@
   [Item("DirectScheduleManipulator", "An operator which manipulates a direct schedule representation.")]
   [StorableType("c400d10b-0b81-4d72-b37f-22a29cd1a05d")]
-  public abstract class DirectScheduleManipulator : ScheduleManipulator, IDirectScheduleOperator {
+  public abstract class DirectScheduleManipulator : ScheduleManipulator, IDirectScheduleoperator {
 
     [StorableConstructor]
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/IReadOnlySymbol.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/IReadOnlySymbol.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/IReadOnlySymbol.cs	(revision 14929)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HeuristicLab.Persistence;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -20,4 +21,5 @@
 #endregion
 namespace HeuristicLab.Encodings.SymbolicExpressionTreeEncoding {
+  [StorableType("1d6fb65a-f5f1-486d-aeac-3ef9cf98bffa")]
   public interface IReadOnlySymbol : ISymbol {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/ISymbol.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/ISymbol.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/ISymbol.cs	(revision 14929)
@@ -23,6 +23,8 @@
 using System.Collections.Generic;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.SymbolicExpressionTreeEncoding {
+  [StorableType("867db489-3308-405b-9104-e3d98c063f8f")]
   public interface ISymbol : INamedItem {
     ISymbolicExpressionTreeNode CreateTreeNode();
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/ISymbolicExpressionGrammar.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/ISymbolicExpressionGrammar.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/ISymbolicExpressionGrammar.cs	(revision 14929)
@@ -23,5 +23,8 @@
 using System;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
+
 namespace HeuristicLab.Encodings.SymbolicExpressionTreeEncoding {
+  [StorableType("9cb59dfa-130c-4457-b17d-8f2606c6ce25")]
   public interface ISymbolicExpressionGrammar : ISymbolicExpressionGrammarBase, IStatefulItem {
     ISymbol ProgramRootSymbol { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/ISymbolicExpressionGrammarBase.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/ISymbolicExpressionGrammarBase.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/ISymbolicExpressionGrammarBase.cs	(revision 14929)
@@ -23,6 +23,8 @@
 using System.Collections.Generic;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.SymbolicExpressionTreeEncoding {
+  [StorableType("c5476035-fdc7-49c6-a5d3-64388aff686a")]
   public interface ISymbolicExpressionGrammarBase : INamedItem {
     IEnumerable<ISymbol> Symbols { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/ISymbolicExpressionTree.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/ISymbolicExpressionTree.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/ISymbolicExpressionTree.cs	(revision 14929)
@@ -23,5 +23,8 @@
 using System.Collections.Generic;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
+
 namespace HeuristicLab.Encodings.SymbolicExpressionTreeEncoding {
+  [StorableType("7d6125e9-98a2-4ac8-a4d6-84355e7625be")]
   public interface ISymbolicExpressionTree : IItem {
     ISymbolicExpressionTreeNode Root { get; set; }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/ISymbolicExpressionTreeGrammar.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/ISymbolicExpressionTreeGrammar.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/ISymbolicExpressionTreeGrammar.cs	(revision 14929)
@@ -21,5 +21,8 @@
 
 using System.Collections.Generic;
+using HeuristicLab.Persistence;
+
 namespace HeuristicLab.Encodings.SymbolicExpressionTreeEncoding {
+  [StorableType("a4f1c44a-a9b9-4e9d-b259-5b824e48cad7")]
   public interface ISymbolicExpressionTreeGrammar : ISymbolicExpressionGrammarBase {
     IEnumerable<ISymbol> ModifyableSymbols { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/ISymbolicExpressionTreeNode.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/ISymbolicExpressionTreeNode.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/ISymbolicExpressionTreeNode.cs	(revision 14929)
@@ -23,5 +23,8 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
+
 namespace HeuristicLab.Encodings.SymbolicExpressionTreeEncoding {
+  [StorableType("d57d50f4-f175-4851-9ed7-ae1585f1ef15")]
   public interface ISymbolicExpressionTreeNode : IDeepCloneable {
     ISymbolicExpressionTreeGrammar Grammar { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/ISymbolicExpressionTreeNodeComparer.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/ISymbolicExpressionTreeNodeComparer.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/ISymbolicExpressionTreeNodeComparer.cs	(revision 14929)
@@ -1,5 +1,7 @@
 ﻿using System.Collections.Generic;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.SymbolicExpressionTreeEncoding {
+  [StorableType("92217826-de61-479e-beda-aaa1ae47d6cd")]
   public interface ISymbolicExpressionTreeNodeComparer : IComparer<ISymbolicExpressionTreeNode> { }
 }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/ISymbolicExpressionTreeNodeSimilarityComparer.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/ISymbolicExpressionTreeNodeSimilarityComparer.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/ISymbolicExpressionTreeNodeSimilarityComparer.cs	(revision 14929)
@@ -1,6 +1,8 @@
 ﻿using System.Collections.Generic;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.SymbolicExpressionTreeEncoding {
+  [StorableType("c11389e3-4a11-41b4-9143-701d0f53e446")]
   public interface ISymbolicExpressionTreeNodeSimilarityComparer : IEqualityComparer<ISymbolicExpressionTreeNode>, IItem {
     bool MatchConstantValues { get; set; }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/ISymbolicExpressionTreeStringFormatter.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/ISymbolicExpressionTreeStringFormatter.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/ISymbolicExpressionTreeStringFormatter.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.SymbolicExpressionTreeEncoding {
+  [StorableType("6fe51bbc-6c74-418c-93fc-7c011546dd49")]
   public interface ISymbolicExpressionTreeStringFormatter : INamedItem {
     string Format(ISymbolicExpressionTree symbolicExpressionTree);
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/Operators/ISymbolicExpressionTreeAnalyzer.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/Operators/ISymbolicExpressionTreeAnalyzer.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/Operators/ISymbolicExpressionTreeAnalyzer.cs	(revision 14929)
@@ -22,4 +22,5 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.SymbolicExpressionTreeEncoding {
@@ -27,4 +28,5 @@
   /// Interface for analyzers that can be applied to symbolic expression trees.
   /// </summary>
+  [StorableType("ed4757ce-f656-4ef9-ba47-45d1f1711bc7")]
   public interface ISymbolicExpressionTreeAnalyzer : IAnalyzer {
     IScopeTreeLookupParameter<ISymbolicExpressionTree> SymbolicExpressionTreeParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/Operators/ISymbolicExpressionTreeArchitectureAlteringOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/Operators/ISymbolicExpressionTreeArchitectureAlteringOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/Operators/ISymbolicExpressionTreeArchitectureAlteringOperator.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.SymbolicExpressionTreeEncoding {
+  [StorableType("46df10b7-488e-4390-9c6b-b40ade25e4fb")]
   public interface ISymbolicExpressionTreeArchitectureAlteringOperator : ISymbolicExpressionTreeOperator {
     IValueLookupParameter<IntValue> MaximumFunctionDefinitionsParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/Operators/ISymbolicExpressionTreeArchitectureManipulator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/Operators/ISymbolicExpressionTreeArchitectureManipulator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/Operators/ISymbolicExpressionTreeArchitectureManipulator.cs	(revision 14929)
@@ -22,4 +22,5 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.SymbolicExpressionTreeEncoding {
@@ -27,4 +28,5 @@
   /// Interface for operators that manipulate symbolic expression trees.
   /// </summary>
+  [StorableType("5df8ae85-b166-481c-b703-ca2d7df88b80")]
   public interface ISymbolicExpressionTreeArchitectureManipulator : ISymbolicExpressionTreeManipulator, ISymbolicExpressionTreeArchitectureAlteringOperator {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/Operators/ISymbolicExpressionTreeCreator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/Operators/ISymbolicExpressionTreeCreator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/Operators/ISymbolicExpressionTreeCreator.cs	(revision 14929)
@@ -22,4 +22,5 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.SymbolicExpressionTreeEncoding {
@@ -27,4 +28,5 @@
   /// Interface for operators that create symbolic expression trees.
   /// </summary>
+  [StorableType("528fb9be-1501-473f-ab3d-3df15dc759c4")]
   public interface ISymbolicExpressionTreeCreator : ISolutionCreator, ISymbolicExpressionTreeSizeConstraintOperator, ISymbolicExpressionTreeGrammarBasedOperator {
     ISymbolicExpressionTree CreateTree(IRandom random, ISymbolicExpressionGrammar grammar, int maxTreeLength, int maxTreeDepth);
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/Operators/ISymbolicExpressionTreeCrossover.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/Operators/ISymbolicExpressionTreeCrossover.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/Operators/ISymbolicExpressionTreeCrossover.cs	(revision 14929)
@@ -22,4 +22,5 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.SymbolicExpressionTreeEncoding {
@@ -27,4 +28,5 @@
   /// Interface for crossover operators that can be applied to symbolic expression trees.
   /// </summary>
+  [StorableType("efc2ccf3-6742-4871-ad8c-84ce7adf7139")]
   public interface ISymbolicExpressionTreeCrossover : ISymbolicExpressionTreeOperator, ICrossover {
     ILookupParameter<ItemArray<ISymbolicExpressionTree>> ParentsParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/Operators/ISymbolicExpressionTreeGrammarBasedOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/Operators/ISymbolicExpressionTreeGrammarBasedOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/Operators/ISymbolicExpressionTreeGrammarBasedOperator.cs	(revision 14929)
@@ -21,4 +21,5 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.SymbolicExpressionTreeEncoding {
@@ -26,4 +27,5 @@
   /// Interface for operators that can be applied to symbolic expression trees.
   /// </summary>
+  [StorableType("fb9a2dcd-095b-489c-bf66-51a066db845a")]
   public interface ISymbolicExpressionTreeGrammarBasedOperator : ISymbolicExpressionTreeOperator {
     IValueLookupParameter<ISymbolicExpressionGrammar> SymbolicExpressionTreeGrammarParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/Operators/ISymbolicExpressionTreeManipulator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/Operators/ISymbolicExpressionTreeManipulator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/Operators/ISymbolicExpressionTreeManipulator.cs	(revision 14929)
@@ -22,4 +22,5 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.SymbolicExpressionTreeEncoding {
@@ -27,4 +28,5 @@
   /// Interface for operators that manipulate symbolic expression trees.
   /// </summary>
+  [StorableType("ff6c86da-99de-43c3-af34-ae56f2ad5219")]
   public interface ISymbolicExpressionTreeManipulator : ISymbolicExpressionTreeOperator, IManipulator {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/Operators/ISymbolicExpressionTreeOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/Operators/ISymbolicExpressionTreeOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/Operators/ISymbolicExpressionTreeOperator.cs	(revision 14929)
@@ -21,4 +21,5 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.SymbolicExpressionTreeEncoding {
@@ -26,4 +27,5 @@
   /// Interface for operators that can be applied to symbolic expression trees.
   /// </summary>
+  [StorableType("10c1c5d6-6b19-4791-9cbd-0bc3222ebf47")]
   public interface ISymbolicExpressionTreeOperator : IOperator {
     ILookupParameter<ISymbolicExpressionTree> SymbolicExpressionTreeParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/Operators/ISymbolicExpressionTreeSizeConstraintOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/Operators/ISymbolicExpressionTreeSizeConstraintOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/Operators/ISymbolicExpressionTreeSizeConstraintOperator.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.SymbolicExpressionTreeEncoding {
+  [StorableType("73a6950a-82d6-4433-9f64-c970087ad972")]
   public interface ISymbolicExpressionTreeSizeConstraintOperator : ISymbolicExpressionTreeOperator {
     IValueLookupParameter<IntValue> MaximumSymbolicExpressionTreeDepthParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Operators/3.3/ReductionOperation.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Operators/3.3/ReductionOperation.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Operators/3.3/ReductionOperation.cs	(revision 14929)
@@ -27,4 +27,5 @@
 
 namespace HeuristicLab.Operators {
+  [StorableType("2667ce66-c890-4e62-ae3b-23b659bdce10")]
   public enum ReductionOperations {
     Sum,
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization.Operators/3.3/MultiObjective/FastNonDominatedSort.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization.Operators/3.3/MultiObjective/FastNonDominatedSort.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization.Operators/3.3/MultiObjective/FastNonDominatedSort.cs	(revision 14929)
@@ -39,4 +39,5 @@
   [StorableType("34f3fc45-3522-4c9c-8166-61551b3776a3")]
   public class FastNonDominatedSort : SingleSuccessorOperator, IMultiObjectiveOperator {
+    [StorableType("c17e5fac-bca3-4c40-bc99-d9ba2679db22")]
     private enum DominationResult { Dominates, IsDominated, IsNonDominated };
 
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization.Operators/3.3/NoSimilarityCalculator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization.Operators/3.3/NoSimilarityCalculator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization.Operators/3.3/NoSimilarityCalculator.cs	(revision 14929)
@@ -22,4 +22,5 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization.Operators {
@@ -31,4 +32,5 @@
   /// </remarks>
   [Item("NoSimilarityCalculator", "An item that performs similarity calculation between two solutions. The item always considers two solutions to be distinct.")]
+  [StorableType("48aa49e4-b502-48f3-8a2c-0636f3a935cf")]
   public sealed class NoSimilarityCalculator : SingleObjectiveSolutionSimilarityCalculator {
     protected override bool IsCommutative { get { return true; } }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization.Operators/3.3/QualitySimilarityCalculator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization.Operators/3.3/QualitySimilarityCalculator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization.Operators/3.3/QualitySimilarityCalculator.cs	(revision 14929)
@@ -24,4 +24,5 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization.Operators {
@@ -33,4 +34,5 @@
   /// </remarks>
   [Item("QualitySimilarityCalculator", "An item that performs similarity calculation between two solutions. The item only considers the qualities of the two solutions.")]
+  [StorableType("3f538105-c336-47c5-9b00-89b988d63acc")]
   public sealed class QualitySimilarityCalculator : SingleObjectiveSolutionSimilarityCalculator {
     protected override bool IsCommutative { get { return true; } }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/IEncoding.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/IEncoding.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/IEncoding.cs	(revision 14929)
@@ -23,6 +23,8 @@
 using System.Collections.Generic;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("ea6074ad-9ac9-429a-9f02-b33ec70813e6")]
   public interface IEncoding : IParameterizedNamedItem {
     ISolutionCreator SolutionCreator { get; set; }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/IEncodingOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/IEncodingOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/IEncodingOperator.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("2cf5f2f6-790c-4f34-b5e1-f088ac17a52d")]
   public interface IEncodingOperator : IOperator {
     ILookupParameter<IEncoding> EncodingParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/IMultiEncodingOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/IMultiEncodingOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/IMultiEncodingOperator.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("e185d95d-8f23-4fdd-89af-313ded21c965")]
   public interface IMultiEncodingOperator : IOperator {
     void AddEncoding(IEncoding encoding);
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/IMultiObjectiveProblemDefinition.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/IMultiObjectiveProblemDefinition.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/IMultiObjectiveProblemDefinition.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("f4239895-b2d8-4356-bc31-0b975444697b")]
   public interface IMultiObjectiveProblemDefinition : IProblemDefinition {
     bool[] Maximization { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/IProblemDefinition.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/IProblemDefinition.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/IProblemDefinition.cs	(revision 14929)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HeuristicLab.Persistence;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -21,4 +22,5 @@
 
 namespace HeuristicLab.Optimization {
+  [StorableType("501f747b-2cba-4fdd-a01a-497e73b7d458")]
   public interface IProblemDefinition {
     IEncoding Encoding { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/ISingleObjectiveMoveOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/ISingleObjectiveMoveOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/ISingleObjectiveMoveOperator.cs	(revision 14929)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HeuristicLab.Persistence;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -21,4 +22,5 @@
 
 namespace HeuristicLab.Optimization {
+  [StorableType("3ca81564-7af8-4036-ace7-2b21b1402c48")]
   public interface ISingleObjectiveMoveOperator : IMoveOperator, ISingleObjectiveOperator {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/ISingleObjectiveProblemDefinition.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/ISingleObjectiveProblemDefinition.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/ISingleObjectiveProblemDefinition.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using System.Collections.Generic;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("41d01155-4bf4-4ba8-802e-265820f11134")]
   public interface ISingleObjectiveProblemDefinition : IProblemDefinition {
     bool Maximization { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/internal/IMultiObjectiveAnalysisOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/internal/IMultiObjectiveAnalysisOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/internal/IMultiObjectiveAnalysisOperator.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using System;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("9814dc6a-80a5-40b4-ae87-ab77eefc2b23")]
   internal interface IMultiObjectiveAnalysisOperator : IEncodingOperator, IAnalyzer, IMultiObjectiveOperator {
     Action<Individual[], double[][], ResultCollection, IRandom> AnalyzeAction { get; set; }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/internal/IMultiObjectiveEvaluationOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/internal/IMultiObjectiveEvaluationOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/internal/IMultiObjectiveEvaluationOperator.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using System;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("7471ea2a-645f-41fa-b9fc-97fbf5e63b12")]
   internal interface IMultiObjectiveEvaluationOperator : IMultiObjectiveEvaluator, IEncodingOperator {
     Func<Individual, IRandom, double[]> EvaluateFunc { get; set; }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/internal/INeighborBasedOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/internal/INeighborBasedOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/internal/INeighborBasedOperator.cs	(revision 14929)
@@ -23,6 +23,8 @@
 using System.Collections.Generic;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("ca76da7a-c2cd-40f3-b9dd-240cd38a5229")]
   internal interface INeighborBasedOperator : IEncodingOperator {
     Func<Individual, IRandom, IEnumerable<Individual>> GetNeighborsFunc { get; set; }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/internal/ISingleObjectiveAnalysisOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/internal/ISingleObjectiveAnalysisOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/internal/ISingleObjectiveAnalysisOperator.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using System;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("cfc56e7f-7cb9-4340-9764-358b93848639")]
   internal interface ISingleObjectiveAnalysisOperator : IEncodingOperator, ISingleObjectiveOperator {
     Action<Individual[], double[], ResultCollection, IRandom> AnalyzeAction { get; set; }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/internal/ISingleObjectiveEvaluationOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/internal/ISingleObjectiveEvaluationOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/internal/ISingleObjectiveEvaluationOperator.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using System;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("e4cfa88f-743b-43c0-bc71-fb9b2d63bbf2")]
   internal interface ISingleObjectiveEvaluationOperator : ISingleObjectiveEvaluator, IEncodingOperator {
     Func<Individual, IRandom, double> EvaluateFunc { get; set; }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IAnalyzer.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IAnalyzer.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IAnalyzer.cs	(revision 14929)
@@ -21,4 +21,5 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
@@ -26,4 +27,5 @@
   /// An interface which represents an analysis operator.
   /// </summary>
+  [StorableType("950fbe58-e831-4c51-a614-dc580b9cda6e")]
   public interface IAnalyzer : IOperator {
     bool EnabledByDefault { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ICharacteristicCalculator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ICharacteristicCalculator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ICharacteristicCalculator.cs	(revision 14929)
@@ -23,6 +23,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("9ab2ee9d-6b92-46cf-a073-b7fc473a8834")]
   public interface ICharacteristicCalculator : IParameterizedNamedItem {
     IProblem Problem { get; set; }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ICrossover.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ICrossover.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ICrossover.cs	(revision 14929)
@@ -21,4 +21,5 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
@@ -26,4 +27,5 @@
   /// An interface which represents an operator for crossing solutions.
   /// </summary>
+  [StorableType("4d75acf5-174e-4128-bf72-f17f3093b4d7")]
   public interface ICrossover : IOperator { }
 }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IDiscreteDoubleMatrixModifier.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IDiscreteDoubleMatrixModifier.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IDiscreteDoubleMatrixModifier.cs	(revision 14929)
@@ -23,6 +23,8 @@
 using HeuristicLab.Data;
 using HeuristicLab.Parameters;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("6234c34c-744b-4969-9899-01e2bfbc7564")]
   public interface IDiscreteDoubleMatrixModifier : IOperator {
     ILookupParameter<DoubleMatrix> ValueParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IDiscreteDoubleValueModifier.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IDiscreteDoubleValueModifier.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IDiscreteDoubleValueModifier.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("2fe0c0d3-6468-403e-8bb0-33e5788ce655")]
   public interface IDiscreteDoubleValueModifier : IOperator {
     ILookupParameter<DoubleValue> ValueParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IEvaluator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IEvaluator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IEvaluator.cs	(revision 14929)
@@ -21,4 +21,5 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
@@ -26,4 +27,5 @@
   /// An interface which represents an evaluation operator for optimization problems.
   /// </summary>
+  [StorableType("784ddd60-b854-42af-86bc-b6892ada31a0")]
   public interface IEvaluator : IOperator { }
 }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IExhaustiveMoveGenerator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IExhaustiveMoveGenerator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IExhaustiveMoveGenerator.cs	(revision 14929)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HeuristicLab.Persistence;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -21,4 +22,5 @@
 
 namespace HeuristicLab.Optimization {
+  [StorableType("987fd248-39cf-4f47-b33e-3db1025b12e7")]
   public interface IExhaustiveMoveGenerator : IMoveGenerator {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IGlobalParticleUpdater.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IGlobalParticleUpdater.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IGlobalParticleUpdater.cs	(revision 14929)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HeuristicLab.Persistence;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -21,4 +22,5 @@
 
 namespace HeuristicLab.Optimization {
+  [StorableType("8fd551ef-f84e-475c-9753-8e6408a66176")]
   public interface IGlobalParticleUpdater : IParticleUpdater {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IHeuristicOptimizationProblem.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IHeuristicOptimizationProblem.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IHeuristicOptimizationProblem.cs	(revision 14929)
@@ -22,4 +22,5 @@
 using System;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
@@ -27,4 +28,5 @@
   /// Interface to represent a heuristic optimization problem.
   /// </summary>
+  [StorableType("872b324f-c89d-4450-8416-c8e68b4082ff")]
   public interface IHeuristicOptimizationProblem : IProblem {
     IParameter SolutionCreatorParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IImprovementOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IImprovementOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IImprovementOperator.cs	(revision 14929)
@@ -21,4 +21,5 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
@@ -26,4 +27,5 @@
   /// An interface which represents an operator for improvement.
   /// </summary>
+  [StorableType("fe06a86d-0206-4b41-adaf-fa175124d1f8")]
   public interface IImprovementOperator : IOperator {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IIterationBasedOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IIterationBasedOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IIterationBasedOperator.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("4445732e-7d24-4507-8c26-174d7320223b")]
   public interface IIterationBasedOperator : IOperator {
     ILookupParameter<IntValue> IterationsParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ILocalImprovementAlgorithmOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ILocalImprovementAlgorithmOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ILocalImprovementAlgorithmOperator.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using System;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("d4e00e84-76d2-44b5-872f-22ea2c851244")]
   public interface ILocalImprovementAlgorithmOperator : ILocalImprovementOperator {
     Type ProblemType { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ILocalImprovementOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ILocalImprovementOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ILocalImprovementOperator.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("3c83fda5-fa38-447b-88da-3ba1cc198712")]
   public interface ILocalImprovementOperator : IOperator {
     IValueLookupParameter<IntValue> MaximumIterationsParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ILocalParticleUpdater.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ILocalParticleUpdater.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ILocalParticleUpdater.cs	(revision 14929)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HeuristicLab.Persistence;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -21,4 +22,5 @@
 
 namespace HeuristicLab.Optimization {
+  [StorableType("9a4a87b1-666f-4e61-bff0-4946a828af15")]
   public interface ILocalParticleUpdater : IParticleUpdater {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IManipulator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IManipulator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IManipulator.cs	(revision 14929)
@@ -21,4 +21,5 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
@@ -26,4 +27,5 @@
   /// An interface which represents an operator for manipulating solutions.
   /// </summary>
+  [StorableType("dfb70e6e-c02e-442b-a714-88c6cba313a6")]
   public interface IManipulator : IOperator { }
 }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMigrator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMigrator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMigrator.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("4afab718-4444-4678-a29e-5c6993cddb72")]
   public interface IMigrator : IOperator { }
 }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMoveGenerator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMoveGenerator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMoveGenerator.cs	(revision 14929)
@@ -21,4 +21,5 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
@@ -29,4 +30,5 @@
   /// Please read the remarks on <see cref="IMoveOperator"/> on how to implement moves.
   /// </remarks>
+  [StorableType("7feb3303-4d7b-4e2b-b10c-4e9b33663e70")]
   public interface IMoveGenerator : IOperator {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMoveMaker.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMoveMaker.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMoveMaker.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("2406d60f-3c40-4cc5-a154-8194f5312a8a")]
   public interface IMoveMaker : IOperator {
     ILookupParameter<DoubleValue> QualityParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMoveOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMoveOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMoveOperator.cs	(revision 14929)
@@ -21,4 +21,5 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
@@ -70,4 +71,5 @@
   /// These operators should not implement further move types. For further moves
   /// a new interface derived from IMoveOperator should be created.
+  [StorableType("2abc9f00-6b25-42f0-8f1b-8810dde40698")]
   public interface IMoveOperator : IOperator {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMultiAnalyzer.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMultiAnalyzer.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMultiAnalyzer.cs	(revision 14929)
@@ -22,8 +22,11 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
+
 namespace HeuristicLab.Optimization {
   /// <summary>
   /// An interface which represents a multi analysis operator.
   /// </summary>
+  [StorableType("08f3ca08-2d88-43fd-b513-72c696e40f60")]
   public interface IMultiAnalyzer : ICheckedMultiOperator<IAnalyzer>, IAnalyzer { }
 }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMultiMoveGenerator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMultiMoveGenerator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMultiMoveGenerator.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("876489be-a5a2-45c6-b4a0-5935751a088b")]
   public interface IMultiMoveGenerator : IMoveGenerator {
     IValueLookupParameter<IntValue> SampleSizeParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMultiNeighborhoodShakingOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMultiNeighborhoodShakingOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMultiNeighborhoodShakingOperator.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("8465d1a0-769e-4d3f-9105-b2e2a07130c1")]
   public interface IMultiNeighborhoodShakingOperator : IOperator {
     IValueLookupParameter<IntValue> CurrentNeighborhoodIndexParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMultiObjectiveEvaluator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMultiObjectiveEvaluator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMultiObjectiveEvaluator.cs	(revision 14929)
@@ -22,4 +22,5 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
@@ -27,4 +28,5 @@
   /// An interface which represents an evaluation operator for multi-objective optimization problems.
   /// </summary>
+  [StorableType("38f3ce31-51d6-450c-8ebd-cbe343e9162a")]
   public interface IMultiObjectiveEvaluator : IEvaluator, IMultiObjectiveOperator {
     ILookupParameter<DoubleArray> QualitiesParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMultiObjectiveHeuristicOptimizationProblem.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMultiObjectiveHeuristicOptimizationProblem.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMultiObjectiveHeuristicOptimizationProblem.cs	(revision 14929)
@@ -21,4 +21,5 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
@@ -26,4 +27,5 @@
   /// An interface to represent a multi-objective optimization problem.
   /// </summary>
+  [StorableType("115b344c-6717-42c2-b03e-1c85832b6f7d")]
   public interface IMultiObjectiveHeuristicOptimizationProblem : IHeuristicOptimizationProblem {
     IParameter MaximizationParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMultiObjectiveOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMultiObjectiveOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMultiObjectiveOperator.cs	(revision 14929)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HeuristicLab.Persistence;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -49,4 +50,5 @@
   /// </list>
   /// </remarks>
+  [StorableType("2ccf7092-0ec9-4093-8276-8ffba1fa5c6e")]
   public interface IMultiObjectiveOperator { }
 }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMultiObjectiveSelector.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMultiObjectiveSelector.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMultiObjectiveSelector.cs	(revision 14929)
@@ -22,4 +22,5 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
@@ -27,4 +28,5 @@
   /// An interface which represents a selection operator for selecting solutions of multi-objective optimization problems.
   /// </summary>
+  [StorableType("cfe060a4-16bf-41d0-bcc6-e5c97ec9a721")]
   public interface IMultiObjectiveSelector : ISelector, IMultiObjectiveOperator {
     ILookupParameter<BoolArray> MaximizationParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IOptimizer.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IOptimizer.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IOptimizer.cs	(revision 14929)
@@ -22,4 +22,5 @@
 using System.Collections.Generic;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
@@ -27,4 +28,5 @@
   /// Interface to represent optimizers such as algorithms, batch runs, or experiments.
   /// </summary>
+  [StorableType("35bd175f-5f06-456b-9ebb-d503c1b4ce64")]
   public interface IOptimizer : INamedItem, IExecutable {
     RunCollection Runs { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IParticleCreator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IParticleCreator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IParticleCreator.cs	(revision 14929)
@@ -21,4 +21,5 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
@@ -26,4 +27,5 @@
   /// Interface to represent an operator that generates a particle. 
   /// </summary>
+  [StorableType("4c186817-52be-471b-998f-e5496502a53c")]
   public interface IParticleCreator : ISolutionCreator {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IParticleUpdater.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IParticleUpdater.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IParticleUpdater.cs	(revision 14929)
@@ -22,4 +22,5 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
@@ -27,4 +28,5 @@
   /// Interface to represent an operator that updates a particle 
   /// </summary>
+  [StorableType("f51b7f00-2676-4201-8770-14ba2d0df782")]
   public interface IParticleUpdater : IOperator {
     ILookupParameter<DoubleValue> InertiaParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IPathRelinker.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IPathRelinker.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IPathRelinker.cs	(revision 14929)
@@ -21,4 +21,5 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
@@ -26,4 +27,5 @@
   /// An interface which represents an operator for path relinking.
   /// </summary>
+  [StorableType("99fe1fdf-f5af-47d4-abb8-b9d888ac7a6b")]
   public interface IPathRelinker : IOperator {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IProblem.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IProblem.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IProblem.cs	(revision 14929)
@@ -23,4 +23,5 @@
 using System.Collections.Generic;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
@@ -28,4 +29,5 @@
   /// Interface to represent an optimization problem.
   /// </summary>
+  [StorableType("c01ab84d-bc43-491a-84f2-c2c12506df41")]
   public interface IProblem : IParameterizedNamedItem {
     IEnumerable<IItem> Operators { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IQualityComparator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IQualityComparator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IQualityComparator.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("2ed52079-8b10-4388-92e0-a1ede7514839")]
   public interface IQualityComparator {
     ILookupParameter<DoubleValue> LeftSideParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IReducer.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IReducer.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IReducer.cs	(revision 14929)
@@ -21,4 +21,5 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
@@ -26,4 +27,5 @@
   /// An interface which represents a reduction opertor.
   /// </summary>
+  [StorableType("f4e05351-10f4-4457-81a7-443dcd6e82af")]
   public interface IReducer : IOperator { }
 }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IReplacer.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IReplacer.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IReplacer.cs	(revision 14929)
@@ -21,4 +21,5 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
@@ -27,4 +28,5 @@
   /// Replacers are merging a remaining and a selected branch in several special ways.
   /// </summary>
+  [StorableType("2a1f65b0-d19f-4f48-a8d4-23cb6a58e03f")]
   public interface IReplacer : IOperator {
     IValueLookupParameter<ISelector> ReplacedSelectorParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IRun.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IRun.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IRun.cs	(revision 14929)
@@ -24,4 +24,5 @@
 using HeuristicLab.Collections;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
@@ -29,4 +30,5 @@
   /// Represents the parameters and results of an algorithm run.
   /// </summary>
+  [StorableType("af79d3ea-3411-48d7-ba1e-d23965541fbe")]
   public interface IRun : INamedItem, INotifyPropertyChanged {
     IAlgorithm Algorithm { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IRunCollectionModifier.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IRunCollectionModifier.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IRunCollectionModifier.cs	(revision 14929)
@@ -25,6 +25,8 @@
 using System.Text;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("b9687deb-be58-495a-9536-0436ae5d01c3")]
   public interface IRunCollectionModifier : IItem {
     void Modify(List<IRun> runs);
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISelfAdaptiveManipulator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISelfAdaptiveManipulator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISelfAdaptiveManipulator.cs	(revision 14929)
@@ -22,4 +22,5 @@
 using System;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
@@ -27,4 +28,5 @@
   /// An interface which represents an operator for manipulating solutions, given a strategy parameter.
   /// </summary>
+  [StorableType("45feb4f8-bb17-4246-be58-f0ad56d605c1")]
   public interface ISelfAdaptiveManipulator : IManipulator {
     Type StrategyParameterType { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISimilarityBasedOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISimilarityBasedOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISimilarityBasedOperator.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("9bc5d351-10a0-4685-bb33-f4cc0c7f50bd")]
   public interface ISimilarityBasedOperator : IOperator {
     IConstrainedValueParameter<ISolutionSimilarityCalculator> SimilarityCalculatorParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISingleMoveGenerator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISingleMoveGenerator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISingleMoveGenerator.cs	(revision 14929)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HeuristicLab.Persistence;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -21,4 +22,5 @@
 
 namespace HeuristicLab.Optimization {
+  [StorableType("1f1212fa-513c-44de-bca9-52c7a19fa7b2")]
   public interface ISingleMoveGenerator : IMoveGenerator, ISingleObjectiveOperator {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveEvaluator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveEvaluator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveEvaluator.cs	(revision 14929)
@@ -22,4 +22,5 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
@@ -27,4 +28,5 @@
   /// An interface which represents an evaluation operator for single-objective optimization problems.
   /// </summary>
+  [StorableType("ad4f4999-5c2a-47e4-8910-8759df9d57db")]
   public interface ISingleObjectiveEvaluator : IEvaluator, ISingleObjectiveOperator {
     ILookupParameter<DoubleValue> QualityParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveHeuristicOptimizationProblem.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveHeuristicOptimizationProblem.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveHeuristicOptimizationProblem.cs	(revision 14929)
@@ -21,4 +21,5 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
@@ -26,4 +27,5 @@
   /// An interface to represent a single-objective optimization problem.
   /// </summary>
+  [StorableType("2801655b-53e5-4912-ba20-33b089910097")]
   public interface ISingleObjectiveHeuristicOptimizationProblem : IHeuristicOptimizationProblem {
     IParameter MaximizationParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveImprovementOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveImprovementOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveImprovementOperator.cs	(revision 14929)
@@ -21,4 +21,5 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
@@ -26,4 +27,5 @@
   /// An interface which represents an operator for improvement of a single objective solution.
   /// </summary>
+  [StorableType("7ab0a1d5-886f-4393-8a9f-44c9c1d89a7c")]
   public interface ISingleObjectiveImprovementOperator : IImprovementOperator, ISingleObjectiveOperator {
     IValueLookupParameter<IItem> SolutionParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveMoveEvaluator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveMoveEvaluator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveMoveEvaluator.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("e1a57849-58fd-4527-ab96-c05392d915a9")]
   public interface ISingleObjectiveMoveEvaluator : IOperator, ISingleObjectiveOperator {
     ILookupParameter<DoubleValue> QualityParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectivePathRelinker.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectivePathRelinker.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectivePathRelinker.cs	(revision 14929)
@@ -21,4 +21,5 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
@@ -26,4 +27,5 @@
   /// An interface which represents an operator for path relinking between single objective solutions.
   /// </summary>
+  [StorableType("0a200ac0-97e7-47c6-9ed5-475a551d00c0")]
   public interface ISingleObjectivePathRelinker : IPathRelinker, ISingleObjectiveOperator {
     ILookupParameter<ItemArray<IItem>> ParentsParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveReplacer.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveReplacer.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveReplacer.cs	(revision 14929)
@@ -22,4 +22,5 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
@@ -27,4 +28,5 @@
   /// An interface which represents a replacement operator for replacing solutions of single-objective optimization problems.
   /// </summary>
+  [StorableType("f1dd61d2-3453-46c3-8dd1-b5c5547b3ab9")]
   public interface ISingleObjectiveReplacer : IReplacer, ISingleObjectiveOperator {
     IValueLookupParameter<BoolValue> MaximizationParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveSolutionSimilarityCalculator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveSolutionSimilarityCalculator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveSolutionSimilarityCalculator.cs	(revision 14929)
@@ -21,4 +21,5 @@
 
 using System;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
@@ -30,4 +31,5 @@
   /// </summary>
   [Obsolete("use HeuristicLab.Optimization.ISolutionSimilarityCalculator instead")]
+  [StorableType("e78532b7-5857-4ba5-a685-0de24b60856d")]
   public interface ISingleObjectiveSolutionSimilarityCalculator : ISolutionSimilarityCalculator, ISingleObjectiveOperator {
 
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISolutionCreator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISolutionCreator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISolutionCreator.cs	(revision 14929)
@@ -21,4 +21,5 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
@@ -26,4 +27,5 @@
   /// An interface which represents an operator for creating new solutions.
   /// </summary>
+  [StorableType("67c84a2a-d95d-4482-870e-54b683a8fd12")]
   public interface ISolutionCreator : IOperator { }
 }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISolutionSimilarityCalculator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISolutionSimilarityCalculator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISolutionSimilarityCalculator.cs	(revision 14929)
@@ -22,4 +22,5 @@
 using System.Collections.Generic;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
@@ -27,4 +28,5 @@
   /// An interface which represents an operator for similarity calculation.
   /// </summary>
+  [StorableType("a27e1fc8-ddaf-4e76-bc27-56341df7c83f")]
   public interface ISolutionSimilarityCalculator : IItem, IEqualityComparer<IScope> {
     string SolutionVariableName { get; set; }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IStochasticOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IStochasticOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IStochasticOperator.cs	(revision 14929)
@@ -21,4 +21,5 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
@@ -26,4 +27,5 @@
   /// An interface which represents a stochastic operator.
   /// </summary>
+  [StorableType("02e70a5e-4402-43d6-8a56-7500c5bfaf54")]
   public interface IStochasticOperator : IOperator {
     ILookupParameter<IRandom> RandomParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IStrategyParameterCreator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IStrategyParameterCreator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IStrategyParameterCreator.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("d3d50df5-24a4-45af-950e-8b8bbeb66c89")]
   public interface IStrategyParameterCreator : IOperator {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IStrategyParameterCrossover.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IStrategyParameterCrossover.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IStrategyParameterCrossover.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("f580b43d-ed0e-4a8f-a0ab-d74bdfcdf69d")]
   public interface IStrategyParameterCrossover : IOperator {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IStrategyParameterManipulator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IStrategyParameterManipulator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IStrategyParameterManipulator.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("eed6b61f-6cd8-4a82-8681-3d725699e8dc")]
   public interface IStrategyParameterManipulator : IOperator {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISubScopesQualityComparator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISubScopesQualityComparator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISubScopesQualityComparator.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("6d7f897b-7010-4390-b3c8-b17fa561dca1")]
   public interface ISubScopesQualityComparator {
     ILookupParameter<DoubleValue> LeftSideParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISwarmUpdater.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISwarmUpdater.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISwarmUpdater.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("0689506f-0b86-4994-9a16-37527818dc3d")]
   public interface ISwarmUpdater : IOperator {
     IScopeTreeLookupParameter<DoubleValue> QualityParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ITabuChecker.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ITabuChecker.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ITabuChecker.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("d7103d08-3047-479e-ad35-a23b96894ca8")]
   public interface ITabuChecker : IOperator {
     ILookupParameter<BoolValue> MoveTabuParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ITabuMaker.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ITabuMaker.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ITabuMaker.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("a6e95f09-904b-4973-9730-c5d122c60cc6")]
   public interface ITabuMaker : IOperator {
     ILookupParameter<DoubleValue> MoveQualityParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ITerminationBasedOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ITerminationBasedOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ITerminationBasedOperator.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("1a6cdfe4-bdb4-430b-bb68-adb0df124f57")]
   public interface ITerminationBasedOperator : IOperator {
     ILookupParameter<BoolValue> TerminateParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ITerminator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ITerminator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ITerminator.cs	(revision 14929)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HeuristicLab.Persistence;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -24,4 +25,5 @@
   /// An interface which represents an operator for checking a termination criterion.
   /// </summary>
+  [StorableType("bedd275d-9be3-4979-a70e-acdbe19a150d")]
   public interface ITerminator : ITerminationBasedOperator {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ITopologyInitializer.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ITopologyInitializer.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ITopologyInitializer.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("1ff66862-94a9-4fbd-9f3a-64e249d9e4e3")]
   public interface ITopologyInitializer : IOperator {
     IScopeTreeLookupParameter<IntArray> NeighborsParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ITopologyUpdater.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ITopologyUpdater.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ITopologyUpdater.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("f8d3a112-973a-4252-b050-4f49b4283eeb")]
   public interface ITopologyUpdater : IOperator {
     IScopeTreeLookupParameter<IntArray> NeighborsParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/MetaOptimizers/BatchRun.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/MetaOptimizers/BatchRun.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/MetaOptimizers/BatchRun.cs	(revision 14929)
@@ -30,4 +30,5 @@
 
 namespace HeuristicLab.Optimization {
+  [StorableType("518a39b1-bc8f-4321-a62c-cf86f7baa0a6")]
   internal enum BatchRunAction { None, Prepare, Start, Pause, Stop };
 
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Results/IResult.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Results/IResult.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Results/IResult.cs	(revision 14929)
@@ -22,4 +22,5 @@
 using System;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
@@ -27,4 +28,5 @@
   /// Represents a result which has a name and a data type and holds an IItem.
   /// </summary>
+  [StorableType("1e913d8d-3707-408d-9e07-7700adf9a5e3")]
   public interface IResult : INamedItem {
     Type DataType { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Results/IResultParameter.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Results/IResultParameter.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/Results/IResultParameter.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using System;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("be43ab46-35b1-4ea6-bb2f-3f21d9454646")]
   public interface IResultParameter : ILookupParameter {
     string ResultCollectionName { get; set; }
@@ -29,4 +31,5 @@
   }
 
+  [StorableType("9bb891a8-a153-42c0-a21c-f3a8cf5af390")]
   public interface IResultParameter<T> : ILookupParameter<T>, IResultParameter where T : class, IItem {
     T DefaultValue { get; set; }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/RunCollectionConstraints/IRunCollectionConstraint.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/RunCollectionConstraints/IRunCollectionConstraint.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimization/3.3/RunCollectionConstraints/IRunCollectionConstraint.cs	(revision 14929)
@@ -22,10 +22,13 @@
 using System;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("5a1ee5d0-b8aa-4df3-bd70-7b67130e52be")]
   public interface IRunCollectionConstraint : IConstraint {
     new RunCollection ConstrainedValue { get; set; }
   }
 
+  [StorableType("b9d8fb77-48dc-4e71-94d0-ef017d1d6c95")]
   public interface IRunCollectionColumnConstraint : IRunCollectionConstraint {
     string ConstraintColumn { get; set; }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimizer/3.3/CreateExperimentDialog.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimizer/3.3/CreateExperimentDialog.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimizer/3.3/CreateExperimentDialog.cs	(revision 14929)
@@ -33,7 +33,9 @@
 using HeuristicLab.Parameters;
 using HeuristicLab.Problems.Instances;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimizer {
   public partial class CreateExperimentDialog : Form {
+    [StorableType("b2f9efcf-e0c2-4d67-a159-12688451965a")]
     private enum DialogMode { Normal = 1, DiscoveringInstances = 2, CreatingExperiment = 3, PreparingExperiment = 4 };
 
Index: /branches/PersistenceReintegration/HeuristicLab.Optimizer/3.3/IOptimizerUserInterfaceItemProvider.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimizer/3.3/IOptimizerUserInterfaceItemProvider.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimizer/3.3/IOptimizerUserInterfaceItemProvider.cs	(revision 14929)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HeuristicLab.Persistence;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -21,4 +22,5 @@
 
 namespace HeuristicLab.Optimizer {
+  [StorableType("a9a5d217-87ba-4a92-9eea-795525082d21")]
   public interface IOptimizerUserInterfaceItemProvider { }
 }
Index: /branches/PersistenceReintegration/HeuristicLab.Optimizer/3.3/MainFormTypeSelectionDialog.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimizer/3.3/MainFormTypeSelectionDialog.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimizer/3.3/MainFormTypeSelectionDialog.cs	(revision 14929)
@@ -23,6 +23,8 @@
 using System.Windows.Forms;
 using HeuristicLab.Optimizer.Properties;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Optimizer {
+  [StorableType("31afc915-3594-46c4-b709-fcabd808c178")]
   public enum OptimizerMainFormTypes {
     DockingMainForm,
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/2D/Interfaces/IDecoder.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/2D/Interfaces/IDecoder.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/2D/Interfaces/IDecoder.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using System.Collections.Generic;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.BinPacking2D {
+  [StorableType("d0fb4b32-b19e-4abe-ad94-05c20c72b560")]
   public interface IDecoder<in T> : IItem {
     Solution Decode(T encodedSolution, PackingShape binShape, IList<PackingItem> items);
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/2D/Interfaces/IEvaluator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/2D/Interfaces/IEvaluator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/2D/Interfaces/IEvaluator.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.BinPacking2D {
+  [StorableType("ae84f8c8-4b2a-4423-b491-18b3b8da0eec")]
   public interface IEvaluator : IItem {
     double Evaluate(Solution solution);
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/2D/Interfaces/IOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/2D/Interfaces/IOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/2D/Interfaces/IOperator.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.BinPacking2D {
+  [StorableType("9b608e63-fff8-4d11-882c-665671a31a9b")]
   public interface IOperator<TSol> : IItem {
     ILookupParameter<ReadOnlyItemList<PackingItem>> ItemsParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/3D/Interfaces/IDecoder.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/3D/Interfaces/IDecoder.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/3D/Interfaces/IDecoder.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using System.Collections.Generic;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.BinPacking3D {
+  [StorableType("84e60d12-3120-456d-ae61-faf69986dc6c")]
   public interface IDecoder<in T> : IItem {
     Solution Decode(T encodedSolution, PackingShape binShape, IList<PackingItem> items, bool useStackingConstraints);
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/3D/Interfaces/IEvaluator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/3D/Interfaces/IEvaluator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/3D/Interfaces/IEvaluator.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.BinPacking3D {
+  [StorableType("5ffcdb10-1025-46ac-af6f-c6446bfc48c2")]
   public interface IEvaluator : IItem {
     double Evaluate(Solution solution);
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/3D/Interfaces/IOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/3D/Interfaces/IOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/3D/Interfaces/IOperator.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.BinPacking3D {
+  [StorableType("8d9df8bb-090e-4726-a2c5-277cabf96ded")]
   public interface IOperator<TSol> : IItem {
     ILookupParameter<ReadOnlyItemList<PackingItem>> ItemsParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/Interfaces/IPackingItem.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/Interfaces/IPackingItem.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/Interfaces/IPackingItem.cs	(revision 14929)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HeuristicLab.Persistence;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2016 Joseph Helm and Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -22,4 +23,5 @@
 namespace HeuristicLab.Problems.BinPacking {
   // a packing item is one of the items that needs to be located in one of the packing bins (containers)
+  [StorableType("4ed6cdff-6a6a-4918-b81c-8efea66f3a85")]
   public interface IPackingItem : IPackingShape {
     double Weight { get; set; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/Interfaces/IPackingPosition.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/Interfaces/IPackingPosition.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/Interfaces/IPackingPosition.cs	(revision 14929)
@@ -21,7 +21,9 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.BinPacking {
 
+  [StorableType("63e62033-ee40-459a-8732-1e72c1d3d54c")]
   public interface IPackingPosition : IItem {
     int AssignedBin { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/Interfaces/IPackingShape.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/Interfaces/IPackingShape.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/Interfaces/IPackingShape.cs	(revision 14929)
@@ -22,8 +22,10 @@
 using System;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.BinPacking {
   // a packing shape represents a physical object of correct dimension (2d or 3d) 
   // packing bins (containers) and packing items are both packing shapes
+  [StorableType("e9d08b3f-0cf6-4101-aaf6-46cef453ecfd")]
   public interface IPackingShape : IItem, IComparable {
     int Volume { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/Interfaces/ISymbolicClassificationEvaluator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/Interfaces/ISymbolicClassificationEvaluator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/Interfaces/ISymbolicClassificationEvaluator.cs	(revision 14929)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HeuristicLab.Persistence;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -21,4 +22,5 @@
 
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic.Classification {
+  [StorableType("b1dfdb5f-0164-4cd2-b7e5-089077996e87")]
   public interface ISymbolicClassificationEvaluator : ISymbolicDataAnalysisEvaluator<IClassificationProblemData> {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/Interfaces/ISymbolicClassificationModel.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/Interfaces/ISymbolicClassificationModel.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/Interfaces/ISymbolicClassificationModel.cs	(revision 14929)
@@ -21,5 +21,8 @@
 
 using System.Collections.Generic;
+using HeuristicLab.Persistence;
+
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic.Classification {
+  [StorableType("460ecb1f-e2b8-4211-8afe-a5a5ba367d57")]
   public interface ISymbolicClassificationModel : IClassificationModel, ISymbolicDataAnalysisModel {
     void RecalculateModelParameters(IClassificationProblemData problemData, IEnumerable<int> rows);
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/Interfaces/ISymbolicClassificationModelCreator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/Interfaces/ISymbolicClassificationModelCreator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/Interfaces/ISymbolicClassificationModelCreator.cs	(revision 14929)
@@ -23,6 +23,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic.Classification {
+  [StorableType("66edf763-30b6-48f7-8d5f-9814a0259219")]
   public interface ISymbolicClassificationModelCreator : IItem {
     ISymbolicClassificationModel CreateSymbolicClassificationModel(string targetVariable, ISymbolicExpressionTree tree, ISymbolicDataAnalysisExpressionTreeInterpreter interpreter, double lowerEstimationLimit, double upperEstimationLimit);
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/Interfaces/ISymbolicClassificationModelCreatorOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/Interfaces/ISymbolicClassificationModelCreatorOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/Interfaces/ISymbolicClassificationModelCreatorOperator.cs	(revision 14929)
@@ -23,6 +23,8 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic.Classification {
+  [StorableType("7e0bdaa6-2a57-439c-98b6-9f787b57b8e3")]
   public interface ISymbolicClassificationModelCreatorOperator : IOperator {
     ILookupParameter<ISymbolicClassificationModelCreator> ModelCreatorParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/Interfaces/ISymbolicClassificationMultiObjectiveEvaluator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/Interfaces/ISymbolicClassificationMultiObjectiveEvaluator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/Interfaces/ISymbolicClassificationMultiObjectiveEvaluator.cs	(revision 14929)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HeuristicLab.Persistence;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -21,4 +22,5 @@
 
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic.Classification {
+  [StorableType("965ea97e-c3ae-49db-9bed-e1fdb34771d1")]
   public interface ISymbolicClassificationMultiObjectiveEvaluator : ISymbolicClassificationEvaluator, ISymbolicDataAnalysisMultiObjectiveEvaluator<IClassificationProblemData> {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/Interfaces/ISymbolicClassificationSingleObjectiveEvaluator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/Interfaces/ISymbolicClassificationSingleObjectiveEvaluator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/Interfaces/ISymbolicClassificationSingleObjectiveEvaluator.cs	(revision 14929)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HeuristicLab.Persistence;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -21,4 +22,5 @@
 
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic.Classification {
+  [StorableType("0a50100b-0117-4dce-8a81-e5b9a99d7ed6")]
   public interface ISymbolicClassificationSingleObjectiveEvaluator : ISymbolicClassificationEvaluator, ISymbolicDataAnalysisSingleObjectiveEvaluator<IClassificationProblemData> {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/Interfaces/ISymbolicClassificationSolution.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/Interfaces/ISymbolicClassificationSolution.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/Interfaces/ISymbolicClassificationSolution.cs	(revision 14929)
@@ -24,5 +24,8 @@
 using System.Collections.Generic;
 using System;
+using HeuristicLab.Persistence;
+
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic.Classification {
+  [StorableType("712903ee-391e-4be7-8120-9dbd8f033067")]
   public interface ISymbolicClassificationSolution : IClassificationSolution, ISymbolicDataAnalysisSolution {
     new ISymbolicClassificationModel Model { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/Interfaces/ISymbolicDiscriminantFunctionClassificationModel.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/Interfaces/ISymbolicDiscriminantFunctionClassificationModel.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/Interfaces/ISymbolicDiscriminantFunctionClassificationModel.cs	(revision 14929)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HeuristicLab.Persistence;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -21,4 +22,5 @@
 
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic.Classification {
+  [StorableType("2a0cf44c-a5c7-4993-82be-405425ecb790")]
   public interface ISymbolicDiscriminantFunctionClassificationModel : IDiscriminantFunctionClassificationModel, ISymbolicClassificationModel {
 
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/Interfaces/ISymbolicDiscriminantFunctionClassificationModelCreator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/Interfaces/ISymbolicDiscriminantFunctionClassificationModelCreator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/Interfaces/ISymbolicDiscriminantFunctionClassificationModelCreator.cs	(revision 14929)
@@ -22,6 +22,8 @@
 #endregion
 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic.Classification {
+  [StorableType("6478bab2-6f91-4e7a-91d9-d501e28e7a2e")]
   public interface ISymbolicDiscriminantFunctionClassificationModelCreator : ISymbolicClassificationModelCreator {
     ISymbolicDiscriminantFunctionClassificationModel CreateSymbolicDiscriminantFunctionClassificationModel(string targetVariable, ISymbolicExpressionTree tree, ISymbolicDataAnalysisExpressionTreeInterpreter interpreter, double lowerEstimationLimit, double upperEstimationLimit);
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/Interfaces/ISymbolicRegressionEvaluator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/Interfaces/ISymbolicRegressionEvaluator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/Interfaces/ISymbolicRegressionEvaluator.cs	(revision 14929)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HeuristicLab.Persistence;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -22,4 +23,5 @@
 
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic.Regression {
+  [StorableType("32a1c6a7-8ca8-4093-8157-2ee5c75a9d40")]
   public interface ISymbolicRegressionEvaluator : ISymbolicDataAnalysisEvaluator<IRegressionProblemData> {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/Interfaces/ISymbolicRegressionModel.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/Interfaces/ISymbolicRegressionModel.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/Interfaces/ISymbolicRegressionModel.cs	(revision 14929)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HeuristicLab.Persistence;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -21,4 +22,5 @@
 
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic.Regression {
+  [StorableType("eda45767-ef5a-436d-8378-74fe7686e4f9")]
   public interface ISymbolicRegressionModel : IRegressionModel, ISymbolicDataAnalysisModel {
     void Scale(IRegressionProblemData problemData);
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/Interfaces/ISymbolicRegressionMultiObjectiveEvaluator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/Interfaces/ISymbolicRegressionMultiObjectiveEvaluator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/Interfaces/ISymbolicRegressionMultiObjectiveEvaluator.cs	(revision 14929)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HeuristicLab.Persistence;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -21,4 +22,5 @@
 
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic.Regression {
+  [StorableType("1a36f80e-5568-4ddd-9b7c-3b878d1dc6b2")]
   public interface ISymbolicRegressionMultiObjectiveEvaluator : ISymbolicRegressionEvaluator, ISymbolicDataAnalysisMultiObjectiveEvaluator<IRegressionProblemData> {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/Interfaces/ISymbolicRegressionSingleObjectiveEvaluator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/Interfaces/ISymbolicRegressionSingleObjectiveEvaluator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/Interfaces/ISymbolicRegressionSingleObjectiveEvaluator.cs	(revision 14929)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HeuristicLab.Persistence;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -21,4 +22,5 @@
 
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic.Regression {
+  [StorableType("cedbec4c-f6fd-4bea-b2fa-e90d6acb7520")]
   public interface ISymbolicRegressionSingleObjectiveEvaluator : ISymbolicRegressionEvaluator, ISymbolicDataAnalysisSingleObjectiveEvaluator<IRegressionProblemData> {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/Interfaces/ISymbolicRegressionSolution.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/Interfaces/ISymbolicRegressionSolution.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/Interfaces/ISymbolicRegressionSolution.cs	(revision 14929)
@@ -22,5 +22,8 @@
 
 using HeuristicLab.Problems.DataAnalysis.Symbolic;
+using HeuristicLab.Persistence;
+
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic.Regression {
+  [StorableType("dd345493-2a36-4b79-810d-4e254d31b24a")]
   public interface ISymbolicRegressionSolution : IRegressionSolution, ISymbolicDataAnalysisSolution {
     new ISymbolicRegressionModel Model { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.TimeSeriesPrognosis/3.4/Interfaces/ISymbolicTimeSeriesPrognogisExpressionTreeInterpreter.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.TimeSeriesPrognosis/3.4/Interfaces/ISymbolicTimeSeriesPrognogisExpressionTreeInterpreter.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.TimeSeriesPrognosis/3.4/Interfaces/ISymbolicTimeSeriesPrognogisExpressionTreeInterpreter.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using System.Collections.Generic;
 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("da24e985-55a0-4e78-99e7-85649dfb5f3b")]
   public interface ISymbolicTimeSeriesPrognosisExpressionTreeInterpreter : ISymbolicDataAnalysisExpressionTreeInterpreter {
     string TargetVariable { get; set; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.TimeSeriesPrognosis/3.4/Interfaces/ISymbolicTimeSeriesPrognosisEvaluator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.TimeSeriesPrognosis/3.4/Interfaces/ISymbolicTimeSeriesPrognosisEvaluator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.TimeSeriesPrognosis/3.4/Interfaces/ISymbolicTimeSeriesPrognosisEvaluator.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic.TimeSeriesPrognosis {
+  [StorableType("87b059fe-9040-4104-8435-83b7a02462d5")]
   public interface ISymbolicTimeSeriesPrognosisEvaluator : ISymbolicDataAnalysisEvaluator<ITimeSeriesPrognosisProblemData> {
     IValueLookupParameter<IntValue> HorizonParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.TimeSeriesPrognosis/3.4/Interfaces/ISymbolicTimeSeriesPrognosisInterpreterOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.TimeSeriesPrognosis/3.4/Interfaces/ISymbolicTimeSeriesPrognosisInterpreterOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.TimeSeriesPrognosis/3.4/Interfaces/ISymbolicTimeSeriesPrognosisInterpreterOperator.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic.TimeSeriesPrognosis {
+  [StorableType("eb2f508a-3e4e-4369-90a9-13b2185b9901")]
   public interface ISymbolicTimeSeriesPrognosisInterpreterOperator : IOperator {
     ILookupParameter<ISymbolicTimeSeriesPrognosisExpressionTreeInterpreter> SymbolicTimeSeriesPrognosisInterpreterParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.TimeSeriesPrognosis/3.4/Interfaces/ISymbolicTimeSeriesPrognosisModel.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.TimeSeriesPrognosis/3.4/Interfaces/ISymbolicTimeSeriesPrognosisModel.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.TimeSeriesPrognosis/3.4/Interfaces/ISymbolicTimeSeriesPrognosisModel.cs	(revision 14929)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HeuristicLab.Persistence;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -21,4 +22,5 @@
 
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic.TimeSeriesPrognosis {
+  [StorableType("7f28cb46-84b3-470d-8cbb-c9315bd70766")]
   public interface ISymbolicTimeSeriesPrognosisModel : ITimeSeriesPrognosisModel, ISymbolicDataAnalysisModel {
     new ISymbolicTimeSeriesPrognosisExpressionTreeInterpreter Interpreter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.TimeSeriesPrognosis/3.4/Interfaces/ISymbolicTimeSeriesPrognosisSingleObjectiveEvaluator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.TimeSeriesPrognosis/3.4/Interfaces/ISymbolicTimeSeriesPrognosisSingleObjectiveEvaluator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.TimeSeriesPrognosis/3.4/Interfaces/ISymbolicTimeSeriesPrognosisSingleObjectiveEvaluator.cs	(revision 14929)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HeuristicLab.Persistence;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -21,4 +22,5 @@
 
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic.TimeSeriesPrognosis {
+  [StorableType("332b68d3-b642-474f-8aeb-24203912b27a")]
   public interface ISymbolicTimeSeriesPrognosisSingleObjectiveEvaluator : ISymbolicTimeSeriesPrognosisEvaluator, ISymbolicDataAnalysisSingleObjectiveEvaluator<ITimeSeriesPrognosisProblemData> {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.TimeSeriesPrognosis/3.4/Interfaces/ISymbolicTimeSeriesPrognosisSolution.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.TimeSeriesPrognosis/3.4/Interfaces/ISymbolicTimeSeriesPrognosisSolution.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.TimeSeriesPrognosis/3.4/Interfaces/ISymbolicTimeSeriesPrognosisSolution.cs	(revision 14929)
@@ -22,5 +22,8 @@
 
 using HeuristicLab.Problems.DataAnalysis.Symbolic;
+using HeuristicLab.Persistence;
+
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic.TimeSeriesPrognosis {
+  [StorableType("7b77a090-fc87-45df-96ee-dce674be5fde")]
   public interface ISymbolicTimeSeriesPrognosisSolution : ITimeSeriesPrognosisSolution, ISymbolicDataAnalysisSolution {
     new ISymbolicTimeSeriesPrognosisModel Model { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Crossovers/SymbolicDataAnalysisExpressionDepthConstrainedCrossover.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Crossovers/SymbolicDataAnalysisExpressionDepthConstrainedCrossover.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Crossovers/SymbolicDataAnalysisExpressionDepthConstrainedCrossover.cs	(revision 14929)
@@ -39,4 +39,5 @@
   public sealed class SymbolicDataAnalysisExpressionDepthConstrainedCrossover<T> :
     SymbolicDataAnalysisExpressionCrossover<T> where T : class, IDataAnalysisProblemData {
+    [StorableType("fa5535f0-f10b-428a-9da9-e64207ae8d41")]
     private enum Ranges { HighLevel, Standard, LowLevel };
     private const string DepthRangeParameterName = "DepthRange";
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Importer/InfixExpressionParser.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Importer/InfixExpressionParser.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Importer/InfixExpressionParser.cs	(revision 14929)
@@ -28,4 +28,5 @@
 using HeuristicLab.Common;
 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
@@ -54,4 +55,5 @@
   /// </summary>
   public sealed class InfixExpressionParser {
+    [StorableType("2923f64d-5d2b-4723-bf00-e2bd1c809515")]
     private enum TokenType { Operator, Identifier, Number, LeftPar, RightPar, LeftBracket, RightBracket, Comma, Eq, End, NA };
     private class Token {
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Importer/Token.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Importer/Token.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Importer/Token.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using System.Globalization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("3be004ef-813b-4389-9945-c084b5f234eb")]
   internal enum TokenSymbol { LPAR, RPAR, SYMB, NUMBER };
   internal class Token {
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/IModelBacktransformator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/IModelBacktransformator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/IModelBacktransformator.cs	(revision 14929)
@@ -21,7 +21,8 @@
 
 using System.Collections.Generic;
-
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("3f3e9de7-8d23-4612-a6ba-11debb4bc204")]
   public interface IModelBacktransformator {
     ISymbolicDataAnalysisModel Backtransform(ISymbolicDataAnalysisModel model, IEnumerable<ITransformation> transformations, string targetVariable);
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisAnalyzer.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisAnalyzer.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisAnalyzer.cs	(revision 14929)
@@ -24,5 +24,8 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
+using HeuristicLab.Persistence;
+
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("e5c7806e-464f-475d-9da2-28ded3004d81")]
   public interface ISymbolicDataAnalysisAnalyzer : IAnalyzer {
     IScopeTreeLookupParameter<ISymbolicExpressionTree> SymbolicExpressionTreeParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisBoundedOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisBoundedOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisBoundedOperator.cs	(revision 14929)
@@ -21,5 +21,8 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
+
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("f8053cf9-0c1d-4bf5-a6fc-ff7f58ce1bf1")]
   public interface ISymbolicDataAnalysisBoundedOperator : IOperator {
     IValueLookupParameter<DoubleLimit> EstimationLimitsParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisEvaluator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisEvaluator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisEvaluator.cs	(revision 14929)
@@ -23,5 +23,8 @@
 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
+
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("2a821c0c-a5b6-497c-bcd1-75426320e5c7")]
   public interface ISymbolicDataAnalysisEvaluator<T> : IEvaluator
   where T : class, IDataAnalysisProblemData {
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisExpressionCrossover.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisExpressionCrossover.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisExpressionCrossover.cs	(revision 14929)
@@ -23,6 +23,8 @@
 using HeuristicLab.Data;
 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("79e4cd8d-7134-4c1a-adca-66f02fa7e6f8")]
   public interface ISymbolicDataAnalysisExpressionCrossover<T> : ISymbolicExpressionTreeCrossover,
     ISymbolicExpressionTreeSizeConstraintOperator, ISymbolicDataAnalysisInterpreterOperator
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisExpressionTreeInterpreter.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisExpressionTreeInterpreter.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisExpressionTreeInterpreter.cs	(revision 14929)
@@ -23,6 +23,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("18a6daff-e2a3-43c3-933b-b8b7082ebbc2")]
   public interface ISymbolicDataAnalysisExpressionTreeInterpreter : INamedItem, IStatefulItem {
     IEnumerable<double> GetSymbolicExpressionTreeValues(ISymbolicExpressionTree tree, IDataset dataset, IEnumerable<int> rows);
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisGrammar.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisGrammar.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisGrammar.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("a81365cd-8355-47d4-9a64-00c9986dadfb")]
   public interface ISymbolicDataAnalysisGrammar : ISymbolicExpressionGrammar {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisImpactValuesCalculator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisImpactValuesCalculator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisImpactValuesCalculator.cs	(revision 14929)
@@ -2,6 +2,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("9bb22454-8303-4d6e-8c4b-a42a933bc4fa")]
   public interface ISymbolicDataAnalysisSolutionImpactValuesCalculator : IItem {
     void CalculateImpactAndReplacementValues(ISymbolicDataAnalysisModel model, ISymbolicExpressionTreeNode node, IDataAnalysisProblemData problemData,
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisInterpreterOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisInterpreterOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisInterpreterOperator.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("c154a54d-07b4-4f08-9d5f-a8522e847c73")]
   public interface ISymbolicDataAnalysisInterpreterOperator : IOperator {
     ILookupParameter<ISymbolicDataAnalysisExpressionTreeInterpreter> SymbolicDataAnalysisTreeInterpreterParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisModel.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisModel.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisModel.cs	(revision 14929)
@@ -21,5 +21,8 @@
 
 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
+using HeuristicLab.Persistence;
+
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("d4853731-e483-4cd8-8516-20154057551d")]
   public interface ISymbolicDataAnalysisModel : IDataAnalysisModel {
     ISymbolicExpressionTree SymbolicExpressionTree { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisMultiObjectiveAnalyzer.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisMultiObjectiveAnalyzer.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisMultiObjectiveAnalyzer.cs	(revision 14929)
@@ -21,5 +21,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HeuristicLab.Persistence;
+
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("d3f993b1-ab3c-4fe7-94ca-1fa10fe95a6e")]
   public interface ISymbolicDataAnalysisMultiObjectiveAnalyzer : ISymbolicDataAnalysisAnalyzer {
     IScopeTreeLookupParameter<DoubleArray> QualitiesParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisMultiObjectiveEvaluator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisMultiObjectiveEvaluator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisMultiObjectiveEvaluator.cs	(revision 14929)
@@ -25,6 +25,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("b61cf100-b98b-41ae-9fd3-163fc9f2ac95")]
   public interface ISymbolicDataAnalysisMultiObjectiveEvaluator<T> : ISymbolicDataAnalysisEvaluator<T>, IMultiObjectiveEvaluator
   where T : class, IDataAnalysisProblemData {
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisProblem.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisProblem.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisProblem.cs	(revision 14929)
@@ -23,6 +23,8 @@
 using HeuristicLab.Data;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("636bb3d3-5544-47cf-8219-6862a27a5abe")]
   public interface ISymbolicDataAnalysisProblem : IDataAnalysisProblem, IHeuristicOptimizationProblem {
     IValueParameter<ISymbolicDataAnalysisGrammar> SymbolicExpressionTreeGrammarParameter { get; }
@@ -47,5 +49,7 @@
   }
 
+  [StorableType("7f1f788a-725a-4a79-a2da-f2c4afe71917")]
   public interface ISymbolicDataAnalysisSingleObjectiveProblem : ISymbolicDataAnalysisProblem, ISingleObjectiveHeuristicOptimizationProblem { }
+  [StorableType("c3e98d67-972f-412d-8839-0e50c569b038")]
   public interface ISymbolicDataAnalysisMultiObjectiveProblem : ISymbolicDataAnalysisProblem, IMultiObjectiveHeuristicOptimizationProblem { }
 }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisSingleObjectiveAnalyzer.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisSingleObjectiveAnalyzer.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisSingleObjectiveAnalyzer.cs	(revision 14929)
@@ -24,5 +24,8 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
+using HeuristicLab.Persistence;
+
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("aa53b4d0-ccf6-4db4-86dc-c6e2c77b709a")]
   public interface ISymbolicDataAnalysisSingleObjectiveAnalyzer : ISymbolicDataAnalysisAnalyzer {
     IScopeTreeLookupParameter<DoubleValue> QualityParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisSingleObjectiveEvaluator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisSingleObjectiveEvaluator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisSingleObjectiveEvaluator.cs	(revision 14929)
@@ -24,5 +24,8 @@
 using System.Collections.Generic;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
+
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("add2c49f-dd92-47ef-88d3-a08ac7ecb639")]
   public interface ISymbolicDataAnalysisSingleObjectiveEvaluator<T> : ISymbolicDataAnalysisEvaluator<T>, ISingleObjectiveEvaluator
     where T : class, IDataAnalysisProblemData {
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisSolution.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisSolution.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisSolution.cs	(revision 14929)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HeuristicLab.Persistence;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -22,4 +23,5 @@
 
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("2fc29f2b-4b62-463c-8a4f-bc8ad566ffbd")]
   public interface ISymbolicDataAnalysisSolution : IDataAnalysisSolution {
     new ISymbolicDataAnalysisModel Model { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisSolutionCreator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisSolutionCreator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisSolutionCreator.cs	(revision 14929)
@@ -22,5 +22,8 @@
 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
+
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("7ee4dae7-848b-47dc-9d04-e95d02560f8f")]
   public interface ISymbolicDataAnalysisSolutionCreator : ISymbolicExpressionTreeCreator, ISolutionCreator {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisValidationAnalyzer.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisValidationAnalyzer.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisValidationAnalyzer.cs	(revision 14929)
@@ -21,5 +21,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HeuristicLab.Persistence;
+
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("b8e8f734-2d38-457d-91c7-d41c4785da51")]
   public interface ISymbolicDataAnalysisValidationAnalyzer<T, U> : ISymbolicDataAnalysisAnalyzer, ISymbolicDataAnalysisInterpreterOperator
     where T : class, ISymbolicDataAnalysisEvaluator<U>
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/IVariableSymbol.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/IVariableSymbol.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/IVariableSymbol.cs	(revision 14929)
@@ -21,4 +21,6 @@
 
 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
+using HeuristicLab.Persistence;
+
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
 
@@ -26,4 +28,5 @@
   /// Any symbol that references a variable (includes terminal as well as non-terminal symbols)
   /// </summary>
+  [StorableType("81474152-f79e-4a10-b887-b181fbf90a73")]
   public interface IVariableSymbol : ISymbol {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/IVariableTreeNode.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/IVariableTreeNode.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/IVariableTreeNode.cs	(revision 14929)
@@ -21,8 +21,11 @@
 
 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
+using HeuristicLab.Persistence;
+
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
   /// <summary>
   /// Any tree node that references a variable 
   /// </summary>
+  [StorableType("b48faab3-4259-4a11-890b-0867689fc103")]
   public interface IVariableTreeNode : ISymbolicExpressionTreeNode {
     string VariableName { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Symbols/ILaggedTreeNode.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Symbols/ILaggedTreeNode.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Symbols/ILaggedTreeNode.cs	(revision 14929)
@@ -22,5 +22,8 @@
 
 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
+using HeuristicLab.Persistence;
+
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("09207754-d750-4a2e-b19e-c00856ad24e4")]
   public interface ILaggedTreeNode : ISymbolicExpressionTreeNode {
     int Lag { get; set; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Interfaces/IModel.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Interfaces/IModel.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Interfaces/IModel.cs	(revision 14929)
@@ -21,5 +21,8 @@
 
 using System.Collections.Generic;
+using HeuristicLab.Persistence;
+
 namespace HeuristicLab.Problems.DataAnalysis.Trading {
+  [StorableType("462e1703-bb5b-4df9-b5fc-4bd1f7ffcfd9")]
   public interface IModel : IDataAnalysisModel {
     IEnumerable<double> GetSignals(IDataset dataset, IEnumerable<int> rows);
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Interfaces/IProblem.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Interfaces/IProblem.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Interfaces/IProblem.cs	(revision 14929)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HeuristicLab.Persistence;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -21,4 +22,5 @@
 
 namespace HeuristicLab.Problems.DataAnalysis.Trading {
+  [StorableType("31064a12-8c67-473a-9ee9-b12562d9d0f8")]
   public interface IProblem : IDataAnalysisProblem<IProblemData> {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Interfaces/IProblemData.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Interfaces/IProblemData.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Interfaces/IProblemData.cs	(revision 14929)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HeuristicLab.Persistence;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -21,4 +22,5 @@
 
 namespace HeuristicLab.Problems.DataAnalysis.Trading {
+  [StorableType("41ba0455-9c3f-4dfa-8bee-7ef0f32444f4")]
   public interface IProblemData : IDataAnalysisProblemData {
     string PriceChangeVariable { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Interfaces/ISolution.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Interfaces/ISolution.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Interfaces/ISolution.cs	(revision 14929)
@@ -21,5 +21,8 @@
 
 using System.Collections.Generic;
+using HeuristicLab.Persistence;
+
 namespace HeuristicLab.Problems.DataAnalysis.Trading {
+  [StorableType("07140cd9-fec4-4bac-9432-d64c2968256f")]
   public interface ISolution : IDataAnalysisSolution {
     new IModel Model { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Symbolic/Interfaces/IEvaluator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Symbolic/Interfaces/IEvaluator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Symbolic/Interfaces/IEvaluator.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Problems.DataAnalysis.Symbolic;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.DataAnalysis.Trading.Symbolic {
+  [StorableType("f27c62ef-c9fd-41d5-90e2-3d59e23b71e1")]
   public interface IEvaluator : ISymbolicDataAnalysisEvaluator<IProblemData> {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Symbolic/Interfaces/IModel.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Symbolic/Interfaces/IModel.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Symbolic/Interfaces/IModel.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Problems.DataAnalysis.Symbolic;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.DataAnalysis.Trading.Symbolic {
+  [StorableType("96bc1434-3c9a-4ceb-a283-5565b9e99fdc")]
   public interface IModel : Trading.IModel, ISymbolicDataAnalysisModel {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Symbolic/Interfaces/ISingleObjectiveEvaluator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Symbolic/Interfaces/ISingleObjectiveEvaluator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Symbolic/Interfaces/ISingleObjectiveEvaluator.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Problems.DataAnalysis.Symbolic;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.DataAnalysis.Trading.Symbolic {
+  [StorableType("e38bfcab-fd68-4841-a56d-acd14faed5e8")]
   public interface ISingleObjectiveEvaluator : IEvaluator, ISymbolicDataAnalysisSingleObjectiveEvaluator<IProblemData> {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Symbolic/Interfaces/ISolution.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Symbolic/Interfaces/ISolution.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Symbolic/Interfaces/ISolution.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Problems.DataAnalysis.Symbolic;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.DataAnalysis.Trading.Symbolic {
+  [StorableType("f90a6f24-2e01-4e3f-bf6c-bbdaeb80eace")]
   public interface ISolution : Trading.ISolution, ISymbolicDataAnalysisSolution {
     new IModel Model { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Regression/RegressionSolutionVariableImpactsCalculator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Regression/RegressionSolutionVariableImpactsCalculator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Regression/RegressionSolutionVariableImpactsCalculator.cs	(revision 14929)
@@ -36,4 +36,5 @@
   [Item("RegressionSolution Impacts Calculator", "Calculation of the impacts of input variables for any regression solution")]
   public sealed class RegressionSolutionVariableImpactsCalculator : ParameterizedNamedItem {
+    [StorableType("0bf10277-e9e2-45e1-bd14-36691f5ec384")]
     public enum ReplacementMethodEnum {
       Median,
@@ -42,4 +43,5 @@
       Noise
     }
+    [StorableType("713485d4-ce6c-4066-8a1b-6c809456fde1")]
     public enum FactorReplacementMethodEnum {
       Best,
@@ -47,4 +49,5 @@
       Shuffle
     }
+    [StorableType("d8dac633-f199-4fb5-b7e6-92ddfcf4be94")]
     public enum DataPartitionEnum {
       Training,
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IClassificationEnsembleModel.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IClassificationEnsembleModel.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IClassificationEnsembleModel.cs	(revision 14929)
@@ -21,5 +21,8 @@
 
 using System.Collections.Generic;
+using HeuristicLab.Persistence;
+
 namespace HeuristicLab.Problems.DataAnalysis {
+  [StorableType("baaa8f54-8ea3-4c84-9b00-e469bee7fc43")]
   public interface IClassificationEnsembleModel : IClassificationModel {
     void Add(IClassificationModel model);
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IClassificationEnsembleSolution.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IClassificationEnsembleSolution.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IClassificationEnsembleSolution.cs	(revision 14929)
@@ -22,5 +22,8 @@
 using System.Collections.Generic;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
+
 namespace HeuristicLab.Problems.DataAnalysis {
+  [StorableType("16ef8062-1a9d-4a99-a414-f912c36b3241")]
   public interface IClassificationEnsembleSolution : IClassificationSolution {
     new IClassificationEnsembleModel Model { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IClassificationModel.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IClassificationModel.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IClassificationModel.cs	(revision 14929)
@@ -22,4 +22,5 @@
 using System;
 using System.Collections.Generic;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.DataAnalysis {
@@ -28,4 +29,5 @@
   /// <remarks>All methods and properties in in this interface must be implemented thread safely</remarks>
   /// </summary>
+  [StorableType("67e328f5-b871-48e5-acf1-7322e6b04e8e")]
   public interface IClassificationModel : IDataAnalysisModel {
     IEnumerable<double> GetEstimatedClassValues(IDataset dataset, IEnumerable<int> rows);
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IClassificationProblem.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IClassificationProblem.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IClassificationProblem.cs	(revision 14929)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HeuristicLab.Persistence;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -21,4 +22,5 @@
 
 namespace HeuristicLab.Problems.DataAnalysis {
+  [StorableType("740962a1-fe19-4dc0-a9ae-18af313c5b43")]
   public interface IClassificationProblem : IDataAnalysisProblem<IClassificationProblemData> {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IClassificationProblemData.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IClassificationProblemData.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IClassificationProblemData.cs	(revision 14929)
@@ -21,5 +21,8 @@
 
 using System.Collections.Generic;
+using HeuristicLab.Persistence;
+
 namespace HeuristicLab.Problems.DataAnalysis {
+  [StorableType("6d6eb8bf-d40a-49a0-904a-692024a039a5")]
   public interface IClassificationProblemData : IDataAnalysisProblemData {
     string TargetVariable { get; set; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IClassificationSolution.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IClassificationSolution.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IClassificationSolution.cs	(revision 14929)
@@ -21,5 +21,8 @@
 
 using System.Collections.Generic;
+using HeuristicLab.Persistence;
+
 namespace HeuristicLab.Problems.DataAnalysis {
+  [StorableType("e7fc797c-90ed-4468-85ae-ec02a6240891")]
   public interface IClassificationSolution : IDataAnalysisSolution {
     new IClassificationModel Model { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IDiscriminantFunctionClassificationModel.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IDiscriminantFunctionClassificationModel.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IDiscriminantFunctionClassificationModel.cs	(revision 14929)
@@ -22,5 +22,8 @@
 using System;
 using System.Collections.Generic;
+using HeuristicLab.Persistence;
+
 namespace HeuristicLab.Problems.DataAnalysis {
+  [StorableType("0f2b5a24-67e8-4df0-8f5c-8c193d426130")]
   public interface IDiscriminantFunctionClassificationModel : IClassificationModel {
     IEnumerable<double> Thresholds { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IDiscriminantFunctionClassificationSolution.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IDiscriminantFunctionClassificationSolution.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IDiscriminantFunctionClassificationSolution.cs	(revision 14929)
@@ -22,5 +22,8 @@
 using System;
 using System.Collections.Generic;
+using HeuristicLab.Persistence;
+
 namespace HeuristicLab.Problems.DataAnalysis {
+  [StorableType("73be45a1-7f63-4838-b282-41d36c3ea089")]
   public interface IDiscriminantFunctionClassificationSolution : IClassificationSolution {
     new IDiscriminantFunctionClassificationModel Model { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IDiscriminantFunctionThresholdCalculator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IDiscriminantFunctionThresholdCalculator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IDiscriminantFunctionThresholdCalculator.cs	(revision 14929)
@@ -22,5 +22,8 @@
 using System.Collections.Generic;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
+
 namespace HeuristicLab.Problems.DataAnalysis {
+  [StorableType("ccdecf53-d0a0-45ca-a7f3-e73ed50ff38c")]
   public interface IDiscriminantFunctionThresholdCalculator : INamedItem {
     void Calculate(IClassificationProblemData problemData, IEnumerable<double> estimatedValues, IEnumerable<double> targetClassValues, out double[] classValues, out double[] thresholds);
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Clustering/IClusteringModel.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Clustering/IClusteringModel.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Clustering/IClusteringModel.cs	(revision 14929)
@@ -21,5 +21,8 @@
 
 using System.Collections.Generic;
+using HeuristicLab.Persistence;
+
 namespace HeuristicLab.Problems.DataAnalysis {
+  [StorableType("0706f198-b515-4e3b-ba3d-87fb0f3011ec")]
   public interface IClusteringModel : IDataAnalysisModel {
     IEnumerable<int> GetClusterValues(IDataset dataset, IEnumerable<int> rows);
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Clustering/IClusteringProblem.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Clustering/IClusteringProblem.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Clustering/IClusteringProblem.cs	(revision 14929)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HeuristicLab.Persistence;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -21,4 +22,5 @@
 
 namespace HeuristicLab.Problems.DataAnalysis {
+  [StorableType("8223b4ad-1196-4463-88d4-bc46ee862e46")]
   public interface IClusteringProblem : IDataAnalysisProblem<IClusteringProblemData> {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Clustering/IClusteringProblemData.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Clustering/IClusteringProblemData.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Clustering/IClusteringProblemData.cs	(revision 14929)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HeuristicLab.Persistence;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -21,4 +22,5 @@
 
 namespace HeuristicLab.Problems.DataAnalysis {
+  [StorableType("f140e7e0-522a-4586-a562-725c52000b6b")]
   public interface IClusteringProblemData : IDataAnalysisProblemData {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Clustering/IClusteringSolution.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Clustering/IClusteringSolution.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Clustering/IClusteringSolution.cs	(revision 14929)
@@ -21,5 +21,8 @@
 
 using System.Collections.Generic;
+using HeuristicLab.Persistence;
+
 namespace HeuristicLab.Problems.DataAnalysis {
+  [StorableType("5caff002-31b1-4d79-b957-8d1d951bb5d4")]
   public interface IClusteringSolution : IDataAnalysisSolution {
     new IClusteringModel Model { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/IDataAnalysisModel.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/IDataAnalysisModel.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/IDataAnalysisModel.cs	(revision 14929)
@@ -22,4 +22,5 @@
 using System.Collections.Generic;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.DataAnalysis {
@@ -28,4 +29,5 @@
   /// <remarks>All methods and properties in in this interface must be implemented thread safely</remarks>
   /// </summary>
+  [StorableType("4fc4e080-0060-40ce-bc1f-3ce23366c537")]
   public interface IDataAnalysisModel : INamedItem {
     IEnumerable<string> VariablesUsedForPrediction { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/IDataAnalysisProblem.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/IDataAnalysisProblem.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/IDataAnalysisProblem.cs	(revision 14929)
@@ -23,6 +23,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.DataAnalysis {
+  [StorableType("2293165c-bdf5-4605-ad20-efe0c3a1b546")]
   public interface IDataAnalysisProblem : IProblem {
     IParameter ProblemDataParameter { get; }
@@ -31,4 +33,5 @@
   }
 
+  [StorableType("ba6d87ec-0140-45fa-b425-3aaa27d9fe3e")]
   public interface IDataAnalysisProblem<T> : IDataAnalysisProblem
   where T : class, IDataAnalysisProblemData {
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/IDataAnalysisProblemData.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/IDataAnalysisProblemData.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/IDataAnalysisProblemData.cs	(revision 14929)
@@ -24,6 +24,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.DataAnalysis {
+  [StorableType("b4074182-a594-4639-9b8c-c0ff53776c3e")]
   public interface IDataAnalysisProblemData : INamedItem {
     bool IsEmpty { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/IDataAnalysisSolution.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/IDataAnalysisSolution.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/IDataAnalysisSolution.cs	(revision 14929)
@@ -23,6 +23,8 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.DataAnalysis {
+  [StorableType("a814e00c-fc47-4683-8930-a628651bb461")]
   public interface IDataAnalysisSolution : INamedItem, IStorableContent {
     IDataAnalysisModel Model { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/IDataAnalysisSolutionExporter.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/IDataAnalysisSolutionExporter.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/IDataAnalysisSolutionExporter.cs	(revision 14929)
@@ -23,6 +23,8 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.DataAnalysis {
+  [StorableType("f3226eff-f010-485e-aafb-8dda4e7a461f")]
   public interface IDataAnalysisSolutionExporter {
     string FileTypeFilter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/IDataset.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/IDataset.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/IDataset.cs	(revision 14929)
@@ -25,6 +25,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.DataAnalysis {
+  [StorableType("6bd616f9-0897-4500-b71a-ac574975e7d8")]
   public interface IDataset : IItem, IStringConvertibleMatrix {
     IEnumerable<string> VariableNames { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/IDependencyCalculator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/IDependencyCalculator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/IDependencyCalculator.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using System;
 using System.Collections.Generic;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.DataAnalysis {
+  [StorableType("66d1289e-c0b0-4ec3-9013-28fc93edd00e")]
   public interface IDependencyCalculator {
     double Maximum { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/IOnlineCalculator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/IOnlineCalculator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/IOnlineCalculator.cs	(revision 14929)
@@ -22,6 +22,9 @@
 
 using System;
+using HeuristicLab.Persistence;
+
 namespace HeuristicLab.Problems.DataAnalysis {
   [Flags]
+  [StorableType("a96aa814-fa65-4782-a58d-00c56673bf65")]
   public enum OnlineCalculatorError {
     /// <summary>
@@ -38,4 +41,5 @@
     InsufficientElementsAdded = 2
   }
+  [StorableType("73a189d1-a184-4b09-8857-6ea7371cc74e")]
   public interface IOnlineCalculator {
     OnlineCalculatorError ErrorState { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/ITransformation.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/ITransformation.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/ITransformation.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using System.Collections.Generic;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.DataAnalysis {
+  [StorableType("12a19472-f6d2-4a0f-92d5-044ea71bfce4")]
   public interface ITransformation : IParameterizedItem {
     string ShortName { get; }
@@ -29,4 +31,5 @@
   }
 
+  [StorableType("cc7719d1-3899-4afa-8394-a0c0b2761d32")]
   public interface ITransformation<T> : ITransformation {
     void ConfigureParameters(IEnumerable<T> data);
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/ITransformationMapper.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/ITransformationMapper.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/ITransformationMapper.cs	(revision 14929)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HeuristicLab.Persistence;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -22,4 +23,5 @@
 
 namespace HeuristicLab.Problems.DataAnalysis {
+  [StorableType("f1290659-5822-4083-9875-13ebe5dc2a8b")]
   public interface ITransformationMapper<out T> {
     T GenerateModel(ITransformation transformation);
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Regression/IConfidenceRegressionModel.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Regression/IConfidenceRegressionModel.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Regression/IConfidenceRegressionModel.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using System.Collections.Generic;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.DataAnalysis {
+  [StorableType("4070ddbd-5b2f-4184-9d52-ad997998893d")]
   public interface IConfidenceRegressionModel : IRegressionModel {
     IEnumerable<double> GetEstimatedVariances(IDataset dataset, IEnumerable<int> rows);
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Regression/IConfidenceRegressionSolution.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Regression/IConfidenceRegressionSolution.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Regression/IConfidenceRegressionSolution.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using System.Collections.Generic;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.DataAnalysis {
+  [StorableType("feabac62-00e1-4029-8248-3477371affd4")]
   public interface IConfidenceRegressionSolution : IRegressionSolution {
     new IConfidenceRegressionModel Model { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Regression/IRegressionEnsembleModel.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Regression/IRegressionEnsembleModel.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Regression/IRegressionEnsembleModel.cs	(revision 14929)
@@ -22,5 +22,8 @@
 using System;
 using System.Collections.Generic;
+using HeuristicLab.Persistence;
+
 namespace HeuristicLab.Problems.DataAnalysis {
+  [StorableType("d91ac416-b3cb-403b-868b-bb3735ffc43f")]
   public interface IRegressionEnsembleModel : IRegressionModel {
     void Add(IRegressionModel model);
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Regression/IRegressionEnsembleSolution.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Regression/IRegressionEnsembleSolution.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Regression/IRegressionEnsembleSolution.cs	(revision 14929)
@@ -22,5 +22,8 @@
 using System.Collections.Generic;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
+
 namespace HeuristicLab.Problems.DataAnalysis {
+  [StorableType("e2bff9b5-9252-4fd3-9c9e-17dcfea08fbf")]
   public interface IRegressionEnsembleSolution : IRegressionSolution {
     new IRegressionEnsembleModel Model { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Regression/IRegressionModel.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Regression/IRegressionModel.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Regression/IRegressionModel.cs	(revision 14929)
@@ -22,4 +22,5 @@
 using System;
 using System.Collections.Generic;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.DataAnalysis {
@@ -28,4 +29,5 @@
   /// <remarks>All methods and properties in in this interface must be implemented thread safely</remarks>
   /// </summary>
+  [StorableType("f0b77196-b400-49e3-9ccd-6cb15c876ce6")]
   public interface IRegressionModel : IDataAnalysisModel {
     IEnumerable<double> GetEstimatedValues(IDataset dataset, IEnumerable<int> rows);
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Regression/IRegressionProblem.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Regression/IRegressionProblem.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Regression/IRegressionProblem.cs	(revision 14929)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HeuristicLab.Persistence;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -21,4 +22,5 @@
 
 namespace HeuristicLab.Problems.DataAnalysis {
+  [StorableType("157601f4-5832-407f-9f25-69da6fd5f69d")]
   public interface IRegressionProblem : IDataAnalysisProblem<IRegressionProblemData> {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Regression/IRegressionProblemData.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Regression/IRegressionProblemData.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Regression/IRegressionProblemData.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using System.Collections.Generic;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.DataAnalysis {
+  [StorableType("4397fd67-f9e7-439e-bfb9-568c27fc66a6")]
   public interface IRegressionProblemData : IDataAnalysisProblemData {
     string TargetVariable { get; set; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Regression/IRegressionSolution.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Regression/IRegressionSolution.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Regression/IRegressionSolution.cs	(revision 14929)
@@ -21,5 +21,8 @@
 
 using System.Collections.Generic;
+using HeuristicLab.Persistence;
+
 namespace HeuristicLab.Problems.DataAnalysis {
+  [StorableType("e1786878-1e2c-47dd-a105-45fe86387bb4")]
   public interface IRegressionSolution : IDataAnalysisSolution {
     new IRegressionModel Model { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/TimeSeriesPrognosis/IOnlineTimeSeriesCalculator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/TimeSeriesPrognosis/IOnlineTimeSeriesCalculator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/TimeSeriesPrognosis/IOnlineTimeSeriesCalculator.cs	(revision 14929)
@@ -23,6 +23,8 @@
 using System;
 using System.Collections.Generic;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.DataAnalysis {
+  [StorableType("8df94077-4130-4c6a-ba9a-86b6ef250bbd")]
   public interface IOnlineTimeSeriesCalculator {
     OnlineCalculatorError ErrorState { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/TimeSeriesPrognosis/ITimeSeriesPrognosisModel.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/TimeSeriesPrognosis/ITimeSeriesPrognosisModel.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/TimeSeriesPrognosis/ITimeSeriesPrognosisModel.cs	(revision 14929)
@@ -21,4 +21,6 @@
 
 using System.Collections.Generic;
+using HeuristicLab.Persistence;
+
 namespace HeuristicLab.Problems.DataAnalysis {
   /// <summary>
@@ -26,4 +28,5 @@
   /// <remarks>All methods and properties in in this interface must be implemented thread safely</remarks>
   /// </summary> 
+  [StorableType("727483c4-f223-45af-9002-f618cb08e81b")]
   public interface ITimeSeriesPrognosisModel : IRegressionModel {
     IEnumerable<IEnumerable<double>> GetPrognosedValues(IDataset dataset, IEnumerable<int> rows, IEnumerable<int> horizons);
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/TimeSeriesPrognosis/ITimeSeriesPrognosisProblem.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/TimeSeriesPrognosis/ITimeSeriesPrognosisProblem.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/TimeSeriesPrognosis/ITimeSeriesPrognosisProblem.cs	(revision 14929)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HeuristicLab.Persistence;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -21,4 +22,5 @@
 
 namespace HeuristicLab.Problems.DataAnalysis {
+  [StorableType("877a2b9c-c863-4789-aaaf-1e34b61a8468")]
   public interface ITimeSeriesPrognosisProblem : IDataAnalysisProblem<ITimeSeriesPrognosisProblemData> {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/TimeSeriesPrognosis/ITimeSeriesPrognosisProblemData.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/TimeSeriesPrognosis/ITimeSeriesPrognosisProblemData.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/TimeSeriesPrognosis/ITimeSeriesPrognosisProblemData.cs	(revision 14929)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HeuristicLab.Persistence;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -21,4 +22,5 @@
 
 namespace HeuristicLab.Problems.DataAnalysis {
+  [StorableType("5106a807-c5c3-4f50-8705-6d9360aa0ad7")]
   public interface ITimeSeriesPrognosisProblemData : IRegressionProblemData {
     int TrainingHorizon { get; set; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/TimeSeriesPrognosis/ITimeSeriesPrognosisSolution.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/TimeSeriesPrognosis/ITimeSeriesPrognosisSolution.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/TimeSeriesPrognosis/ITimeSeriesPrognosisSolution.cs	(revision 14929)
@@ -21,5 +21,8 @@
 
 using System.Collections.Generic;
+using HeuristicLab.Persistence;
+
 namespace HeuristicLab.Problems.DataAnalysis {
+  [StorableType("efa8e1d3-f822-4213-89ce-b94860ff1fc3")]
   public interface ITimeSeriesPrognosisSolution : IRegressionSolution {
     new ITimeSeriesPrognosisModel Model { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4/Interfaces/IEvaluationChannel.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4/Interfaces/IEvaluationChannel.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4/Interfaces/IEvaluationChannel.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using Google.ProtocolBuffers;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.ExternalEvaluation {
+  [StorableType("cddf3a9b-22e5-4dd2-9222-f407e5236a74")]
   public interface IEvaluationChannel : INamedItem {
     /// <summary>
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4/Interfaces/IEvaluationServiceClient.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4/Interfaces/IEvaluationServiceClient.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4/Interfaces/IEvaluationServiceClient.cs	(revision 14929)
@@ -23,6 +23,8 @@
 using Google.ProtocolBuffers;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.ExternalEvaluation {
+  [StorableType("9d0a180b-522c-49c8-8609-773529e3d389")]
   public interface IEvaluationServiceClient : IItem {
     /// <summary>
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4/Interfaces/IExternalEvaluationProblem.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4/Interfaces/IExternalEvaluationProblem.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4/Interfaces/IExternalEvaluationProblem.cs	(revision 14929)
@@ -23,6 +23,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.ExternalEvaluation {
+  [StorableType("0a8c647f-7461-428c-b57c-02535489d9a4")]
   public interface IExternalEvaluationProblem : IProblem {
 
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4/Interfaces/IItemToSolutionMessageConverter.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4/Interfaces/IItemToSolutionMessageConverter.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4/Interfaces/IItemToSolutionMessageConverter.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using System;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.ExternalEvaluation {
+  [StorableType("8896cbe9-d81c-474a-8e7e-a7c58fd11538")]
   public interface IItemToSolutionMessageConverter : IItem {
     Type[] ItemTypes { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4/Interfaces/IMultiObjectiveOptimizationSupport.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4/Interfaces/IMultiObjectiveOptimizationSupport.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4/Interfaces/IMultiObjectiveOptimizationSupport.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.ExternalEvaluation {
+  [StorableType("26ccd02e-5678-4d1d-949a-cfb11f99b158")]
   public interface IMultiObjectiveOptimizationSupport {
     void Analyze(Individual[] individuals, double[][] qualities, ResultCollection results, IRandom random);
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4/Interfaces/ISingleObjectiveOptimizationSupport.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4/Interfaces/ISingleObjectiveOptimizationSupport.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4/Interfaces/ISingleObjectiveOptimizationSupport.cs	(revision 14929)
@@ -23,6 +23,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.ExternalEvaluation {
+  [StorableType("57607cbe-c456-43bb-b9c9-a1ae1e4f8cb1")]
   public interface ISingleObjectiveOptimizationSupport {
     void Analyze(Individual[] individuals, double[] qualities, ResultCollection results, IRandom random);
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.GeneticProgramming/3.3/LawnMower/Interpreter.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.GeneticProgramming/3.3/LawnMower/Interpreter.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.GeneticProgramming/3.3/LawnMower/Interpreter.cs	(revision 14929)
@@ -24,7 +24,9 @@
 using System.Linq;
 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.GeneticProgramming.LawnMower {
   public static class Interpreter {
+    [StorableType("40bffe1c-3629-42b9-9840-ed713ff5e95a")]
     private enum Heading {
       South,
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.GrammaticalEvolution/3.4/Mappers/IGenotypeToPhenotypeMapper.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.GrammaticalEvolution/3.4/Mappers/IGenotypeToPhenotypeMapper.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.GrammaticalEvolution/3.4/Mappers/IGenotypeToPhenotypeMapper.cs	(revision 14929)
@@ -26,4 +26,5 @@
 using HeuristicLab.Encodings.IntegerVectorEncoding;
 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.GrammaticalEvolution.Mappers {
@@ -31,4 +32,5 @@
   /// IGenotypeToPhenotypeMapper
   /// </summary>
+  [StorableType("1154f431-b172-476a-8935-c21fe1b404ad")]
   public interface IGenotypeToPhenotypeMapper : IIntegerVectorOperator {
     ISymbolicExpressionTree Map(IRandom random, IntMatrix bounds, int length,
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.GrammaticalEvolution/3.4/SymbolicRegression/IGESymbolicDataAnalysisEvaluator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.GrammaticalEvolution/3.4/SymbolicRegression/IGESymbolicDataAnalysisEvaluator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.GrammaticalEvolution/3.4/SymbolicRegression/IGESymbolicDataAnalysisEvaluator.cs	(revision 14929)
@@ -31,7 +31,9 @@
 using HeuristicLab.Problems.DataAnalysis.Symbolic;
 using HeuristicLab.Problems.GrammaticalEvolution.Mappers;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.GrammaticalEvolution {
 
+  [StorableType("60d237f2-e283-43ba-9906-0a7832b93628")]
   public interface IGESymbolicDataAnalysisEvaluator<T> : IEvaluator
     where T : class, IDataAnalysisProblemData {
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.GrammaticalEvolution/3.4/SymbolicRegression/IGESymbolicDataAnalysisProblem.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.GrammaticalEvolution/3.4/SymbolicRegression/IGESymbolicDataAnalysisProblem.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.GrammaticalEvolution/3.4/SymbolicRegression/IGESymbolicDataAnalysisProblem.cs	(revision 14929)
@@ -28,6 +28,8 @@
 using HeuristicLab.Problems.DataAnalysis;
 using HeuristicLab.Problems.DataAnalysis.Symbolic;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.GrammaticalEvolution {
+  [StorableType("ec39245d-648f-448f-b68d-104fa6e8d04f")]
   public interface IGESymbolicDataAnalysisProblem : IDataAnalysisProblem, IHeuristicOptimizationProblem {
 
@@ -47,4 +49,5 @@
   }
 
+  [StorableType("7c9a5407-6a34-488d-9e66-159d773a4e04")]
   public interface IGESymbolicDataAnalysisSingleObjectiveProblem : IGESymbolicDataAnalysisProblem, ISingleObjectiveHeuristicOptimizationProblem { }
 }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.GrammaticalEvolution/3.4/SymbolicRegression/IGESymbolicDataAnalysisSingleObjectiveEvaluator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.GrammaticalEvolution/3.4/SymbolicRegression/IGESymbolicDataAnalysisSingleObjectiveEvaluator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.GrammaticalEvolution/3.4/SymbolicRegression/IGESymbolicDataAnalysisSingleObjectiveEvaluator.cs	(revision 14929)
@@ -25,6 +25,8 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Problems.DataAnalysis;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.GrammaticalEvolution {
+  [StorableType("78e2223a-4d2f-4825-83aa-edad18ba2505")]
   public interface IGESymbolicDataAnalysisSingleObjectiveEvaluator<T> : IGESymbolicDataAnalysisEvaluator<T>, ISingleObjectiveEvaluator
     where T : class, IDataAnalysisProblemData {
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.GrammaticalEvolution/3.4/SymbolicRegression/IGESymbolicDataAnalysisValidationAnalyzer.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.GrammaticalEvolution/3.4/SymbolicRegression/IGESymbolicDataAnalysisValidationAnalyzer.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.GrammaticalEvolution/3.4/SymbolicRegression/IGESymbolicDataAnalysisValidationAnalyzer.cs	(revision 14929)
@@ -26,6 +26,8 @@
 using HeuristicLab.Problems.DataAnalysis;
 using HeuristicLab.Problems.DataAnalysis.Symbolic;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.GrammaticalEvolution {
+  [StorableType("5f97d99a-7c34-4b89-a0d9-5a5b514f348c")]
   public interface IGESymbolicDataAnalysisValidationAnalyzer<T, U> : ISymbolicDataAnalysisAnalyzer, ISymbolicDataAnalysisInterpreterOperator
     where T : class, IGESymbolicDataAnalysisEvaluator<U>
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.GrammaticalEvolution/3.4/SymbolicRegression/IGESymbolicRegressionEvaluator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.GrammaticalEvolution/3.4/SymbolicRegression/IGESymbolicRegressionEvaluator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.GrammaticalEvolution/3.4/SymbolicRegression/IGESymbolicRegressionEvaluator.cs	(revision 14929)
@@ -24,6 +24,8 @@
 
 using HeuristicLab.Problems.DataAnalysis;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.GrammaticalEvolution {
+  [StorableType("f3e993cf-680c-4382-a95c-3e19c4af3ffe")]
   public interface IGESymbolicRegressionEvaluator : IGESymbolicDataAnalysisEvaluator<IRegressionProblemData> {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.GrammaticalEvolution/3.4/SymbolicRegression/IGESymbolicRegressionSingleObjectiveEvaluator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.GrammaticalEvolution/3.4/SymbolicRegression/IGESymbolicRegressionSingleObjectiveEvaluator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.GrammaticalEvolution/3.4/SymbolicRegression/IGESymbolicRegressionSingleObjectiveEvaluator.cs	(revision 14929)
@@ -26,6 +26,8 @@
 using HeuristicLab.Problems.DataAnalysis;
 using HeuristicLab.Problems.DataAnalysis.Symbolic.Regression;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.GrammaticalEvolution {
+  [StorableType("be7b82d2-63bd-4e39-96b2-89d308c1fc90")]
   public interface IGESymbolicRegressionSingleObjectiveEvaluator : IGESymbolicRegressionEvaluator,
                                                                    IGESymbolicDataAnalysisSingleObjectiveEvaluator<IRegressionProblemData> {
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.Knapsack/3.3/Interfaces/IKnapsackEvaluator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.Knapsack/3.3/Interfaces/IKnapsackEvaluator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.Knapsack/3.3/Interfaces/IKnapsackEvaluator.cs	(revision 14929)
@@ -21,4 +21,5 @@
 
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.Knapsack {
@@ -26,4 +27,5 @@
   /// An interface which represents an evaluation operator for Knapsack Problems.
   /// </summary>
+  [StorableType("bf8257ff-efbd-458e-91ae-a725fd3cbc2c")]
   public interface IKnapsackEvaluator : ISingleObjectiveEvaluator { }
 }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.Knapsack/3.3/Interfaces/IKnapsackMoveEvaluator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.Knapsack/3.3/Interfaces/IKnapsackMoveEvaluator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.Knapsack/3.3/Interfaces/IKnapsackMoveEvaluator.cs	(revision 14929)
@@ -23,6 +23,8 @@
 using HeuristicLab.Data;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.Knapsack {
+  [StorableType("6a7e7842-8fa5-483b-bd20-ada10097d458")]
   public interface IKnapsackMoveEvaluator : ISingleObjectiveMoveEvaluator, IMoveOperator {
     ILookupParameter<IntValue> KnapsackCapacityParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.Knapsack/3.3/SimilarityCalculators/KnapsackSimilarityCalculator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.Knapsack/3.3/SimilarityCalculators/KnapsackSimilarityCalculator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.Knapsack/3.3/SimilarityCalculators/KnapsackSimilarityCalculator.cs	(revision 14929)
@@ -26,4 +26,5 @@
 using HeuristicLab.Optimization.Operators;
 using HeuristicLab.PluginInfrastructure;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.Knapsack {
@@ -37,4 +38,5 @@
   [NonDiscoverableType]
   [Obsolete("Please use the HammingSimilarityCalculator in the HeuristicLab.Encodings.BinaryVector plugin.")]
+  [StorableType("919e07b1-42fd-4370-b2bc-01940c8b47b2")]
   internal sealed class KnapsackSimilarityCalculator : SingleObjectiveSolutionSimilarityCalculator {
     protected override bool IsCommutative { get { return true; } }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.LinearAssignment/3.3/Interfaces/ILAPEvaluator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.LinearAssignment/3.3/Interfaces/ILAPEvaluator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.LinearAssignment/3.3/Interfaces/ILAPEvaluator.cs	(revision 14929)
@@ -24,6 +24,8 @@
 using HeuristicLab.Encodings.PermutationEncoding;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.LinearAssignment {
+  [StorableType("fffbe548-217f-4ef1-87fb-cb7f67f8b040")]
   public interface ILAPEvaluator : ISingleObjectiveEvaluator {
     ILookupParameter<DoubleMatrix> CostsParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.NK/3.3/BinaryVectorComparers/IBinaryVectorComparer.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.NK/3.3/BinaryVectorComparers/IBinaryVectorComparer.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.NK/3.3/BinaryVectorComparers/IBinaryVectorComparer.cs	(revision 14929)
@@ -23,6 +23,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Encodings.BinaryVectorEncoding;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.NK {
+  [StorableType("ab611926-f7eb-4008-b3cf-663c1cf497cc")]
   public interface IBinaryVectorComparer : IItem, IComparer<BinaryVector> { }
 }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.NK/3.3/INKMoveEvaluator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.NK/3.3/INKMoveEvaluator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.NK/3.3/INKMoveEvaluator.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.NK {
+  [StorableType("ef845208-aa6a-47d1-90cc-63a5e5d9e6e9")]
   public interface INKMoveEvaluator : ISingleObjectiveMoveEvaluator, IMoveOperator { }
 }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.NK/3.3/InteractionInitializers/IInteractionInitializer.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.NK/3.3/InteractionInitializers/IInteractionInitializer.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.NK/3.3/InteractionInitializers/IInteractionInitializer.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.NK {
+  [StorableType("8b6f28db-6a4d-4d7d-9d00-52c433c0e39d")]
   public interface IInteractionInitializer : IParameterizedItem {
     BoolMatrix InitializeInterations(int length, int nComponents, int nInteractions, IRandom random);
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.NK/3.3/WeightInitializers/IWeightsInitializer.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.NK/3.3/WeightInitializers/IWeightsInitializer.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.NK/3.3/WeightInitializers/IWeightsInitializer.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using System.Collections.Generic;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.NK {
+  [StorableType("166178c3-73ad-4b5c-baf5-98768e72c2fe")]
   public interface IWeightsInitializer : IParameterizedItem {
     IEnumerable<double> GetWeights(int nComponents);
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.Orienteering/3.3/Interfaces/IOrienteeringEvaluator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.Orienteering/3.3/Interfaces/IOrienteeringEvaluator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.Orienteering/3.3/Interfaces/IOrienteeringEvaluator.cs	(revision 14929)
@@ -24,6 +24,8 @@
 using HeuristicLab.Encodings.IntegerVectorEncoding;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.Orienteering {
+  [StorableType("3c81aa2c-4c98-46d6-9668-6a6a0c93566a")]
   public interface IOrienteeringEvaluator : ISingleObjectiveEvaluator {
     ILookupParameter<IntegerVector> IntegerVectorParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.Orienteering/3.3/Interfaces/IOrienteeringSolutionCreator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.Orienteering/3.3/Interfaces/IOrienteeringSolutionCreator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.Orienteering/3.3/Interfaces/IOrienteeringSolutionCreator.cs	(revision 14929)
@@ -23,6 +23,8 @@
 using HeuristicLab.Data;
 using HeuristicLab.Encodings.IntegerVectorEncoding;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.Orienteering {
+  [StorableType("578aeb3e-0d01-4c30-9fef-b6999dc965e2")]
   public interface IOrienteeringSolutionCreator : IIntegerVectorCreator {
     ILookupParameter<DistanceMatrix> DistanceMatrixParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Interfaces/IAnalyticalPTSPMoveEvaluator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Interfaces/IAnalyticalPTSPMoveEvaluator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Interfaces/IAnalyticalPTSPMoveEvaluator.cs	(revision 14929)
@@ -24,6 +24,8 @@
 using HeuristicLab.Encodings.PermutationEncoding;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.PTSP {
+  [StorableType("f9ff6a1f-ed47-4f30-8f95-e367b49de925")]
   public interface IAnalyticalPTSPMoveEvaluator : IAnalyticalPTSPOperator, ISingleObjectiveMoveEvaluator, IPermutationMoveOperator {
     ILookupParameter<DoubleMatrix> CoordinatesParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Interfaces/IAnalyticalPTSPOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Interfaces/IAnalyticalPTSPOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Interfaces/IAnalyticalPTSPOperator.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.PTSP {
+  [StorableType("3c9313f9-14fd-403d-9d27-467596a9c68f")]
   public interface IAnalyticalPTSPOperator : IItem {
     ILookupParameter<DoubleArray> ProbabilitiesParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Interfaces/IEstimatedPTSPMoveEvaluator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Interfaces/IEstimatedPTSPMoveEvaluator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Interfaces/IEstimatedPTSPMoveEvaluator.cs	(revision 14929)
@@ -24,6 +24,8 @@
 using HeuristicLab.Encodings.PermutationEncoding;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.PTSP {
+  [StorableType("929f3b81-3cf9-4256-8ddb-8b27147b5dc5")]
   public interface IEstimatedPTSPMoveEvaluator : IEstimatedPTSPOperator, ISingleObjectiveMoveEvaluator, IPermutationMoveOperator {
     ILookupParameter<DoubleMatrix> CoordinatesParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Interfaces/IEstimatedPTSPOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Interfaces/IEstimatedPTSPOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Interfaces/IEstimatedPTSPOperator.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.PTSP {
+  [StorableType("7d9e9cb6-2e27-41cc-a4f6-d8f0d8e4ecaf")]
   public interface IEstimatedPTSPOperator : IItem {
     ILookupParameter<ItemList<BoolArray>> RealizationsParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Interfaces/ITwoPointFiveMoveOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Interfaces/ITwoPointFiveMoveOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Interfaces/ITwoPointFiveMoveOperator.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.PTSP {
+  [StorableType("16912776-fa24-4691-b8c9-5fa810bc37b9")]
   public interface ITwoPointFiveMoveOperator : IMoveOperator {
     ILookupParameter<TwoPointFiveMove> TwoPointFiveMoveParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.ParameterOptimization/3.3/IParameterVectorEvaluator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.ParameterOptimization/3.3/IParameterVectorEvaluator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.ParameterOptimization/3.3/IParameterVectorEvaluator.cs	(revision 14929)
@@ -24,6 +24,8 @@
 using HeuristicLab.Encodings.RealVectorEncoding;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.ParameterOptimization {
+  [StorableType("77cd112d-1b0d-4609-be9c-2bfe2ca81744")]
   public interface IParameterVectorEvaluator : ISingleObjectiveEvaluator {
     ILookupParameter<IntValue> ProblemSizeParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.QuadraticAssignment/3.3/Interfaces/IQAPEvaluator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.QuadraticAssignment/3.3/Interfaces/IQAPEvaluator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.QuadraticAssignment/3.3/Interfaces/IQAPEvaluator.cs	(revision 14929)
@@ -24,6 +24,8 @@
 using HeuristicLab.Encodings.PermutationEncoding;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.QuadraticAssignment {
+  [StorableType("f029ef3d-1a2c-4ad5-8080-27a057f594b2")]
   public interface IQAPEvaluator : ISingleObjectiveEvaluator {
     ILookupParameter<Permutation> PermutationParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.QuadraticAssignment/3.3/Interfaces/IQAPMoveEvaluator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.QuadraticAssignment/3.3/Interfaces/IQAPMoveEvaluator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.QuadraticAssignment/3.3/Interfaces/IQAPMoveEvaluator.cs	(revision 14929)
@@ -24,6 +24,8 @@
 using HeuristicLab.Encodings.PermutationEncoding;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.QuadraticAssignment {
+  [StorableType("b88a8b14-b980-4970-be0e-f393c921ddf4")]
   public interface IQAPMoveEvaluator : ISingleObjectiveMoveEvaluator, IMoveOperator {
     ILookupParameter<Permutation> PermutationParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.QuadraticAssignment/3.3/QAPSimilarityCalculator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.QuadraticAssignment/3.3/QAPSimilarityCalculator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.QuadraticAssignment/3.3/QAPSimilarityCalculator.cs	(revision 14929)
@@ -25,4 +25,5 @@
 using HeuristicLab.Encodings.PermutationEncoding;
 using HeuristicLab.Optimization.Operators;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.QuadraticAssignment {
@@ -34,4 +35,5 @@
   /// </remarks>
   [Item("QAPSimilarityCalculator", "An operator that performs similarity calculation between two quadratic assignment solutions. The operator calculates the similarity based on the number of edges the two solutions have in common.")]
+  [StorableType("16ad1a1f-cbb3-4f12-9d4b-4bfdadee5a8d")]
   public sealed class QAPSimilarityCalculator : SingleObjectiveSolutionSimilarityCalculator {
     protected override bool IsCommutative { get { return true; } }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.Scheduling/3.3/Decoders/JSMDecodingErrorPolicyTypes.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.Scheduling/3.3/Decoders/JSMDecodingErrorPolicyTypes.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.Scheduling/3.3/Decoders/JSMDecodingErrorPolicyTypes.cs	(revision 14929)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HeuristicLab.Persistence;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -21,4 +22,5 @@
 
 namespace HeuristicLab.Problems.Scheduling {
+  [StorableType("a18843cb-9cc8-4d30-8a1e-532d73df1623")]
   public enum JSMDecodingErrorPolicyTypes {
     RandomPolicy,
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.Scheduling/3.3/Decoders/JSMForcingStrategyTypes.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.Scheduling/3.3/Decoders/JSMForcingStrategyTypes.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.Scheduling/3.3/Decoders/JSMForcingStrategyTypes.cs	(revision 14929)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HeuristicLab.Persistence;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -21,4 +22,5 @@
 
 namespace HeuristicLab.Problems.Scheduling {
+  [StorableType("71afcfb4-ecef-4fdb-a2d6-1ecc218bd159")]
   public enum JSMForcingStrategyTypes {
     ShiftForcing,
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.Scheduling/3.3/Interfaces/IJSSPOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.Scheduling/3.3/Interfaces/IJSSPOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.Scheduling/3.3/Interfaces/IJSSPOperator.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Encodings.ScheduleEncoding;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.Scheduling {
+  [StorableType("0b4b6b21-efd2-472b-8ae5-4ca96323f221")]
   public interface IJSSPOperator : IOperator {
     ILookupParameter<ItemList<Job>> JobDataParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.Scheduling/3.3/Interfaces/IScheduleDecoder.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.Scheduling/3.3/Interfaces/IScheduleDecoder.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.Scheduling/3.3/Interfaces/IScheduleDecoder.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.ScheduleEncoding {
+  [StorableType("f7bcff2a-a6ce-491e-9b15-48099c8de571")]
   public interface IScheduleDecoder : IOperator {
     ILookupParameter<IScheduleEncoding> ScheduleEncodingParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.Scheduling/3.3/Interfaces/IScheduleEvaluator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.Scheduling/3.3/Interfaces/IScheduleEvaluator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.Scheduling/3.3/Interfaces/IScheduleEvaluator.cs	(revision 14929)
@@ -23,4 +23,5 @@
 using HeuristicLab.Encodings.ScheduleEncoding;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.Scheduling {
@@ -28,4 +29,5 @@
   /// An evaluator for a Schedule
   /// </summary>
+  [StorableType("c9a736ac-4b08-4a9c-a59f-1f0a85a422b2")]
   public interface IScheduleEvaluator : ISingleObjectiveEvaluator {
     ILookupParameter<Schedule> ScheduleParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.Scheduling/3.3/Interfaces/ISchedulingEvaluator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.Scheduling/3.3/Interfaces/ISchedulingEvaluator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.Scheduling/3.3/Interfaces/ISchedulingEvaluator.cs	(revision 14929)
@@ -23,4 +23,5 @@
 using HeuristicLab.Encodings.ScheduleEncoding;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.Scheduling {
@@ -28,4 +29,5 @@
   /// An evaluator for a scheduling problem representation
   /// </summary>
+  [StorableType("b4adc566-afb2-44d6-a8c7-62081bee01c3")]
   public interface ISchedulingEvaluator : ISingleObjectiveEvaluator {
     ILookupParameter<IScheduleDecoder> ScheduleDecoderParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.Scheduling/3.3/JobShopSchedulingProblem.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.Scheduling/3.3/JobShopSchedulingProblem.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.Scheduling/3.3/JobShopSchedulingProblem.cs	(revision 14929)
@@ -277,5 +277,5 @@
         ScheduleDecoder = new PWRDecoder();
       } else if (SolutionCreator.GetType() == typeof(DirectScheduleRandomCreator)) {
-        Operators.AddRange(ApplicationManager.Manager.GetInstances<IDirectScheduleOperator>());
+        Operators.AddRange(ApplicationManager.Manager.GetInstances<IDirectScheduleoperator>());
         ScheduleDecoder = null;
       }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/Interfaces/IConstrainedTestFunction.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/Interfaces/IConstrainedTestFunction.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/Interfaces/IConstrainedTestFunction.cs	(revision 14929)
@@ -22,4 +22,5 @@
 using HeuristicLab.Core;
 using HeuristicLab.Encodings.RealVectorEncoding;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.TestFunctions.MultiObjective {
@@ -27,4 +28,5 @@
   /// An interface which represents an evaluation operator for multi objective test functions.
   /// </summary>
+  [StorableType("d09697f7-d1c7-4254-837b-973d92904204")]
   public interface IConstrainedTestFunction : INamedItem {
 
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/Interfaces/IMultiObjectiveTestFunction.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/Interfaces/IMultiObjectiveTestFunction.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/Interfaces/IMultiObjectiveTestFunction.cs	(revision 14929)
@@ -23,4 +23,5 @@
 using HeuristicLab.Core;
 using HeuristicLab.Encodings.RealVectorEncoding;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.TestFunctions.MultiObjective {
@@ -28,4 +29,5 @@
   /// An interface which represents an multi objective test functions.
   /// </summary>
+  [StorableType("23b5e67d-d867-47f7-a64a-e0a2c40a4929")]
   public interface IMultiObjectiveTestFunction : INamedItem {
     bool[] Maximization(int objectives);
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/Interfaces/IMultiObjectiveTestFunctionAnalyzer.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/Interfaces/IMultiObjectiveTestFunctionAnalyzer.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/Interfaces/IMultiObjectiveTestFunctionAnalyzer.cs	(revision 14929)
@@ -22,7 +22,9 @@
 using HeuristicLab.Data;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.TestFunctions.MultiObjective {
 
+  [StorableType("04dd8c80-95d7-4813-8565-bb6bc86bd901")]
   public interface IMultiObjectiveTestFunctionAnalyzer : IAnalyzer, IMultiObjectiveOperator {
     IScopeTreeLookupParameter<DoubleArray> QualitiesParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/NonDominatedSelect.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/NonDominatedSelect.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/NonDominatedSelect.cs	(revision 14929)
@@ -21,8 +21,10 @@
 
 using System.Collections.Generic;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.TestFunctions.MultiObjective {
 
   public static class NonDominatedSelect {
+    [StorableType("4bde4249-f0af-4bd4-a33c-2b05c1abb389")]
     public enum DominationResult { Dominates, IsDominated, IsNonDominated };
 
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.TestFunctions/3.3/Interfaces/IBestSingleObjectiveTestFunctionSolutionAnalyzer.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.TestFunctions/3.3/Interfaces/IBestSingleObjectiveTestFunctionSolutionAnalyzer.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.TestFunctions/3.3/Interfaces/IBestSingleObjectiveTestFunctionSolutionAnalyzer.cs	(revision 14929)
@@ -22,4 +22,5 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.TestFunctions {
@@ -27,4 +28,5 @@
   /// An interface which represents operators for analyzing the best solution of single objective TestFunction Problems given in real vector representation.
   /// </summary>
+  [StorableType("0c2f7368-4196-4f1e-be39-08498595f665")]
   public interface IBestSingleObjectiveTestFunctionSolutionAnalyzer : IAnalyzer, ISingleObjectiveOperator {
     ILookupParameter RealVectorParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.TestFunctions/3.3/Interfaces/IRastriginMoveEvaluator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.TestFunctions/3.3/Interfaces/IRastriginMoveEvaluator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.TestFunctions/3.3/Interfaces/IRastriginMoveEvaluator.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Data;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.TestFunctions {
+  [StorableType("69063889-6ce6-4bcc-b5f5-fe5f42cc3692")]
   public interface IRastriginMoveEvaluator : ISingleObjectiveTestFunctionAdditiveMoveEvaluator {
     DoubleValue A { get; set; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.TestFunctions/3.3/Interfaces/ISingleObjectiveTestFunctionAdditiveMoveEvaluator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.TestFunctions/3.3/Interfaces/ISingleObjectiveTestFunctionAdditiveMoveEvaluator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.TestFunctions/3.3/Interfaces/ISingleObjectiveTestFunctionAdditiveMoveEvaluator.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Encodings.RealVectorEncoding;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.TestFunctions {
+  [StorableType("22d7027d-118f-4fd1-bfbf-14d98de3c34b")]
   public interface ISingleObjectiveTestFunctionAdditiveMoveEvaluator : ISingleObjectiveTestFunctionMoveEvaluator, IAdditiveRealVectorMoveOperator {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.TestFunctions/3.3/Interfaces/ISingleObjectiveTestFunctionMoveEvaluator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.TestFunctions/3.3/Interfaces/ISingleObjectiveTestFunctionMoveEvaluator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.TestFunctions/3.3/Interfaces/ISingleObjectiveTestFunctionMoveEvaluator.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using System;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.TestFunctions {
+  [StorableType("488fc52e-8c2b-4cc7-9431-e229f001162b")]
   public interface ISingleObjectiveTestFunctionMoveEvaluator : ISingleObjectiveMoveEvaluator, IMoveOperator {
     Type EvaluatorType { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.TestFunctions/3.3/Interfaces/ISingleObjectiveTestFunctionProblemEvaluator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.TestFunctions/3.3/Interfaces/ISingleObjectiveTestFunctionProblemEvaluator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.TestFunctions/3.3/Interfaces/ISingleObjectiveTestFunctionProblemEvaluator.cs	(revision 14929)
@@ -24,4 +24,5 @@
 using HeuristicLab.Encodings.RealVectorEncoding;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.TestFunctions {
@@ -29,4 +30,5 @@
   /// An interface which represents an evaluation operator for single objective test functions.
   /// </summary>
+  [StorableType("143214d5-8cf7-44a2-b73a-8aab763ca5c6")]
   public interface ISingleObjectiveTestFunctionProblemEvaluator : ISingleObjectiveEvaluator {
     bool Maximization { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.TestFunctions/3.3/Interfaces/ISingleObjectiveTestFunctionProblemSolutionsVisualizer.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.TestFunctions/3.3/Interfaces/ISingleObjectiveTestFunctionProblemSolutionsVisualizer.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.TestFunctions/3.3/Interfaces/ISingleObjectiveTestFunctionProblemSolutionsVisualizer.cs	(revision 14929)
@@ -23,4 +23,5 @@
 using HeuristicLab.Encodings.RealVectorEncoding;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.TestFunctions {
@@ -28,4 +29,5 @@
   /// An interface which represents an operator for visualizing solutions of single objective test functions.
   /// </summary>
+  [StorableType("b710723c-c799-4a7a-8e7c-221e100cbad1")]
   public interface ISingleObjectiveTestFunctionProblemSolutionsVisualizer : IAnalyzer {
     ILookupParameter<RealVector> PointParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.TestFunctions/3.3/Interfaces/ISphereMoveEvaluator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.TestFunctions/3.3/Interfaces/ISphereMoveEvaluator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.TestFunctions/3.3/Interfaces/ISphereMoveEvaluator.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Data;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.TestFunctions {
+  [StorableType("9c5e17fd-f3fc-4478-b5a2-176b099c3374")]
   public interface ISphereMoveEvaluator : ISingleObjectiveTestFunctionAdditiveMoveEvaluator {
     DoubleValue C { get; set; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.TravelingSalesman/3.3/Interfaces/ITSPCoordinatesPathEvaluator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.TravelingSalesman/3.3/Interfaces/ITSPCoordinatesPathEvaluator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.TravelingSalesman/3.3/Interfaces/ITSPCoordinatesPathEvaluator.cs	(revision 14929)
@@ -22,4 +22,5 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.TravelingSalesman {
@@ -27,4 +28,5 @@
   /// An interface which represents an evaluation operator which evaluates TSP solutions given in path representation using city coordinates.
   /// </summary>
+  [StorableType("bbeccc08-0afd-4664-9676-7055b7d05b7b")]
   public interface ITSPCoordinatesPathEvaluator : ITSPPathEvaluator {
     ILookupParameter<DoubleMatrix> CoordinatesParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.TravelingSalesman/3.3/Interfaces/ITSPDistanceMatrixEvaluator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.TravelingSalesman/3.3/Interfaces/ITSPDistanceMatrixEvaluator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.TravelingSalesman/3.3/Interfaces/ITSPDistanceMatrixEvaluator.cs	(revision 14929)
@@ -21,4 +21,5 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.TravelingSalesman {
@@ -26,4 +27,5 @@
   /// An interface which represents an evaluation operator which evaluates TSP solutions given in path representation using a distance matrix.
   /// </summary>
+  [StorableType("78a3ce61-8e51-4c50-9272-83319f5cebff")]
   public interface ITSPDistanceMatrixEvaluator : ITSPPathEvaluator {
     ILookupParameter<DistanceMatrix> DistanceMatrixParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.TravelingSalesman/3.3/Interfaces/ITSPEvaluator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.TravelingSalesman/3.3/Interfaces/ITSPEvaluator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.TravelingSalesman/3.3/Interfaces/ITSPEvaluator.cs	(revision 14929)
@@ -21,4 +21,5 @@
 
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.TravelingSalesman {
@@ -26,4 +27,5 @@
   /// An interface which represents an evaluation operator for Traveling Salesman Problems.
   /// </summary>
+  [StorableType("0e8044c7-2a6d-4402-9499-691de09a74cc")]
   public interface ITSPEvaluator : ISingleObjectiveEvaluator { }
 }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.TravelingSalesman/3.3/Interfaces/ITSPMoveEvaluator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.TravelingSalesman/3.3/Interfaces/ITSPMoveEvaluator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.TravelingSalesman/3.3/Interfaces/ITSPMoveEvaluator.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using System;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.TravelingSalesman {
+  [StorableType("d7c6355b-baab-4b42-a6b2-a8eb173c2b9a")]
   public interface ITSPMoveEvaluator : ISingleObjectiveMoveEvaluator, IMoveOperator {
     Type EvaluatorType { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.TravelingSalesman/3.3/Interfaces/ITSPPathEvaluator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.TravelingSalesman/3.3/Interfaces/ITSPPathEvaluator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.TravelingSalesman/3.3/Interfaces/ITSPPathEvaluator.cs	(revision 14929)
@@ -22,4 +22,5 @@
 using HeuristicLab.Core;
 using HeuristicLab.Encodings.PermutationEncoding;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.TravelingSalesman {
@@ -27,4 +28,5 @@
   /// An interface which represents an evaluation operator which evaluates TSP solutions given in path representation.
   /// </summary>
+  [StorableType("59b83748-bea3-46d2-a34b-e3a049ce4e21")]
   public interface ITSPPathEvaluator : ITSPEvaluator {
     ILookupParameter<Permutation> PermutationParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.TravelingSalesman/3.3/Interfaces/ITSPPathMoveEvaluator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.TravelingSalesman/3.3/Interfaces/ITSPPathMoveEvaluator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.TravelingSalesman/3.3/Interfaces/ITSPPathMoveEvaluator.cs	(revision 14929)
@@ -23,6 +23,8 @@
 using HeuristicLab.Data;
 using HeuristicLab.Encodings.PermutationEncoding;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.TravelingSalesman {
+  [StorableType("08aaa13b-3ccc-4503-8729-3d5d6418f31d")]
   public interface ITSPPathMoveEvaluator : ITSPMoveEvaluator, IPermutationMoveOperator {
     ILookupParameter<DoubleMatrix> CoordinatesParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.TravelingSalesman/3.3/SimilarityCalculators/TSPSimilarityCalculator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.TravelingSalesman/3.3/SimilarityCalculators/TSPSimilarityCalculator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.TravelingSalesman/3.3/SimilarityCalculators/TSPSimilarityCalculator.cs	(revision 14929)
@@ -25,4 +25,5 @@
 using HeuristicLab.Encodings.PermutationEncoding;
 using HeuristicLab.Optimization.Operators;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.TravelingSalesman {
@@ -34,4 +35,5 @@
   /// </remarks>
   [Item("TSPSimilarityCalculator", "An operator that performs similarity calculation between two traveling salesman solutions. The operator calculates the similarity based on the number of edges the two solutions have in common.")]
+  [StorableType("f398ae9e-bc66-4e8d-b697-436f53d69622")]
   public sealed class TSPSimilarityCalculator : SingleObjectiveSolutionSimilarityCalculator {
     protected override bool IsCommutative { get { return true; } }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/IAlbaOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/IAlbaOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/IAlbaOperator.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Problems.VehicleRouting.Variants;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
+  [StorableType("8ff9a82c-2e36-4130-b3d7-993c7044472a")]
   public interface IAlbaOperator :
     ISingleDepotOperator, IHeterogenousCapacitatedOperator, IMultiDepotOperator, ITimeWindowedOperator {
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/IntraRouteInversion/IAlbaIntraRouteInversionMoveOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/IntraRouteInversion/IAlbaIntraRouteInversionMoveOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/IntraRouteInversion/IAlbaIntraRouteInversionMoveOperator.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
+  [StorableType("5b41791a-6886-43be-a737-7117f35c80ae")]
   public interface IAlbaIntraRouteInversionMoveOperator : IVRPMoveOperator {
     ILookupParameter<AlbaIntraRouteInversionMove> IntraRouteInversionMoveParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/LambdaInterchange/IAlbaLambdaInterchangeMoveOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/LambdaInterchange/IAlbaLambdaInterchangeMoveOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/LambdaInterchange/IAlbaLambdaInterchangeMoveOperator.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
+  [StorableType("a4852d64-4ccb-48d1-b7b4-fc7e5a84dc28")]
   public interface IAlbaLambdaInterchangeMoveOperator : IVRPMoveOperator {
     ILookupParameter<AlbaLambdaInterchangeMove> LambdaInterchangeMoveParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/ThreeOpt/IAlbaTranslocationMoveOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/ThreeOpt/IAlbaTranslocationMoveOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/ThreeOpt/IAlbaTranslocationMoveOperator.cs	(revision 14929)
@@ -23,6 +23,8 @@
 using HeuristicLab.Encodings.PermutationEncoding;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
+  [StorableType("3861fe84-2329-40f7-b1d7-78b32c889b95")]
   public interface IAlbaTranslocationMoveOperator : IVRPMoveOperator {
     ILookupParameter<TranslocationMove> TranslocationMoveParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/GVR/IGVROperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/GVR/IGVROperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/GVR/IGVROperator.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Problems.VehicleRouting.Variants;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.GVR {
+  [StorableType("b41adf2b-56e2-448f-b7f5-c1ee0f6c53c7")]
   public interface IGVROperator :
     ISingleDepotOperator, IHomogenousCapacitatedOperator, ITimeWindowedOperator {
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Moves/Interfaces/IMultiVRPMoveGenerator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Moves/Interfaces/IMultiVRPMoveGenerator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Moves/Interfaces/IMultiVRPMoveGenerator.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.General {
+  [StorableType("0e5e31f3-3d06-4e2c-8398-6556fc5cc8c8")]
   public interface IMultiVRPMoveGenerator : IMultiVRPMoveOperator, ISingleMoveGenerator {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Moves/Interfaces/IMultiVRPMoveOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Moves/Interfaces/IMultiVRPMoveOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Moves/Interfaces/IMultiVRPMoveOperator.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.General {
+  [StorableType("f29ba213-ceba-4422-91f7-9d25955212fd")]
   public interface IMultiVRPMoveOperator : IVRPMoveOperator {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Moves/Interfaces/IVRPMove.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Moves/Interfaces/IVRPMove.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Moves/Interfaces/IVRPMove.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.General {
+  [StorableType("072d5d4d-7b9e-4291-9506-8309370a8032")]
   public interface IVRPMove : IItem {
     VRPMoveEvaluator GetMoveEvaluator();
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/IPotvinOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/IPotvinOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/IPotvinOperator.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Problems.VehicleRouting.Variants;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
+  [StorableType("1821ee36-0356-42f7-9487-61805f7ca2c7")]
   public interface IPotvinOperator :
     ISingleDepotOperator, IHomogenousCapacitatedOperator, ITimeWindowedOperator,
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/CustomerRelocation/IPotvinCustomerRelocationMoveOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/CustomerRelocation/IPotvinCustomerRelocationMoveOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/CustomerRelocation/IPotvinCustomerRelocationMoveOperator.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
+  [StorableType("6f27dca2-b184-45ed-8862-63e69ec8bcab")]
   public interface IPotvinCustomerRelocationMoveOperator : IVRPMoveOperator {
     ILookupParameter<PotvinCustomerRelocationMove> CustomerRelocationMoveParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDExchange/IPotvinPDExchangeMoveOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDExchange/IPotvinPDExchangeMoveOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDExchange/IPotvinPDExchangeMoveOperator.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
+  [StorableType("63fe6643-ecbf-47fe-a942-2be64363b21f")]
   public interface IPotvinPDExchangeMoveOperator : IVRPMoveOperator {
     ILookupParameter<PotvinPDExchangeMove> PDExchangeMoveParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDRearrange/IPotvinPDRearrangeMoveOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDRearrange/IPotvinPDRearrangeMoveOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDRearrange/IPotvinPDRearrangeMoveOperator.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
+  [StorableType("d1fa0a68-401b-46b8-a6fd-416157efd382")]
   public interface IPotvinPDRearrangeMoveOperator : IVRPMoveOperator {
     ILookupParameter<PotvinPDRearrangeMove> PDRearrangeMoveParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDShift/IPotvinPDShiftMoveOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDShift/IPotvinPDShiftMoveOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDShift/IPotvinPDShiftMoveOperator.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
+  [StorableType("4459cdbd-f949-48bf-983a-f3cb48b272de")]
   public interface IPotvinPDShiftMoveOperator : IVRPMoveOperator {
     ILookupParameter<PotvinPDShiftMove> PDShiftMoveParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/TwoOptStar/IPotvinTwoOptStarMoveOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/TwoOptStar/IPotvinTwoOptStarMoveOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/TwoOptStar/IPotvinTwoOptStarMoveOperator.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
+  [StorableType("897a932a-d3c5-4f5b-ab0d-2ed42e0a0a79")]
   public interface IPotvinTwoOptStarMoveOperator : IVRPMoveOperator {
     ILookupParameter<PotvinTwoOptStarMove> TwoOptStarMoveParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/VehicleAssignment/IPotvinVehicleAssignmentMoveOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/VehicleAssignment/IPotvinVehicleAssignmentMoveOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/VehicleAssignment/IPotvinVehicleAssignmentMoveOperator.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
+  [StorableType("4709d019-5f1f-4226-be30-a62788c6de58")]
   public interface IPotvinVehicleAssignmentMoveOperator : IVRPMoveOperator {
     ILookupParameter<PotvinVehicleAssignmentMove> VehicleAssignmentMoveParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Prins/IPrinsOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Prins/IPrinsOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Prins/IPrinsOperator.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Problems.VehicleRouting.Variants;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Prins {
+  [StorableType("ffe0800f-e724-4254-ade2-d5220f280c73")]
   public interface IPrinsOperator :
     ISingleDepotOperator, IHomogenousCapacitatedOperator, ITimeWindowedOperator {
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Zhu/IZhuOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Zhu/IZhuOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Zhu/IZhuOperator.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Problems.VehicleRouting.Variants;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Zhu {
+  [StorableType("79f61643-a637-4122-a0d5-f210582ed82b")]
   public interface IZhuOperator :
     ISingleDepotOperator, IHomogenousCapacitatedOperator, ITimeWindowedOperator {
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IMultiVRPOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IMultiVRPOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IMultiVRPOperator.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using System.Collections.Generic;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.VehicleRouting.Interfaces {
+  [StorableType("3970adb2-37ea-41ac-bc3c-918af1cc3d0d")]
   interface IMultiVRPOperator : IVRPOperator {
     void SetOperators(IEnumerable<IOperator> operators);
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IVRPCreator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IVRPCreator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IVRPCreator.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.VehicleRouting.Interfaces {
+  [StorableType("51fb40dd-f56b-4d77-862d-ed54bcd8c12b")]
   public interface IVRPCreator : IVRPOperator, ISolutionCreator {
     ILookupParameter<IVRPEncoding> VRPToursParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IVRPCrossover.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IVRPCrossover.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IVRPCrossover.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.VehicleRouting.Interfaces {
+  [StorableType("be9746b6-40fb-4e4d-be4f-289074da945e")]
   public interface IVRPCrossover : IVRPOperator, ICrossover {
     ILookupParameter<ItemArray<IVRPEncoding>> ParentsParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IVRPEncoding.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IVRPEncoding.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IVRPEncoding.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using System.Collections.Generic;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.VehicleRouting.Interfaces {
+  [StorableType("f9dc32b7-cc73-4eec-bb88-83dbc19c011b")]
   public interface IVRPEncoding : IItem {
     List<Tour> GetTours();
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IVRPEvaluator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IVRPEvaluator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IVRPEvaluator.cs	(revision 14929)
@@ -23,6 +23,8 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Problems.VehicleRouting.ProblemInstances;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.VehicleRouting.Interfaces {
+  [StorableType("15d7fb98-cc08-4b08-a901-7f17f8c66a5e")]
   public interface IVRPEvaluator : IVRPOperator, ISingleObjectiveEvaluator {
     ILookupParameter<IVRPEncoding> VRPToursParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IVRPLocalSearchManipulator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IVRPLocalSearchManipulator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IVRPLocalSearchManipulator.cs	(revision 14929)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HeuristicLab.Persistence;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -22,4 +23,5 @@
 
 namespace HeuristicLab.Problems.VehicleRouting.Interfaces {
+  [StorableType("34776e0e-9070-4ccb-8b86-8ec6623fb52b")]
   public interface IVRPLocalSearchManipulator : IVRPManipulator {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IVRPManipulator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IVRPManipulator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IVRPManipulator.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.VehicleRouting.Interfaces {
+  [StorableType("c2a81f11-d970-46e0-ac0e-8321db70616a")]
   public interface IVRPManipulator : IVRPOperator, IManipulator {
     ILookupParameter<IVRPEncoding> VRPToursParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IVRPMoveOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IVRPMoveOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IVRPMoveOperator.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.VehicleRouting.Interfaces {
+  [StorableType("e152c738-52a9-43fd-8d34-6faee98f2aa2")]
   public interface IVRPMoveOperator : IVRPOperator, IMoveOperator {
     ILookupParameter<IVRPEncoding> VRPToursParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IVRPMultiNeighborhoodShakingOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IVRPMultiNeighborhoodShakingOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IVRPMultiNeighborhoodShakingOperator.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.VehicleRouting.Interfaces {
+  [StorableType("ab05fd1e-2ffe-4200-9b58-32213074f2c7")]
   public interface IVRPMultiNeighborhoodShakingOperator : IMultiNeighborhoodShakingOperator, IVRPOperator {
     ILookupParameter<IVRPEncoding> VRPToursParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IVRPOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IVRPOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IVRPOperator.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.VehicleRouting.Interfaces {
+  [StorableType("120053ec-7997-432c-b761-53f16814a9f8")]
   public interface IVRPOperator : IItem {
     ILookupParameter<IVRPProblemInstance> ProblemInstanceParameter { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IVRPProblemInstance.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IVRPProblemInstance.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IVRPProblemInstance.cs	(revision 14929)
@@ -25,6 +25,8 @@
 using HeuristicLab.Data;
 using HeuristicLab.Problems.VehicleRouting.ProblemInstances;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.VehicleRouting.Interfaces {
+  [StorableType("4e582bac-b8b2-4f8b-b84c-839c50790188")]
   public interface IVRPProblemInstance : IParameterizedNamedItem {
     IVRPEvaluator SolutionEvaluator { get; set; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interpreters/CVRPInterpreter.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interpreters/CVRPInterpreter.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interpreters/CVRPInterpreter.cs	(revision 14929)
@@ -26,6 +26,8 @@
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 using System;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.VehicleRouting.Interpreters {
+  [StorableType("c45b76f6-f93b-41c7-87c0-3b7e675b7ff6")]
   public class CVRPInterpreter : VRPInterpreter, IVRPDataInterpreter<CVRPData> {
     protected override IVRPProblemInstance CreateProblemInstance() {
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interpreters/CVRPTWInterpreter.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interpreters/CVRPTWInterpreter.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interpreters/CVRPTWInterpreter.cs	(revision 14929)
@@ -26,6 +26,8 @@
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 using System;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.VehicleRouting.Interpreters {
+  [StorableType("1764914e-81aa-4ac6-84d4-6b9b5a9235a1")]
   public class CVRPTWInterpreter : CVRPInterpreter, IVRPDataInterpreter<CVRPTWData> {
     protected override IVRPProblemInstance CreateProblemInstance() {
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interpreters/IVRPDataInterpreter.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interpreters/IVRPDataInterpreter.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interpreters/IVRPDataInterpreter.cs	(revision 14929)
@@ -23,6 +23,8 @@
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 using System;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.VehicleRouting.Interpreters {
+  [StorableType("886ddfc7-60d7-4de3-9e2f-51e1b0aea3b9")]
   public struct VRPInstanceDescription {
     public string Name { get; set; }
@@ -33,8 +35,10 @@
   }
 
+  [StorableType("8212b8f3-281f-4c42-a7fd-ddd8cc791105")]
   public interface IVRPDataInterpreter {
     VRPInstanceDescription Interpret(IVRPData data);
   }
 
+  [StorableType("88d16c1c-579d-44fd-ba68-4d90ec8c98a5")]
   public interface IVRPDataInterpreter<T> : IVRPDataInterpreter where T : IVRPData {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interpreters/MDCVRPInterpreter.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interpreters/MDCVRPInterpreter.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interpreters/MDCVRPInterpreter.cs	(revision 14929)
@@ -26,6 +26,8 @@
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 using System;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.VehicleRouting.Interpreters {
+  [StorableType("2f032344-737f-4562-95fc-c0496a626a74")]
   public class MDCVRPInterpreter : VRPInterpreter, IVRPDataInterpreter<MDCVRPData> {
     protected override IVRPProblemInstance CreateProblemInstance() {
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interpreters/MDCVRPTWInterpreter.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interpreters/MDCVRPTWInterpreter.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interpreters/MDCVRPTWInterpreter.cs	(revision 14929)
@@ -26,6 +26,8 @@
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 using System;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.VehicleRouting.Interpreters {
+  [StorableType("fd44c745-848f-4b8b-be44-99e1b9db3b2a")]
   public class MDCVRPTWInterpreter : MDCVRPInterpreter, IVRPDataInterpreter<MDCVRPTWData> {
     protected override IVRPProblemInstance CreateProblemInstance() {
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interpreters/PDPTWInterpreter.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interpreters/PDPTWInterpreter.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interpreters/PDPTWInterpreter.cs	(revision 14929)
@@ -26,6 +26,8 @@
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 using System;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.VehicleRouting.Interpreters {
+  [StorableType("4697e9ae-26a8-47cc-a597-74847202e33c")]
   public class PDPTWInterpreter : CVRPTWInterpreter, IVRPDataInterpreter<PDPTWData> {
     protected override IVRPProblemInstance CreateProblemInstance() {
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interpreters/VRPInterpreter.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interpreters/VRPInterpreter.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interpreters/VRPInterpreter.cs	(revision 14929)
@@ -27,6 +27,8 @@
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 using System;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.VehicleRouting.Interpreters {
+  [StorableType("72fa0de2-69da-4995-afe6-a281b0cf7e4b")]
   public abstract class VRPInterpreter : IVRPDataInterpreter<IVRPData> {
     protected abstract void Interpret(IVRPData data, IVRPProblemInstance problemInstance);
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPEvaluation.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPEvaluation.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPEvaluation.cs	(revision 14929)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HeuristicLab.Persistence;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -22,4 +23,5 @@
 
 namespace HeuristicLab.Problems.VehicleRouting.ProblemInstances {
+  [StorableType("4dcef89b-e83e-4000-84be-d61ecc864016")]
   public class CVRPInsertionInfo : StopInsertionInfo {
     private double spareCapacity;
@@ -35,4 +37,5 @@
   }
 
+  [StorableType("b341fad8-8a56-4917-9ee8-5452bdb49a02")]
   public class CVRPEvaluation : VRPEvaluation {
     public double Overload { get; set; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPTW/CVRPPDTW/CVRPPDTWEvaluation.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPTW/CVRPPDTW/CVRPPDTWEvaluation.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPTW/CVRPPDTW/CVRPPDTWEvaluation.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using System.Collections.Generic;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.VehicleRouting.ProblemInstances {
+  [StorableType("6831c4f5-0409-43e3-a2cc-22d146b8c27f")]
   public class CVRPPDTWInsertionInfo : CVRPTWInsertionInfo {
     private List<int> visited;
@@ -44,4 +46,5 @@
   }
 
+  [StorableType("cc1ccf5e-0adc-4c9e-a7fe-55cbab6cb3c5")]
   public class CVRPPDTWEvaluation : CVRPTWEvaluation {
     public int PickupViolations { get; set; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPTW/CVRPTWEvaluation.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPTW/CVRPTWEvaluation.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPTW/CVRPTWEvaluation.cs	(revision 14929)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HeuristicLab.Persistence;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -22,4 +23,5 @@
 
 namespace HeuristicLab.Problems.VehicleRouting.ProblemInstances {
+  [StorableType("3b2672a8-0ff5-4c95-b39e-829aaa09651b")]
   public class CVRPTWInsertionInfo : CVRPInsertionInfo {
     private double tourStartTime;
@@ -63,4 +65,5 @@
   }
 
+  [StorableType("37fee5c4-1752-48b5-b21d-d5ea15f7757f")]
   public class CVRPTWEvaluation : CVRPEvaluation {
     public double Tardiness { get; set; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/VRPEvaluation.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/VRPEvaluation.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/VRPEvaluation.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using System.Collections.Generic;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.VehicleRouting.ProblemInstances {
+  [StorableType("dde417ca-cb1e-4aa8-b573-22e5451f0d4a")]
   public class StopInsertionInfo {
     private int start;
@@ -43,4 +45,5 @@
   }
 
+  [StorableType("e80a6db1-bd54-46c5-96ed-e2b811c9b054")]
   public class TourInsertionInfo {
     public double Penalty { get; set; }
@@ -70,4 +73,5 @@
   }
 
+  [StorableType("6d3e38c2-65fe-494e-b683-eb77249df833")]
   public class InsertionInfo {
     private List<TourInsertionInfo> tourInsertionInfos;
@@ -87,4 +91,5 @@
   }
 
+  [StorableType("6786408a-87bb-43db-9d44-1aefdf2548e6")]
   public class VRPEvaluation {
     public double Quality { get; set; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/SolutionParser.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/SolutionParser.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/SolutionParser.cs	(revision 14929)
@@ -23,6 +23,8 @@
 using System.Collections.Generic;
 using System.IO;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.VehicleRouting {
+  [StorableType("943daa2f-1b98-46b7-acff-82565f955fe5")]
   class SolutionParser {
     private string file;
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/Capacitated/Heterogenous/IHeterogenousCapacitatedOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/Capacitated/Heterogenous/IHeterogenousCapacitatedOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/Capacitated/Heterogenous/IHeterogenousCapacitatedOperator.cs	(revision 14929)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HeuristicLab.Persistence;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -22,4 +23,5 @@
 
 namespace HeuristicLab.Problems.VehicleRouting.Variants {
+  [StorableType("34081882-6cb7-4dd7-896b-d87c2c4be5be")]
   public interface IHeterogenousCapacitatedOperator : IHomogenousCapacitatedOperator {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/Capacitated/Heterogenous/IHeterogenousCapacitatedProblemInstance.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/Capacitated/Heterogenous/IHeterogenousCapacitatedProblemInstance.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/Capacitated/Heterogenous/IHeterogenousCapacitatedProblemInstance.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Data;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.VehicleRouting.Variants {
+  [StorableType("9a48c164-7d52-49c1-a11e-6b633c0f63e1")]
   public interface IHeterogenousCapacitatedProblemInstance : ICapacitatedProblemInstance {
     DoubleArray Capacity { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/Capacitated/Homogenous/IHomogenousCapacitatedOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/Capacitated/Homogenous/IHomogenousCapacitatedOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/Capacitated/Homogenous/IHomogenousCapacitatedOperator.cs	(revision 14929)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HeuristicLab.Persistence;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -22,4 +23,5 @@
 
 namespace HeuristicLab.Problems.VehicleRouting.Variants {
+  [StorableType("bdd8ee3b-a6d8-4548-973e-4b229556b3b3")]
   public interface IHomogenousCapacitatedOperator : ICapacitatedOperator {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/Capacitated/Homogenous/IHomogenousCapacitatedProblemInstance.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/Capacitated/Homogenous/IHomogenousCapacitatedProblemInstance.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/Capacitated/Homogenous/IHomogenousCapacitatedProblemInstance.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Data;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.VehicleRouting.Variants {
+  [StorableType("668c8756-7f59-4c30-b707-409b0166bef7")]
   public interface IHomogenousCapacitatedProblemInstance : ICapacitatedProblemInstance {
     DoubleValue Capacity { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/Capacitated/ICapacitatedOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/Capacitated/ICapacitatedOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/Capacitated/ICapacitatedOperator.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.VehicleRouting.Variants {
+  [StorableType("fdc8d805-d1ee-4987-a9a0-125dd454083f")]
   public interface ICapacitatedOperator : IVRPOperator {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/Capacitated/ICapacitatedProblemInstance.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/Capacitated/ICapacitatedProblemInstance.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/Capacitated/ICapacitatedProblemInstance.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using HeuristicLab.Data;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.VehicleRouting.Variants {
+  [StorableType("3ec42535-c4d2-4e55-8bcc-b3c553d8d9cd")]
   public interface ICapacitatedProblemInstance : IVRPProblemInstance {
     DoubleValue OverloadPenalty { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/General/IGeneralVRPOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/General/IGeneralVRPOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/General/IGeneralVRPOperator.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.VehicleRouting.Variants {
+  [StorableType("31edb4a3-1c30-4c48-9c69-7f265c6e3d32")]
   public interface IGeneralVRPOperator : IVRPOperator {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/MultiDepot/IMultiDepotOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/MultiDepot/IMultiDepotOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/MultiDepot/IMultiDepotOperator.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.VehicleRouting.Variants {
+  [StorableType("2bc8a2f9-fa1d-4a5a-8670-314454ab834a")]
   public interface IMultiDepotOperator : IVRPOperator {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/MultiDepot/IMultiDepotProblemInstance.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/MultiDepot/IMultiDepotProblemInstance.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/MultiDepot/IMultiDepotProblemInstance.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using HeuristicLab.Data;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.VehicleRouting.Variants {
+  [StorableType("577c4553-7222-404b-9b4e-14ce11c22d57")]
   public interface IMultiDepotProblemInstance : IVRPProblemInstance {
     IntValue Depots { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/PickupAndDelivery/IPickupAndDeliveryOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/PickupAndDelivery/IPickupAndDeliveryOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/PickupAndDelivery/IPickupAndDeliveryOperator.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.VehicleRouting.Variants {
+  [StorableType("4feee9e0-fc38-4a59-ab7a-9576b70f6b93")]
   public interface IPickupAndDeliveryOperator : IVRPOperator {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/PickupAndDelivery/IPickupAndDeliveryProblemInstance.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/PickupAndDelivery/IPickupAndDeliveryProblemInstance.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/PickupAndDelivery/IPickupAndDeliveryProblemInstance.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using HeuristicLab.Data;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.VehicleRouting.Variants {
+  [StorableType("5cad1ab4-0b1c-4188-abf9-a2676a57e62f")]
   public interface IPickupAndDeliveryProblemInstance : IVRPProblemInstance {
     IntArray PickupDeliveryLocation { get; }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/SingleDepot/ISingleDepotOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/SingleDepot/ISingleDepotOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/SingleDepot/ISingleDepotOperator.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.VehicleRouting.Variants {
+  [StorableType("c6b85113-4dcc-42f8-9def-83999dd0129f")]
   public interface ISingleDepotOperator : IVRPOperator {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/SingleDepot/ISingleDepotProblemInstance.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/SingleDepot/ISingleDepotProblemInstance.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/SingleDepot/ISingleDepotProblemInstance.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.VehicleRouting.Variants {
+  [StorableType("a98870e4-8b6e-488b-b268-50d4826a95a8")]
   public interface ISingleDepotProblemInstance : IVRPProblemInstance {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/TimeWindowed/ITimeWindowedOperator.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/TimeWindowed/ITimeWindowedOperator.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/TimeWindowed/ITimeWindowedOperator.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.VehicleRouting.Variants {
+  [StorableType("ccef6f40-68a3-4a65-9cc4-cdd44d71da9e")]
   public interface ITimeWindowedOperator : IVRPOperator {
   }
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/TimeWindowed/ITimeWindowedProblemInstance.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/TimeWindowed/ITimeWindowedProblemInstance.cs	(revision 14928)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/TimeWindowed/ITimeWindowedProblemInstance.cs	(revision 14929)
@@ -22,6 +22,8 @@
 using HeuristicLab.Data;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.VehicleRouting.Variants {
+  [StorableType("2ee56735-abe9-44c0-8387-c852cabf2329")]
   public interface ITimeWindowedProblemInstance : IVRPProblemInstance {
     DoubleArray ReadyTime { get; }
