Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/AnalyticalPTSP.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/AnalyticalPTSP.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/AnalyticalPTSP.cs	(revision 16462)
@@ -27,14 +27,14 @@
 using HeuristicLab.Encodings.PermutationEncoding;
 using HeuristicLab.Optimization;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.PTSP {
   [Item("Analytical Probabilistic Traveling Salesman Problem (PTSP)", "Represents a probabilistic traveling salesman problem where the expected tour length is calculated exactly.")]
   [Creatable(CreatableAttribute.Categories.CombinatorialProblems)]
-  [StorableClass]
+  [StorableType("509B6AB5-F4DE-4144-A031-43EEBAD02CA6")]
   public sealed class AnalyticalProbabilisticTravelingSalesmanProblem : ProbabilisticTravelingSalesmanProblem {
 
     [StorableConstructor]
-    private AnalyticalProbabilisticTravelingSalesmanProblem(bool deserializing) : base(deserializing) { }
+    private AnalyticalProbabilisticTravelingSalesmanProblem(StorableConstructorFlag _) : base(_) { }
     private AnalyticalProbabilisticTravelingSalesmanProblem(AnalyticalProbabilisticTravelingSalesmanProblem original, Cloner cloner) : base(original, cloner) { }
     public AnalyticalProbabilisticTravelingSalesmanProblem() {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Analyzers/BestPTSPSolutionAnalyzer.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Analyzers/BestPTSPSolutionAnalyzer.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Analyzers/BestPTSPSolutionAnalyzer.cs	(revision 16462)
@@ -28,5 +28,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.PTSP {
@@ -35,5 +35,5 @@
   /// </summary>
   [Item("BestPTSPSolutionAnalyzer", "An operator for analyzing the best solution of Probabilistic Traveling Salesman Problems given in path representation using city coordinates.")]
-  [StorableClass]
+  [StorableType("459505F0-379B-4903-A388-8612FD732EE7")]
   public sealed class BestPTSPSolutionAnalyzer : SingleSuccessorOperator, IAnalyzer, ISingleObjectiveOperator {
     public bool EnabledByDefault {
@@ -70,5 +70,5 @@
 
     [StorableConstructor]
-    private BestPTSPSolutionAnalyzer(bool deserializing) : base(deserializing) { }
+    private BestPTSPSolutionAnalyzer(StorableConstructorFlag _) : base(_) { }
     private BestPTSPSolutionAnalyzer(BestPTSPSolutionAnalyzer original, Cloner cloner) : base(original, cloner) { }
     public override IDeepCloneable Clone(Cloner cloner) {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/DistanceCalculators/AttDistance.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/DistanceCalculators/AttDistance.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/DistanceCalculators/AttDistance.cs	(revision 16462)
@@ -23,14 +23,14 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.Instances;
 
 namespace HeuristicLab.Problems.PTSP {
   [Item("Att Distance", "Calculates the att distance.")]
-  [StorableClass]
+  [StorableType("7A21281C-EED9-4FE0-A6B1-DE916A074739")]
   public sealed class AttDistance : DistanceCalculator {
 
     [StorableConstructor]
-    private AttDistance(bool deserializing) : base(deserializing) { }
+    private AttDistance(StorableConstructorFlag _) : base(_) { }
     private AttDistance(AttDistance original, Cloner cloner) : base(original, cloner) { }
     public AttDistance() { }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/DistanceCalculators/DistanceCalculator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/DistanceCalculators/DistanceCalculator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/DistanceCalculators/DistanceCalculator.cs	(revision 16462)
@@ -23,12 +23,12 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.PTSP {
   [Item("Distance calculator", "Calculates the distance between two cities given as index of a coordinates matrix.")]
-  [StorableClass]
+  [StorableType("7CC7E665-A6A7-478B-B978-7079E1DDBA70")]
   public abstract class DistanceCalculator : Item {
     [StorableConstructor]
-    protected DistanceCalculator(bool deserializing) : base(deserializing) { }
+    protected DistanceCalculator(StorableConstructorFlag _) : base(_) { }
     protected DistanceCalculator(DistanceCalculator original, Cloner cloner) : base(original, cloner) { }
     protected DistanceCalculator() { }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/DistanceCalculators/EuclideanDistance.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/DistanceCalculators/EuclideanDistance.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/DistanceCalculators/EuclideanDistance.cs	(revision 16462)
@@ -23,14 +23,14 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.Instances;
 
 namespace HeuristicLab.Problems.PTSP {
   [Item("Euclidean Distance", "Calculates the euclidean distance.")]
-  [StorableClass]
+  [StorableType("D769186D-11F8-4F67-A39A-4B78184334E7")]
   public sealed class EuclideanDistance : DistanceCalculator {
 
     [StorableConstructor]
-    private EuclideanDistance(bool deserializing) : base(deserializing) { }
+    private EuclideanDistance(StorableConstructorFlag _) : base(_) { }
     private EuclideanDistance(EuclideanDistance original, Cloner cloner) : base(original, cloner) { }
     public EuclideanDistance() { }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/DistanceCalculators/GeoDistance.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/DistanceCalculators/GeoDistance.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/DistanceCalculators/GeoDistance.cs	(revision 16462)
@@ -23,14 +23,14 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.Instances;
 
 namespace HeuristicLab.Problems.PTSP {
   [Item("Geo Distance", "Calculates the geo distance.")]
-  [StorableClass]
+  [StorableType("B6CAD594-7558-4F19-ACE3-7739D29621F1")]
   public sealed class GeoDistance : DistanceCalculator {
 
     [StorableConstructor]
-    private GeoDistance(bool deserializing) : base(deserializing) { }
+    private GeoDistance(StorableConstructorFlag _) : base(_) { }
     private GeoDistance(GeoDistance original, Cloner cloner) : base(original, cloner) { }
     public GeoDistance() { }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/DistanceCalculators/ManhattanDistance.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/DistanceCalculators/ManhattanDistance.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/DistanceCalculators/ManhattanDistance.cs	(revision 16462)
@@ -23,14 +23,14 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.Instances;
 
 namespace HeuristicLab.Problems.PTSP {
   [Item("Manhattan Distance", "Calculates the Manhattan distance.")]
-  [StorableClass]
+  [StorableType("1395A5AC-9A55-40F0-B5C4-1EF15284938F")]
   public sealed class ManhattanDistance : DistanceCalculator {
 
     [StorableConstructor]
-    private ManhattanDistance(bool deserializing) : base(deserializing) { }
+    private ManhattanDistance(StorableConstructorFlag _) : base(_) { }
     private ManhattanDistance(ManhattanDistance original, Cloner cloner) : base(original, cloner) { }
     public ManhattanDistance() { }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/DistanceCalculators/MaximumDistance.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/DistanceCalculators/MaximumDistance.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/DistanceCalculators/MaximumDistance.cs	(revision 16462)
@@ -23,14 +23,14 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.Instances;
 
 namespace HeuristicLab.Problems.PTSP {
   [Item("Maximum Distance", "Calculates the maximum distance.")]
-  [StorableClass]
+  [StorableType("4ADF8A83-B110-4B39-882F-B5286EFB78A9")]
   public sealed class MaximumDistance : DistanceCalculator {
 
     [StorableConstructor]
-    private MaximumDistance(bool deserializing) : base(deserializing) { }
+    private MaximumDistance(StorableConstructorFlag _) : base(_) { }
     private MaximumDistance(MaximumDistance original, Cloner cloner) : base(original, cloner) { }
     public MaximumDistance() { }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/DistanceCalculators/RoundedEuclideanDistance.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/DistanceCalculators/RoundedEuclideanDistance.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/DistanceCalculators/RoundedEuclideanDistance.cs	(revision 16462)
@@ -23,14 +23,14 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.Instances;
 
 namespace HeuristicLab.Problems.PTSP {
   [Item("Rounded Euclidean Distance", "Calculates the euclidean distance and rounds it to the nearest integer.")]
-  [StorableClass]
+  [StorableType("5AE6854F-505E-438A-8668-2758FEF20861")]
   public sealed class RoundedEuclideanDistance : DistanceCalculator {
 
     [StorableConstructor]
-    private RoundedEuclideanDistance(bool deserializing) : base(deserializing) { }
+    private RoundedEuclideanDistance(StorableConstructorFlag _) : base(_) { }
     private RoundedEuclideanDistance(RoundedEuclideanDistance original, Cloner cloner) : base(original, cloner) { }
     public RoundedEuclideanDistance() { }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/DistanceCalculators/UpperEuclideanDistance.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/DistanceCalculators/UpperEuclideanDistance.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/DistanceCalculators/UpperEuclideanDistance.cs	(revision 16462)
@@ -23,14 +23,14 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.Instances;
 
 namespace HeuristicLab.Problems.PTSP {
   [Item("Upper Euclidean Distance", "Calculates the ceiling of the euclidean distance.")]
-  [StorableClass]
+  [StorableType("960A75FA-C8A7-4927-9814-C454343C198E")]
   public sealed class UpperEuclideanDistance : DistanceCalculator {
 
     [StorableConstructor]
-    private UpperEuclideanDistance(bool deserializing) : base(deserializing) { }
+    private UpperEuclideanDistance(StorableConstructorFlag _) : base(_) { }
     private UpperEuclideanDistance(UpperEuclideanDistance original, Cloner cloner) : base(original, cloner) { }
     public UpperEuclideanDistance() { }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/DistanceMatrix.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/DistanceMatrix.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/DistanceMatrix.cs	(revision 16462)
@@ -24,12 +24,12 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.PTSP {
   [Item("DistanceMatrix", "Represents a distance matrix of a Probabilistic Traveling Salesman Problem.")]
-  [StorableClass]
+  [StorableType("C1E6E275-FA8C-448F-AB49-8779EB0738BE")]
   public sealed class DistanceMatrix : DoubleMatrix {
     [StorableConstructor]
-    private DistanceMatrix(bool deserializing) : base(deserializing) { }
+    private DistanceMatrix(StorableConstructorFlag _) : base(_) { }
     public DistanceMatrix() : base() { }
     public DistanceMatrix(int rows, int columns) : base(rows, columns) { }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/EstimatedPTSP.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/EstimatedPTSP.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/EstimatedPTSP.cs	(revision 16462)
@@ -28,5 +28,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.Instances;
 using HeuristicLab.Random;
@@ -35,5 +35,5 @@
   [Item("Estimated Probabilistic Traveling Salesman Problem (PTSP)", "Represents a probabilistic traveling salesman problem where the expected tour length is estimated by averaging over the length of tours on a number of, so called, realizations.")]
   [Creatable(CreatableAttribute.Categories.CombinatorialProblems)]
-  [StorableClass]
+  [StorableType("D1F1DE71-54E3-40B6-856F-685CD71D97F9")]
   public sealed class EstimatedProbabilisticTravelingSalesmanProblem : ProbabilisticTravelingSalesmanProblem {
 
@@ -60,5 +60,5 @@
 
     [StorableConstructor]
-    private EstimatedProbabilisticTravelingSalesmanProblem(bool deserializing) : base(deserializing) { }
+    private EstimatedProbabilisticTravelingSalesmanProblem(StorableConstructorFlag _) : base(_) { }
     private EstimatedProbabilisticTravelingSalesmanProblem(EstimatedProbabilisticTravelingSalesmanProblem original, Cloner cloner)
       : base(original, cloner) {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/HeuristicLab.Problems.PTSP-3.3.csproj
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/HeuristicLab.Problems.PTSP-3.3.csproj	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/HeuristicLab.Problems.PTSP-3.3.csproj	(revision 16462)
@@ -152,5 +152,5 @@
       <HintPath>..\..\packages\Google.Protobuf.3.6.1\lib\net45\Google.Protobuf.dll</HintPath>
     </Reference>
-    <Reference Include="HEAL.Fossil, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
+    <Reference Include="HEAL.Fossil, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
       <HintPath>..\..\packages\HEAL.Fossil.1.0.0\lib\netstandard2.0\HEAL.Fossil.dll</HintPath>
     </Reference>
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Improvers/PTSPAnalyticalInsertionLocalImprovement.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Improvers/PTSPAnalyticalInsertionLocalImprovement.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Improvers/PTSPAnalyticalInsertionLocalImprovement.cs	(revision 16462)
@@ -29,5 +29,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.PTSP {
@@ -39,5 +39,5 @@
   /// </remarks>
   [Item("PTSP Analytical Insertion Local Improvement", "An operator that improves probabilistic traveling salesman solutions. The operator tries to improve the probabilistic traveling salesman solution by swapping two randomly chosen edges for a certain number of times.")]
-  [StorableClass]
+  [StorableType("D63C6CB3-A5EF-4270-A252-2F5EBF1ED163")]
   public sealed class PTSPAnalyticalInsertionLocalImprovement : SingleSuccessorOperator, IAnalyticalPTSPOperator, ILocalImprovementOperator {
 
@@ -79,5 +79,5 @@
 
     [StorableConstructor]
-    private PTSPAnalyticalInsertionLocalImprovement(bool deserializing) : base(deserializing) { }
+    private PTSPAnalyticalInsertionLocalImprovement(StorableConstructorFlag _) : base(_) { }
     private PTSPAnalyticalInsertionLocalImprovement(PTSPAnalyticalInsertionLocalImprovement original, Cloner cloner) : base(original, cloner) { }
     public PTSPAnalyticalInsertionLocalImprovement()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Improvers/PTSPAnalyticalInversionLocalImprovement.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Improvers/PTSPAnalyticalInversionLocalImprovement.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Improvers/PTSPAnalyticalInversionLocalImprovement.cs	(revision 16462)
@@ -29,5 +29,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.PTSP {
@@ -39,5 +39,5 @@
   /// </remarks>
   [Item("PTSP Analytical Inversion Local Improvement", "An operator that improves probabilistic traveling salesman solutions. The operator tries to improve the probabilistic traveling salesman solution by swapping two randomly chosen edges for a certain number of times.")]
-  [StorableClass]
+  [StorableType("1594EB4E-A874-485A-B1D5-E622F9FF3FD8")]
   public sealed class PTSPAnalyticalInversionLocalImprovement : SingleSuccessorOperator, IAnalyticalPTSPOperator, ILocalImprovementOperator {
 
@@ -79,5 +79,5 @@
 
     [StorableConstructor]
-    private PTSPAnalyticalInversionLocalImprovement(bool deserializing) : base(deserializing) { }
+    private PTSPAnalyticalInversionLocalImprovement(StorableConstructorFlag _) : base(_) { }
     private PTSPAnalyticalInversionLocalImprovement(PTSPAnalyticalInversionLocalImprovement original, Cloner cloner) : base(original, cloner) { }
     public PTSPAnalyticalInversionLocalImprovement()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Improvers/PTSPAnalyticalTwoPointFiveLocalImprovement.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Improvers/PTSPAnalyticalTwoPointFiveLocalImprovement.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Improvers/PTSPAnalyticalTwoPointFiveLocalImprovement.cs	(revision 16462)
@@ -29,5 +29,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.PTSP {
@@ -39,5 +39,5 @@
   /// </remarks>
   [Item("PTSP Analytical 2.5 Local Improvement", "An operator that improves probabilistic traveling salesman solutions. The operator tries to improve the probabilistic traveling salesman solution by swapping two randomly chosen edges for a certain number of times.")]
-  [StorableClass]
+  [StorableType("C139639F-D6DD-4756-8482-24F12A78C8E9")]
   public sealed class PTSPAnalyticalTwoPointFiveLocalImprovement : SingleSuccessorOperator, IAnalyticalPTSPOperator, ILocalImprovementOperator {
 
@@ -79,5 +79,5 @@
 
     [StorableConstructor]
-    private PTSPAnalyticalTwoPointFiveLocalImprovement(bool deserializing) : base(deserializing) { }
+    private PTSPAnalyticalTwoPointFiveLocalImprovement(StorableConstructorFlag _) : base(_) { }
     private PTSPAnalyticalTwoPointFiveLocalImprovement(PTSPAnalyticalTwoPointFiveLocalImprovement original, Cloner cloner) : base(original, cloner) { }
     public PTSPAnalyticalTwoPointFiveLocalImprovement()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Improvers/PTSPEstimatedInsertionLocalImprovement.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Improvers/PTSPEstimatedInsertionLocalImprovement.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Improvers/PTSPEstimatedInsertionLocalImprovement.cs	(revision 16462)
@@ -29,5 +29,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.PTSP {
@@ -39,5 +39,5 @@
   /// </remarks>
   [Item("PTSP Estimated Insertion Local Improvement", "An operator that improves probabilistic traveling salesman solutions. The operator tries to improve the probabilistic traveling salesman solution by swapping two randomly chosen edges for a certain number of times.")]
-  [StorableClass]
+  [StorableType("B2D60579-A97D-4E44-B11C-61CDA6EBEBA7")]
   public sealed class PTSPEstimatedInsertionLocalImprovement : SingleSuccessorOperator, IEstimatedPTSPOperator, ILocalImprovementOperator {
 
@@ -79,5 +79,5 @@
 
     [StorableConstructor]
-    private PTSPEstimatedInsertionLocalImprovement(bool deserializing) : base(deserializing) { }
+    private PTSPEstimatedInsertionLocalImprovement(StorableConstructorFlag _) : base(_) { }
     private PTSPEstimatedInsertionLocalImprovement(PTSPEstimatedInsertionLocalImprovement original, Cloner cloner) : base(original, cloner) { }
     public PTSPEstimatedInsertionLocalImprovement()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Improvers/PTSPEstimatedInversionLocalImprovement.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Improvers/PTSPEstimatedInversionLocalImprovement.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Improvers/PTSPEstimatedInversionLocalImprovement.cs	(revision 16462)
@@ -29,5 +29,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.PTSP {
@@ -39,5 +39,5 @@
   /// </remarks>
   [Item("PTSP Estimated Inversion Local Improvement", "An operator that improves probabilistic traveling salesman solutions. The operator tries to improve the probabilistic traveling salesman solution by swapping two randomly chosen edges for a certain number of times.")]
-  [StorableClass]
+  [StorableType("AA67F3B1-2667-4F0B-A79F-4A02B89EE977")]
   public sealed class PTSPEstimatedInversionLocalImprovement : SingleSuccessorOperator, IEstimatedPTSPOperator, ILocalImprovementOperator {
 
@@ -79,5 +79,5 @@
 
     [StorableConstructor]
-    private PTSPEstimatedInversionLocalImprovement(bool deserializing) : base(deserializing) { }
+    private PTSPEstimatedInversionLocalImprovement(StorableConstructorFlag _) : base(_) { }
     private PTSPEstimatedInversionLocalImprovement(PTSPEstimatedInversionLocalImprovement original, Cloner cloner) : base(original, cloner) { }
     public PTSPEstimatedInversionLocalImprovement()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Improvers/PTSPEstimatedTwoPointFiveLocalImprovement.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Improvers/PTSPEstimatedTwoPointFiveLocalImprovement.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Improvers/PTSPEstimatedTwoPointFiveLocalImprovement.cs	(revision 16462)
@@ -29,5 +29,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.PTSP {
@@ -39,5 +39,5 @@
   /// </remarks>
   [Item("PTSP Estimated 2.5 Local Improvement", "An operator that improves probabilistic traveling salesman solutions. The operator tries to improve the probabilistic traveling salesman solution by swapping two randomly chosen edges for a certain number of times.")]
-  [StorableClass]
+  [StorableType("8B04265A-50AD-4FAD-99F8-2357D6F10CC3")]
   public sealed class PTSPEstimatedTwoPointFiveLocalImprovement : SingleSuccessorOperator, IEstimatedPTSPOperator, ILocalImprovementOperator {
 
@@ -79,5 +79,5 @@
 
     [StorableConstructor]
-    private PTSPEstimatedTwoPointFiveLocalImprovement(bool deserializing) : base(deserializing) { }
+    private PTSPEstimatedTwoPointFiveLocalImprovement(StorableConstructorFlag _) : base(_) { }
     private PTSPEstimatedTwoPointFiveLocalImprovement(PTSPEstimatedTwoPointFiveLocalImprovement original, Cloner cloner) : base(original, cloner) { }
     public PTSPEstimatedTwoPointFiveLocalImprovement()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Moves/AnalyticalPTSPMoveEvaluator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Moves/AnalyticalPTSPMoveEvaluator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Moves/AnalyticalPTSPMoveEvaluator.cs	(revision 16462)
@@ -27,9 +27,9 @@
 using HeuristicLab.Operators;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.PTSP {
   [Item("AnalyticalPTSPMoveEvaluator", "A base class for operators which evaluate PTSP moves.")]
-  [StorableClass]
+  [StorableType("D23CCC08-AA7D-47C0-A465-FEAA16FECB80")]
   public abstract class AnalyticalPTSPMoveEvaluator : SingleSuccessorOperator, IAnalyticalPTSPMoveEvaluator {
 
@@ -64,5 +64,5 @@
 
     [StorableConstructor]
-    protected AnalyticalPTSPMoveEvaluator(bool deserializing) : base(deserializing) { }
+    protected AnalyticalPTSPMoveEvaluator(StorableConstructorFlag _) : base(_) { }
     protected AnalyticalPTSPMoveEvaluator(AnalyticalPTSPMoveEvaluator original, Cloner cloner) : base(original, cloner) { }
     protected AnalyticalPTSPMoveEvaluator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Moves/EstimatedPTSPMoveEvaluator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Moves/EstimatedPTSPMoveEvaluator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Moves/EstimatedPTSPMoveEvaluator.cs	(revision 16462)
@@ -27,9 +27,9 @@
 using HeuristicLab.Operators;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.PTSP {
   [Item("EstimatedPTSPMoveEvaluator", "A base class for operators which evaluate PTSP moves.")]
-  [StorableClass]
+  [StorableType("F2F7F857-F2CD-4AB2-8656-5158BD04EFDD")]
   public abstract class EstimatedPTSPMoveEvaluator : SingleSuccessorOperator, IEstimatedPTSPMoveEvaluator {
 
@@ -64,5 +64,5 @@
 
     [StorableConstructor]
-    protected EstimatedPTSPMoveEvaluator(bool deserializing) : base(deserializing) { }
+    protected EstimatedPTSPMoveEvaluator(StorableConstructorFlag _) : base(_) { }
     protected EstimatedPTSPMoveEvaluator(EstimatedPTSPMoveEvaluator original, Cloner cloner) : base(original, cloner) { }
     protected EstimatedPTSPMoveEvaluator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Moves/OneShift/PTSPAnalyticalInsertionMoveEvaluator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Moves/OneShift/PTSPAnalyticalInsertionMoveEvaluator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Moves/OneShift/PTSPAnalyticalInsertionMoveEvaluator.cs	(revision 16462)
@@ -26,9 +26,9 @@
 using HeuristicLab.Encodings.PermutationEncoding;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.PTSP {
   [Item("PTSP Analytical Insertion Move Evaluator", "Evaluates an insertion move (1-shift) by a full solution evaluation")]
-  [StorableClass]
+  [StorableType("FEB94986-2AD5-4A6E-89D9-A3954212810B")]
   public class PTSPAnalyticalInsertionMoveEvaluator : AnalyticalPTSPMoveEvaluator, IPermutationTranslocationMoveOperator {
 
@@ -38,5 +38,5 @@
 
     [StorableConstructor]
-    protected PTSPAnalyticalInsertionMoveEvaluator(bool deserializing) : base(deserializing) { }
+    protected PTSPAnalyticalInsertionMoveEvaluator(StorableConstructorFlag _) : base(_) { }
     protected PTSPAnalyticalInsertionMoveEvaluator(PTSPAnalyticalInsertionMoveEvaluator original, Cloner cloner) : base(original, cloner) { }
     public PTSPAnalyticalInsertionMoveEvaluator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Moves/OneShift/PTSPEstimatedInsertionMoveEvaluator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Moves/OneShift/PTSPEstimatedInsertionMoveEvaluator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Moves/OneShift/PTSPEstimatedInsertionMoveEvaluator.cs	(revision 16462)
@@ -26,9 +26,9 @@
 using HeuristicLab.Encodings.PermutationEncoding;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.PTSP {
   [Item("PTSP Estimated Insertion Move Evaluator", "Evaluates an insertion move (1-shift)")]
-  [StorableClass]
+  [StorableType("DAC1CBD1-BF27-4BB4-B7C5-82EC58F7F5C9")]
   public class PTSPEstimatedInsertionMoveEvaluator : EstimatedPTSPMoveEvaluator, IPermutationTranslocationMoveOperator {
 
@@ -38,5 +38,5 @@
 
     [StorableConstructor]
-    protected PTSPEstimatedInsertionMoveEvaluator(bool deserializing) : base(deserializing) { }
+    protected PTSPEstimatedInsertionMoveEvaluator(StorableConstructorFlag _) : base(_) { }
     protected PTSPEstimatedInsertionMoveEvaluator(PTSPEstimatedInsertionMoveEvaluator original, Cloner cloner) : base(original, cloner) { }
     public PTSPEstimatedInsertionMoveEvaluator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Moves/TwoOpt/PTSPAnalyticalInversionMoveEvaluator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Moves/TwoOpt/PTSPAnalyticalInversionMoveEvaluator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Moves/TwoOpt/PTSPAnalyticalInversionMoveEvaluator.cs	(revision 16462)
@@ -26,9 +26,9 @@
 using HeuristicLab.Encodings.PermutationEncoding;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.PTSP {
   [Item("PTSP Analytical Inversion Move Evaluator", "Evaluates an inversion move (2-opt) by a full solution evaluation.")]
-  [StorableClass]
+  [StorableType("D24FF41B-DA6E-42C6-9304-21EF01BFC61B")]
   public class PTSPAnalyticalInversionMoveEvaluator : AnalyticalPTSPMoveEvaluator, IPermutationInversionMoveOperator {
 
@@ -38,5 +38,5 @@
 
     [StorableConstructor]
-    protected PTSPAnalyticalInversionMoveEvaluator(bool deserializing) : base(deserializing) { }
+    protected PTSPAnalyticalInversionMoveEvaluator(StorableConstructorFlag _) : base(_) { }
     protected PTSPAnalyticalInversionMoveEvaluator(PTSPAnalyticalInversionMoveEvaluator original, Cloner cloner) : base(original, cloner) { }
     public PTSPAnalyticalInversionMoveEvaluator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Moves/TwoOpt/PTSPEstimatedInversionMoveEvaluator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Moves/TwoOpt/PTSPEstimatedInversionMoveEvaluator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Moves/TwoOpt/PTSPEstimatedInversionMoveEvaluator.cs	(revision 16462)
@@ -26,9 +26,9 @@
 using HeuristicLab.Encodings.PermutationEncoding;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.PTSP {
   [Item("PTSP Estimated Inversion Move Evaluator", "Evaluates an inversion move (2-opt) over several realizations of tours by summing up the length of all added edges and subtracting the length of all deleted edges.")]
-  [StorableClass]
+  [StorableType("9E418FA4-7721-40D2-9FDC-DB82723F7DBF")]
   public class PTSPEstimatedInversionMoveEvaluator : EstimatedPTSPMoveEvaluator, IPermutationInversionMoveOperator {
 
@@ -38,5 +38,5 @@
 
     [StorableConstructor]
-    protected PTSPEstimatedInversionMoveEvaluator(bool deserializing) : base(deserializing) { }
+    protected PTSPEstimatedInversionMoveEvaluator(StorableConstructorFlag _) : base(_) { }
     protected PTSPEstimatedInversionMoveEvaluator(PTSPEstimatedInversionMoveEvaluator original, Cloner cloner) : base(original, cloner) { }
     public PTSPEstimatedInversionMoveEvaluator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Moves/TwoPointFiveOpt/ExhaustiveTwoPointFiveMoveGenerator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Moves/TwoPointFiveOpt/ExhaustiveTwoPointFiveMoveGenerator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Moves/TwoPointFiveOpt/ExhaustiveTwoPointFiveMoveGenerator.cs	(revision 16462)
@@ -27,13 +27,13 @@
 using HeuristicLab.Encodings.PermutationEncoding;
 using HeuristicLab.Optimization;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.PTSP {
   [Item("Exhaustive 2.5-MoveGenerator", "Generates all possible inversion and shift moves (2.5-opt) from a given permutation.")]
-  [StorableClass]
+  [StorableType("DF95E561-1F47-4845-A58D-CEF32B14461B")]
   public sealed class ExhaustiveTwoPointFiveMoveGenerator : TwoPointFiveMoveGenerator, IExhaustiveMoveGenerator {
 
     [StorableConstructor]
-    private ExhaustiveTwoPointFiveMoveGenerator(bool deserializing) : base(deserializing) { }
+    private ExhaustiveTwoPointFiveMoveGenerator(StorableConstructorFlag _) : base(_) { }
     private ExhaustiveTwoPointFiveMoveGenerator(ExhaustiveTwoPointFiveMoveGenerator original, Cloner cloner) : base(original, cloner) { }
     public ExhaustiveTwoPointFiveMoveGenerator() : base() { }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Moves/TwoPointFiveOpt/PTSPAnalyticalTwoPointFiveMoveEvaluator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Moves/TwoPointFiveOpt/PTSPAnalyticalTwoPointFiveMoveEvaluator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Moves/TwoPointFiveOpt/PTSPAnalyticalTwoPointFiveMoveEvaluator.cs	(revision 16462)
@@ -26,9 +26,9 @@
 using HeuristicLab.Encodings.PermutationEncoding;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.PTSP {
   [Item("PTSP Analytical 2.5-MoveEvaluator", "Operator that evaluates 2.5-p-opt moves of PTSP by a full solution evaluation.")]
-  [StorableClass]
+  [StorableType("59729BB5-2026-44E8-8C19-EBCC2303103C")]
   public class PTSPAnalyticalTwoPointFiveMoveEvaluator : AnalyticalPTSPMoveEvaluator, ITwoPointFiveMoveOperator {
 
@@ -38,5 +38,5 @@
 
     [StorableConstructor]
-    protected PTSPAnalyticalTwoPointFiveMoveEvaluator(bool deserializing) : base(deserializing) { }
+    protected PTSPAnalyticalTwoPointFiveMoveEvaluator(StorableConstructorFlag _) : base(_) { }
     protected PTSPAnalyticalTwoPointFiveMoveEvaluator(PTSPAnalyticalTwoPointFiveMoveEvaluator original, Cloner cloner) : base(original, cloner) { }
     public PTSPAnalyticalTwoPointFiveMoveEvaluator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Moves/TwoPointFiveOpt/PTSPEstimatedTwoPointFiveMoveEvaluator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Moves/TwoPointFiveOpt/PTSPEstimatedTwoPointFiveMoveEvaluator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Moves/TwoPointFiveOpt/PTSPEstimatedTwoPointFiveMoveEvaluator.cs	(revision 16462)
@@ -26,9 +26,9 @@
 using HeuristicLab.Encodings.PermutationEncoding;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.PTSP {
   [Item("PTSP Estimated 2.5-MoveEvaluator", "Operator that evaluates 2.5-p-opt moves of PTSP")]
-  [StorableClass]
+  [StorableType("3E67BDD5-5A80-46F7-A7D6-9A67595CFD8C")]
   public class PTSPEstimatedTwoPointFiveMoveEvaluator : EstimatedPTSPMoveEvaluator, ITwoPointFiveMoveOperator {
 
@@ -38,5 +38,5 @@
 
     [StorableConstructor]
-    protected PTSPEstimatedTwoPointFiveMoveEvaluator(bool deserializing) : base(deserializing) { }
+    protected PTSPEstimatedTwoPointFiveMoveEvaluator(StorableConstructorFlag _) : base(_) { }
     protected PTSPEstimatedTwoPointFiveMoveEvaluator(PTSPEstimatedTwoPointFiveMoveEvaluator original, Cloner cloner) : base(original, cloner) { }
     public PTSPEstimatedTwoPointFiveMoveEvaluator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Moves/TwoPointFiveOpt/StochasticTwoPointFiveMultiMoveGenerator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Moves/TwoPointFiveOpt/StochasticTwoPointFiveMultiMoveGenerator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Moves/TwoPointFiveOpt/StochasticTwoPointFiveMultiMoveGenerator.cs	(revision 16462)
@@ -26,9 +26,9 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.PTSP {
   [Item("Stochastic 2.5-MultiMoveGenerator", "Randomly samples n from all possible inversion and shift moves (2.5-opt) from a given permutation.")]
-  [StorableClass]
+  [StorableType("C84AA7B3-887A-4E75-9237-60011BAEBCC6")]
   public sealed class StochasticTwoPointFiveMultiMoveGenerator : TwoPointFiveMoveGenerator, IMultiMoveGenerator, IStochasticOperator {
     public ILookupParameter<IRandom> RandomParameter {
@@ -45,5 +45,5 @@
 
     [StorableConstructor]
-    private StochasticTwoPointFiveMultiMoveGenerator(bool deserializing) : base(deserializing) { }
+    private StochasticTwoPointFiveMultiMoveGenerator(StorableConstructorFlag _) : base(_) { }
     private StochasticTwoPointFiveMultiMoveGenerator(StochasticTwoPointFiveMultiMoveGenerator original, Cloner cloner) : base(original, cloner) { }
     public StochasticTwoPointFiveMultiMoveGenerator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Moves/TwoPointFiveOpt/StochasticTwoPointFiveSingleMoveGenerator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Moves/TwoPointFiveOpt/StochasticTwoPointFiveSingleMoveGenerator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Moves/TwoPointFiveOpt/StochasticTwoPointFiveSingleMoveGenerator.cs	(revision 16462)
@@ -26,9 +26,9 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.PTSP {
   [Item("Stochastic 2.5-SingleMoveGenerator", "Randomly samples a single from all possible inversion and shift moves (2.5-opt) from a given permutation.")]
-  [StorableClass]
+  [StorableType("A3D496C5-3BB5-4263-8F33-0DAFFCAC1BAF")]
   public sealed class StochasticTwoPointFiveSingleMoveGenerator : TwoPointFiveMoveGenerator, IStochasticOperator, ISingleMoveGenerator {
     public ILookupParameter<IRandom> RandomParameter {
@@ -37,5 +37,5 @@
 
     [StorableConstructor]
-    private StochasticTwoPointFiveSingleMoveGenerator(bool deserializing) : base(deserializing) { }
+    private StochasticTwoPointFiveSingleMoveGenerator(StorableConstructorFlag _) : base(_) { }
     private StochasticTwoPointFiveSingleMoveGenerator(StochasticTwoPointFiveSingleMoveGenerator original, Cloner cloner) : base(original, cloner) { }
     public StochasticTwoPointFiveSingleMoveGenerator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Moves/TwoPointFiveOpt/TwoPointFiveMove.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Moves/TwoPointFiveOpt/TwoPointFiveMove.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Moves/TwoPointFiveOpt/TwoPointFiveMove.cs	(revision 16462)
@@ -23,9 +23,9 @@
 using HeuristicLab.Core;
 using HeuristicLab.Encodings.PermutationEncoding;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.PTSP {
   [Item("2.5-Move", "Represents a 2.5-move.")]
-  [StorableClass]
+  [StorableType("CAC6762D-DFF1-4B66-BAC7-FBCED4A52305")]
   public sealed class TwoPointFiveMove : Item {
     [Storable]
@@ -39,6 +39,5 @@
 
     [StorableConstructor]
-    public TwoPointFiveMove() : this(-1, -1, null, true) { }
-    private TwoPointFiveMove(bool deserializing) : base(deserializing) { }
+    private TwoPointFiveMove(StorableConstructorFlag _) : base(_) { }
     private TwoPointFiveMove(TwoPointFiveMove original, Cloner cloner)
       : base(original, cloner) {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Moves/TwoPointFiveOpt/TwoPointFiveMoveGenerator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Moves/TwoPointFiveOpt/TwoPointFiveMoveGenerator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Moves/TwoPointFiveOpt/TwoPointFiveMoveGenerator.cs	(revision 16462)
@@ -26,10 +26,10 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 
 namespace HeuristicLab.Problems.PTSP {
   [Item("TwoPointFiveMoveGenerator", "Base class for all inversion and shift (2.5-opt) move generators.")]
-  [StorableClass]
+  [StorableType("955C469C-4D77-4168-A428-03C39BACF9AD")]
   public abstract class TwoPointFiveMoveGenerator : SingleSuccessorOperator, ITwoPointFiveMoveOperator, IMoveGenerator {
     public override bool CanChangeName {
@@ -45,5 +45,5 @@
 
     [StorableConstructor]
-    protected TwoPointFiveMoveGenerator(bool deserializing) : base(deserializing) { }
+    protected TwoPointFiveMoveGenerator(StorableConstructorFlag _) : base(_) { }
     protected TwoPointFiveMoveGenerator(TwoPointFiveMoveGenerator original, Cloner cloner) : base(original, cloner) { }
     protected TwoPointFiveMoveGenerator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Moves/TwoPointFiveOpt/TwoPointFiveMoveMaker.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Moves/TwoPointFiveOpt/TwoPointFiveMoveMaker.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Moves/TwoPointFiveOpt/TwoPointFiveMoveMaker.cs	(revision 16462)
@@ -27,9 +27,9 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.PTSP {
   [Item("TwoPointFiveMoveMaker", "Peforms an inversion and shift (2.5-opt) on a given permutation and updates the quality.")]
-  [StorableClass]
+  [StorableType("6D5923B3-47CA-47AF-8C93-9BA7134BE5BA")]
   public class TwoPointFiveMoveMaker : SingleSuccessorOperator, ITwoPointFiveMoveOperator, IMoveMaker {
     public override bool CanChangeName {
@@ -51,5 +51,5 @@
 
     [StorableConstructor]
-    protected TwoPointFiveMoveMaker(bool deserializing) : base(deserializing) { }
+    protected TwoPointFiveMoveMaker(StorableConstructorFlag _) : base(_) { }
     protected TwoPointFiveMoveMaker(TwoPointFiveMoveMaker original, Cloner cloner) : base(original, cloner) { }
     public TwoPointFiveMoveMaker()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/PTSP.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/PTSP.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/PTSP.cs	(revision 16462)
@@ -30,10 +30,10 @@
 using HeuristicLab.Optimization.Operators;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.Instances;
 
 namespace HeuristicLab.Problems.PTSP {
   [Item("Probabilistic Traveling Salesman Problem (PTSP)", "Represents a Probabilistic Traveling Salesman Problem.")]
-  [StorableClass]
+  [StorableType("4CB8ACF3-C3D4-4CC6-BB1F-986BDE16B30A")]
   public abstract class ProbabilisticTravelingSalesmanProblem : SingleObjectiveBasicProblem<PermutationEncoding>,
   IProblemInstanceConsumer<PTSPData> {
@@ -96,5 +96,5 @@
 
     [StorableConstructor]
-    protected ProbabilisticTravelingSalesmanProblem(bool deserializing) : base(deserializing) { }
+    protected ProbabilisticTravelingSalesmanProblem(StorableConstructorFlag _) : base(_) { }
     protected ProbabilisticTravelingSalesmanProblem(ProbabilisticTravelingSalesmanProblem original, Cloner cloner)
       : base(original, cloner) {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/PathPTSPTour.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/PathPTSPTour.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/PathPTSPTour.cs	(revision 16462)
@@ -26,5 +26,5 @@
 using HeuristicLab.Data;
 using HeuristicLab.Encodings.PermutationEncoding;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.PTSP {
@@ -33,5 +33,5 @@
   /// </summary>
   [Item("PathPTSPTour", "Represents a tour of a Probabilistic Traveling Salesman Problem given in path representation which can be visualized in the GUI.")]
-  [StorableClass]
+  [StorableType("8C9E50C9-4364-48F1-B681-9CFFD1147EF0")]
   public sealed class PathPTSPTour : Item {
     public static new Image StaticItemImage {
@@ -93,5 +93,5 @@
 
     [StorableConstructor]
-    private PathPTSPTour(bool deserializing) : base(deserializing) { }
+    private PathPTSPTour(StorableConstructorFlag _) : base(_) { }
     private PathPTSPTour(PathPTSPTour original, Cloner cloner)
       : base(original, cloner) {
