Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/BestAverageWorstTours/BestAverageWorstVRPToursAnalyzer.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/BestAverageWorstTours/BestAverageWorstVRPToursAnalyzer.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/BestAverageWorstTours/BestAverageWorstVRPToursAnalyzer.cs	(revision 16462)
@@ -29,5 +29,5 @@
 using HeuristicLab.Optimization.Operators;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 using HeuristicLab.Problems.VehicleRouting.Variants;
@@ -38,5 +38,5 @@
   /// </summary>
   [Item("BestAverageWorstVRPToursAnalyzer", "An operator which analyzes the best, average and worst properties of the VRP tours in the scope tree.")]
-  [StorableClass]
+  [StorableType("5DF1280C-5FEB-451E-8132-168E515CF47D")]
   public sealed class BestAverageWorstVRPToursAnalyzer : AlgorithmOperator, IAnalyzer, IGeneralVRPOperator {
     #region Parameter properties
@@ -179,5 +179,5 @@
     }
     [StorableConstructor]
-    private BestAverageWorstVRPToursAnalyzer(bool deserializing) : base() { }
+    private BestAverageWorstVRPToursAnalyzer(StorableConstructorFlag _) : base(_) { }
 
     public override IDeepCloneable Clone(Cloner cloner) {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/BestAverageWorstTours/BestAverageWorstVRPToursCalculator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/BestAverageWorstTours/BestAverageWorstVRPToursCalculator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/BestAverageWorstTours/BestAverageWorstVRPToursCalculator.cs	(revision 16462)
@@ -25,9 +25,9 @@
 using HeuristicLab.Operators;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting {
   [Item("BestAverageWorstVRPToursCalculator", "An operator which calculates the current best, average and worst properties of VRP tours in the scope tree.")]
-  [StorableClass]
+  [StorableType("22DF27FC-17D0-4220-9B5D-C326DF47175C")]
   public sealed class BestAverageWorstVRPToursCalculator : SingleSuccessorOperator {
     public ScopeTreeLookupParameter<DoubleValue> DistanceParameter {
@@ -71,5 +71,5 @@
 
     [StorableConstructor]
-    private BestAverageWorstVRPToursCalculator(bool deserializing) : base(deserializing) { }
+    private BestAverageWorstVRPToursCalculator(StorableConstructorFlag _) : base(_) { }
 
     public override IDeepCloneable Clone(Cloner cloner) {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/BestAverageWorstTours/BestVRPToursMemorizer.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/BestAverageWorstTours/BestVRPToursMemorizer.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/BestAverageWorstTours/BestVRPToursMemorizer.cs	(revision 16462)
@@ -26,9 +26,9 @@
 using HeuristicLab.Operators;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting {
   [Item("BestVRPToursMemorizer", "An operator that updates the best VRP tour found so far in the scope three.")]
-  [StorableClass]
+  [StorableType("3E5AF7DC-B85A-453B-8502-DC4FF45EE637")]
   public class BestVRPToursMemorizer : SingleSuccessorOperator {
     public ScopeTreeLookupParameter<DoubleValue> DistanceParameter {
@@ -57,5 +57,5 @@
 
     [StorableConstructor]
-    protected BestVRPToursMemorizer(bool deserializing) : base(deserializing) { }
+    protected BestVRPToursMemorizer(StorableConstructorFlag _) : base(_) { }
 
     public override IDeepCloneable Clone(Cloner cloner) {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/BestAverageWorstTours/Capacitated/BestAverageWorstCapacitatedVRPToursAnalyzer.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/BestAverageWorstTours/Capacitated/BestAverageWorstCapacitatedVRPToursAnalyzer.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/BestAverageWorstTours/Capacitated/BestAverageWorstCapacitatedVRPToursAnalyzer.cs	(revision 16462)
@@ -29,5 +29,5 @@
 using HeuristicLab.Optimization.Operators;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 using HeuristicLab.Problems.VehicleRouting.Variants;
@@ -38,5 +38,5 @@
   /// </summary>
   [Item("BestAverageWorstCapaciatatedVRPToursAnalyzer", "An operator which analyzes the best, average and worst properties of the VRP tours in the scope tree.")]
-  [StorableClass]
+  [StorableType("20B56A45-8112-4D41-9C1D-EC563D0FDF75")]
   public sealed class BestAverageWorstCapaciatatedVRPToursAnalyzer : AlgorithmOperator, IAnalyzer, IHomogenousCapacitatedOperator {
     #region Parameter properties
@@ -132,5 +132,5 @@
     }
     [StorableConstructor]
-    private BestAverageWorstCapaciatatedVRPToursAnalyzer(bool deserializing) : base() { }
+    private BestAverageWorstCapaciatatedVRPToursAnalyzer(StorableConstructorFlag _) : base(_) { }
 
     [StorableHook(HookType.AfterDeserialization)]
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/BestAverageWorstTours/Capacitated/BestAverageWorstCapacitatedVRPToursCalculator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/BestAverageWorstTours/Capacitated/BestAverageWorstCapacitatedVRPToursCalculator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/BestAverageWorstTours/Capacitated/BestAverageWorstCapacitatedVRPToursCalculator.cs	(revision 16462)
@@ -25,9 +25,9 @@
 using HeuristicLab.Operators;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting {
   [Item("BestAverageWorstCapacitatedVRPToursCalculator", "An operator which calculates the current best, average and worst properties of VRP tours in the scope tree.")]
-  [StorableClass]
+  [StorableType("CAF65472-0C4E-4564-B750-61F6924AA284")]
   public sealed class BestAverageWorstCapacitatedVRPToursCalculator : SingleSuccessorOperator {
     public ScopeTreeLookupParameter<DoubleValue> OverloadParameter {
@@ -61,5 +61,5 @@
 
     [StorableConstructor]
-    private BestAverageWorstCapacitatedVRPToursCalculator(bool deserializing) : base(deserializing) { }
+    private BestAverageWorstCapacitatedVRPToursCalculator(StorableConstructorFlag _) : base(_) { }
 
     private void UpdateOverloads() {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/BestAverageWorstTours/Capacitated/BestCapacitatedVRPToursMemorizer.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/BestAverageWorstTours/Capacitated/BestCapacitatedVRPToursMemorizer.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/BestAverageWorstTours/Capacitated/BestCapacitatedVRPToursMemorizer.cs	(revision 16462)
@@ -26,9 +26,9 @@
 using HeuristicLab.Operators;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting {
   [Item("BestCapacitatedVRPToursMemorizer", "An operator that updates the best VRP tour found so far in the scope three.")]
-  [StorableClass]
+  [StorableType("888B45AA-2037-49EB-ACD9-36F7D593D320")]
   public class BestCapacitatedVRPToursMemorizer : SingleSuccessorOperator {
     public ScopeTreeLookupParameter<DoubleValue> OverloadParameter {
@@ -56,5 +56,5 @@
 
     [StorableConstructor]
-    protected BestCapacitatedVRPToursMemorizer(bool deserializing) : base(deserializing) { }
+    protected BestCapacitatedVRPToursMemorizer(StorableConstructorFlag _) : base(_) { }
 
     public override IOperation Apply() {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/BestAverageWorstTours/PickupAndDelivery/BestAverageWorstPickupAndDeliveryVRPToursAnalyzer.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/BestAverageWorstTours/PickupAndDelivery/BestAverageWorstPickupAndDeliveryVRPToursAnalyzer.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/BestAverageWorstTours/PickupAndDelivery/BestAverageWorstPickupAndDeliveryVRPToursAnalyzer.cs	(revision 16462)
@@ -29,5 +29,5 @@
 using HeuristicLab.Optimization.Operators;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 using HeuristicLab.Problems.VehicleRouting.Variants;
@@ -38,5 +38,5 @@
   /// </summary>
   [Item("BestAverageWorstPickupAndDeliveryVRPToursAnalyzer", "An operator which analyzes the best, average and worst properties of the VRP tours in the scope tree.")]
-  [StorableClass]
+  [StorableType("B2B231AD-3B1A-4BD0-B6C3-F249A858BAE9")]
   public sealed class BestAverageWorstPickupAndDeliveryVRPToursAnalyzer : AlgorithmOperator, IAnalyzer, IPickupAndDeliveryOperator {
     #region Parameter properties
@@ -132,5 +132,5 @@
     }
     [StorableConstructor]
-    private BestAverageWorstPickupAndDeliveryVRPToursAnalyzer(bool deserializing) : base() { }
+    private BestAverageWorstPickupAndDeliveryVRPToursAnalyzer(StorableConstructorFlag _) : base(_) { }
 
     [StorableHook(HookType.AfterDeserialization)]
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/BestAverageWorstTours/PickupAndDelivery/BestAverageWorstPickupAndDeliveryVRPToursCalculator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/BestAverageWorstTours/PickupAndDelivery/BestAverageWorstPickupAndDeliveryVRPToursCalculator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/BestAverageWorstTours/PickupAndDelivery/BestAverageWorstPickupAndDeliveryVRPToursCalculator.cs	(revision 16462)
@@ -25,9 +25,9 @@
 using HeuristicLab.Operators;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting {
   [Item("BestAverageWorstPickupAndDeliveryVRPToursCalculator", "An operator which calculates the current best, average and worst properties of VRP tours in the scope tree.")]
-  [StorableClass]
+  [StorableType("C6F8ED53-EF3E-49E5-9D29-227E870AF3D8")]
   public sealed class BestAverageWorstPickupAndDeliveryVRPToursCalculator : SingleSuccessorOperator {
     public ScopeTreeLookupParameter<IntValue> PickupViolationsParameter {
@@ -61,5 +61,5 @@
 
     [StorableConstructor]
-    private BestAverageWorstPickupAndDeliveryVRPToursCalculator(bool deserializing) : base(deserializing) { }
+    private BestAverageWorstPickupAndDeliveryVRPToursCalculator(StorableConstructorFlag _) : base(_) { }
 
     private void UpdatePickupViolations() {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/BestAverageWorstTours/PickupAndDelivery/BestPickupAndDeliveryVRPToursMemorizer.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/BestAverageWorstTours/PickupAndDelivery/BestPickupAndDeliveryVRPToursMemorizer.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/BestAverageWorstTours/PickupAndDelivery/BestPickupAndDeliveryVRPToursMemorizer.cs	(revision 16462)
@@ -26,9 +26,9 @@
 using HeuristicLab.Operators;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting {
   [Item("BestPickupAndDeliveryVRPToursMemorizer", "An operator that updates the best VRP tour found so far in the scope three.")]
-  [StorableClass]
+  [StorableType("F9371738-574B-4658-BB10-12F29C951F72")]
   public class BestPickupAndDeliveryVRPToursMemorizer : SingleSuccessorOperator {
     public ScopeTreeLookupParameter<IntValue> PickupViolationsParameter {
@@ -56,5 +56,5 @@
 
     [StorableConstructor]
-    protected BestPickupAndDeliveryVRPToursMemorizer(bool deserializing) : base(deserializing) { }
+    protected BestPickupAndDeliveryVRPToursMemorizer(StorableConstructorFlag _) : base(_) { }
 
     public override IOperation Apply() {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/BestAverageWorstTours/TimeWindowed/BestAverageWorstTimeWindowedVRPToursAnalyzer.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/BestAverageWorstTours/TimeWindowed/BestAverageWorstTimeWindowedVRPToursAnalyzer.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/BestAverageWorstTours/TimeWindowed/BestAverageWorstTimeWindowedVRPToursAnalyzer.cs	(revision 16462)
@@ -29,5 +29,5 @@
 using HeuristicLab.Optimization.Operators;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 using HeuristicLab.Problems.VehicleRouting.Variants;
@@ -38,5 +38,5 @@
   /// </summary>
   [Item("BestAverageWorstTimeWindowedVRPToursAnalyzer", "An operator which analyzes the best, average and worst properties of the VRP tours in the scope tree.")]
-  [StorableClass]
+  [StorableType("EBEDE5FC-0AA9-4F99-986A-5499A8C8C506")]
   public sealed class BestAverageWorstTimeWindowedVRPToursAnalyzer : AlgorithmOperator, IAnalyzer, ITimeWindowedOperator {
     #region Parameter properties
@@ -179,5 +179,5 @@
     }
     [StorableConstructor]
-    private BestAverageWorstTimeWindowedVRPToursAnalyzer(bool deserializing) : base() { }
+    private BestAverageWorstTimeWindowedVRPToursAnalyzer(StorableConstructorFlag _) : base(_) { }
 
     [StorableHook(HookType.AfterDeserialization)]
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/BestAverageWorstTours/TimeWindowed/BestAverageWorstTimeWindowedVRPToursCalculator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/BestAverageWorstTours/TimeWindowed/BestAverageWorstTimeWindowedVRPToursCalculator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/BestAverageWorstTours/TimeWindowed/BestAverageWorstTimeWindowedVRPToursCalculator.cs	(revision 16462)
@@ -25,9 +25,9 @@
 using HeuristicLab.Operators;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting {
   [Item("BestAverageWorstTimeWindowedVRPToursCalculator", "An operator which calculates the current best, average and worst properties of VRP tours in the scope tree.")]
-  [StorableClass]
+  [StorableType("2B7EA9C1-4036-497F-861D-771679ADAAE7")]
   public sealed class BestAverageWorstTimeWindowedVRPToursCalculator : SingleSuccessorOperator {
     public ScopeTreeLookupParameter<DoubleValue> TardinessParameter {
@@ -71,5 +71,5 @@
 
     [StorableConstructor]
-    private BestAverageWorstTimeWindowedVRPToursCalculator(bool deserializing) : base(deserializing) { }
+    private BestAverageWorstTimeWindowedVRPToursCalculator(StorableConstructorFlag _) : base(_) { }
 
     public override IDeepCloneable Clone(Cloner cloner) {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/BestAverageWorstTours/TimeWindowed/BestTimeWindowedVRPToursMemorizer.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/BestAverageWorstTours/TimeWindowed/BestTimeWindowedVRPToursMemorizer.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/BestAverageWorstTours/TimeWindowed/BestTimeWindowedVRPToursMemorizer.cs	(revision 16462)
@@ -26,9 +26,9 @@
 using HeuristicLab.Operators;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting {
   [Item("BestTimeWindowedVRPToursMemorizer", "An operator that updates the best VRP tour found so far in the scope three.")]
-  [StorableClass]
+  [StorableType("74E88AF0-67A4-41FC-8235-4B72253C95BE")]
   public class BestTimeWindowedVRPToursMemorizer : SingleSuccessorOperator {
     public ScopeTreeLookupParameter<DoubleValue> TardinessParameter {
@@ -72,5 +72,5 @@
 
     [StorableConstructor]
-    protected BestTimeWindowedVRPToursMemorizer(bool deserializing) : base(deserializing) { }
+    protected BestTimeWindowedVRPToursMemorizer(StorableConstructorFlag _) : base(_) { }
 
     public override IDeepCloneable Clone(Cloner cloner) {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/BestSolution/BestVRPSolutionAnalyzer.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/BestSolution/BestVRPSolutionAnalyzer.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/BestSolution/BestVRPSolutionAnalyzer.cs	(revision 16462)
@@ -27,5 +27,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 using HeuristicLab.Problems.VehicleRouting.ProblemInstances;
@@ -37,5 +37,5 @@
   /// </summary>
   [Item("BestVRPSolutionAnalyzer", "An operator for analyzing the best solution of Vehicle Routing Problems.")]
-  [StorableClass]
+  [StorableType("42DFB4D7-0DDA-424A-9DB3-1EDAB917A26B")]
   public sealed class BestVRPSolutionAnalyzer : SingleSuccessorOperator, IAnalyzer, IGeneralVRPOperator, ISingleObjectiveOperator {
     public ILookupParameter<IVRPProblemInstance> ProblemInstanceParameter {
@@ -78,5 +78,5 @@
 
     [StorableConstructor]
-    private BestVRPSolutionAnalyzer(bool deserializing) : base(deserializing) { }
+    private BestVRPSolutionAnalyzer(StorableConstructorFlag _) : base(_) { }
 
     public BestVRPSolutionAnalyzer()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/BestSolution/Capacitated/BestCapacitatedVRPSolutionAnalyzer.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/BestSolution/Capacitated/BestCapacitatedVRPSolutionAnalyzer.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/BestSolution/Capacitated/BestCapacitatedVRPSolutionAnalyzer.cs	(revision 16462)
@@ -27,5 +27,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 using HeuristicLab.Problems.VehicleRouting.Variants;
@@ -37,5 +37,5 @@
   /// </summary>
   [Item("BestCapacitatedVRPSolutionAnalyzer", "An operator for analyzing the best solution of capacitated Vehicle Routing Problems.")]
-  [StorableClass]
+  [StorableType("5E50BE52-E801-4F84-8070-298368FEC208")]
   public sealed class BestCapacitatedVRPSolutionAnalyzer : SingleSuccessorOperator, IAnalyzer, ICapacitatedOperator, ISingleObjectiveOperator {
     public ILookupParameter<IVRPProblemInstance> ProblemInstanceParameter {
@@ -65,5 +65,5 @@
 
     [StorableConstructor]
-    private BestCapacitatedVRPSolutionAnalyzer(bool deserializing) : base(deserializing) { }
+    private BestCapacitatedVRPSolutionAnalyzer(StorableConstructorFlag _) : base(_) { }
 
     public BestCapacitatedVRPSolutionAnalyzer()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/BestSolution/PickupAndDelivery/BestPickupAndDeliveryVRPSolutionAnalyzer.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/BestSolution/PickupAndDelivery/BestPickupAndDeliveryVRPSolutionAnalyzer.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/BestSolution/PickupAndDelivery/BestPickupAndDeliveryVRPSolutionAnalyzer.cs	(revision 16462)
@@ -27,5 +27,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 using HeuristicLab.Problems.VehicleRouting.Variants;
@@ -37,5 +37,5 @@
   /// </summary>
   [Item("BestPickupAndDeliveryVRPSolutionAnalyzer", "An operator for analyzing the best solution of Pickup and Delivery Routing Problems.")]
-  [StorableClass]
+  [StorableType("81CA703F-038E-4D41-BB3F-25E04EC46AF9")]
   public sealed class BestPickupAndDeliveryVRPSolutionAnalyzer : SingleSuccessorOperator, IAnalyzer, IPickupAndDeliveryOperator, ISingleObjectiveOperator {
     public ILookupParameter<IVRPProblemInstance> ProblemInstanceParameter {
@@ -65,5 +65,5 @@
 
     [StorableConstructor]
-    private BestPickupAndDeliveryVRPSolutionAnalyzer(bool deserializing) : base(deserializing) { }
+    private BestPickupAndDeliveryVRPSolutionAnalyzer(StorableConstructorFlag _) : base(_) { }
 
     public BestPickupAndDeliveryVRPSolutionAnalyzer()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/BestSolution/TimeWindowed/BestTimeWindowedVRPSolutionAnalyzer.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/BestSolution/TimeWindowed/BestTimeWindowedVRPSolutionAnalyzer.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/BestSolution/TimeWindowed/BestTimeWindowedVRPSolutionAnalyzer.cs	(revision 16462)
@@ -27,5 +27,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 using HeuristicLab.Problems.VehicleRouting.Variants;
@@ -37,5 +37,5 @@
   /// </summary>
   [Item("BestTimeWindowedVRPSolutionAnalyzer", "An operator for analyzing the best solution of time windowed Vehicle Routing Problems.")]
-  [StorableClass]
+  [StorableType("2804825D-064C-4AF5-970B-3F17796579D9")]
   public sealed class BestTimeWindowedVRPSolutionAnalyzer : SingleSuccessorOperator, IAnalyzer, ITimeWindowedOperator, ISingleObjectiveOperator {
     public ILookupParameter<IVRPProblemInstance> ProblemInstanceParameter {
@@ -68,5 +68,5 @@
 
     [StorableConstructor]
-    private BestTimeWindowedVRPSolutionAnalyzer(bool deserializing) : base(deserializing) { }
+    private BestTimeWindowedVRPSolutionAnalyzer(StorableConstructorFlag _) : base(_) { }
 
     public BestTimeWindowedVRPSolutionAnalyzer()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/ConstraintRelaxation/Capacitated/CapacityRelaxationVRPAnalyzer.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/ConstraintRelaxation/Capacitated/CapacityRelaxationVRPAnalyzer.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/ConstraintRelaxation/Capacitated/CapacityRelaxationVRPAnalyzer.cs	(revision 16462)
@@ -26,5 +26,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 using HeuristicLab.Problems.VehicleRouting.Variants;
@@ -35,5 +35,5 @@
   /// </summary>
   [Item("CapacityRelaxationVRPAnalyzer", "An operator for adaptively relaxing the capacity constraints.")]
-  [StorableClass]
+  [StorableType("02E519CA-7B71-4BBE-89A5-E630D1FEFC58")]
   public class CapacityRelaxationVRPAnalyzer : SingleSuccessorOperator, IAnalyzer, ICapacitatedOperator, ISingleObjectiveOperator {
     public ILookupParameter<IVRPProblemInstance> ProblemInstanceParameter {
@@ -73,5 +73,5 @@
 
     [StorableConstructor]
-    protected CapacityRelaxationVRPAnalyzer(bool deserializing) : base(deserializing) { }
+    protected CapacityRelaxationVRPAnalyzer(StorableConstructorFlag _) : base(_) { }
 
     public CapacityRelaxationVRPAnalyzer()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/ConstraintRelaxation/PickupAndDelivery/PickupViolationsRelaxationVRPAnalyzer.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/ConstraintRelaxation/PickupAndDelivery/PickupViolationsRelaxationVRPAnalyzer.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/ConstraintRelaxation/PickupAndDelivery/PickupViolationsRelaxationVRPAnalyzer.cs	(revision 16462)
@@ -26,5 +26,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 using HeuristicLab.Problems.VehicleRouting.Variants;
@@ -35,5 +35,5 @@
   /// </summary>
   [Item("PickupViolationsRelaxationVRPAnalyzer", "An operator for adaptively relaxing the pickup constraints.")]
-  [StorableClass]
+  [StorableType("86D541AB-5E65-432B-A8C4-F012A6B46275")]
   public class PickupViolationsRelaxationVRPAnalyzer : SingleSuccessorOperator, IAnalyzer, IPickupAndDeliveryOperator, ISingleObjectiveOperator {
     public ILookupParameter<IVRPProblemInstance> ProblemInstanceParameter {
@@ -73,5 +73,5 @@
 
     [StorableConstructor]
-    protected PickupViolationsRelaxationVRPAnalyzer(bool deserializing) : base(deserializing) { }
+    protected PickupViolationsRelaxationVRPAnalyzer(StorableConstructorFlag _) : base(_) { }
 
     public PickupViolationsRelaxationVRPAnalyzer()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/ConstraintRelaxation/TimeWindowed/TimeWindowRelaxationVRPAnalyzer.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/ConstraintRelaxation/TimeWindowed/TimeWindowRelaxationVRPAnalyzer.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/ConstraintRelaxation/TimeWindowed/TimeWindowRelaxationVRPAnalyzer.cs	(revision 16462)
@@ -26,5 +26,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 using HeuristicLab.Problems.VehicleRouting.Variants;
@@ -35,5 +35,5 @@
   /// </summary>
   [Item("TimeWindowRelaxationVRPAnalyzer", "An operator for adaptively relaxing the time window constraints.")]
-  [StorableClass]
+  [StorableType("2CF57A00-547B-46E8-8B55-D626EB2D61DD")]
   public class TimeWindowRelaxationVRPAnalyzer : SingleSuccessorOperator, IAnalyzer, ITimeWindowedOperator, ISingleObjectiveOperator {
     public ILookupParameter<IVRPProblemInstance> ProblemInstanceParameter {
@@ -73,5 +73,5 @@
 
     [StorableConstructor]
-    protected TimeWindowRelaxationVRPAnalyzer(bool deserializing) : base(deserializing) { }
+    protected TimeWindowRelaxationVRPAnalyzer(StorableConstructorFlag _) : base(_) { }
 
     public TimeWindowRelaxationVRPAnalyzer()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/VRPSolution.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/VRPSolution.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/VRPSolution.cs	(revision 16462)
@@ -25,5 +25,5 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 
@@ -33,5 +33,5 @@
   /// </summary>
   [Item("VRPSolution", "Represents a VRP solution which can be visualized in the GUI.")]
-  [StorableClass]
+  [StorableType("74CBBEDB-DE6E-4122-AC38-F49DC2B85730")]
   public sealed class VRPSolution : Item {
     public static new Image StaticItemImage {
@@ -90,5 +90,5 @@
     }
     [StorableConstructor]
-    private VRPSolution(bool deserializing) : base(deserializing) { }
+    private VRPSolution(StorableConstructorFlag _) : base(_) { }
 
     [StorableHook(HookType.AfterDeserialization)]
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/AlbaEncoding.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/AlbaEncoding.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/AlbaEncoding.cs	(revision 16462)
@@ -25,10 +25,10 @@
 using HeuristicLab.Data;
 using HeuristicLab.Encodings.PermutationEncoding;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
   [Item("AlbaEncoding", "Represents an Alba encoding of VRP solutions. It is implemented as described in Alba, E. and Dorronsoro, B. (2004). Solving the Vehicle Routing Problem by Using Cellular Genetic Algorithms.")]
-  [StorableClass]
+  [StorableType("8BB9735D-8371-46C1-B843-A6864B2ACDA5")]
   public class AlbaEncoding : General.PermutationEncoding {
     #region IVRPEncoding Members
@@ -106,6 +106,5 @@
 
     [StorableConstructor]
-    protected AlbaEncoding(bool serializing)
-      : base(serializing) {
+    protected AlbaEncoding(StorableConstructorFlag _) : base(_) {
     }
 
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Creators/AlbaCreator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Creators/AlbaCreator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Creators/AlbaCreator.cs	(revision 16462)
@@ -22,5 +22,5 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Encodings.General;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
@@ -28,5 +28,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
   [Item("AlbaCreator", "A VRP creator.")]
-  [StorableClass]
+  [StorableType("95DC1B24-02C9-4AF0-8A00-21A47AFB9E39")]
   public abstract class AlbaCreator : VRPCreator, IAlbaOperator, IVRPCreator {
     public override bool CanChangeName {
@@ -35,5 +35,5 @@
 
     [StorableConstructor]
-    protected AlbaCreator(bool deserializing) : base(deserializing) { }
+    protected AlbaCreator(StorableConstructorFlag _) : base(_) { }
 
     public AlbaCreator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Creators/RandomCreator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Creators/RandomCreator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Creators/RandomCreator.cs	(revision 16462)
@@ -25,9 +25,9 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
   [Item("RandomCreator", "Creates a randomly initialized VRP solution.")]
-  [StorableClass]
+  [StorableType("3B0B288F-71C6-438B-96DF-C21243E7E66D")]
   public sealed class RandomCreator : AlbaCreator, IStochasticOperator {
     #region IStochasticOperator Members
@@ -38,5 +38,5 @@
 
     [StorableConstructor]
-    private RandomCreator(bool deserializing) : base(deserializing) { }
+    private RandomCreator(StorableConstructorFlag _) : base(_) { }
 
     public RandomCreator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Crossovers/AlbaCrossover.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Crossovers/AlbaCrossover.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Crossovers/AlbaCrossover.cs	(revision 16462)
@@ -24,5 +24,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Encodings.General;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
@@ -30,5 +30,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
   [Item("AlbaCrossover", "An operator which crosses two VRP representations.")]
-  [StorableClass]
+  [StorableType("64C6C851-64D6-42B7-B077-627F3E5791F4")]
   public abstract class AlbaCrossover : VRPCrossover, IAlbaOperator, IVRPCrossover, IStochasticOperator {
     public ILookupParameter<IRandom> RandomParameter {
@@ -37,6 +37,5 @@
 
     [StorableConstructor]
-    protected AlbaCrossover(bool deserializing)
-      : base(deserializing) {
+    protected AlbaCrossover(StorableConstructorFlag _) : base(_) {
     }
 
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Crossovers/AlbaPermutationCrossover.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Crossovers/AlbaPermutationCrossover.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Crossovers/AlbaPermutationCrossover.cs	(revision 16462)
@@ -24,9 +24,9 @@
 using HeuristicLab.Encodings.PermutationEncoding;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
   [Item("AlbaPermutationCrossover", "An operator which crosses two VRP representations using a standard permutation operator.  It is implemented as described in Alba, E. and Dorronsoro, B. (2004). Solving the Vehicle Routing Problem by Using Cellular Genetic Algorithms.")]
-  [StorableClass]
+  [StorableType("E97C3448-E2DD-4BD6-B15B-F8AFF77FF03F")]
   public sealed class AlbaPermutationCrossover : AlbaCrossover {
     public IValueLookupParameter<IPermutationCrossover> InnerCrossoverParameter {
@@ -35,5 +35,5 @@
 
     [StorableConstructor]
-    private AlbaPermutationCrossover(bool deserializing) : base(deserializing) { }
+    private AlbaPermutationCrossover(StorableConstructorFlag _) : base(_) { }
 
     public AlbaPermutationCrossover()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/LocalImprovement/AlbaLambdaInterchangeLocalImprovementOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/LocalImprovement/AlbaLambdaInterchangeLocalImprovementOperator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/LocalImprovement/AlbaLambdaInterchangeLocalImprovementOperator.cs	(revision 16462)
@@ -20,20 +20,15 @@
 #endregion
 
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
 using HeuristicLab.Optimization;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Data;
 using HeuristicLab.Common;
 using HeuristicLab.Parameters;
-using HeuristicLab.Operators;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
   [Item("AlbaLambdaInterchangeLocalImprovementOperator", "Takes a solution and finds the local optimum with respect to the lambda interchange neighborhood by decending along the steepest gradient.")]
-  [StorableClass]
+  [StorableType("84981F03-B886-4ADD-8DB5-C12628404335")]
   public class AlbaLambdaInterchangeLocalImprovementOperator : VRPOperator, IStochasticOperator, ILocalImprovementOperator, ISingleObjectiveOperator {
 
@@ -71,5 +66,5 @@
 
     [StorableConstructor]
-    protected AlbaLambdaInterchangeLocalImprovementOperator(bool deserializing) : base(deserializing) { }
+    protected AlbaLambdaInterchangeLocalImprovementOperator(StorableConstructorFlag _) : base(_) { }
     protected AlbaLambdaInterchangeLocalImprovementOperator(AlbaLambdaInterchangeLocalImprovementOperator original, Cloner cloner)
       : base(original, cloner) {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Manipulators/AlbaCustomerInsertionManipulator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Manipulators/AlbaCustomerInsertionManipulator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Manipulators/AlbaCustomerInsertionManipulator.cs	(revision 16462)
@@ -22,12 +22,12 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
   [Item("AlbaCustomerInsertionManipulator", "An operator which manipulates a VRP representation by inserting a customer in another place.  It is implemented as described in Alba, E. and Dorronsoro, B. (2004). Solving the Vehicle Routing Problem by Using Cellular Genetic Algorithms.")]
-  [StorableClass]
+  [StorableType("285F8CFD-4427-4A5C-920E-EBD33533FD80")]
   public sealed class AlbaCustomerInsertionManipulator : AlbaManipulator {
     [StorableConstructor]
-    private AlbaCustomerInsertionManipulator(bool deserializing) : base(deserializing) { }
+    private AlbaCustomerInsertionManipulator(StorableConstructorFlag _) : base(_) { }
 
     public AlbaCustomerInsertionManipulator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Manipulators/AlbaCustomerInversionManipulator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Manipulators/AlbaCustomerInversionManipulator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Manipulators/AlbaCustomerInversionManipulator.cs	(revision 16462)
@@ -23,12 +23,12 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
   [Item("AlbaCustomerInversionManipulator", "An operator which manipulates a VRP representation by inverting the order the customers are visited.  It is implemented as described in Alba, E. and Dorronsoro, B. (2004). Solving the Vehicle Routing Problem by Using Cellular Genetic Algorithms.")]
-  [StorableClass]
+  [StorableType("CDAD0FC4-B858-4FDA-B136-6D093A10ACED")]
   public sealed class AlbaCustomerInversionManipulator : AlbaManipulator {
     [StorableConstructor]
-    private AlbaCustomerInversionManipulator(bool deserializing) : base(deserializing) { }
+    private AlbaCustomerInversionManipulator(StorableConstructorFlag _) : base(_) { }
 
     public AlbaCustomerInversionManipulator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Manipulators/AlbaCustomerSwapManipulator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Manipulators/AlbaCustomerSwapManipulator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Manipulators/AlbaCustomerSwapManipulator.cs	(revision 16462)
@@ -22,12 +22,12 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
   [Item("AlbaCustomerSwapManipulator", "An operator which manipulates a VRP representation by swapping two customers.  It is implemented as described in Alba, E. and Dorronsoro, B. (2004). Solving the Vehicle Routing Problem by Using Cellular Genetic Algorithms.")]
-  [StorableClass]
+  [StorableType("9040B9C9-B7BB-4EC9-8049-4A488F8A6976")]
   public sealed class AlbaCustomerSwapManipulator : AlbaManipulator {
     [StorableConstructor]
-    private AlbaCustomerSwapManipulator(bool deserializing) : base(deserializing) { }
+    private AlbaCustomerSwapManipulator(StorableConstructorFlag _) : base(_) { }
 
     public AlbaCustomerSwapManipulator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Manipulators/AlbaIntraRouteInversionManipulator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Manipulators/AlbaIntraRouteInversionManipulator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Manipulators/AlbaIntraRouteInversionManipulator.cs	(revision 16462)
@@ -23,12 +23,12 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
   [Item("AlbaIntraRouteInversionManipulator", "An operator which applies the SLS operation to a VRP representation. It is implemented as described in Alba, E. and Dorronsoro, B. (2004). Solving the Vehicle Routing Problem by Using Cellular Genetic Algorithms.")]
-  [StorableClass]
+  [StorableType("B64561D5-BFB8-47CB-A9D9-3F17A9510B45")]
   public sealed class AlbaIntraRouteInversionManipulator : AlbaManipulator {
     [StorableConstructor]
-    private AlbaIntraRouteInversionManipulator(bool deserializing) : base(deserializing) { }
+    private AlbaIntraRouteInversionManipulator(StorableConstructorFlag _) : base(_) { }
 
     public AlbaIntraRouteInversionManipulator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Manipulators/AlbaLambdaInterchangeManipulator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Manipulators/AlbaLambdaInterchangeManipulator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Manipulators/AlbaLambdaInterchangeManipulator.cs	(revision 16462)
@@ -26,9 +26,9 @@
 using HeuristicLab.Data;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
   [Item("AlbaLambdaInterchangeManipulator", "An operator which applies the lambda interchange operation to a VRP representation. It is implemented as described in Alba, E. and Dorronsoro, B. (2004). Solving the Vehicle Routing Problem by Using Cellular Genetic Algorithms.")]
-  [StorableClass]
+  [StorableType("7196378A-17BB-474E-ACCD-900683FD4030")]
   public sealed class AlbaLambdaInterchangeManipulator : AlbaManipulator {
     public IValueParameter<IntValue> LambdaParameter {
@@ -37,5 +37,5 @@
 
     [StorableConstructor]
-    private AlbaLambdaInterchangeManipulator(bool deserializing) : base(deserializing) { }
+    private AlbaLambdaInterchangeManipulator(StorableConstructorFlag _) : base(_) { }
 
     public AlbaLambdaInterchangeManipulator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Manipulators/AlbaManipulator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Manipulators/AlbaManipulator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Manipulators/AlbaManipulator.cs	(revision 16462)
@@ -24,5 +24,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Encodings.General;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
@@ -30,5 +30,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
   [Item("AlbaManipulator", "An operator which manipulates a VRP representation.")]
-  [StorableClass]
+  [StorableType("D482A064-C423-4B72-BFFA-95C3A86356E8")]
   public abstract class AlbaManipulator : VRPManipulator, IAlbaOperator, IVRPManipulator, IStochasticOperator {
     public ILookupParameter<IRandom> RandomParameter {
@@ -37,5 +37,5 @@
 
     [StorableConstructor]
-    protected AlbaManipulator(bool deserializing) : base(deserializing) { }
+    protected AlbaManipulator(StorableConstructorFlag _) : base(_) { }
 
     public AlbaManipulator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Manipulators/AlbaPermutationManipulator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Manipulators/AlbaPermutationManipulator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Manipulators/AlbaPermutationManipulator.cs	(revision 16462)
@@ -24,9 +24,9 @@
 using HeuristicLab.Encodings.PermutationEncoding;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
   [Item("AlbaPermutationManipulator", "An operator which manipulates a VRP representation by using a standard permutation manipulator.  It is implemented as described in Alba, E. and Dorronsoro, B. (2004). Solving the Vehicle Routing Problem by Using Cellular Genetic Algorithms.")]
-  [StorableClass]
+  [StorableType("EC65F07B-F693-4FEE-A595-39B02D633560")]
   public sealed class AlbaPermutationManipualtor : AlbaManipulator {
     public IValueLookupParameter<IPermutationManipulator> InnerManipulatorParameter {
@@ -35,5 +35,5 @@
 
     [StorableConstructor]
-    private AlbaPermutationManipualtor(bool deserializing) : base(deserializing) { }
+    private AlbaPermutationManipualtor(StorableConstructorFlag _) : base(_) { }
 
     public AlbaPermutationManipualtor()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/AlbaMoveEvaluator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/AlbaMoveEvaluator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/AlbaMoveEvaluator.cs	(revision 16462)
@@ -22,13 +22,13 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Encodings.General;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
   [Item("AlbaMoveEvaluator", "Evaluates an Alba VRP move.")]
-  [StorableClass]
+  [StorableType("7658EE50-9E2E-4742-AE23-DC3C4609A807")]
   public abstract class AlbaMoveEvaluator : VRPMoveEvaluator, IAlbaOperator {
     [StorableConstructor]
-    protected AlbaMoveEvaluator(bool deserializing) : base(deserializing) { }
+    protected AlbaMoveEvaluator(StorableConstructorFlag _) : base(_) { }
 
     public AlbaMoveEvaluator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/AlbaMoveGenerator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/AlbaMoveGenerator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/AlbaMoveGenerator.cs	(revision 16462)
@@ -22,5 +22,5 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Encodings.General;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
@@ -28,8 +28,8 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
   [Item("AlbaMoveGenerator", "Generates Alba VRP moves.")]
-  [StorableClass]
+  [StorableType("97A1A0D2-BC7F-4F68-A9FD-2CC29F487AF2")]
   public abstract class AlbaMoveGenerator : VRPMoveGenerator, IAlbaOperator {
     [StorableConstructor]
-    protected AlbaMoveGenerator(bool deserializing) : base(deserializing) { }
+    protected AlbaMoveGenerator(StorableConstructorFlag _) : base(_) { }
 
     public AlbaMoveGenerator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/AlbaMoveMaker.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/AlbaMoveMaker.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/AlbaMoveMaker.cs	(revision 16462)
@@ -22,13 +22,13 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Encodings.General;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
   [Item("AlbaMoveMaker", "Makes an Alba VRP move.")]
-  [StorableClass]
+  [StorableType("312C6293-55DB-4FA1-9CFF-1BEFEA770B47")]
   public abstract class AlbaMoveMaker : VRPMoveMaker, IAlbaOperator {
     [StorableConstructor]
-    protected AlbaMoveMaker(bool deserializing) : base(deserializing) { }
+    protected AlbaMoveMaker(StorableConstructorFlag _) : base(_) { }
 
     public AlbaMoveMaker()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/IntraRouteInversion/AlbaExhaustiveIntraRouteInversionMoveGenerator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/IntraRouteInversion/AlbaExhaustiveIntraRouteInversionMoveGenerator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/IntraRouteInversion/AlbaExhaustiveIntraRouteInversionMoveGenerator.cs	(revision 16462)
@@ -24,13 +24,13 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
   [Item("AlbaExhaustiveIntraRouteInversionGenerator", "Generates all possible intra route inversion moves from a given VRP encoding.  It is implemented as described in Alba, E. and Dorronsoro, B. (2004). Solving the Vehicle Routing Problem by Using Cellular Genetic Algorithms.")]
-  [StorableClass]
+  [StorableType("11670474-FE25-4641-8711-B68B645D15C1")]
   public sealed class AlbaExhaustiveIntraRouteInversionGenerator : AlbaIntraRouteInversionMoveGenerator, IExhaustiveMoveGenerator, IAlbaIntraRouteInversionMoveOperator {
     [StorableConstructor]
-    private AlbaExhaustiveIntraRouteInversionGenerator(bool deserializing) : base(deserializing) { }
+    private AlbaExhaustiveIntraRouteInversionGenerator(StorableConstructorFlag _) : base(_) { }
 
     public AlbaExhaustiveIntraRouteInversionGenerator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/IntraRouteInversion/AlbaIntraRouteInversionEvaluator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/IntraRouteInversion/AlbaIntraRouteInversionEvaluator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/IntraRouteInversion/AlbaIntraRouteInversionEvaluator.cs	(revision 16462)
@@ -23,10 +23,10 @@
 using HeuristicLab.Core;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Encodings.Alba;
 
 namespace HeuristicLab.Problems.VehicleRouting {
   [Item("AlbaIntraRouteInversionMoveEvaluator", "Evaluates a intra route inversion move for a VRP representation.  It is implemented as described in Alba, E. and Dorronsoro, B. (2004). Solving the Vehicle Routing Problem by Using Cellular Genetic Algorithms.")]
-  [StorableClass]
+  [StorableType("39ABD8F7-0745-4037-BA99-830DBE9ACA4E")]
   public sealed class AlbaIntraRouteInversionMoveEvaluator : AlbaMoveEvaluator, IAlbaIntraRouteInversionMoveOperator {
     public ILookupParameter<AlbaIntraRouteInversionMove> IntraRouteInversionMoveParameter {
@@ -39,5 +39,5 @@
 
     [StorableConstructor]
-    private AlbaIntraRouteInversionMoveEvaluator(bool deserializing) : base(deserializing) { }
+    private AlbaIntraRouteInversionMoveEvaluator(StorableConstructorFlag _) : base(_) { }
 
     public AlbaIntraRouteInversionMoveEvaluator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/IntraRouteInversion/AlbaIntraRouteInversionMove.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/IntraRouteInversion/AlbaIntraRouteInversionMove.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/IntraRouteInversion/AlbaIntraRouteInversionMove.cs	(revision 16462)
@@ -24,5 +24,5 @@
 using HeuristicLab.Encodings.PermutationEncoding;
 using HeuristicLab.Optimization;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Encodings.General;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
@@ -30,10 +30,10 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
   [Item("AlbaIntraRouteInversionMove", "Item that describes an intra route inversion move on a VRP representation.  It is implemented as described in Alba, E. and Dorronsoro, B. (2004). Solving the Vehicle Routing Problem by Using Cellular Genetic Algorithms.")]
-  [StorableClass]
+  [StorableType("F0A32074-2D3F-4236-A732-8C095FA5F64E")]
   public class AlbaIntraRouteInversionMove : TwoIndexMove, IVRPMove {
     public IVRPEncoding Individual { get { return Permutation as AlbaEncoding; } }
 
     [StorableConstructor]
-    protected AlbaIntraRouteInversionMove(bool deserializing) : base(deserializing) { }
+    protected AlbaIntraRouteInversionMove(StorableConstructorFlag _) : base(_) { }
 
     protected AlbaIntraRouteInversionMove(AlbaIntraRouteInversionMove original, Cloner cloner)
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/IntraRouteInversion/AlbaIntraRouteInversionMoveGenerator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/IntraRouteInversion/AlbaIntraRouteInversionMoveGenerator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/IntraRouteInversion/AlbaIntraRouteInversionMoveGenerator.cs	(revision 16462)
@@ -24,10 +24,10 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
   [Item("AlbaIntraRouteInversionMoveGenerator", "Generates intra route inversion moves from a given VRP encoding.  It is implemented as described in Alba, E. and Dorronsoro, B. (2004). Solving the Vehicle Routing Problem by Using Cellular Genetic Algorithms.")]
-  [StorableClass]
+  [StorableType("F2D66918-2307-4D0F-A7ED-2E429DA1B6F5")]
   public abstract class AlbaIntraRouteInversionMoveGenerator : AlbaMoveGenerator, IExhaustiveMoveGenerator, IAlbaIntraRouteInversionMoveOperator {
     public ILookupParameter<AlbaIntraRouteInversionMove> IntraRouteInversionMoveParameter {
@@ -44,5 +44,5 @@
 
     [StorableConstructor]
-    protected AlbaIntraRouteInversionMoveGenerator(bool deserializing) : base(deserializing) { }
+    protected AlbaIntraRouteInversionMoveGenerator(StorableConstructorFlag _) : base(_) { }
 
     public AlbaIntraRouteInversionMoveGenerator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/IntraRouteInversion/AlbaIntraRouteInversionMoveMaker.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/IntraRouteInversion/AlbaIntraRouteInversionMoveMaker.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/IntraRouteInversion/AlbaIntraRouteInversionMoveMaker.cs	(revision 16462)
@@ -24,9 +24,9 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
   [Item("AlbaIntraRouteInversionMoveMaker", "Peforms the SLS move on a given VRP encoding and updates the quality.  It is implemented as described in Alba, E. and Dorronsoro, B. (2004). Solving the Vehicle Routing Problem by Using Cellular Genetic Algorithms.")]
-  [StorableClass]
+  [StorableType("B2A4AD5F-E09B-4F2F-BAE4-8E80F84DAA67")]
   public class AlbaIntraRouteInversionMoveMaker : AlbaMoveMaker, IAlbaIntraRouteInversionMoveOperator, IMoveMaker {
     public ILookupParameter<AlbaIntraRouteInversionMove> IntraRouteInversionMoveParameter {
@@ -39,5 +39,5 @@
 
     [StorableConstructor]
-    protected AlbaIntraRouteInversionMoveMaker(bool deserializing) : base(deserializing) { }
+    protected AlbaIntraRouteInversionMoveMaker(StorableConstructorFlag _) : base(_) { }
 
     public AlbaIntraRouteInversionMoveMaker()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/IntraRouteInversion/AlbaStochasticIntraRouteInversionMutliMoveGenerator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/IntraRouteInversion/AlbaStochasticIntraRouteInversionMutliMoveGenerator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/IntraRouteInversion/AlbaStochasticIntraRouteInversionMutliMoveGenerator.cs	(revision 16462)
@@ -25,5 +25,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Encodings.General;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
@@ -31,5 +31,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
   [Item("AlbaStochasticIntraRouteInversionMultiMoveGenerator", "Generates multiple random intra route inversion moves from a given VRP encoding.  It is implemented as described in Alba, E. and Dorronsoro, B. (2004). Solving the Vehicle Routing Problem by Using Cellular Genetic Algorithms.")]
-  [StorableClass]
+  [StorableType("16DCDE21-1817-467B-B3E2-06BEF35541BD")]
   public sealed class AlbaStochasticIntraRouteInversionMultiMoveGenerator : AlbaIntraRouteInversionMoveGenerator, IStochasticOperator,
     IMultiMoveGenerator, IAlbaIntraRouteInversionMoveOperator, IMultiVRPMoveGenerator {
@@ -43,5 +43,5 @@
 
     [StorableConstructor]
-    private AlbaStochasticIntraRouteInversionMultiMoveGenerator(bool deserializing) : base(deserializing) { }
+    private AlbaStochasticIntraRouteInversionMultiMoveGenerator(StorableConstructorFlag _) : base(_) { }
 
     public AlbaStochasticIntraRouteInversionMultiMoveGenerator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/IntraRouteInversion/AlbaStochasticIntraRouteInversionSingleMoveGenerator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/IntraRouteInversion/AlbaStochasticIntraRouteInversionSingleMoveGenerator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/IntraRouteInversion/AlbaStochasticIntraRouteInversionSingleMoveGenerator.cs	(revision 16462)
@@ -25,10 +25,10 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
   [Item("AlbaStochasticIntraRouteInversionSingleMoveGenerator", "Generates one random intra route inversion move from a given VRP encoding.  It is implemented as described in Alba, E. and Dorronsoro, B. (2004). Solving the Vehicle Routing Problem by Using Cellular Genetic Algorithms.")]
-  [StorableClass]
+  [StorableType("53458AC0-F674-4A75-9737-63052F17B54F")]
   public sealed class AlbaStochasticIntraRouteInversionSingleMoveGenerator : AlbaIntraRouteInversionMoveGenerator,
     IStochasticOperator, ISingleMoveGenerator, IAlbaIntraRouteInversionMoveOperator {
@@ -46,5 +46,5 @@
 
     [StorableConstructor]
-    private AlbaStochasticIntraRouteInversionSingleMoveGenerator(bool deserializing) : base(deserializing) { }
+    private AlbaStochasticIntraRouteInversionSingleMoveGenerator(StorableConstructorFlag _) : base(_) { }
 
     public AlbaStochasticIntraRouteInversionSingleMoveGenerator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/LambdaInterchange/AlbaExhaustiveLambdaInterchangeMoveGenerator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/LambdaInterchange/AlbaExhaustiveLambdaInterchangeMoveGenerator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/LambdaInterchange/AlbaExhaustiveLambdaInterchangeMoveGenerator.cs	(revision 16462)
@@ -25,13 +25,13 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
   [Item("AlbaExhaustiveLambdaInterchangeMoveGenerator", "Generates all possible lambda interchange moves from a given VRP encoding.  It is implemented as described in Alba, E. and Dorronsoro, B. (2004). Solving the Vehicle Routing Problem by Using Cellular Genetic Algorithms.")]
-  [StorableClass]
+  [StorableType("2602E521-452B-4554-92E3-BF24666A08B7")]
   public sealed class AlbaExhaustiveLambdaInterchangeMoveGenerator : AlbaLambdaInterchangeMoveGenerator, IExhaustiveMoveGenerator, IAlbaLambdaInterchangeMoveOperator {
     [StorableConstructor]
-    private AlbaExhaustiveLambdaInterchangeMoveGenerator(bool deserializing) : base(deserializing) { }
+    private AlbaExhaustiveLambdaInterchangeMoveGenerator(StorableConstructorFlag _) : base(_) { }
 
     public AlbaExhaustiveLambdaInterchangeMoveGenerator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/LambdaInterchange/AlbaLambdaInterchangeMove.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/LambdaInterchange/AlbaLambdaInterchangeMove.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/LambdaInterchange/AlbaLambdaInterchangeMove.cs	(revision 16462)
@@ -23,5 +23,5 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Encodings.General;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
@@ -29,5 +29,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
   [Item("AlbaLambdaInterchangeMove", "Item that describes a lambda move on a VRP representation.  It is implemented as described in Alba, E. and Dorronsoro, B. (2004). Solving the Vehicle Routing Problem by Using Cellular Genetic Algorithms.")]
-  [StorableClass]
+  [StorableType("81F387D5-917B-45FB-842A-2DD305B8E313")]
   public class AlbaLambdaInterchangeMove : Item, IVRPMove {
     [Storable]
@@ -79,5 +79,5 @@
 
     [StorableConstructor]
-    protected AlbaLambdaInterchangeMove(bool deserializing) : base(deserializing) { }
+    protected AlbaLambdaInterchangeMove(StorableConstructorFlag _) : base(_) { }
 
     public override IDeepCloneable Clone(Cloner cloner) {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/LambdaInterchange/AlbaLambdaInterchangeMoveEvaluator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/LambdaInterchange/AlbaLambdaInterchangeMoveEvaluator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/LambdaInterchange/AlbaLambdaInterchangeMoveEvaluator.cs	(revision 16462)
@@ -23,10 +23,10 @@
 using HeuristicLab.Core;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Encodings.Alba;
 
 namespace HeuristicLab.Problems.VehicleRouting {
   [Item("AlbaLambdaInterchangeMoveEvaluator", "Evaluates a lamnbda interchange move for a VRP representation.  It is implemented as described in Alba, E. and Dorronsoro, B. (2004). Solving the Vehicle Routing Problem by Using Cellular Genetic Algorithms.")]
-  [StorableClass]
+  [StorableType("19F0179C-8D5C-4181-9411-9EBE0B951673")]
   public sealed class AlbaLambdaInterchangeMoveEvaluator : AlbaMoveEvaluator, IAlbaLambdaInterchangeMoveOperator {
     public ILookupParameter<AlbaLambdaInterchangeMove> LambdaInterchangeMoveParameter {
@@ -39,5 +39,5 @@
 
     [StorableConstructor]
-    private AlbaLambdaInterchangeMoveEvaluator(bool deserializing) : base(deserializing) { }
+    private AlbaLambdaInterchangeMoveEvaluator(StorableConstructorFlag _) : base(_) { }
 
     public AlbaLambdaInterchangeMoveEvaluator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/LambdaInterchange/AlbaLambdaInterchangeMoveGenerator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/LambdaInterchange/AlbaLambdaInterchangeMoveGenerator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/LambdaInterchange/AlbaLambdaInterchangeMoveGenerator.cs	(revision 16462)
@@ -25,10 +25,10 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
   [Item("AlbaLambdaInterchangeMoveGenerator", "Generates lambda interchange moves from a given VRP encoding.  It is implemented as described in Alba, E. and Dorronsoro, B. (2004). Solving the Vehicle Routing Problem by Using Cellular Genetic Algorithms.")]
-  [StorableClass]
+  [StorableType("4BE6784E-663A-4B06-9E8A-52502A1967CC")]
   public abstract class AlbaLambdaInterchangeMoveGenerator : AlbaMoveGenerator, IExhaustiveMoveGenerator, IAlbaLambdaInterchangeMoveOperator {
     #region IAlbaLambdaInterchangeMoveOperator Members
@@ -53,5 +53,5 @@
 
     [StorableConstructor]
-    protected AlbaLambdaInterchangeMoveGenerator(bool deserializing) : base(deserializing) { }
+    protected AlbaLambdaInterchangeMoveGenerator(StorableConstructorFlag _) : base(_) { }
 
     public AlbaLambdaInterchangeMoveGenerator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/LambdaInterchange/AlbaLambdaInterchangeMoveMaker.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/LambdaInterchange/AlbaLambdaInterchangeMoveMaker.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/LambdaInterchange/AlbaLambdaInterchangeMoveMaker.cs	(revision 16462)
@@ -24,9 +24,9 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
   [Item("AlbaLambdaInterchangeMoveMaker", "Peforms a lambda interchange moves on a given VRP encoding and updates the quality. It is implemented as described in Alba, E. and Dorronsoro, B. (2004). Solving the Vehicle Routing Problem by Using Cellular Genetic Algorithms.")]
-  [StorableClass]
+  [StorableType("C9622972-70BC-428D-9181-08B8A4D5B076")]
   public class AlbaLambdaInterchangeMoveMaker : AlbaMoveMaker, IAlbaLambdaInterchangeMoveOperator, IMoveMaker {
     public override bool CanChangeName {
@@ -42,5 +42,5 @@
 
     [StorableConstructor]
-    protected AlbaLambdaInterchangeMoveMaker(bool deserializing) : base(deserializing) { }
+    protected AlbaLambdaInterchangeMoveMaker(StorableConstructorFlag _) : base(_) { }
 
     public AlbaLambdaInterchangeMoveMaker()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/LambdaInterchange/AlbaStochasticLambdaInterchangeMutliMoveGenerator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/LambdaInterchange/AlbaStochasticLambdaInterchangeMutliMoveGenerator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/LambdaInterchange/AlbaStochasticLambdaInterchangeMutliMoveGenerator.cs	(revision 16462)
@@ -25,5 +25,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Encodings.General;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
@@ -31,5 +31,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
   [Item("AlbaStochasticLambdaInterchangeMultiMoveGenerator", "Generates multiple random lambda interchange moves from a given VRP encoding.  It is implemented as described in Alba, E. and Dorronsoro, B. (2004). Solving the Vehicle Routing Problem by Using Cellular Genetic Algorithms.")]
-  [StorableClass]
+  [StorableType("30C4BF89-1C6F-4A9D-B179-E04FFAD75A8B")]
   public sealed class AlbaStochasticLambdaInterchangeMultiMoveGenerator : AlbaLambdaInterchangeMoveGenerator, IStochasticOperator,
     IMultiMoveGenerator, IAlbaLambdaInterchangeMoveOperator, IMultiVRPMoveGenerator {
@@ -43,5 +43,5 @@
 
     [StorableConstructor]
-    private AlbaStochasticLambdaInterchangeMultiMoveGenerator(bool deserializing) : base(deserializing) { }
+    private AlbaStochasticLambdaInterchangeMultiMoveGenerator(StorableConstructorFlag _) : base(_) { }
 
     public AlbaStochasticLambdaInterchangeMultiMoveGenerator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/LambdaInterchange/AlbaStochasticLambdaInterchangeSingleMoveGenerator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/LambdaInterchange/AlbaStochasticLambdaInterchangeSingleMoveGenerator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/LambdaInterchange/AlbaStochasticLambdaInterchangeSingleMoveGenerator.cs	(revision 16462)
@@ -26,10 +26,10 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
   [Item("AlbaStochasticLambdaInterchangeSingleMoveGenerator", "Generates one random lambda interchange move from a given VRP encoding.  It is implemented as described in Alba, E. and Dorronsoro, B. (2004). Solving the Vehicle Routing Problem by Using Cellular Genetic Algorithms.")]
-  [StorableClass]
+  [StorableType("12D7E711-F3D7-47D7-BC57-57113752E269")]
   public sealed class AlbaStochasticLambdaInterchangeSingleMoveGenerator : AlbaLambdaInterchangeMoveGenerator,
     IStochasticOperator, ISingleMoveGenerator, IAlbaLambdaInterchangeMoveOperator {
@@ -47,5 +47,5 @@
 
     [StorableConstructor]
-    private AlbaStochasticLambdaInterchangeSingleMoveGenerator(bool deserializing) : base(deserializing) { }
+    private AlbaStochasticLambdaInterchangeSingleMoveGenerator(StorableConstructorFlag _) : base(_) { }
 
     public AlbaStochasticLambdaInterchangeSingleMoveGenerator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/ThreeOpt/AlbaStochasticTranslocationSingleMoveGenerator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/ThreeOpt/AlbaStochasticTranslocationSingleMoveGenerator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/ThreeOpt/AlbaStochasticTranslocationSingleMoveGenerator.cs	(revision 16462)
@@ -24,10 +24,10 @@
 using HeuristicLab.Data;
 using HeuristicLab.Encodings.PermutationEncoding;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
   [Item("AlbaStochasticTranslocationSingleMoveGenerator", "An operator which generates a single translocation move for a VRP representation.  It is implemented as described in Alba, E. and Dorronsoro, B. (2004). Solving the Vehicle Routing Problem by Using Cellular Genetic Algorithms.")]
-  [StorableClass]
+  [StorableType("AB2D93A5-BECF-4ABE-B704-5DA883426CAF")]
   public sealed class AlbaStochasticTranslocationSingleMoveGenerator : AlbaMoveGenerator, IAlbaTranslocationMoveOperator {
     [Storable]
@@ -55,5 +55,5 @@
 
     [StorableConstructor]
-    private AlbaStochasticTranslocationSingleMoveGenerator(bool deserializing) : base(deserializing) { }
+    private AlbaStochasticTranslocationSingleMoveGenerator(StorableConstructorFlag _) : base(_) { }
 
     public AlbaStochasticTranslocationSingleMoveGenerator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/ThreeOpt/AlbaTranslocationMove.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/ThreeOpt/AlbaTranslocationMove.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/ThreeOpt/AlbaTranslocationMove.cs	(revision 16462)
@@ -24,5 +24,5 @@
 using HeuristicLab.Encodings.PermutationEncoding;
 using HeuristicLab.Optimization;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Encodings.General;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
@@ -30,5 +30,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
   [Item("AlbaTranslocationMove", "Item that describes a translocation move on a VRP representation.  It is implemented as described in Alba, E. and Dorronsoro, B. (2004). Solving the Vehicle Routing Problem by Using Cellular Genetic Algorithms.")]
-  [StorableClass]
+  [StorableType("C9BA8BFE-712F-4575-82E6-B94C604C001B")]
   public class AlbaTranslocationMove : TranslocationMove, IVRPMove {
     public IVRPEncoding Individual { get { return Permutation as AlbaEncoding; } }
@@ -43,5 +43,5 @@
 
     [StorableConstructor]
-    protected AlbaTranslocationMove(bool deserializing) : base(deserializing) { }
+    protected AlbaTranslocationMove(StorableConstructorFlag _) : base(_) { }
 
     public override IDeepCloneable Clone(Cloner cloner) {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/ThreeOpt/AlbaTranslocationMoveEvaluator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/ThreeOpt/AlbaTranslocationMoveEvaluator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/ThreeOpt/AlbaTranslocationMoveEvaluator.cs	(revision 16462)
@@ -24,10 +24,10 @@
 using HeuristicLab.Encodings.PermutationEncoding;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Encodings.Alba;
 
 namespace HeuristicLab.Problems.VehicleRouting {
   [Item("AlbaTranslocationMoveEvaluator", "Evaluates a translocation or insertion move (3-opt) for a VRP representation.  It is implemented as described in Alba, E. and Dorronsoro, B. (2004). Solving the Vehicle Routing Problem by Using Cellular Genetic Algorithms.")]
-  [StorableClass]
+  [StorableType("36E23651-0091-4CE9-869F-BACA65464D72")]
   public sealed class AlbaTranslocationMoveEvaluator : AlbaMoveEvaluator, IAlbaTranslocationMoveOperator {
     public ILookupParameter<TranslocationMove> TranslocationMoveParameter {
@@ -41,5 +41,5 @@
 
     [StorableConstructor]
-    private AlbaTranslocationMoveEvaluator(bool deserializing) : base(deserializing) { }
+    private AlbaTranslocationMoveEvaluator(StorableConstructorFlag _) : base(_) { }
 
     public AlbaTranslocationMoveEvaluator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/ThreeOpt/AlbaTranslocationMoveGenerator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/ThreeOpt/AlbaTranslocationMoveGenerator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/ThreeOpt/AlbaTranslocationMoveGenerator.cs	(revision 16462)
@@ -26,10 +26,10 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
   [Item("AlbaTranslocationMoveGenerator", "An operator which generates translocation moves for a VRP representation.  It is implemented as described in Alba, E. and Dorronsoro, B. (2004). Solving the Vehicle Routing Problem by Using Cellular Genetic Algorithms.")]
-  [StorableClass]
+  [StorableType("695BBC5B-7A11-4AE5-83E6-9EEA9979E791")]
   public sealed class AlbaTranslocationMoveGenerator : AlbaMoveGenerator, IAlbaTranslocationMoveOperator, IMultiMoveGenerator {
     public IValueLookupParameter<TranslocationMoveGenerator> TranslocationMoveGeneratorParameter {
@@ -74,5 +74,5 @@
 
     [StorableConstructor]
-    private AlbaTranslocationMoveGenerator(bool deserializing) : base(deserializing) { }
+    private AlbaTranslocationMoveGenerator(StorableConstructorFlag _) : base(_) { }
 
     public AlbaTranslocationMoveGenerator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/ThreeOpt/AlbaTranslocationMoveHardTabuCriterion.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/ThreeOpt/AlbaTranslocationMoveHardTabuCriterion.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/ThreeOpt/AlbaTranslocationMoveHardTabuCriterion.cs	(revision 16462)
@@ -25,5 +25,5 @@
 using HeuristicLab.Encodings.PermutationEncoding;
 using HeuristicLab.Optimization;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Encodings.General;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
@@ -31,5 +31,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
   [Item("AlbaTranslocationMoveHardTabuCriterion", "An operator which checks if translocation moves are tabu using a hard criterion for a VRP representation.  It is implemented as described in Alba, E. and Dorronsoro, B. (2004). Solving the Vehicle Routing Problem by Using Cellular Genetic Algorithms.")]
-  [StorableClass]
+  [StorableType("1148F3AA-FDE0-4604-8517-777E87F1CEA0")]
   public sealed class AlbaTranslocationMoveHardTabuCriterion : VRPMoveOperator, IAlbaTranslocationMoveOperator, ITabuChecker, IAlbaOperator {
     [Storable]
@@ -65,5 +65,5 @@
 
     [StorableConstructor]
-    private AlbaTranslocationMoveHardTabuCriterion(bool deserializing) : base(deserializing) { }
+    private AlbaTranslocationMoveHardTabuCriterion(StorableConstructorFlag _) : base(_) { }
 
     public AlbaTranslocationMoveHardTabuCriterion()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/ThreeOpt/AlbaTranslocationMoveMaker.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/ThreeOpt/AlbaTranslocationMoveMaker.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/ThreeOpt/AlbaTranslocationMoveMaker.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.VehicleRouting.Encodings.Alba {
   [Item("AlbaTranslocationMoveMaker", "An operator which makes translocation moves for a VRP representation.  It is implemented as described in Alba, E. and Dorronsoro, B. (2004). Solving the Vehicle Routing Problem by Using Cellular Genetic Algorithms.")]
-  [StorableClass]
+  [StorableType("3E2624B9-AC8D-4E18-9586-04E501769D3E")]
   public sealed class AlbaTranslocationMoveMaker : AlbaMoveMaker, IAlbaTranslocationMoveOperator {
     [Storable]
@@ -45,5 +45,5 @@
 
     [StorableConstructor]
-    private AlbaTranslocationMoveMaker(bool deserializing) : base(deserializing) { }
+    private AlbaTranslocationMoveMaker(StorableConstructorFlag _) : base(_) { }
 
     public AlbaTranslocationMoveMaker()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/ThreeOpt/AlbaTranslocationMoveSoftTabuCriterion.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/ThreeOpt/AlbaTranslocationMoveSoftTabuCriterion.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/ThreeOpt/AlbaTranslocationMoveSoftTabuCriterion.cs	(revision 16462)
@@ -25,5 +25,5 @@
 using HeuristicLab.Encodings.PermutationEncoding;
 using HeuristicLab.Optimization;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Encodings.General;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
@@ -31,5 +31,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
   [Item("AlbaTranslocationMoveSoftTabuCriterion", "An operator which checks if translocation moves are tabu using a soft criterion for a VRP representation.  It is implemented as described in Alba, E. and Dorronsoro, B. (2004). Solving the Vehicle Routing Problem by Using Cellular Genetic Algorithms.")]
-  [StorableClass]
+  [StorableType("E1E314E4-11E8-40F8-BC26-A49D42810E79")]
   public sealed class AlbaTranslocationMoveSoftTabuCriterion : VRPMoveOperator, IAlbaTranslocationMoveOperator, ITabuChecker, IAlbaOperator {
     [Storable]
@@ -65,5 +65,5 @@
 
     [StorableConstructor]
-    private AlbaTranslocationMoveSoftTabuCriterion(bool deserializing) : base(deserializing) { }
+    private AlbaTranslocationMoveSoftTabuCriterion(StorableConstructorFlag _) : base(_) { }
 
     public AlbaTranslocationMoveSoftTabuCriterion()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/ThreeOpt/AlbaTranslocationMoveTabuMaker.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/ThreeOpt/AlbaTranslocationMoveTabuMaker.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/ThreeOpt/AlbaTranslocationMoveTabuMaker.cs	(revision 16462)
@@ -25,5 +25,5 @@
 using HeuristicLab.Encodings.PermutationEncoding;
 using HeuristicLab.Optimization;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Encodings.General;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
@@ -31,5 +31,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
   [Item("AlbaTranslocationMoveTabuMaker", "An operator which makes translocation moves tabu for a VRP representation.  It is implemented as described in Alba, E. and Dorronsoro, B. (2004). Solving the Vehicle Routing Problem by Using Cellular Genetic Algorithms.")]
-  [StorableClass]
+  [StorableType("7C706677-1688-4D5F-8C86-D2F479CADA40")]
   public sealed class AlbaTranslocationMoveTabuMaker : VRPMoveOperator, IAlbaTranslocationMoveOperator, ITabuMaker, IAlbaOperator {
     [Storable]
@@ -65,5 +65,5 @@
 
     [StorableConstructor]
-    private AlbaTranslocationMoveTabuMaker(bool deserializing) : base(deserializing) { }
+    private AlbaTranslocationMoveTabuMaker(StorableConstructorFlag _) : base(_) { }
 
     public AlbaTranslocationMoveTabuMaker()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/GVR/Crossovers/GVRCrossover.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/GVR/Crossovers/GVRCrossover.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/GVR/Crossovers/GVRCrossover.cs	(revision 16462)
@@ -25,5 +25,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Encodings.General;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
@@ -31,5 +31,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.GVR {
   [Item("GVRCrossover", "The GVR crossover operation. It is implemented as described in Pereira, F.B. et al (2002). GVR: a New Genetic Representation for the Vehicle Routing Problem. AICS 2002, LNAI 2464, pp. 95-102.")]
-  [StorableClass]
+  [StorableType("AAA4C747-C89C-4491-9113-725F3893463A")]
   public sealed class GVRCrossover : VRPCrossover, IStochasticOperator, IGVROperator {
     public ILookupParameter<IRandom> RandomParameter {
@@ -38,5 +38,5 @@
 
     [StorableConstructor]
-    private GVRCrossover(bool deserializing) : base(deserializing) { }
+    private GVRCrossover(StorableConstructorFlag _) : base(_) { }
 
     public GVRCrossover() {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/GVR/GVREncoding.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/GVR/GVREncoding.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/GVR/GVREncoding.cs	(revision 16462)
@@ -24,5 +24,5 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Encodings.General;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
@@ -31,5 +31,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.GVR {
   [Item("GVREncoding", "Represents a potvin encoding of VRP solutions. It is implemented as described in Pereira, F.B. et al (2002). GVR: a New Genetic Representation for the Vehicle Routing Problem. AICS 2002, LNAI 2464, pp. 95-102.")]
-  [StorableClass]
+  [StorableType("27A8F267-9865-4AEA-9ECF-88D950D81D74")]
   public class GVREncoding : TourEncoding {
     public override List<Tour> GetTours() {
@@ -81,6 +81,5 @@
 
     [StorableConstructor]
-    protected GVREncoding(bool serializing)
-      : base(serializing) {
+    protected GVREncoding(StorableConstructorFlag _) : base(_) {
     }
 
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/GVR/Manipulators/GVRDisplacementManipulator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/GVR/Manipulators/GVRDisplacementManipulator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/GVR/Manipulators/GVRDisplacementManipulator.cs	(revision 16462)
@@ -23,12 +23,12 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.GVR {
   [Item("GVRDisplacementManipulator", "An operator which manipulates a GVR representation by applying a displacement operation. It is implemented as described in Pereira, F.B. et al (2002). GVR: a New Genetic Representation for the Vehicle Routing Problem. AICS 2002, LNAI 2464, pp. 95-102.")]
-  [StorableClass]
+  [StorableType("9772264B-5A1B-4BCE-A796-70A6EF9B834F")]
   public sealed class GVRDisplacementManipulator : GVRManipulator {
     [StorableConstructor]
-    private GVRDisplacementManipulator(bool deserializing) : base(deserializing) { }
+    private GVRDisplacementManipulator(StorableConstructorFlag _) : base(_) { }
 
     public GVRDisplacementManipulator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/GVR/Manipulators/GVRInsertionManipulator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/GVR/Manipulators/GVRInsertionManipulator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/GVR/Manipulators/GVRInsertionManipulator.cs	(revision 16462)
@@ -22,12 +22,12 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.GVR {
   [Item("GVRInsertionManipulator", "An operator which manipulates a GVR representation by inserting a customer at another location. It is implemented as described in Pereira, F.B. et al (2002). GVR: a New Genetic Representation for the Vehicle Routing Problem. AICS 2002, LNAI 2464, pp. 95-102.")]
-  [StorableClass]
+  [StorableType("2DDACE2B-562A-40A5-86A4-B0BE34993869")]
   public sealed class GVRInsertionManipulator : GVRManipulator {
     [StorableConstructor]
-    private GVRInsertionManipulator(bool deserializing) : base(deserializing) { }
+    private GVRInsertionManipulator(StorableConstructorFlag _) : base(_) { }
 
     public GVRInsertionManipulator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/GVR/Manipulators/GVRInversionManipulator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/GVR/Manipulators/GVRInversionManipulator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/GVR/Manipulators/GVRInversionManipulator.cs	(revision 16462)
@@ -22,12 +22,12 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.GVR {
   [Item("GVRInversionManipulator", "An operator which manipulates a GVR representation by inverting a subroute. It is implemented as described in Pereira, F.B. et al (2002). GVR: a New Genetic Representation for the Vehicle Routing Problem. AICS 2002, LNAI 2464, pp. 95-102.")]
-  [StorableClass]
+  [StorableType("E65CA70B-D4A8-41FE-8F24-9BCD12CC7FA7")]
   public sealed class GVRInversionManipulator : GVRManipulator {
     [StorableConstructor]
-    private GVRInversionManipulator(bool deserializing) : base(deserializing) { }
+    private GVRInversionManipulator(StorableConstructorFlag _) : base(_) { }
 
     public GVRInversionManipulator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/GVR/Manipulators/GVRManipulator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/GVR/Manipulators/GVRManipulator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/GVR/Manipulators/GVRManipulator.cs	(revision 16462)
@@ -24,5 +24,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Encodings.General;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
@@ -30,5 +30,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.GVR {
   [Item("GVRManipulator", "A VRP manipulation operation.")]
-  [StorableClass]
+  [StorableType("D3459367-9919-4FB9-8E63-B7554154575C")]
   public abstract class GVRManipulator : VRPManipulator, IStochasticOperator, IGVROperator {
     public ILookupParameter<IRandom> RandomParameter {
@@ -37,5 +37,5 @@
 
     [StorableConstructor]
-    protected GVRManipulator(bool deserializing) : base(deserializing) { }
+    protected GVRManipulator(StorableConstructorFlag _) : base(_) { }
 
     public GVRManipulator() {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/GVR/Manipulators/GVRSwapManipulator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/GVR/Manipulators/GVRSwapManipulator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/GVR/Manipulators/GVRSwapManipulator.cs	(revision 16462)
@@ -22,12 +22,12 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.GVR {
   [Item("GVRSwapManipulator", "An operator which manipulates a GVR representation by swapping two customers. It is implemented as described in Pereira, F.B. et al (2002). GVR: a New Genetic Representation for the Vehicle Routing Problem. AICS 2002, LNAI 2464, pp. 95-102.")]
-  [StorableClass]
+  [StorableType("3EEC2566-633D-4338-853D-AE9930E9F238")]
   public sealed class GVRSwapManipulator : GVRManipulator {
     [StorableConstructor]
-    private GVRSwapManipulator(bool deserializing) : base(deserializing) { }
+    private GVRSwapManipulator(StorableConstructorFlag _) : base(_) { }
 
     public GVRSwapManipulator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Creators/MultiVRPSolutionCreator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Creators/MultiVRPSolutionCreator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Creators/MultiVRPSolutionCreator.cs	(revision 16462)
@@ -29,5 +29,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 using HeuristicLab.Problems.VehicleRouting.Variants;
@@ -35,5 +35,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.General {
   [Item("MultiVRPSolutionCreator", "Randomly selects and applies one of its creator every time it is called.")]
-  [StorableClass]
+  [StorableType("D462B6FB-7AAF-46D9-B3A8-2AC6806C1005")]
   public class MultiVRPSolutionCreator : StochasticMultiBranch<IVRPCreator>, IVRPCreator, IGeneralVRPOperator, IMultiVRPOperator, IStochasticOperator {
     public override bool CanChangeName {
@@ -53,5 +53,5 @@
 
     [StorableConstructor]
-    protected MultiVRPSolutionCreator(bool deserializing) : base(deserializing) { }
+    protected MultiVRPSolutionCreator(StorableConstructorFlag _) : base(_) { }
     public MultiVRPSolutionCreator()
       : base() {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Creators/VRPCreator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Creators/VRPCreator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Creators/VRPCreator.cs	(revision 16462)
@@ -23,10 +23,10 @@
 using HeuristicLab.Core;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.General {
   [Item("VRPCreator", "Creates a VRP solution.")]
-  [StorableClass]
+  [StorableType("E37923DB-8BA5-4FE3-956D-3D65AA18037C")]
   public abstract class VRPCreator : VRPOperator, IVRPCreator {
     public ILookupParameter<IVRPEncoding> VRPToursParameter {
@@ -35,5 +35,5 @@
 
     [StorableConstructor]
-    protected VRPCreator(bool deserializing) : base(deserializing) { }
+    protected VRPCreator(StorableConstructorFlag _) : base(_) { }
 
     public VRPCreator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Crossovers/BiasedMultiVRPSolutionCrossover.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Crossovers/BiasedMultiVRPSolutionCrossover.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Crossovers/BiasedMultiVRPSolutionCrossover.cs	(revision 16462)
@@ -29,10 +29,10 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Random;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.General {
   [Item("BiasedMultiVRPSolutionCrossover", "Randomly selects and applies one of its crossovers every time it is called based on the success progress.")]
-  [StorableClass]
+  [StorableType("9F319402-CF27-4355-9764-B7DDECBA2A15")]
   public class BiasedMultiVRPSolutionCrossover : MultiVRPSolutionCrossover {
     public ValueLookupParameter<DoubleArray> ActualProbabilitiesParameter {
@@ -57,5 +57,5 @@
 
     [StorableConstructor]
-    protected BiasedMultiVRPSolutionCrossover(bool deserializing) : base(deserializing) { }
+    protected BiasedMultiVRPSolutionCrossover(StorableConstructorFlag _) : base(_) { }
     protected BiasedMultiVRPSolutionCrossover(BiasedMultiVRPSolutionCrossover original, Cloner cloner) : base(original, cloner) { }
     public BiasedMultiVRPSolutionCrossover()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Crossovers/MultiVRPSolutionCrossover.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Crossovers/MultiVRPSolutionCrossover.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Crossovers/MultiVRPSolutionCrossover.cs	(revision 16462)
@@ -29,5 +29,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 using HeuristicLab.Problems.VehicleRouting.Variants;
@@ -35,5 +35,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.General {
   [Item("MultiVRPSolutionCrossover", "Randomly selects and applies one of its crossovers every time it is called.")]
-  [StorableClass]
+  [StorableType("68B26F83-1FF1-42B9-BDB8-606EC8C462C7")]
   public class MultiVRPSolutionCrossover : StochasticMultiBranch<IVRPCrossover>, IVRPCrossover, IGeneralVRPOperator, IMultiVRPOperator, IStochasticOperator {
     public override bool CanChangeName {
@@ -58,5 +58,5 @@
 
     [StorableConstructor]
-    protected MultiVRPSolutionCrossover(bool deserializing) : base(deserializing) { }
+    protected MultiVRPSolutionCrossover(StorableConstructorFlag _) : base(_) { }
     public MultiVRPSolutionCrossover()
       : base() {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Crossovers/RandomParentCloneCrossover.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Crossovers/RandomParentCloneCrossover.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Crossovers/RandomParentCloneCrossover.cs	(revision 16462)
@@ -24,5 +24,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 using HeuristicLab.Problems.VehicleRouting.Variants;
@@ -30,5 +30,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.General.Crossovers {
   [Item("RandomParentCloneCrossover", "An operator which randomly chooses one parent and returns a clone.")]
-  [StorableClass]
+  [StorableType("418EA2DE-C098-4A88-82B9-CB68732DB2AC")]
   public sealed class RandomParentCloneCrossover : VRPOperator, IStochasticOperator, IGeneralVRPOperator, IVRPCrossover {
     public ILookupParameter<IRandom> RandomParameter {
@@ -45,5 +45,5 @@
 
     [StorableConstructor]
-    private RandomParentCloneCrossover(bool deserializing) : base(deserializing) { }
+    private RandomParentCloneCrossover(StorableConstructorFlag _) : base(_) { }
 
     public RandomParentCloneCrossover()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Crossovers/VRPCrossover.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Crossovers/VRPCrossover.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Crossovers/VRPCrossover.cs	(revision 16462)
@@ -23,10 +23,10 @@
 using HeuristicLab.Core;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.General {
   [Item("VRPCrossover", "Crosses VRP solutions.")]
-  [StorableClass]
+  [StorableType("E26BAD0A-49E6-477C-AEA0-CB41552F0B2B")]
   public abstract class VRPCrossover : VRPOperator, IVRPCrossover {
     public ILookupParameter<ItemArray<IVRPEncoding>> ParentsParameter {
@@ -39,5 +39,5 @@
 
     [StorableConstructor]
-    protected VRPCrossover(bool deserializing) : base(deserializing) { }
+    protected VRPCrossover(StorableConstructorFlag _) : base(_) { }
 
     public VRPCrossover()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Manipulators/BiasedMultiVRPSolutionManipulator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Manipulators/BiasedMultiVRPSolutionManipulator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Manipulators/BiasedMultiVRPSolutionManipulator.cs	(revision 16462)
@@ -29,10 +29,10 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Random;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.General {
   [Item("BiasedMultiVRPSolutionManipulator", "Randomly selects and applies one of its crossovers every time it is called based on the success progress.")]
-  [StorableClass]
+  [StorableType("213DD800-26CC-47FE-A151-CFB8742DB3C1")]
   public class BiasedMultiVRPSolutionManipulator : MultiVRPSolutionManipulator {
     public ValueLookupParameter<DoubleArray> ActualProbabilitiesParameter {
@@ -57,5 +57,5 @@
 
     [StorableConstructor]
-    protected BiasedMultiVRPSolutionManipulator(bool deserializing) : base(deserializing) { }
+    protected BiasedMultiVRPSolutionManipulator(StorableConstructorFlag _) : base(_) { }
     protected BiasedMultiVRPSolutionManipulator(BiasedMultiVRPSolutionManipulator original, Cloner cloner) : base(original, cloner) { }
     public BiasedMultiVRPSolutionManipulator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Manipulators/MultiVRPSolutionManipulator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Manipulators/MultiVRPSolutionManipulator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Manipulators/MultiVRPSolutionManipulator.cs	(revision 16462)
@@ -29,5 +29,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 using HeuristicLab.Problems.VehicleRouting.Variants;
@@ -35,5 +35,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.General {
   [Item("MultiVRPSolutionManipulator", "Randomly selects and applies one of its manipulators every time it is called.")]
-  [StorableClass]
+  [StorableType("9EE8B958-A511-40EC-A3DA-0F0CE0BF6524")]
   public class MultiVRPSolutionManipulator : StochasticMultiBranch<IVRPManipulator>, IVRPManipulator, IGeneralVRPOperator, IMultiVRPOperator, IStochasticOperator {
     public override bool CanChangeName {
@@ -54,5 +54,5 @@
 
     [StorableConstructor]
-    protected MultiVRPSolutionManipulator(bool deserializing) : base(deserializing) { }
+    protected MultiVRPSolutionManipulator(StorableConstructorFlag _) : base(_) { }
     public MultiVRPSolutionManipulator()
       : base() {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Manipulators/VRPManipulator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Manipulators/VRPManipulator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Manipulators/VRPManipulator.cs	(revision 16462)
@@ -23,10 +23,10 @@
 using HeuristicLab.Core;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.General {
   [Item("VRPManipulator", "Manipulates a VRP solution.")]
-  [StorableClass]
+  [StorableType("6A7616B7-0BA2-45DA-B89F-C4ECE93080BD")]
   public abstract class VRPManipulator : VRPOperator, IVRPManipulator {
     public ILookupParameter<IVRPEncoding> VRPToursParameter {
@@ -35,5 +35,5 @@
 
     [StorableConstructor]
-    protected VRPManipulator(bool deserializing) : base(deserializing) { }
+    protected VRPManipulator(StorableConstructorFlag _) : base(_) { }
 
     public VRPManipulator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Moves/MultiVRPMoveOperator/MultiVRPMoveEvaluator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Moves/MultiVRPMoveOperator/MultiVRPMoveEvaluator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Moves/MultiVRPMoveOperator/MultiVRPMoveEvaluator.cs	(revision 16462)
@@ -23,5 +23,5 @@
 using HeuristicLab.Core;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Encodings.General;
 using HeuristicLab.Problems.VehicleRouting.Variants;
@@ -29,5 +29,5 @@
 namespace HeuristicLab.Problems.VehicleRouting {
   [Item("MultiVRPMoveEvaluator", "Evaluates a move for the VRP representation.")]
-  [StorableClass]
+  [StorableType("CF6F48D1-D488-4266-8F46-68EC1A0A7828")]
   public sealed class MultiVRPMoveEvaluator : VRPMoveEvaluator, IMultiVRPMoveOperator, IGeneralVRPOperator {
     public override ILookupParameter VRPMoveParameter {
@@ -36,5 +36,5 @@
 
     [StorableConstructor]
-    private MultiVRPMoveEvaluator(bool deserializing) : base(deserializing) { }
+    private MultiVRPMoveEvaluator(StorableConstructorFlag _) : base(_) { }
 
     public MultiVRPMoveEvaluator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Moves/MultiVRPMoveOperator/MultiVRPMoveGenerator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Moves/MultiVRPMoveOperator/MultiVRPMoveGenerator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Moves/MultiVRPMoveOperator/MultiVRPMoveGenerator.cs	(revision 16462)
@@ -30,5 +30,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Encodings.Alba;
 using HeuristicLab.Problems.VehicleRouting.Encodings.Potvin;
@@ -38,5 +38,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.General {
   [Item("MultiVRPMoveGenerator", "Randomly selects and applies its move generators.")]
-  [StorableClass]
+  [StorableType("2BB3FF78-447F-4FCD-B866-D28D295ABF0E")]
   public class MultiVRPMoveGenerator : CheckedMultiOperator<IMultiVRPMoveGenerator>, IMultiVRPMoveOperator,
     IStochasticOperator, IMoveGenerator, IGeneralVRPOperator, IMultiVRPOperator {
@@ -78,5 +78,5 @@
 
     [StorableConstructor]
-    protected MultiVRPMoveGenerator(bool deserializing) : base(deserializing) { }
+    protected MultiVRPMoveGenerator(StorableConstructorFlag _) : base(_) { }
     public MultiVRPMoveGenerator()
       : base() {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Moves/MultiVRPMoveOperator/MultiVRPMoveMaker.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Moves/MultiVRPMoveOperator/MultiVRPMoveMaker.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Moves/MultiVRPMoveOperator/MultiVRPMoveMaker.cs	(revision 16462)
@@ -23,10 +23,10 @@
 using HeuristicLab.Core;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Variants;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.General {
   [Item("MultiVRPMoveMaker", "Peforms a lambda interchange moves on a given VRP encoding and updates the quality.")]
-  [StorableClass]
+  [StorableType("E0D91D91-A8CC-459D-9D65-180D507A75AD")]
   public class MultiVRPMoveMaker : VRPMoveMaker, IMultiVRPMoveOperator, IGeneralVRPOperator {
     public override ILookupParameter VRPMoveParameter {
@@ -35,5 +35,5 @@
 
     [StorableConstructor]
-    protected MultiVRPMoveMaker(bool deserializing) : base(deserializing) { }
+    protected MultiVRPMoveMaker(StorableConstructorFlag _) : base(_) { }
 
     public MultiVRPMoveMaker()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Moves/MultiVRPMoveOperator/MultiVRPMoveTabuChecker.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Moves/MultiVRPMoveOperator/MultiVRPMoveTabuChecker.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Moves/MultiVRPMoveOperator/MultiVRPMoveTabuChecker.cs	(revision 16462)
@@ -26,5 +26,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 using HeuristicLab.Problems.VehicleRouting.Variants;
@@ -32,5 +32,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.General {
   [Item("MultiVRPMoveTabuChecker", "Checks if a VRP move is tabu.")]
-  [StorableClass]
+  [StorableType("5688A0E6-7EB0-43E2-9D9F-AB68D689148B")]
   public class MultiVRPMoveTabuChecker : SingleSuccessorOperator, IMultiVRPMoveOperator, ITabuChecker, IGeneralVRPOperator {
     public ILookupParameter VRPMoveParameter {
@@ -67,5 +67,5 @@
 
     [StorableConstructor]
-    protected MultiVRPMoveTabuChecker(bool deserializing) : base(deserializing) { }
+    protected MultiVRPMoveTabuChecker(StorableConstructorFlag _) : base(_) { }
 
     public MultiVRPMoveTabuChecker()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Moves/MultiVRPMoveOperator/MultiVRPMoveTabuMaker.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Moves/MultiVRPMoveOperator/MultiVRPMoveTabuMaker.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Moves/MultiVRPMoveOperator/MultiVRPMoveTabuMaker.cs	(revision 16462)
@@ -26,5 +26,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 using HeuristicLab.Problems.VehicleRouting.Variants;
@@ -32,5 +32,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.General {
   [Item("MultiVRPMoveTabuMaker", "A multi VRP move tabu maker.")]
-  [StorableClass]
+  [StorableType("58E2C5A6-88CF-460B-8684-E38E2E64F648")]
   public class MultiVRPMoveTabuMaker : SingleSuccessorOperator, IMultiVRPMoveOperator, ITabuMaker, IGeneralVRPOperator, ISingleObjectiveOperator {
     public ILookupParameter VRPMoveParameter {
@@ -60,5 +60,5 @@
 
     [StorableConstructor]
-    protected MultiVRPMoveTabuMaker(bool deserializing) : base(deserializing) { }
+    protected MultiVRPMoveTabuMaker(StorableConstructorFlag _) : base(_) { }
 
     public MultiVRPMoveTabuMaker()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Moves/VRPMoveAttribute.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Moves/VRPMoveAttribute.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Moves/VRPMoveAttribute.cs	(revision 16462)
@@ -22,9 +22,9 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.General {
   [Item("VRPMoveAttribute", "Base class for specifying a move attribute")]
-  [StorableClass]
+  [StorableType("61460C9F-D313-47C1-9894-A6A5E4852DBB")]
   public class VRPMoveAttribute : Item {
     [Storable]
@@ -32,5 +32,5 @@
 
     [StorableConstructor]
-    protected VRPMoveAttribute(bool deserializing) : base(deserializing) { }
+    protected VRPMoveAttribute(StorableConstructorFlag _) : base(_) { }
     protected VRPMoveAttribute(VRPMoveAttribute original, Cloner cloner)
       : base(original, cloner) {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Moves/VRPMoveEvaluator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Moves/VRPMoveEvaluator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Moves/VRPMoveEvaluator.cs	(revision 16462)
@@ -25,10 +25,10 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.General {
   [Item("VRPMoveEvaluator", "Evaluates a VRP move.")]
-  [StorableClass]
+  [StorableType("2C1B7479-DCD7-41F7-BB65-D1D714313172")]
   public abstract class VRPMoveEvaluator : VRPMoveOperator, ISingleObjectiveMoveEvaluator {
     public const string MovePrefix = "Move";
@@ -45,5 +45,5 @@
 
     [StorableConstructor]
-    protected VRPMoveEvaluator(bool deserializing) : base(deserializing) { }
+    protected VRPMoveEvaluator(StorableConstructorFlag _) : base(_) { }
 
     public VRPMoveEvaluator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Moves/VRPMoveGenerator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Moves/VRPMoveGenerator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Moves/VRPMoveGenerator.cs	(revision 16462)
@@ -23,13 +23,13 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.General {
   [Item("VRPMoveGenerator", "Generates moves for a VRP solution.")]
-  [StorableClass]
+  [StorableType("B76BD2D8-2D37-4006-86AF-64A1D28DC26D")]
   public abstract class
     VRPMoveGenerator : VRPMoveOperator, IMoveGenerator {
     [StorableConstructor]
-    protected VRPMoveGenerator(bool deserializing) : base(deserializing) { }
+    protected VRPMoveGenerator(StorableConstructorFlag _) : base(_) { }
 
     public VRPMoveGenerator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Moves/VRPMoveMaker.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Moves/VRPMoveMaker.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Moves/VRPMoveMaker.cs	(revision 16462)
@@ -26,10 +26,10 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.General {
   [Item("VRPMoveMaker", "Performs a VRP move.")]
-  [StorableClass]
+  [StorableType("00082602-A676-48A7-A2D7-66733B972685")]
   public abstract class VRPMoveMaker : VRPMoveOperator, IMoveMaker, ISingleObjectiveOperator {
     public ILookupParameter<DoubleValue> QualityParameter {
@@ -44,5 +44,5 @@
 
     [StorableConstructor]
-    protected VRPMoveMaker(bool deserializing) : base(deserializing) { }
+    protected VRPMoveMaker(StorableConstructorFlag _) : base(_) { }
 
     public VRPMoveMaker()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Moves/VRPMoveOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Moves/VRPMoveOperator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Moves/VRPMoveOperator.cs	(revision 16462)
@@ -23,10 +23,10 @@
 using HeuristicLab.Core;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.General {
   [Item("VRPMoveOperator", "A VRP move operator.")]
-  [StorableClass]
+  [StorableType("B2A37CCE-3EF6-4648-8A9B-2BCBD4EC93F1")]
   public abstract class VRPMoveOperator : VRPOperator, IVRPMoveOperator {
     public ILookupParameter<IVRPEncoding> VRPToursParameter {
@@ -37,5 +37,5 @@
 
     [StorableConstructor]
-    protected VRPMoveOperator(bool deserializing) : base(deserializing) { }
+    protected VRPMoveOperator(StorableConstructorFlag _) : base(_) { }
 
     public VRPMoveOperator() {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/PermutationEncoding.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/PermutationEncoding.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/PermutationEncoding.cs	(revision 16462)
@@ -25,10 +25,10 @@
 using HeuristicLab.Core;
 using HeuristicLab.Encodings.PermutationEncoding;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.General {
   [Item("PermutationEncoding", "Represents a base class for permutation encodings of VRP solutions.")]
-  [StorableClass]
+  [StorableType("070CEB2B-0A37-4EE1-87DA-1D80F6D88B4A")]
   public abstract class PermutationEncoding : Permutation, IVRPEncoding {
     #region IVRPEncoding Members
@@ -77,6 +77,5 @@
 
     [StorableConstructor]
-    protected PermutationEncoding(bool serializing)
-      : base() {
+    protected PermutationEncoding(StorableConstructorFlag _) : base(_) {
     }
 
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/ShakingOperators/VehicleRoutingShakingOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/ShakingOperators/VehicleRoutingShakingOperator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/ShakingOperators/VehicleRoutingShakingOperator.cs	(revision 16462)
@@ -25,9 +25,8 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Data;
 using HeuristicLab.Optimization;
 using HeuristicLab.Optimization.Operators;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.PluginInfrastructure;
 using HeuristicLab.Problems.VehicleRouting.Encodings.General;
@@ -37,5 +36,5 @@
 namespace HeuristicLab.Problems.VehicleRouting {
   [Item("VRPShakingOperator", "A shaking operator for VNS that applies available mutation operators.")]
-  [StorableClass]
+  [StorableType("1D7EAC11-693C-4CE0-A4BB-A2C67F364A95")]
   public class VehicleRoutingShakingOperator : ShakingOperator<IVRPManipulator>, IVRPMultiNeighborhoodShakingOperator, IGeneralVRPOperator, IStochasticOperator {
     #region Parameters
@@ -59,5 +58,5 @@
 
     [StorableConstructor]
-    protected VehicleRoutingShakingOperator(bool deserializing) : base(deserializing) { }
+    protected VehicleRoutingShakingOperator(StorableConstructorFlag _) : base(_) { }
     protected VehicleRoutingShakingOperator(VehicleRoutingShakingOperator original, Cloner cloner) : base(original, cloner) { }
     public override IDeepCloneable Clone(Cloner cloner) {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/TourEncoding.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/TourEncoding.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/TourEncoding.cs	(revision 16462)
@@ -24,10 +24,10 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.General {
   [Item("TourEncoding", "Represents a base class for tour encodings of VRP solutions.")]
-  [StorableClass]
+  [StorableType("FC5DBAE6-05D9-4C55-AA85-6E3C2330700F")]
   public abstract class TourEncoding : Item, IVRPEncoding {
     public static new Image StaticItemImage {
@@ -105,6 +105,5 @@
 
     [StorableConstructor]
-    protected TourEncoding(bool serializing)
-      : base(serializing) {
+    protected TourEncoding(StorableConstructorFlag _) : base(_) {
     }
 
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Creators/IterativeInsertionCreator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Creators/IterativeInsertionCreator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Creators/IterativeInsertionCreator.cs	(revision 16462)
@@ -27,5 +27,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 using HeuristicLab.Problems.VehicleRouting.ProblemInstances;
@@ -34,5 +34,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("IterativeInsertionCreator", "Creates a randomly initialized VRP solution.")]
-  [StorableClass]
+  [StorableType("7504083B-79FC-441C-BE32-DAFCB9E81448")]
   public sealed class IterativeInsertionCreator : PotvinCreator, IStochasticOperator {
     #region IStochasticOperator Members
@@ -47,5 +47,5 @@
 
     [StorableConstructor]
-    private IterativeInsertionCreator(bool deserializing) : base(deserializing) { }
+    private IterativeInsertionCreator(StorableConstructorFlag _) : base(_) { }
 
     public IterativeInsertionCreator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Creators/PotvinCreator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Creators/PotvinCreator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Creators/PotvinCreator.cs	(revision 16462)
@@ -22,5 +22,5 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Encodings.General;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
@@ -28,5 +28,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinCreator", "A VRP creator.")]
-  [StorableClass]
+  [StorableType("9007B8EE-61F5-45D7-A853-951E2435E308")]
   public abstract class PotvinCreator : VRPCreator, IPotvinOperator, IVRPCreator {
     public override bool CanChangeName {
@@ -35,5 +35,5 @@
 
     [StorableConstructor]
-    protected PotvinCreator(bool deserializing) : base(deserializing) { }
+    protected PotvinCreator(StorableConstructorFlag _) : base(_) { }
 
     public PotvinCreator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Creators/PushForwardInsertionCreator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Creators/PushForwardInsertionCreator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Creators/PushForwardInsertionCreator.cs	(revision 16462)
@@ -27,5 +27,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 using HeuristicLab.Problems.VehicleRouting.ProblemInstances;
@@ -34,5 +34,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PushForwardInsertionCreator", "The push forward insertion heuristic. It is implemented as described in Sam, and Thangiah, R. (1999). A Hybrid Genetic Algorithms, Simulated Annealing and Tabu Search Heuristic for Vehicle Routing Problems with Time Windows. Practical Handbook of Genetic Algorithms, Volume III, pp 347–381.")]
-  [StorableClass]
+  [StorableType("B93C1DA8-67D4-4A29-976F-49C966763670")]
   public sealed class PushForwardInsertionCreator : PotvinCreator, IStochasticOperator {
     #region IStochasticOperator Members
@@ -62,5 +62,5 @@
 
     [StorableConstructor]
-    private PushForwardInsertionCreator(bool deserializing) : base(deserializing) { }
+    private PushForwardInsertionCreator(StorableConstructorFlag _) : base(_) { }
 
     public PushForwardInsertionCreator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Crossovers/PotvinCrossover.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Crossovers/PotvinCrossover.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Crossovers/PotvinCrossover.cs	(revision 16462)
@@ -26,5 +26,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Encodings.General;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
@@ -32,5 +32,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinCrossover", "A VRP crossover operation.")]
-  [StorableClass]
+  [StorableType("B2E9AC24-C689-45AD-BEDE-2F226E044BDE")]
   public abstract class PotvinCrossover : VRPCrossover, IStochasticOperator, IPotvinOperator {
     public ILookupParameter<IRandom> RandomParameter {
@@ -43,5 +43,5 @@
 
     [StorableConstructor]
-    protected PotvinCrossover(bool deserializing) : base(deserializing) { }
+    protected PotvinCrossover(StorableConstructorFlag _) : base(_) { }
 
     public PotvinCrossover() {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Crossovers/PotvinInsertionBasedCrossover.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Crossovers/PotvinInsertionBasedCrossover.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Crossovers/PotvinInsertionBasedCrossover.cs	(revision 16462)
@@ -22,5 +22,5 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using System.Collections.Generic;
 using HeuristicLab.Data;
@@ -32,5 +32,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinInsertionBasedCrossover", "The IBX crossover for VRP representations. It is implemented as described in Berger, J and Solois, M and Begin, R (1998). A hybrid genetic algorithm for the vehicle routing problem with time windows. LNCS 1418. Springer, London 114-127.")]
-  [StorableClass]
+  [StorableType("441CEAB7-A2E2-4217-8E44-EA99312F72E6")]
   public sealed class PotvinInsertionBasedCrossover : PotvinCrossover {
     public IValueParameter<IntValue> Length {
@@ -39,5 +39,5 @@
 
     [StorableConstructor]
-    private PotvinInsertionBasedCrossover(bool deserializing) : base(deserializing) { }
+    private PotvinInsertionBasedCrossover(StorableConstructorFlag _) : base(_) { }
     private PotvinInsertionBasedCrossover(PotvinInsertionBasedCrossover original, Cloner cloner)
       : base(original, cloner) {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Crossovers/PotvinRouteBasedCrossover.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Crossovers/PotvinRouteBasedCrossover.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Crossovers/PotvinRouteBasedCrossover.cs	(revision 16462)
@@ -23,13 +23,13 @@
 using HeuristicLab.Core;
 using HeuristicLab.Encodings.PermutationEncoding;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinRouteBasedCrossover", "The RBX crossover for a VRP representations.  It is implemented as described in Potvin, J.-Y. and Bengio, S. (1996). The Vehicle Routing Problem with Time Windows - Part II: Genetic Search. INFORMS Journal of Computing, 8:165–172.")]
-  [StorableClass]
+  [StorableType("DC61E667-515D-45FE-89AF-970824053136")]
   public sealed class PotvinRouteBasedCrossover : PotvinCrossover {
     [StorableConstructor]
-    private PotvinRouteBasedCrossover(bool deserializing) : base(deserializing) { }
+    private PotvinRouteBasedCrossover(StorableConstructorFlag _) : base(_) { }
 
     public PotvinRouteBasedCrossover()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Crossovers/PotvinSequenceBasedCrossover.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Crossovers/PotvinSequenceBasedCrossover.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Crossovers/PotvinSequenceBasedCrossover.cs	(revision 16462)
@@ -22,13 +22,13 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinSequenceBasedCrossover", "The SBX crossover for a VRP representations.  It is implemented as described in Potvin, J.-Y. and Bengio, S. (1996). The Vehicle Routing Problem with Time Windows - Part II: Genetic Search. INFORMS Journal of Computing, 8:165–172.")]
-  [StorableClass]
+  [StorableType("EFC16985-0308-462C-8D6C-0F1177F53CD2")]
   public sealed class PotvinSequenceBasedCrossover : PotvinCrossover {
     [StorableConstructor]
-    private PotvinSequenceBasedCrossover(bool deserializing) : base(deserializing) { }
+    private PotvinSequenceBasedCrossover(StorableConstructorFlag _) : base(_) { }
 
     public PotvinSequenceBasedCrossover()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Manipulators/PotvinLocalSearchManipulator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Manipulators/PotvinLocalSearchManipulator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Manipulators/PotvinLocalSearchManipulator.cs	(revision 16462)
@@ -25,10 +25,10 @@
 using HeuristicLab.Data;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinLocalSearchManipulator", "The LSM operator which manipulates a VRP representation.  It is implemented as described in Potvin, J.-Y. and Bengio, S. (1996). The Vehicle Routing Problem with Time Windows - Part II: Genetic Search. INFORMS Journal of Computing, 8:165–172.")]
-  [StorableClass]
+  [StorableType("EF16AD46-5C58-4846-95CF-3C3DF78D2F68")]
   public sealed class PotvinLocalSearchManipulator : PotvinManipulator, IVRPLocalSearchManipulator {
     public IValueParameter<IntValue> Iterations {
@@ -37,5 +37,5 @@
 
     [StorableConstructor]
-    private PotvinLocalSearchManipulator(bool deserializing) : base(deserializing) { }
+    private PotvinLocalSearchManipulator(StorableConstructorFlag _) : base(_) { }
 
     public PotvinLocalSearchManipulator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Manipulators/PotvinManipulator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Manipulators/PotvinManipulator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Manipulators/PotvinManipulator.cs	(revision 16462)
@@ -25,5 +25,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Encodings.General;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
@@ -31,5 +31,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinManipulator", "A VRP manipulation operation.")]
-  [StorableClass]
+  [StorableType("AF20AEB4-28EC-4291-9D27-6C5FF938ADA4")]
   public abstract class PotvinManipulator : VRPManipulator, IStochasticOperator, IPotvinOperator {
     public ILookupParameter<IRandom> RandomParameter {
@@ -42,5 +42,5 @@
 
     [StorableConstructor]
-    protected PotvinManipulator(bool deserializing) : base(deserializing) { }
+    protected PotvinManipulator(StorableConstructorFlag _) : base(_) { }
 
     public PotvinManipulator() {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Manipulators/PotvinOneLevelExchangeManipulator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Manipulators/PotvinOneLevelExchangeManipulator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Manipulators/PotvinOneLevelExchangeManipulator.cs	(revision 16462)
@@ -22,13 +22,13 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinOneLevelExchangeMainpulator", "The 1M operator which manipulates a VRP representation.  It is implemented as described in Potvin, J.-Y. and Bengio, S. (1996). The Vehicle Routing Problem with Time Windows - Part II: Genetic Search. INFORMS Journal of Computing, 8:165–172.")]
-  [StorableClass]
+  [StorableType("20E22B90-348D-438F-AD17-F1F92BD12C00")]
   public sealed class PotvinOneLevelExchangeMainpulator : PotvinManipulator {
     [StorableConstructor]
-    private PotvinOneLevelExchangeMainpulator(bool deserializing) : base(deserializing) { }
+    private PotvinOneLevelExchangeMainpulator(StorableConstructorFlag _) : base(_) { }
 
     public PotvinOneLevelExchangeMainpulator() : base() { }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Manipulators/PotvinPairwiseOneLevelExchangeManipulator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Manipulators/PotvinPairwiseOneLevelExchangeManipulator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Manipulators/PotvinPairwiseOneLevelExchangeManipulator.cs	(revision 16462)
@@ -22,5 +22,5 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.ProblemInstances;
 using HeuristicLab.Problems.VehicleRouting.Variants;
@@ -29,8 +29,8 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinPairwiseOneLevelExchangeMainpulator", "The 1M operator which manipulates a PDP representation. It has been adapted to pickup and delivery from Potvin, J.-Y. and Bengio, S. (1996). The Vehicle Routing Problem with Time Windows - Part II: Genetic Search. INFORMS Journal of Computing, 8:165–172. It was adapted to the PDP formulation.")]
-  [StorableClass]
+  [StorableType("BF040F90-535E-4F3D-9420-0123565A252D")]
   public sealed class PotvinPairwiseOneLevelExchangeMainpulator : PotvinManipulator {
     [StorableConstructor]
-    private PotvinPairwiseOneLevelExchangeMainpulator(bool deserializing) : base(deserializing) { }
+    private PotvinPairwiseOneLevelExchangeMainpulator(StorableConstructorFlag _) : base(_) { }
 
     public PotvinPairwiseOneLevelExchangeMainpulator() : base() { }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Manipulators/PotvinPairwiseTwoLevelExchangeManipulator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Manipulators/PotvinPairwiseTwoLevelExchangeManipulator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Manipulators/PotvinPairwiseTwoLevelExchangeManipulator.cs	(revision 16462)
@@ -23,5 +23,5 @@
 using HeuristicLab.Core;
 using HeuristicLab.Encodings.PermutationEncoding;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.ProblemInstances;
 using HeuristicLab.Problems.VehicleRouting.Variants;
@@ -30,8 +30,8 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinPairwiseTwoLevelExchangeManipulator", "The 2M operator which manipulates a VRP representation.   It has been adapted to pickup and delivery from Potvin, J.-Y. and Bengio, S. (1996). The Vehicle Routing Problem with Time Windows - Part II: Genetic Search. INFORMS Journal of Computing, 8:165–172.  It was adapted to the PDP formulation.")]
-  [StorableClass]
+  [StorableType("8E4D8A17-1204-45CC-8ED7-375FCE0355E8")]
   public sealed class PotvinPairwiseTwoLevelExchangeManipulator : PotvinManipulator {
     [StorableConstructor]
-    private PotvinPairwiseTwoLevelExchangeManipulator(bool deserializing) : base(deserializing) { }
+    private PotvinPairwiseTwoLevelExchangeManipulator(StorableConstructorFlag _) : base(_) { }
 
     public PotvinPairwiseTwoLevelExchangeManipulator() : base() { }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Manipulators/PotvinTwoLevelExchangeManipulator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Manipulators/PotvinTwoLevelExchangeManipulator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Manipulators/PotvinTwoLevelExchangeManipulator.cs	(revision 16462)
@@ -22,13 +22,13 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinTwoLevelExchangeManipulator", "The 2M operator which manipulates a VRP representation.  It is implemented as described in Potvin, J.-Y. and Bengio, S. (1996). The Vehicle Routing Problem with Time Windows - Part II: Genetic Search. INFORMS Journal of Computing, 8:165–172.")]
-  [StorableClass]
+  [StorableType("FB992182-9FD8-4B08-A48C-97378E85DAD5")]
   public sealed class PotvinTwoLevelExchangeManipulator : PotvinManipulator {
     [StorableConstructor]
-    private PotvinTwoLevelExchangeManipulator(bool deserializing) : base(deserializing) { }
+    private PotvinTwoLevelExchangeManipulator(StorableConstructorFlag _) : base(_) { }
 
     public PotvinTwoLevelExchangeManipulator() : base() { }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Manipulators/PotvinVehicleAssignmentManipulator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Manipulators/PotvinVehicleAssignmentManipulator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Manipulators/PotvinVehicleAssignmentManipulator.cs	(revision 16462)
@@ -24,5 +24,5 @@
 using HeuristicLab.Encodings.PermutationEncoding;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Encodings.General;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
@@ -31,5 +31,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinVehicleAssignmentMainpulator", "A manipulator that changes the vehicle assignment")]
-  [StorableClass]
+  [StorableType("57755DA2-B9CB-4A9F-B32C-988BFC06365A")]
   public sealed class PotvinVehicleAssignmentMainpulator : VRPManipulator, ITimeWindowedOperator,
     IMultiDepotOperator, IHeterogenousCapacitatedOperator {
@@ -43,5 +43,5 @@
 
     [StorableConstructor]
-    private PotvinVehicleAssignmentMainpulator(bool deserializing) : base(deserializing) { }
+    private PotvinVehicleAssignmentMainpulator(StorableConstructorFlag _) : base(_) { }
 
     public PotvinVehicleAssignmentMainpulator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/CustomerRelocation/PotvinCustomerRelocationExhaustiveMoveGenerator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/CustomerRelocation/PotvinCustomerRelocationExhaustiveMoveGenerator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/CustomerRelocation/PotvinCustomerRelocationExhaustiveMoveGenerator.cs	(revision 16462)
@@ -24,10 +24,10 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinCustomerRelocationExhaustiveMoveGenerator", "Generates customer relocation moves from a given VRP encoding.")]
-  [StorableClass]
+  [StorableType("713A5EF1-7CA7-4992-AA8B-5BCF430FA4B4")]
   public sealed class PotvinCustomerRelocationExhaustiveMoveGenerator : PotvinCustomerRelocationMoveGenerator, IExhaustiveMoveGenerator {
     public override IDeepCloneable Clone(Cloner cloner) {
@@ -36,5 +36,5 @@
 
     [StorableConstructor]
-    private PotvinCustomerRelocationExhaustiveMoveGenerator(bool deserializing) : base(deserializing) { }
+    private PotvinCustomerRelocationExhaustiveMoveGenerator(StorableConstructorFlag _) : base(_) { }
 
     public PotvinCustomerRelocationExhaustiveMoveGenerator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/CustomerRelocation/PotvinCustomerRelocationMove.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/CustomerRelocation/PotvinCustomerRelocationMove.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/CustomerRelocation/PotvinCustomerRelocationMove.cs	(revision 16462)
@@ -23,5 +23,5 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Encodings.General;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
@@ -29,5 +29,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinCustomerRelocationMove", "Item that describes a relocation move on a VRP representation.")]
-  [StorableClass]
+  [StorableType("4B91A311-EEEE-49A3-A260-A01238F1C268")]
   public class PotvinCustomerRelocationMove : Item, IVRPMove {
     [Storable]
@@ -73,5 +73,5 @@
 
     [StorableConstructor]
-    protected PotvinCustomerRelocationMove(bool deserializing) : base(deserializing) { }
+    protected PotvinCustomerRelocationMove(StorableConstructorFlag _) : base(_) { }
 
     #region IVRPMove Members
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/CustomerRelocation/PotvinCustomerRelocationMoveAttribute.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/CustomerRelocation/PotvinCustomerRelocationMoveAttribute.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/CustomerRelocation/PotvinCustomerRelocationMoveAttribute.cs	(revision 16462)
@@ -22,10 +22,10 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Encodings.General;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinCustomerRelocationMoveAttribute", "Customer relocation move attribute")]
-  [StorableClass]
+  [StorableType("4B8240FA-38A4-40F7-AB7E-04632C710598")]
   public class PotvinCustomerRelocationMoveAttribute : VRPMoveAttribute {
     [Storable]
@@ -35,5 +35,5 @@
 
     [StorableConstructor]
-    protected PotvinCustomerRelocationMoveAttribute(bool deserializing) : base(deserializing) { }
+    protected PotvinCustomerRelocationMoveAttribute(StorableConstructorFlag _) : base(_) { }
     protected PotvinCustomerRelocationMoveAttribute(PotvinCustomerRelocationMoveAttribute original, Cloner cloner)
       : base(original, cloner) {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/CustomerRelocation/PotvinCustomerRelocationMoveEvaluator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/CustomerRelocation/PotvinCustomerRelocationMoveEvaluator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/CustomerRelocation/PotvinCustomerRelocationMoveEvaluator.cs	(revision 16462)
@@ -24,9 +24,9 @@
 using HeuristicLab.Data;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinCustomerRelocationMoveEvaluator", "Evaluates a customer relocation move for a VRP representation. ")]
-  [StorableClass]
+  [StorableType("6289C1EA-7223-4BCC-97FD-884E668B6AF4")]
   public sealed class PotvinCustomerRelocationMoveEvaluator : PotvinMoveEvaluator, IPotvinCustomerRelocationMoveOperator {
     public ILookupParameter<PotvinCustomerRelocationMove> CustomerRelocationMoveParameter {
@@ -51,5 +51,5 @@
 
     [StorableConstructor]
-    private PotvinCustomerRelocationMoveEvaluator(bool deserializing) : base(deserializing) { }
+    private PotvinCustomerRelocationMoveEvaluator(StorableConstructorFlag _) : base(_) { }
 
     public PotvinCustomerRelocationMoveEvaluator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/CustomerRelocation/PotvinCustomerRelocationMoveGenerator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/CustomerRelocation/PotvinCustomerRelocationMoveGenerator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/CustomerRelocation/PotvinCustomerRelocationMoveGenerator.cs	(revision 16462)
@@ -23,10 +23,10 @@
 using HeuristicLab.Core;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinCustomerRelocationMoveGenerator", "Generates customer relocation moves from a given VRP encoding.")]
-  [StorableClass]
+  [StorableType("07460C95-15CC-49D6-B54D-D740968E7707")]
   public abstract class PotvinCustomerRelocationMoveGenerator : PotvinMoveGenerator, IPotvinCustomerRelocationMoveOperator {
     public ILookupParameter<PotvinCustomerRelocationMove> CustomerRelocationMoveParameter {
@@ -43,5 +43,5 @@
 
     [StorableConstructor]
-    protected PotvinCustomerRelocationMoveGenerator(bool deserializing) : base(deserializing) { }
+    protected PotvinCustomerRelocationMoveGenerator(StorableConstructorFlag _) : base(_) { }
 
     public PotvinCustomerRelocationMoveGenerator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/CustomerRelocation/PotvinCustomerRelocationMoveMaker.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/CustomerRelocation/PotvinCustomerRelocationMoveMaker.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/CustomerRelocation/PotvinCustomerRelocationMoveMaker.cs	(revision 16462)
@@ -25,5 +25,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 using HeuristicLab.Problems.VehicleRouting.ProblemInstances;
@@ -31,5 +31,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinCustomerRelocationMoveMaker", "Peforms the customer relocation move on a given VRP encoding and updates the quality.")]
-  [StorableClass]
+  [StorableType("B79B87F4-A39A-4618-BD0C-E1D40E821152")]
   public class PotvinCustomerRelocationMoveMaker : PotvinMoveMaker, IPotvinCustomerRelocationMoveOperator, IMoveMaker {
     public ILookupParameter<PotvinCustomerRelocationMove> CustomerRelocationMoveParameter {
@@ -50,5 +50,5 @@
 
     [StorableConstructor]
-    protected PotvinCustomerRelocationMoveMaker(bool deserializing) : base(deserializing) { }
+    protected PotvinCustomerRelocationMoveMaker(StorableConstructorFlag _) : base(_) { }
 
     public PotvinCustomerRelocationMoveMaker()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/CustomerRelocation/PotvinCustomerRelocationMoveTabuCriterion.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/CustomerRelocation/PotvinCustomerRelocationMoveTabuCriterion.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/CustomerRelocation/PotvinCustomerRelocationMoveTabuCriterion.cs	(revision 16462)
@@ -27,10 +27,10 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinCustomerRelocationTabuCriterion", @"Checks if a certain customer relocation move is tabu.")]
-  [StorableClass]
+  [StorableType("DFA45CF0-EE4A-47C5-B98B-FB82251463D3")]
   public class PotvinCustomerRelocationMoveTabuCriterion : SingleSuccessorOperator, IPotvinCustomerRelocationMoveOperator, ITabuChecker, IPotvinOperator, IVRPMoveOperator {
     public override bool CanChangeName {
@@ -73,5 +73,5 @@
 
     [StorableConstructor]
-    protected PotvinCustomerRelocationMoveTabuCriterion(bool deserializing) : base(deserializing) { }
+    protected PotvinCustomerRelocationMoveTabuCriterion(StorableConstructorFlag _) : base(_) { }
     protected PotvinCustomerRelocationMoveTabuCriterion(PotvinCustomerRelocationMoveTabuCriterion original, Cloner cloner) : base(original, cloner) { }
     public PotvinCustomerRelocationMoveTabuCriterion()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/CustomerRelocation/PotvinCustomerRelocationMoveTabuMaker.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/CustomerRelocation/PotvinCustomerRelocationMoveTabuMaker.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/CustomerRelocation/PotvinCustomerRelocationMoveTabuMaker.cs	(revision 16462)
@@ -24,10 +24,10 @@
 using HeuristicLab.Optimization.Operators;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinCustomerRelocationMoveTabuMaker", "Declares a given customer relocation move as tabu.")]
-  [StorableClass]
+  [StorableType("F2F78496-2059-4A16-B896-E1C779D913D0")]
   public class PotvinCustomerRelocationMoveTabuMaker : TabuMaker, IPotvinCustomerRelocationMoveOperator, IPotvinOperator {
     public ILookupParameter<PotvinCustomerRelocationMove> CustomerRelocationMoveParameter {
@@ -45,5 +45,5 @@
 
     [StorableConstructor]
-    protected PotvinCustomerRelocationMoveTabuMaker(bool deserializing) : base(deserializing) { }
+    protected PotvinCustomerRelocationMoveTabuMaker(StorableConstructorFlag _) : base(_) { }
     protected PotvinCustomerRelocationMoveTabuMaker(PotvinCustomerRelocationMoveTabuMaker original, Cloner cloner) : base(original, cloner) { }
     public PotvinCustomerRelocationMoveTabuMaker()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/CustomerRelocation/PotvinCustomerRelocationMultiMoveGenerator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/CustomerRelocation/PotvinCustomerRelocationMultiMoveGenerator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/CustomerRelocation/PotvinCustomerRelocationMultiMoveGenerator.cs	(revision 16462)
@@ -26,5 +26,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Encodings.General;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
@@ -32,5 +32,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinCustomerRelocationMultiMoveGenerator", "Generates customer relocation moves from a given VRP encoding.")]
-  [StorableClass]
+  [StorableType("F3C0FF63-0A55-49C7-A6A5-F2DEE3024B5F")]
   public sealed class PotvinCustomerRelocationMultiMoveGenerator : PotvinCustomerRelocationMoveGenerator, IMultiMoveGenerator, IMultiVRPMoveGenerator {
     public ILookupParameter<IRandom> RandomParameter {
@@ -47,5 +47,5 @@
 
     [StorableConstructor]
-    private PotvinCustomerRelocationMultiMoveGenerator(bool deserializing) : base(deserializing) { }
+    private PotvinCustomerRelocationMultiMoveGenerator(StorableConstructorFlag _) : base(_) { }
 
     public PotvinCustomerRelocationMultiMoveGenerator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/CustomerRelocation/PotvinCustomerRelocationSingleMoveGenerator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/CustomerRelocation/PotvinCustomerRelocationSingleMoveGenerator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/CustomerRelocation/PotvinCustomerRelocationSingleMoveGenerator.cs	(revision 16462)
@@ -25,10 +25,10 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinCustomerRelocationSingleMoveGenerator", "Generates a single customer relocation move from a given VRP encoding.")]
-  [StorableClass]
+  [StorableType("DB14C7A7-182D-42DF-BDC8-2F50E84E2E12")]
   public sealed class PotvinCustomerRelocationSingleMoveGenerator : PotvinCustomerRelocationMoveGenerator,
     ISingleMoveGenerator {
@@ -50,5 +50,5 @@
 
     [StorableConstructor]
-    private PotvinCustomerRelocationSingleMoveGenerator(bool deserializing) : base(deserializing) { }
+    private PotvinCustomerRelocationSingleMoveGenerator(StorableConstructorFlag _) : base(_) { }
 
     public PotvinCustomerRelocationSingleMoveGenerator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDExchange/PotvinPDExchangeExhaustiveMoveGenerator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDExchange/PotvinPDExchangeExhaustiveMoveGenerator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDExchange/PotvinPDExchangeExhaustiveMoveGenerator.cs	(revision 16462)
@@ -24,5 +24,5 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 using HeuristicLab.Problems.VehicleRouting.Variants;
@@ -30,5 +30,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinPDExchangeExhaustiveMoveGenerator", "Generates exchange moves from a given PDP encoding.")]
-  [StorableClass]
+  [StorableType("EF921D7D-7DBE-45D9-B7F2-6364F2546981")]
   public sealed class PotvinPDExchangeExhaustiveMoveGenerator : PotvinPDExchangeMoveGenerator, IExhaustiveMoveGenerator {
     public override IDeepCloneable Clone(Cloner cloner) {
@@ -37,5 +37,5 @@
 
     [StorableConstructor]
-    private PotvinPDExchangeExhaustiveMoveGenerator(bool deserializing) : base(deserializing) { }
+    private PotvinPDExchangeExhaustiveMoveGenerator(StorableConstructorFlag _) : base(_) { }
 
     public PotvinPDExchangeExhaustiveMoveGenerator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDExchange/PotvinPDExchangeMove.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDExchange/PotvinPDExchangeMove.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDExchange/PotvinPDExchangeMove.cs	(revision 16462)
@@ -24,5 +24,5 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Encodings.General;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
@@ -30,5 +30,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinPDExchangeMove", "Item that describes a exchange move on a PDP representation.")]
-  [StorableClass]
+  [StorableType("2C3CC022-8F2B-435C-BDAD-ABB9D568FC8E")]
   public class PotvinPDExchangeMove : Item, IVRPMove {
     [Storable]
@@ -65,5 +65,5 @@
 
     [StorableConstructor]
-    protected PotvinPDExchangeMove(bool deserializing) : base(deserializing) { }
+    protected PotvinPDExchangeMove(StorableConstructorFlag _) : base(_) { }
 
     public override IDeepCloneable Clone(Cloner cloner) {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDExchange/PotvinPDExchangeMoveEvaluator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDExchange/PotvinPDExchangeMoveEvaluator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDExchange/PotvinPDExchangeMoveEvaluator.cs	(revision 16462)
@@ -24,9 +24,9 @@
 using HeuristicLab.Data;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinPDExchangeMoveEvaluator", "Evaluates a exchange move for a PDP representation. ")]
-  [StorableClass]
+  [StorableType("092A4B82-1387-4887-9E0A-88F7D01862F6")]
   public sealed class PotvinPDExchangeMoveEvaluator : PotvinMoveEvaluator, IPotvinPDExchangeMoveOperator {
     public ILookupParameter<PotvinPDExchangeMove> PDExchangeMoveParameter {
@@ -51,5 +51,5 @@
 
     [StorableConstructor]
-    private PotvinPDExchangeMoveEvaluator(bool deserializing) : base(deserializing) { }
+    private PotvinPDExchangeMoveEvaluator(StorableConstructorFlag _) : base(_) { }
 
     public PotvinPDExchangeMoveEvaluator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDExchange/PotvinPDExchangeMoveGenerator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDExchange/PotvinPDExchangeMoveGenerator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDExchange/PotvinPDExchangeMoveGenerator.cs	(revision 16462)
@@ -23,10 +23,10 @@
 using HeuristicLab.Core;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinPDExchangeMoveGenerator", "Generates exchange moves from a given PDP encoding.")]
-  [StorableClass]
+  [StorableType("1E0B89BB-5290-4D7B-8D4E-27667D29B2CE")]
   public abstract class PotvinPDExchangeMoveGenerator : PotvinMoveGenerator, IPotvinPDExchangeMoveOperator {
     public ILookupParameter<PotvinPDExchangeMove> PDExchangeMoveParameter {
@@ -43,5 +43,5 @@
 
     [StorableConstructor]
-    protected PotvinPDExchangeMoveGenerator(bool deserializing) : base(deserializing) { }
+    protected PotvinPDExchangeMoveGenerator(StorableConstructorFlag _) : base(_) { }
 
     public PotvinPDExchangeMoveGenerator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDExchange/PotvinPDExchangeMoveMaker.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDExchange/PotvinPDExchangeMoveMaker.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDExchange/PotvinPDExchangeMoveMaker.cs	(revision 16462)
@@ -24,5 +24,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 using HeuristicLab.Problems.VehicleRouting.Variants;
@@ -30,5 +30,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinPDExchangeMoveMaker", "Peforms the exchange move on a given PDP encoding and updates the quality.")]
-  [StorableClass]
+  [StorableType("A12F7FAD-9226-45A2-B254-D3F1A8EB5BA3")]
   public class PotvinPDExchangeMoveMaker : PotvinMoveMaker, IPotvinPDExchangeMoveOperator, IMoveMaker {
     public ILookupParameter<PotvinPDExchangeMove> PDExchangeMoveParameter {
@@ -41,5 +41,5 @@
 
     [StorableConstructor]
-    protected PotvinPDExchangeMoveMaker(bool deserializing) : base(deserializing) { }
+    protected PotvinPDExchangeMoveMaker(StorableConstructorFlag _) : base(_) { }
 
     public PotvinPDExchangeMoveMaker()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDExchange/PotvinPDExchangeMoveTabuCriterion.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDExchange/PotvinPDExchangeMoveTabuCriterion.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDExchange/PotvinPDExchangeMoveTabuCriterion.cs	(revision 16462)
@@ -26,5 +26,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 using HeuristicLab.Problems.VehicleRouting.Variants;
@@ -32,5 +32,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinPDExchangeTabuCriterion", @"Checks if a certain exchange move is tabu.")]
-  [StorableClass]
+  [StorableType("65696327-6751-4029-9B07-849AEB0B79EE")]
   public class PotvinPDExchangeTabuCriterion : SingleSuccessorOperator, IPotvinPDExchangeMoveOperator, ITabuChecker, IPotvinOperator, IVRPMoveOperator {
     public override bool CanChangeName {
@@ -83,5 +83,5 @@
 
     [StorableConstructor]
-    protected PotvinPDExchangeTabuCriterion(bool deserializing) : base(deserializing) { }
+    protected PotvinPDExchangeTabuCriterion(StorableConstructorFlag _) : base(_) { }
     protected PotvinPDExchangeTabuCriterion(PotvinPDExchangeTabuCriterion original, Cloner cloner) : base(original, cloner) { }
     public PotvinPDExchangeTabuCriterion()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDExchange/PotvinPDExchangeMoveTabuMaker.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDExchange/PotvinPDExchangeMoveTabuMaker.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDExchange/PotvinPDExchangeMoveTabuMaker.cs	(revision 16462)
@@ -26,10 +26,10 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinPDExchangeMoveTabuMaker", "Declares a given exchange move as tabu.")]
-  [StorableClass]
+  [StorableType("3B1A4A09-3A59-4763-A946-118F65576A2E")]
   public class PotvinPDExchangeMoveTabuMaker : SingleSuccessorOperator, ITabuMaker, IPotvinPDExchangeMoveOperator, IPotvinOperator, ISingleObjectiveOperator {
     public LookupParameter<ItemList<IItem>> TabuListParameter {
@@ -77,5 +77,5 @@
 
     [StorableConstructor]
-    protected PotvinPDExchangeMoveTabuMaker(bool deserializing) : base(deserializing) { }
+    protected PotvinPDExchangeMoveTabuMaker(StorableConstructorFlag _) : base(_) { }
     protected PotvinPDExchangeMoveTabuMaker(PotvinPDExchangeMoveTabuMaker original, Cloner cloner) : base(original, cloner) { }
     public PotvinPDExchangeMoveTabuMaker()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDExchange/PotvinPDExchangeMultiMoveGenerator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDExchange/PotvinPDExchangeMultiMoveGenerator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDExchange/PotvinPDExchangeMultiMoveGenerator.cs	(revision 16462)
@@ -26,5 +26,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Encodings.General;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
@@ -32,5 +32,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinPDExchangeMultiMoveGenerator", "Generates exchange moves from a given PDP encoding.")]
-  [StorableClass]
+  [StorableType("7D0F0E92-66D9-49F9-AFDC-B75A9A261E55")]
   public sealed class PotvinPDExchangeMultiMoveGenerator : PotvinPDExchangeMoveGenerator, IMultiMoveGenerator, IMultiVRPMoveGenerator {
     public ILookupParameter<IRandom> RandomParameter {
@@ -47,5 +47,5 @@
 
     [StorableConstructor]
-    private PotvinPDExchangeMultiMoveGenerator(bool deserializing) : base(deserializing) { }
+    private PotvinPDExchangeMultiMoveGenerator(StorableConstructorFlag _) : base(_) { }
 
     public PotvinPDExchangeMultiMoveGenerator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDExchange/PotvinPDExchangeSingleMoveGenerator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDExchange/PotvinPDExchangeSingleMoveGenerator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDExchange/PotvinPDExchangeSingleMoveGenerator.cs	(revision 16462)
@@ -25,5 +25,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 using HeuristicLab.Problems.VehicleRouting.Variants;
@@ -31,5 +31,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinPDExchangeSingleMoveGenerator", "Generates a single exchange move from a given PDP encoding.")]
-  [StorableClass]
+  [StorableType("3A621754-DD4D-47BA-91B0-FC857D11D45B")]
   public sealed class PotvinPDExchangeSingleMoveGenerator : PotvinPDExchangeMoveGenerator,
     ISingleMoveGenerator {
@@ -43,5 +43,5 @@
 
     [StorableConstructor]
-    private PotvinPDExchangeSingleMoveGenerator(bool deserializing) : base(deserializing) { }
+    private PotvinPDExchangeSingleMoveGenerator(StorableConstructorFlag _) : base(_) { }
 
     public PotvinPDExchangeSingleMoveGenerator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDRearrange/PotvinPDRearrangeExhaustiveMoveGenerator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDRearrange/PotvinPDRearrangeExhaustiveMoveGenerator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDRearrange/PotvinPDRearrangeExhaustiveMoveGenerator.cs	(revision 16462)
@@ -24,5 +24,5 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 using HeuristicLab.Problems.VehicleRouting.Variants;
@@ -30,5 +30,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinPDRearrangeExhaustiveMoveGenerator", "Generates rearrange moves from a given PDP encoding.")]
-  [StorableClass]
+  [StorableType("D3975AC5-11B8-4AF4-8CB2-BE97A69C935A")]
   public sealed class PotvinPDRearrangeExhaustiveMoveGenerator : PotvinPDRearrangeMoveGenerator, IExhaustiveMoveGenerator {
     public override IDeepCloneable Clone(Cloner cloner) {
@@ -37,5 +37,5 @@
 
     [StorableConstructor]
-    private PotvinPDRearrangeExhaustiveMoveGenerator(bool deserializing) : base(deserializing) { }
+    private PotvinPDRearrangeExhaustiveMoveGenerator(StorableConstructorFlag _) : base(_) { }
 
     public PotvinPDRearrangeExhaustiveMoveGenerator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDRearrange/PotvinPDRearrangeMove.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDRearrange/PotvinPDRearrangeMove.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDRearrange/PotvinPDRearrangeMove.cs	(revision 16462)
@@ -24,5 +24,5 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Encodings.General;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
@@ -30,5 +30,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinPDRearrangeMove", "Item that describes a rearrange move on a PDP representation.")]
-  [StorableClass]
+  [StorableType("219A5FFD-8533-4230-B373-9855F3D3C656")]
   public class PotvinPDRearrangeMove : Item, IVRPMove {
     [Storable]
@@ -69,5 +69,5 @@
 
     [StorableConstructor]
-    protected PotvinPDRearrangeMove(bool deserializing) : base(deserializing) { }
+    protected PotvinPDRearrangeMove(StorableConstructorFlag _) : base(_) { }
 
     #region IVRPMove Members
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDRearrange/PotvinPDRearrangeMoveEvaluator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDRearrange/PotvinPDRearrangeMoveEvaluator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDRearrange/PotvinPDRearrangeMoveEvaluator.cs	(revision 16462)
@@ -24,9 +24,9 @@
 using HeuristicLab.Data;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinPDRearrangeMoveEvaluator", "Evaluates a rearrange move for a PDP representation. ")]
-  [StorableClass]
+  [StorableType("4B60C6C0-7D1E-49E8-B1FF-240A5A52CD62")]
   public sealed class PotvinPDRearrangeMoveEvaluator : PotvinMoveEvaluator, IPotvinPDRearrangeMoveOperator {
     public ILookupParameter<PotvinPDRearrangeMove> PDRearrangeMoveParameter {
@@ -51,5 +51,5 @@
 
     [StorableConstructor]
-    private PotvinPDRearrangeMoveEvaluator(bool deserializing) : base(deserializing) { }
+    private PotvinPDRearrangeMoveEvaluator(StorableConstructorFlag _) : base(_) { }
 
     public PotvinPDRearrangeMoveEvaluator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDRearrange/PotvinPDRearrangeMoveGenerator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDRearrange/PotvinPDRearrangeMoveGenerator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDRearrange/PotvinPDRearrangeMoveGenerator.cs	(revision 16462)
@@ -23,10 +23,10 @@
 using HeuristicLab.Core;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinPDRearrangeMoveGenerator", "Generates rearrange moves from a given PDP encoding.")]
-  [StorableClass]
+  [StorableType("BD74F7C5-6506-4440-AA62-E6577B0802E6")]
   public abstract class PotvinPDRearrangeMoveGenerator : PotvinMoveGenerator, IPotvinPDRearrangeMoveOperator {
     public ILookupParameter<PotvinPDRearrangeMove> PDRearrangeMoveParameter {
@@ -43,5 +43,5 @@
 
     [StorableConstructor]
-    protected PotvinPDRearrangeMoveGenerator(bool deserializing) : base(deserializing) { }
+    protected PotvinPDRearrangeMoveGenerator(StorableConstructorFlag _) : base(_) { }
 
     public PotvinPDRearrangeMoveGenerator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDRearrange/PotvinPDRearrangeMoveMaker.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDRearrange/PotvinPDRearrangeMoveMaker.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDRearrange/PotvinPDRearrangeMoveMaker.cs	(revision 16462)
@@ -24,5 +24,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 using HeuristicLab.Problems.VehicleRouting.Variants;
@@ -30,5 +30,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinPDRearrangeMoveMaker", "Peforms the rearrange move on a given PDP encoding and updates the quality.")]
-  [StorableClass]
+  [StorableType("5F16D0F3-A5E5-44A3-BA40-8CC9CE756FB7")]
   public class PotvinPDRearrangeMoveMaker : PotvinMoveMaker, IPotvinPDRearrangeMoveOperator, IMoveMaker {
     public ILookupParameter<PotvinPDRearrangeMove> PDRearrangeMoveParameter {
@@ -41,5 +41,5 @@
 
     [StorableConstructor]
-    protected PotvinPDRearrangeMoveMaker(bool deserializing) : base(deserializing) { }
+    protected PotvinPDRearrangeMoveMaker(StorableConstructorFlag _) : base(_) { }
 
     public PotvinPDRearrangeMoveMaker()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDRearrange/PotvinPDRearrangeMoveTabuCriterion.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDRearrange/PotvinPDRearrangeMoveTabuCriterion.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDRearrange/PotvinPDRearrangeMoveTabuCriterion.cs	(revision 16462)
@@ -26,5 +26,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 using HeuristicLab.Problems.VehicleRouting.Variants;
@@ -32,5 +32,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinPDRearrangeTabuCriterion", @"Checks if a certain rearrange move is tabu.")]
-  [StorableClass]
+  [StorableType("02674C9B-8CA1-4CD9-8678-72BEE10EA00F")]
   public class PotvinPDRearrangeTabuCriterion : SingleSuccessorOperator, IPotvinPDRearrangeMoveOperator, ITabuChecker, IPotvinOperator, IVRPMoveOperator {
     public override bool CanChangeName {
@@ -83,5 +83,5 @@
 
     [StorableConstructor]
-    protected PotvinPDRearrangeTabuCriterion(bool deserializing) : base(deserializing) { }
+    protected PotvinPDRearrangeTabuCriterion(StorableConstructorFlag _) : base(_) { }
     protected PotvinPDRearrangeTabuCriterion(PotvinPDRearrangeTabuCriterion original, Cloner cloner) : base(original, cloner) { }
     public PotvinPDRearrangeTabuCriterion()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDRearrange/PotvinPDRearrangeMoveTabuMaker.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDRearrange/PotvinPDRearrangeMoveTabuMaker.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDRearrange/PotvinPDRearrangeMoveTabuMaker.cs	(revision 16462)
@@ -25,10 +25,10 @@
 using HeuristicLab.Optimization.Operators;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinPDRearrangeMoveTabuMaker", "Declares a given rearrange move as tabu.")]
-  [StorableClass]
+  [StorableType("6E0FA87D-669A-4586-AD56-7DE38A2F54D1")]
   public class PotvinPDRearrangeMoveTabuMaker : TabuMaker, IPotvinPDRearrangeMoveOperator, IPotvinOperator, IVRPMoveOperator {
     public ILookupParameter<PotvinPDRearrangeMove> PDRearrangeMoveParameter {
@@ -59,5 +59,5 @@
 
     [StorableConstructor]
-    protected PotvinPDRearrangeMoveTabuMaker(bool deserializing) : base(deserializing) { }
+    protected PotvinPDRearrangeMoveTabuMaker(StorableConstructorFlag _) : base(_) { }
     protected PotvinPDRearrangeMoveTabuMaker(PotvinPDRearrangeMoveTabuMaker original, Cloner cloner) : base(original, cloner) { }
     public PotvinPDRearrangeMoveTabuMaker()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDRearrange/PotvinPDRearrangeMultiMoveGenerator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDRearrange/PotvinPDRearrangeMultiMoveGenerator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDRearrange/PotvinPDRearrangeMultiMoveGenerator.cs	(revision 16462)
@@ -26,5 +26,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Encodings.General;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
@@ -32,5 +32,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinPDRearrangeMultiMoveGenerator", "Generates rearrange moves from a given PDP encoding.")]
-  [StorableClass]
+  [StorableType("99EF9C29-4174-4637-84F9-CE8622E4994C")]
   public sealed class PotvinPDRearrangeMultiMoveGenerator : PotvinPDRearrangeMoveGenerator, IMultiMoveGenerator, IMultiVRPMoveGenerator {
     public ILookupParameter<IRandom> RandomParameter {
@@ -47,5 +47,5 @@
 
     [StorableConstructor]
-    private PotvinPDRearrangeMultiMoveGenerator(bool deserializing) : base(deserializing) { }
+    private PotvinPDRearrangeMultiMoveGenerator(StorableConstructorFlag _) : base(_) { }
 
     public PotvinPDRearrangeMultiMoveGenerator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDRearrange/PotvinPDRearrangeSingleMoveGenerator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDRearrange/PotvinPDRearrangeSingleMoveGenerator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDRearrange/PotvinPDRearrangeSingleMoveGenerator.cs	(revision 16462)
@@ -25,5 +25,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 using HeuristicLab.Problems.VehicleRouting.Variants;
@@ -31,5 +31,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinPDRearrangeSingleMoveGenerator", "Generates a single rearrange move from a given PDP encoding.")]
-  [StorableClass]
+  [StorableType("A50A38DA-E9F9-4ED8-A84C-348B4420F858")]
   public sealed class PotvinPDRearrangeSingleMoveGenerator : PotvinPDRearrangeMoveGenerator,
     ISingleMoveGenerator {
@@ -43,5 +43,5 @@
 
     [StorableConstructor]
-    private PotvinPDRearrangeSingleMoveGenerator(bool deserializing) : base(deserializing) { }
+    private PotvinPDRearrangeSingleMoveGenerator(StorableConstructorFlag _) : base(_) { }
 
     public PotvinPDRearrangeSingleMoveGenerator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDShift/PotvinPDShiftExhaustiveMoveGenerator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDShift/PotvinPDShiftExhaustiveMoveGenerator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDShift/PotvinPDShiftExhaustiveMoveGenerator.cs	(revision 16462)
@@ -24,5 +24,5 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 using HeuristicLab.Problems.VehicleRouting.Variants;
@@ -30,5 +30,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinPDShiftExhaustiveMoveGenerator", "Generates shift moves from a given PDP encoding.")]
-  [StorableClass]
+  [StorableType("CD03F921-FC4D-49AD-BEA3-156C60AAD5BD")]
   public sealed class PotvinPDShiftExhaustiveMoveGenerator : PotvinPDShiftMoveGenerator, IExhaustiveMoveGenerator {
     public override IDeepCloneable Clone(Cloner cloner) {
@@ -37,5 +37,5 @@
 
     [StorableConstructor]
-    private PotvinPDShiftExhaustiveMoveGenerator(bool deserializing) : base(deserializing) { }
+    private PotvinPDShiftExhaustiveMoveGenerator(StorableConstructorFlag _) : base(_) { }
 
     public PotvinPDShiftExhaustiveMoveGenerator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDShift/PotvinPDShiftMove.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDShift/PotvinPDShiftMove.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDShift/PotvinPDShiftMove.cs	(revision 16462)
@@ -24,5 +24,5 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Encodings.General;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
@@ -30,5 +30,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinPDShiftMove", "Item that describes a shift move on a PDP representation.")]
-  [StorableClass]
+  [StorableType("D71816CC-47C7-45C0-8474-8E4A94720B19")]
   public class PotvinPDShiftMove : Item, IVRPMove {
     [Storable]
@@ -74,5 +74,5 @@
 
     [StorableConstructor]
-    protected PotvinPDShiftMove(bool deserializing) : base(deserializing) { }
+    protected PotvinPDShiftMove(StorableConstructorFlag _) : base(_) { }
 
     #region IVRPMove Members
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDShift/PotvinPDShiftMoveEvaluator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDShift/PotvinPDShiftMoveEvaluator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDShift/PotvinPDShiftMoveEvaluator.cs	(revision 16462)
@@ -24,9 +24,9 @@
 using HeuristicLab.Data;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinPDShiftMoveEvaluator", "Evaluates a shift move for a PDP representation. ")]
-  [StorableClass]
+  [StorableType("30977D1E-28BA-459A-98EA-D6BEEDB872A4")]
   public sealed class PotvinPDShiftMoveEvaluator : PotvinMoveEvaluator, IPotvinPDShiftMoveOperator {
     public ILookupParameter<PotvinPDShiftMove> PDShiftMoveParameter {
@@ -51,5 +51,5 @@
 
     [StorableConstructor]
-    private PotvinPDShiftMoveEvaluator(bool deserializing) : base(deserializing) { }
+    private PotvinPDShiftMoveEvaluator(StorableConstructorFlag _) : base(_) { }
 
     public PotvinPDShiftMoveEvaluator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDShift/PotvinPDShiftMoveGenerator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDShift/PotvinPDShiftMoveGenerator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDShift/PotvinPDShiftMoveGenerator.cs	(revision 16462)
@@ -23,10 +23,10 @@
 using HeuristicLab.Core;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinPDShiftMoveGenerator", "Generates shift moves from a given PDP encoding.")]
-  [StorableClass]
+  [StorableType("355A1C07-FEF7-42C6-8603-54D22D17359F")]
   public abstract class PotvinPDShiftMoveGenerator : PotvinMoveGenerator, IPotvinPDShiftMoveOperator {
     public ILookupParameter<PotvinPDShiftMove> PDShiftMoveParameter {
@@ -43,5 +43,5 @@
 
     [StorableConstructor]
-    protected PotvinPDShiftMoveGenerator(bool deserializing) : base(deserializing) { }
+    protected PotvinPDShiftMoveGenerator(StorableConstructorFlag _) : base(_) { }
 
     public PotvinPDShiftMoveGenerator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDShift/PotvinPDShiftMoveMaker.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDShift/PotvinPDShiftMoveMaker.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDShift/PotvinPDShiftMoveMaker.cs	(revision 16462)
@@ -25,5 +25,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 using HeuristicLab.Problems.VehicleRouting.Variants;
@@ -31,5 +31,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinPDShiftMoveMaker", "Peforms the shift move on a given PDP encoding and updates the quality.")]
-  [StorableClass]
+  [StorableType("510DE8E9-7634-4DF5-8721-E9797B925A6F")]
   public class PotvinPDShiftMoveMaker : PotvinMoveMaker, IPotvinPDShiftMoveOperator, IMoveMaker {
     public ILookupParameter<PotvinPDShiftMove> PDShiftMoveParameter {
@@ -42,5 +42,5 @@
 
     [StorableConstructor]
-    protected PotvinPDShiftMoveMaker(bool deserializing) : base(deserializing) { }
+    protected PotvinPDShiftMoveMaker(StorableConstructorFlag _) : base(_) { }
 
     public PotvinPDShiftMoveMaker()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDShift/PotvinPDShiftMoveTabuCriterion.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDShift/PotvinPDShiftMoveTabuCriterion.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDShift/PotvinPDShiftMoveTabuCriterion.cs	(revision 16462)
@@ -26,5 +26,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 using HeuristicLab.Problems.VehicleRouting.Variants;
@@ -32,5 +32,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinPDShiftTabuCriterion", @"Checks if a certain shift move is tabu.")]
-  [StorableClass]
+  [StorableType("1A782EF0-0FC4-4C97-BEB7-5A6855785E5A")]
   public class PotvinPDShiftTabuCriterion : SingleSuccessorOperator, IPotvinPDShiftMoveOperator, ITabuChecker, IPotvinOperator, IVRPMoveOperator {
     public override bool CanChangeName {
@@ -83,5 +83,5 @@
 
     [StorableConstructor]
-    protected PotvinPDShiftTabuCriterion(bool deserializing) : base(deserializing) { }
+    protected PotvinPDShiftTabuCriterion(StorableConstructorFlag _) : base(_) { }
     protected PotvinPDShiftTabuCriterion(PotvinPDShiftTabuCriterion original, Cloner cloner) : base(original, cloner) { }
     public PotvinPDShiftTabuCriterion()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDShift/PotvinPDShiftMoveTabuMaker.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDShift/PotvinPDShiftMoveTabuMaker.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDShift/PotvinPDShiftMoveTabuMaker.cs	(revision 16462)
@@ -25,10 +25,10 @@
 using HeuristicLab.Optimization.Operators;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinPDShiftMoveTabuMaker", "Declares a given shift move as tabu.")]
-  [StorableClass]
+  [StorableType("E814E95D-CEC4-4798-87AA-99A429BECFA2")]
   public class PotvinPDShiftMoveTabuMaker : TabuMaker, IPotvinPDShiftMoveOperator, IPotvinOperator, IVRPMoveOperator {
     public ILookupParameter<PotvinPDShiftMove> PDShiftMoveParameter {
@@ -59,5 +59,5 @@
 
     [StorableConstructor]
-    protected PotvinPDShiftMoveTabuMaker(bool deserializing) : base(deserializing) { }
+    protected PotvinPDShiftMoveTabuMaker(StorableConstructorFlag _) : base(_) { }
     protected PotvinPDShiftMoveTabuMaker(PotvinPDShiftMoveTabuMaker original, Cloner cloner) : base(original, cloner) { }
     public PotvinPDShiftMoveTabuMaker()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDShift/PotvinPDShiftMultiMoveGenerator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDShift/PotvinPDShiftMultiMoveGenerator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDShift/PotvinPDShiftMultiMoveGenerator.cs	(revision 16462)
@@ -26,5 +26,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Encodings.General;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
@@ -32,5 +32,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinPDShiftMultiMoveGenerator", "Generates shift moves from a given PDP encoding.")]
-  [StorableClass]
+  [StorableType("72694EA5-4330-4740-8EDB-C5AC29CEE808")]
   public sealed class PotvinPDShiftMultiMoveGenerator : PotvinPDShiftMoveGenerator, IMultiMoveGenerator, IMultiVRPMoveGenerator {
     public ILookupParameter<IRandom> RandomParameter {
@@ -47,5 +47,5 @@
 
     [StorableConstructor]
-    private PotvinPDShiftMultiMoveGenerator(bool deserializing) : base(deserializing) { }
+    private PotvinPDShiftMultiMoveGenerator(StorableConstructorFlag _) : base(_) { }
 
     public PotvinPDShiftMultiMoveGenerator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDShift/PotvinPDShiftSingleMoveGenerator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDShift/PotvinPDShiftSingleMoveGenerator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDShift/PotvinPDShiftSingleMoveGenerator.cs	(revision 16462)
@@ -25,5 +25,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 using HeuristicLab.Problems.VehicleRouting.Variants;
@@ -31,5 +31,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinPDShiftSingleMoveGenerator", "Generates a single shift move from a given PDP encoding.")]
-  [StorableClass]
+  [StorableType("32B14D12-CC48-439E-9DDD-780F866B764F")]
   public sealed class PotvinPDShiftSingleMoveGenerator : PotvinPDShiftMoveGenerator,
     ISingleMoveGenerator {
@@ -43,5 +43,5 @@
 
     [StorableConstructor]
-    private PotvinPDShiftSingleMoveGenerator(bool deserializing) : base(deserializing) { }
+    private PotvinPDShiftSingleMoveGenerator(StorableConstructorFlag _) : base(_) { }
 
     public PotvinPDShiftSingleMoveGenerator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PotvinPDRelocateMoveAttribute.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PotvinPDRelocateMoveAttribute.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PotvinPDRelocateMoveAttribute.cs	(revision 16462)
@@ -22,10 +22,10 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Encodings.General;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinPDRelocateMoveAttribute", "PD relocation move attribute")]
-  [StorableClass]
+  [StorableType("F8315360-2078-4117-BB0E-AEBFFD0DB196")]
   public class PotvinPDRelocateMoveAttribute : VRPMoveAttribute {
     [Storable]
@@ -44,5 +44,5 @@
 
     [StorableConstructor]
-    protected PotvinPDRelocateMoveAttribute(bool deserializing) : base(deserializing) { }
+    protected PotvinPDRelocateMoveAttribute(StorableConstructorFlag _) : base(_) { }
     protected PotvinPDRelocateMoveAttribute(PotvinPDRelocateMoveAttribute original, Cloner cloner)
       : base(original, cloner) {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PotvinMoveEvaluator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PotvinMoveEvaluator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PotvinMoveEvaluator.cs	(revision 16462)
@@ -22,13 +22,13 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Encodings.General;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinMoveEvaluator", "Evaluates a Potvin VRP move.")]
-  [StorableClass]
+  [StorableType("FB26DFD5-3822-4C28-9295-88D20B7DCC5E")]
   public abstract class PotvinMoveEvaluator : VRPMoveEvaluator, IPotvinOperator {
     [StorableConstructor]
-    protected PotvinMoveEvaluator(bool deserializing) : base(deserializing) { }
+    protected PotvinMoveEvaluator(StorableConstructorFlag _) : base(_) { }
 
     public PotvinMoveEvaluator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PotvinMoveGenerator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PotvinMoveGenerator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PotvinMoveGenerator.cs	(revision 16462)
@@ -22,5 +22,5 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Encodings.General;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
@@ -28,8 +28,8 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinMoveGenerator", "Generates Potvin VRP moves.")]
-  [StorableClass]
+  [StorableType("A9832740-B65F-43CA-8B14-A0C19F4B977D")]
   public abstract class PotvinMoveGenerator : VRPMoveGenerator, IPotvinOperator {
     [StorableConstructor]
-    protected PotvinMoveGenerator(bool deserializing) : base(deserializing) { }
+    protected PotvinMoveGenerator(StorableConstructorFlag _) : base(_) { }
 
     public PotvinMoveGenerator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PotvinMoveMaker.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PotvinMoveMaker.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PotvinMoveMaker.cs	(revision 16462)
@@ -22,13 +22,13 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Encodings.General;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinMoveMaker", "Makes a Potvin VRP move.")]
-  [StorableClass]
+  [StorableType("DF3016B2-53BE-4992-A00F-549E0546591D")]
   public abstract class PotvinMoveMaker : VRPMoveMaker, IPotvinOperator {
     [StorableConstructor]
-    protected PotvinMoveMaker(bool deserializing) : base(deserializing) { }
+    protected PotvinMoveMaker(StorableConstructorFlag _) : base(_) { }
 
     public PotvinMoveMaker()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/TwoOptStar/PotvinTwoOptStarExhaustiveMoveGenerator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/TwoOptStar/PotvinTwoOptStarExhaustiveMoveGenerator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/TwoOptStar/PotvinTwoOptStarExhaustiveMoveGenerator.cs	(revision 16462)
@@ -24,10 +24,10 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinTwoOptStarExhaustiveMoveGenerator", "Generates two opt star moves from a given VRP encoding.")]
-  [StorableClass]
+  [StorableType("1479DAA2-D7A9-4043-A485-F54F75C1A2DB")]
   public sealed class PotvinTwoOptStarExhaustiveMoveGenerator : PotvinTwoOptStarMoveGenerator, IExhaustiveMoveGenerator {
     public override IDeepCloneable Clone(Cloner cloner) {
@@ -36,5 +36,5 @@
 
     [StorableConstructor]
-    private PotvinTwoOptStarExhaustiveMoveGenerator(bool deserializing) : base(deserializing) { }
+    private PotvinTwoOptStarExhaustiveMoveGenerator(StorableConstructorFlag _) : base(_) { }
 
     public PotvinTwoOptStarExhaustiveMoveGenerator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/TwoOptStar/PotvinTwoOptStarMove.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/TwoOptStar/PotvinTwoOptStarMove.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/TwoOptStar/PotvinTwoOptStarMove.cs	(revision 16462)
@@ -23,5 +23,5 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Encodings.General;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
@@ -29,5 +29,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinTwoOptStarMove", "Item that describes a two opt star move on a VRP representation.")]
-  [StorableClass]
+  [StorableType("54EBE079-E698-46A6-BCD3-033C0EA3B2DB")]
   public class PotvinTwoOptStarMove : Item, IVRPMove {
     [Storable]
@@ -80,5 +80,5 @@
 
     [StorableConstructor]
-    protected PotvinTwoOptStarMove(bool deserializing) : base(deserializing) { }
+    protected PotvinTwoOptStarMove(StorableConstructorFlag _) : base(_) { }
 
     #region IVRPMove Members
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/TwoOptStar/PotvinTwoOptStarMoveAttribute.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/TwoOptStar/PotvinTwoOptStarMoveAttribute.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/TwoOptStar/PotvinTwoOptStarMoveAttribute.cs	(revision 16462)
@@ -22,10 +22,10 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Encodings.General;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinTwoOptStarMoveAttribute", "Two opt star move attribute")]
-  [StorableClass]
+  [StorableType("BE6E1C1B-335A-4FDB-9105-A7304380510E")]
   public class PotvinTwoOptStarMoveAttribute : VRPMoveAttribute {
     [Storable]
@@ -42,5 +42,5 @@
 
     [StorableConstructor]
-    protected PotvinTwoOptStarMoveAttribute(bool deserializing) : base(deserializing) { }
+    protected PotvinTwoOptStarMoveAttribute(StorableConstructorFlag _) : base(_) { }
     protected PotvinTwoOptStarMoveAttribute(PotvinTwoOptStarMoveAttribute original, Cloner cloner)
       : base(original, cloner) {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/TwoOptStar/PotvinTwoOptStarMoveEvaluator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/TwoOptStar/PotvinTwoOptStarMoveEvaluator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/TwoOptStar/PotvinTwoOptStarMoveEvaluator.cs	(revision 16462)
@@ -23,9 +23,9 @@
 using HeuristicLab.Core;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinTwoOptStarMoveEvaluator", "Evaluates a two opt star move for a VRP representation. ")]
-  [StorableClass]
+  [StorableType("5CB2E8F6-191E-4EBE-B832-18BECC9BB19B")]
   public sealed class PotvinTwoOptStarMoveEvaluator : PotvinMoveEvaluator, IPotvinTwoOptStarMoveOperator {
     public ILookupParameter<PotvinTwoOptStarMove> TwoOptStarMoveParameter {
@@ -37,5 +37,5 @@
     }
     [StorableConstructor]
-    private PotvinTwoOptStarMoveEvaluator(bool deserializing) : base(deserializing) { }
+    private PotvinTwoOptStarMoveEvaluator(StorableConstructorFlag _) : base(_) { }
 
     public PotvinTwoOptStarMoveEvaluator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/TwoOptStar/PotvinTwoOptStarMoveGenerator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/TwoOptStar/PotvinTwoOptStarMoveGenerator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/TwoOptStar/PotvinTwoOptStarMoveGenerator.cs	(revision 16462)
@@ -23,10 +23,10 @@
 using HeuristicLab.Core;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinTwoOptStarMoveGenerator", "Generates two opt star moves from a given VRP encoding.")]
-  [StorableClass]
+  [StorableType("DDAD1DFC-3E6D-42DD-B4ED-24AC44D968A9")]
   public abstract class PotvinTwoOptStarMoveGenerator : PotvinMoveGenerator, IPotvinTwoOptStarMoveOperator {
     public ILookupParameter<PotvinTwoOptStarMove> TwoOptStarMoveParameter {
@@ -43,5 +43,5 @@
 
     [StorableConstructor]
-    protected PotvinTwoOptStarMoveGenerator(bool deserializing) : base(deserializing) { }
+    protected PotvinTwoOptStarMoveGenerator(StorableConstructorFlag _) : base(_) { }
 
     public PotvinTwoOptStarMoveGenerator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/TwoOptStar/PotvinTwoOptStarMoveMaker.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/TwoOptStar/PotvinTwoOptStarMoveMaker.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/TwoOptStar/PotvinTwoOptStarMoveMaker.cs	(revision 16462)
@@ -25,10 +25,10 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinTwoOptStarMoveMaker", "Peforms the two opt star move on a given VRP encoding and updates the quality.")]
-  [StorableClass]
+  [StorableType("3DCD4D99-DED9-48FB-953C-332F27A6E4D9")]
   public class PotvinTwoOptStarMoveMaker : PotvinMoveMaker, IPotvinTwoOptStarMoveOperator, IMoveMaker {
     public ILookupParameter<PotvinTwoOptStarMove> TwoOptStarMoveParameter {
@@ -41,5 +41,5 @@
 
     [StorableConstructor]
-    protected PotvinTwoOptStarMoveMaker(bool deserializing) : base(deserializing) { }
+    protected PotvinTwoOptStarMoveMaker(StorableConstructorFlag _) : base(_) { }
 
     public PotvinTwoOptStarMoveMaker()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/TwoOptStar/PotvinTwoOptStarMoveTabuCriterion.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/TwoOptStar/PotvinTwoOptStarMoveTabuCriterion.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/TwoOptStar/PotvinTwoOptStarMoveTabuCriterion.cs	(revision 16462)
@@ -27,5 +27,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 using HeuristicLab.Problems.VehicleRouting.Variants;
@@ -33,5 +33,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinTwoOptStarTabuCriterion", @"Checks if a certain two opt star move is tabu.")]
-  [StorableClass]
+  [StorableType("B00189B4-0B8A-444D-BE71-B55C7DCA0EC4")]
   public class PotvinTwoOptStarMoveTabuCriterion : SingleSuccessorOperator, IPotvinTwoOptStarMoveOperator, ITabuChecker, IPotvinOperator, IVRPMoveOperator {
     public override bool CanChangeName {
@@ -84,5 +84,5 @@
 
     [StorableConstructor]
-    protected PotvinTwoOptStarMoveTabuCriterion(bool deserializing) : base(deserializing) { }
+    protected PotvinTwoOptStarMoveTabuCriterion(StorableConstructorFlag _) : base(_) { }
     protected PotvinTwoOptStarMoveTabuCriterion(PotvinTwoOptStarMoveTabuCriterion original, Cloner cloner) : base(original, cloner) { }
     public PotvinTwoOptStarMoveTabuCriterion()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/TwoOptStar/PotvinTwoOptStarMoveTabuMaker.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/TwoOptStar/PotvinTwoOptStarMoveTabuMaker.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/TwoOptStar/PotvinTwoOptStarMoveTabuMaker.cs	(revision 16462)
@@ -27,10 +27,10 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinTwoOptStarMoveTabuMaker", "Declares a given two opt star move as tabu.")]
-  [StorableClass]
+  [StorableType("4F4D7E5C-3C43-4795-AEB6-680740F04F14")]
   public class PotvinTwoOptStarMoveTabuMaker : SingleSuccessorOperator, ITabuMaker, IPotvinTwoOptStarMoveOperator, IPotvinOperator, ISingleObjectiveOperator {
     public LookupParameter<ItemList<IItem>> TabuListParameter {
@@ -75,5 +75,5 @@
 
     [StorableConstructor]
-    protected PotvinTwoOptStarMoveTabuMaker(bool deserializing) : base(deserializing) { }
+    protected PotvinTwoOptStarMoveTabuMaker(StorableConstructorFlag _) : base(_) { }
     protected PotvinTwoOptStarMoveTabuMaker(PotvinTwoOptStarMoveTabuMaker original, Cloner cloner) : base(original, cloner) { }
     public PotvinTwoOptStarMoveTabuMaker()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/TwoOptStar/PotvinTwoOptStarMultiMoveGenerator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/TwoOptStar/PotvinTwoOptStarMultiMoveGenerator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/TwoOptStar/PotvinTwoOptStarMultiMoveGenerator.cs	(revision 16462)
@@ -26,5 +26,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Encodings.General;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
@@ -32,5 +32,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinTwoOptStarMultiMoveGenerator", "Generates two opt star moves from a given VRP encoding.")]
-  [StorableClass]
+  [StorableType("4CA15027-BFF3-4D23-9AAA-291BCC4C9BCC")]
   public sealed class PotvinTwoOptStarMultiMoveGenerator : PotvinTwoOptStarMoveGenerator, IMultiMoveGenerator, IMultiVRPMoveGenerator {
     public ILookupParameter<IRandom> RandomParameter {
@@ -47,5 +47,5 @@
 
     [StorableConstructor]
-    private PotvinTwoOptStarMultiMoveGenerator(bool deserializing) : base(deserializing) { }
+    private PotvinTwoOptStarMultiMoveGenerator(StorableConstructorFlag _) : base(_) { }
 
     public PotvinTwoOptStarMultiMoveGenerator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/TwoOptStar/PotvinTwoOptStarSingleMoveGenerator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/TwoOptStar/PotvinTwoOptStarSingleMoveGenerator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/TwoOptStar/PotvinTwoOptStarSingleMoveGenerator.cs	(revision 16462)
@@ -25,10 +25,10 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinTwoOptStarSingleMoveGenerator", "Generates a single two opt star move from a given VRP encoding.")]
-  [StorableClass]
+  [StorableType("DEA1CE97-AE5F-4357-B51C-8802DFF69391")]
   public sealed class PotvinTwoOptStarSingleMoveGenerator : PotvinTwoOptStarMoveGenerator,
     ISingleMoveGenerator {
@@ -50,5 +50,5 @@
 
     [StorableConstructor]
-    private PotvinTwoOptStarSingleMoveGenerator(bool deserializing) : base(deserializing) { }
+    private PotvinTwoOptStarSingleMoveGenerator(StorableConstructorFlag _) : base(_) { }
 
     public PotvinTwoOptStarSingleMoveGenerator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/VehicleAssignment/PotvinVehicleAssignmentExhaustiveMoveGenerator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/VehicleAssignment/PotvinVehicleAssignmentExhaustiveMoveGenerator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/VehicleAssignment/PotvinVehicleAssignmentExhaustiveMoveGenerator.cs	(revision 16462)
@@ -24,10 +24,10 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinVehicleAssignmentExhaustiveMoveGenerator", "Generates vehicle assignment moves from a given VRP encoding.")]
-  [StorableClass]
+  [StorableType("F1CAD2AC-DBC9-463A-AAE7-2413F6CB96AF")]
   public sealed class PotvinVehicleAssignmentExhaustiveMoveGenerator : PotvinVehicleAssignmentMoveGenerator, IExhaustiveMoveGenerator {
     public override IDeepCloneable Clone(Cloner cloner) {
@@ -36,5 +36,5 @@
 
     [StorableConstructor]
-    private PotvinVehicleAssignmentExhaustiveMoveGenerator(bool deserializing) : base(deserializing) { }
+    private PotvinVehicleAssignmentExhaustiveMoveGenerator(StorableConstructorFlag _) : base(_) { }
 
     public PotvinVehicleAssignmentExhaustiveMoveGenerator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/VehicleAssignment/PotvinVehicleAssignmentMove.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/VehicleAssignment/PotvinVehicleAssignmentMove.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/VehicleAssignment/PotvinVehicleAssignmentMove.cs	(revision 16462)
@@ -23,5 +23,5 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Encodings.General;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
@@ -29,5 +29,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinVehicleAssignmentMove", "Item that describes a relocation move on a VRP representation.")]
-  [StorableClass]
+  [StorableType("6807BEDA-4718-4AB8-B615-FD4938196DB4")]
   public class PotvinVehicleAssignmentMove : Item, IVRPMove {
     [Storable]
@@ -69,5 +69,5 @@
 
     [StorableConstructor]
-    protected PotvinVehicleAssignmentMove(bool deserializing) : base(deserializing) { }
+    protected PotvinVehicleAssignmentMove(StorableConstructorFlag _) : base(_) { }
 
     #region IVRPMove Members
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/VehicleAssignment/PotvinVehicleAssignmentMoveAttribute.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/VehicleAssignment/PotvinVehicleAssignmentMoveAttribute.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/VehicleAssignment/PotvinVehicleAssignmentMoveAttribute.cs	(revision 16462)
@@ -22,10 +22,10 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Encodings.General;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinVehicleAssignmentMoveAttribute", "vehicle assignment move attribute")]
-  [StorableClass]
+  [StorableType("7E494584-0CE3-4138-BF4C-1C20D2EEE852")]
   public class PotvinVehicleAssignmentMoveAttribute : VRPMoveAttribute {
     [Storable]
@@ -42,5 +42,5 @@
 
     [StorableConstructor]
-    protected PotvinVehicleAssignmentMoveAttribute(bool deserializing) : base(deserializing) { }
+    protected PotvinVehicleAssignmentMoveAttribute(StorableConstructorFlag _) : base(_) { }
     protected PotvinVehicleAssignmentMoveAttribute(PotvinVehicleAssignmentMoveAttribute original, Cloner cloner)
       : base(original, cloner) {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/VehicleAssignment/PotvinVehicleAssignmentMoveEvaluator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/VehicleAssignment/PotvinVehicleAssignmentMoveEvaluator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/VehicleAssignment/PotvinVehicleAssignmentMoveEvaluator.cs	(revision 16462)
@@ -23,9 +23,9 @@
 using HeuristicLab.Core;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinVehicleAssignmentMoveEvaluator", "Evaluates a vehicle assignment move for a VRP representation. ")]
-  [StorableClass]
+  [StorableType("41525962-0E71-4DE5-9FC9-6E8FD0C6BE61")]
   public sealed class PotvinVehicleAssignmentMoveEvaluator : PotvinMoveEvaluator, IPotvinVehicleAssignmentMoveOperator {
     public ILookupParameter<PotvinVehicleAssignmentMove> VehicleAssignmentMoveParameter {
@@ -38,5 +38,5 @@
 
     [StorableConstructor]
-    private PotvinVehicleAssignmentMoveEvaluator(bool deserializing) : base(deserializing) { }
+    private PotvinVehicleAssignmentMoveEvaluator(StorableConstructorFlag _) : base(_) { }
 
     public PotvinVehicleAssignmentMoveEvaluator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/VehicleAssignment/PotvinVehicleAssignmentMoveGenerator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/VehicleAssignment/PotvinVehicleAssignmentMoveGenerator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/VehicleAssignment/PotvinVehicleAssignmentMoveGenerator.cs	(revision 16462)
@@ -23,10 +23,10 @@
 using HeuristicLab.Core;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinVehicleAssignmentMoveGenerator", "Generates vehicle assignment moves from a given VRP encoding.")]
-  [StorableClass]
+  [StorableType("036C7D2D-50BA-415A-B5C0-8A643746F469")]
   public abstract class PotvinVehicleAssignmentMoveGenerator : PotvinMoveGenerator, IPotvinVehicleAssignmentMoveOperator {
     public ILookupParameter<PotvinVehicleAssignmentMove> VehicleAssignmentMoveParameter {
@@ -43,5 +43,5 @@
 
     [StorableConstructor]
-    protected PotvinVehicleAssignmentMoveGenerator(bool deserializing) : base(deserializing) { }
+    protected PotvinVehicleAssignmentMoveGenerator(StorableConstructorFlag _) : base(_) { }
 
     public PotvinVehicleAssignmentMoveGenerator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/VehicleAssignment/PotvinVehicleAssignmentMoveMaker.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/VehicleAssignment/PotvinVehicleAssignmentMoveMaker.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/VehicleAssignment/PotvinVehicleAssignmentMoveMaker.cs	(revision 16462)
@@ -25,10 +25,10 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinVehicleAssignmentMoveMaker", "Peforms the vehicle assignment move on a given VRP encoding and updates the quality.")]
-  [StorableClass]
+  [StorableType("3D2B1F7F-DCF7-4223-8A91-19A44B6B9EF6")]
   public class PotvinVehicleAssignmentMoveMaker : PotvinMoveMaker, IPotvinVehicleAssignmentMoveOperator, IMoveMaker {
     public ILookupParameter<PotvinVehicleAssignmentMove> VehicleAssignmentMoveParameter {
@@ -49,5 +49,5 @@
 
     [StorableConstructor]
-    protected PotvinVehicleAssignmentMoveMaker(bool deserializing) : base(deserializing) { }
+    protected PotvinVehicleAssignmentMoveMaker(StorableConstructorFlag _) : base(_) { }
 
     public PotvinVehicleAssignmentMoveMaker()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/VehicleAssignment/PotvinVehicleAssignmentMoveTabuCriterion.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/VehicleAssignment/PotvinVehicleAssignmentMoveTabuCriterion.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/VehicleAssignment/PotvinVehicleAssignmentMoveTabuCriterion.cs	(revision 16462)
@@ -26,5 +26,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 using HeuristicLab.Problems.VehicleRouting.Variants;
@@ -32,5 +32,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinVehicleAssignmentMoveTabuCriterion", @"Checks if a certain vehicle assignment move is tabu.")]
-  [StorableClass]
+  [StorableType("F1D25F3C-DE98-4C8B-B70B-9BDEF9EB4D1E")]
   public class PotvinVehicleAssignmentMoveTabuCriterion : SingleSuccessorOperator, IPotvinVehicleAssignmentMoveOperator, ITabuChecker, IPotvinOperator, IVRPMoveOperator {
     public override bool CanChangeName {
@@ -83,5 +83,5 @@
 
     [StorableConstructor]
-    protected PotvinVehicleAssignmentMoveTabuCriterion(bool deserializing) : base(deserializing) { }
+    protected PotvinVehicleAssignmentMoveTabuCriterion(StorableConstructorFlag _) : base(_) { }
     protected PotvinVehicleAssignmentMoveTabuCriterion(PotvinVehicleAssignmentMoveTabuCriterion original, Cloner cloner) : base(original, cloner) { }
     public PotvinVehicleAssignmentMoveTabuCriterion()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/VehicleAssignment/PotvinVehicleAssignmentMoveTabuMaker.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/VehicleAssignment/PotvinVehicleAssignmentMoveTabuMaker.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/VehicleAssignment/PotvinVehicleAssignmentMoveTabuMaker.cs	(revision 16462)
@@ -26,10 +26,10 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinVehicleAssignmentMoveTabuMaker", "Declares a given vehicle assignment move as tabu.")]
-  [StorableClass]
+  [StorableType("7E620554-BA0A-49E1-ACD4-4BF4966F6EE5")]
   public class PotvinVehicleAssignmentMoveTabuMaker : SingleSuccessorOperator, ITabuMaker, IPotvinVehicleAssignmentMoveOperator, IPotvinOperator, ISingleObjectiveOperator {
     public LookupParameter<ItemList<IItem>> TabuListParameter {
@@ -74,5 +74,5 @@
 
     [StorableConstructor]
-    protected PotvinVehicleAssignmentMoveTabuMaker(bool deserializing) : base(deserializing) { }
+    protected PotvinVehicleAssignmentMoveTabuMaker(StorableConstructorFlag _) : base(_) { }
     protected PotvinVehicleAssignmentMoveTabuMaker(PotvinVehicleAssignmentMoveTabuMaker original, Cloner cloner) : base(original, cloner) { }
     public PotvinVehicleAssignmentMoveTabuMaker()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/VehicleAssignment/PotvinVehicleAssignmentMultiMoveGenerator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/VehicleAssignment/PotvinVehicleAssignmentMultiMoveGenerator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/VehicleAssignment/PotvinVehicleAssignmentMultiMoveGenerator.cs	(revision 16462)
@@ -26,5 +26,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Encodings.General;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
@@ -32,5 +32,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinVehicleAssignmentMultiMoveGenerator", "Generates vehicle assignment moves from a given VRP encoding.")]
-  [StorableClass]
+  [StorableType("C2CB1C17-5B79-4A40-9CA2-5F2D478B84A8")]
   public sealed class PotvinVehicleAssignmentMultiMoveGenerator : PotvinVehicleAssignmentMoveGenerator, IMultiMoveGenerator, IMultiVRPMoveGenerator {
     public ILookupParameter<IRandom> RandomParameter {
@@ -47,5 +47,5 @@
 
     [StorableConstructor]
-    private PotvinVehicleAssignmentMultiMoveGenerator(bool deserializing) : base(deserializing) { }
+    private PotvinVehicleAssignmentMultiMoveGenerator(StorableConstructorFlag _) : base(_) { }
 
     public PotvinVehicleAssignmentMultiMoveGenerator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/VehicleAssignment/PotvinVehicleAssignmentSingleMoveGenerator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/VehicleAssignment/PotvinVehicleAssignmentSingleMoveGenerator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/VehicleAssignment/PotvinVehicleAssignmentSingleMoveGenerator.cs	(revision 16462)
@@ -25,10 +25,10 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinVehicleAssignmentSingleMoveGenerator", "Generates a single vehicle assignment move from a given VRP encoding.")]
-  [StorableClass]
+  [StorableType("437E0361-CEEE-41E4-BD20-BA40D6BB8DA4")]
   public sealed class PotvinVehicleAssignmentSingleMoveGenerator : PotvinVehicleAssignmentMoveGenerator,
     ISingleMoveGenerator {
@@ -50,5 +50,5 @@
 
     [StorableConstructor]
-    private PotvinVehicleAssignmentSingleMoveGenerator(bool deserializing) : base(deserializing) { }
+    private PotvinVehicleAssignmentSingleMoveGenerator(StorableConstructorFlag _) : base(_) { }
 
     public PotvinVehicleAssignmentSingleMoveGenerator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/PotvinEncoding.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/PotvinEncoding.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/PotvinEncoding.cs	(revision 16462)
@@ -24,5 +24,5 @@
 using HeuristicLab.Core;
 using HeuristicLab.Encodings.PermutationEncoding;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Encodings.General;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
@@ -31,5 +31,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
   [Item("PotvinEncoding", "Represents a potvin encoding of VRP solutions. It is implemented as described in Potvin, J.-Y. and Bengio, S. (1996). The Vehicle Routing Problem with Time Windows - Part II: Genetic Search. INFORMS Journal of Computing, 8:165–172.")]
-  [StorableClass]
+  [StorableType("A998C6C9-BCB3-46B7-B035-D7E76BE70184")]
   public class PotvinEncoding : TourEncoding {
     [Storable]
@@ -47,6 +47,5 @@
 
     [StorableConstructor]
-    protected PotvinEncoding(bool serializing)
-      : base(serializing) {
+    protected PotvinEncoding(StorableConstructorFlag _) : base(_) {
     }
 
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Prins/Crossovers/PrinsCrossover.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Prins/Crossovers/PrinsCrossover.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Prins/Crossovers/PrinsCrossover.cs	(revision 16462)
@@ -24,5 +24,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Encodings.General;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
@@ -30,5 +30,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Prins {
   [Item("PrinsCrossover", "An operator which crosses two VRP representations.")]
-  [StorableClass]
+  [StorableType("EAF32C5C-D67E-4EEB-8705-FAA577A40439")]
   public abstract class PrinsCrossover : VRPCrossover, IStochasticOperator, IPrinsOperator {
 
@@ -38,5 +38,5 @@
 
     [StorableConstructor]
-    protected PrinsCrossover(bool deserializing) : base(deserializing) { }
+    protected PrinsCrossover(StorableConstructorFlag _) : base(_) { }
 
     public PrinsCrossover()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Prins/Crossovers/PrinsPermutationCrossover.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Prins/Crossovers/PrinsPermutationCrossover.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Prins/Crossovers/PrinsPermutationCrossover.cs	(revision 16462)
@@ -24,9 +24,9 @@
 using HeuristicLab.Encodings.PermutationEncoding;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Prins {
   [Item("PrinsPermutationCrossover", "An operator which crosses two VRP representations using a standard permutation operator.  It is implemented as described in Prins, C. (2004). A simple and effective evolutionary algorithm for the vehicle routing problem. Computers & Operations Research, 12:1985-2002.")]
-  [StorableClass]
+  [StorableType("F61C494E-4958-4B89-893B-7485A72A1C80")]
   public sealed class PrinsPermutationCrossover : PrinsCrossover, IPrinsOperator {
     public IValueLookupParameter<IPermutationCrossover> InnerCrossoverParameter {
@@ -35,5 +35,5 @@
 
     [StorableConstructor]
-    private PrinsPermutationCrossover(bool deserializing) : base(deserializing) { }
+    private PrinsPermutationCrossover(StorableConstructorFlag _) : base(_) { }
 
     public PrinsPermutationCrossover()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Prins/Manipulators/PrinsExhaustiveLSManipulator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Prins/Manipulators/PrinsExhaustiveLSManipulator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Prins/Manipulators/PrinsExhaustiveLSManipulator.cs	(revision 16462)
@@ -23,12 +23,12 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Prins {
   [Item("PrinsExhaustiveLSManipulator", "An operator which manipulates a VRP representation by using the exhaustive Prins local search.  It is implemented as described in Prins, C. (2004). A simple and effective evolutionary algorithm for the vehicle routing problem. Computers & Operations Research, 12:1985-2002.")]
-  [StorableClass]
+  [StorableType("D0C880A5-B777-436D-9E01-0A450C1327C5")]
   public sealed class PrinsExhaustiveLSManipulator : PrinsLSManipulator {
     [StorableConstructor]
-    private PrinsExhaustiveLSManipulator(bool deserializing) : base(deserializing) { }
+    private PrinsExhaustiveLSManipulator(StorableConstructorFlag _) : base(_) { }
 
     public PrinsExhaustiveLSManipulator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Prins/Manipulators/PrinsLSManipulator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Prins/Manipulators/PrinsLSManipulator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Prins/Manipulators/PrinsLSManipulator.cs	(revision 16462)
@@ -25,10 +25,10 @@
 using HeuristicLab.Data;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Prins {
   [Item("PrinsLSManipulator", "An operator which manipulates a VRP representation by using the Prins local search.  It is implemented as described in Prins, C. (2004). A simple and effective evolutionary algorithm for the vehicle routing problem. Computers & Operations Research, 12:1985-2002.")]
-  [StorableClass]
+  [StorableType("11400A09-F3A9-4059-9C82-426B228C2CA0")]
   public abstract class PrinsLSManipulator : PrinsManipulator, IVRPLocalSearchManipulator {
     public IValueParameter<IntValue> Iterations {
@@ -37,5 +37,5 @@
 
     [StorableConstructor]
-    protected PrinsLSManipulator(bool deserializing) : base(deserializing) { }
+    protected PrinsLSManipulator(StorableConstructorFlag _) : base(_) { }
 
     public PrinsLSManipulator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Prins/Manipulators/PrinsManipulator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Prins/Manipulators/PrinsManipulator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Prins/Manipulators/PrinsManipulator.cs	(revision 16462)
@@ -24,5 +24,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Encodings.General;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
@@ -30,5 +30,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Prins {
   [Item("PrinsManipulator", "An operator which manipulates a VRP representation.")]
-  [StorableClass]
+  [StorableType("AF313602-8AFC-4722-AA47-FFDCF39CF3E4")]
   public abstract class PrinsManipulator : VRPManipulator, IStochasticOperator, IPrinsOperator {
     public ILookupParameter<IRandom> RandomParameter {
@@ -37,5 +37,5 @@
 
     [StorableConstructor]
-    protected PrinsManipulator(bool deserializing) : base(deserializing) { }
+    protected PrinsManipulator(StorableConstructorFlag _) : base(_) { }
 
     public PrinsManipulator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Prins/Manipulators/PrinsPermutationManipulator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Prins/Manipulators/PrinsPermutationManipulator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Prins/Manipulators/PrinsPermutationManipulator.cs	(revision 16462)
@@ -24,9 +24,9 @@
 using HeuristicLab.Encodings.PermutationEncoding;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Prins {
   [Item("PrinsPermutationManipulator", "An operator which manipulates a VRP representation by using a standard permutation manipulator. It is implemented as described in Prins, C. (2004). A simple and effective evolutionary algorithm for the vehicle routing problem. Computers & Operations Research, 12:1985-2002.")]
-  [StorableClass]
+  [StorableType("D5455C8E-B245-4706-AC26-86B4085B6339")]
   public sealed class PrinsPermutationManipulator : PrinsManipulator {
     public IValueLookupParameter<IPermutationManipulator> InnerManipulatorParameter {
@@ -35,5 +35,5 @@
 
     [StorableConstructor]
-    private PrinsPermutationManipulator(bool deserializing) : base(deserializing) { }
+    private PrinsPermutationManipulator(StorableConstructorFlag _) : base(_) { }
 
     public PrinsPermutationManipulator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Prins/Manipulators/PrinsStochasticLSManipulator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Prins/Manipulators/PrinsStochasticLSManipulator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Prins/Manipulators/PrinsStochasticLSManipulator.cs	(revision 16462)
@@ -25,9 +25,9 @@
 using HeuristicLab.Data;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Prins {
   [Item("PrinsStochasticLSManipulator", "An operator which manipulates a VRP representation by using the stochastic version of the Prins local search.  It is implemented as described in Prins, C. (2004). A simple and effective evolutionary algorithm for the vehicle routing problem. Computers & Operations Research, 12:1985-2002.")]
-  [StorableClass]
+  [StorableType("0EA1C024-7FDA-4E52-8186-D2BAF9D5AB24")]
   public sealed class PrinsStochasticLSManipulator : PrinsLSManipulator {
     public IValueParameter<IntValue> SampleSize {
@@ -36,5 +36,5 @@
 
     [StorableConstructor]
-    private PrinsStochasticLSManipulator(bool deserializing) : base(deserializing) { }
+    private PrinsStochasticLSManipulator(StorableConstructorFlag _) : base(_) { }
 
     public PrinsStochasticLSManipulator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Prins/PrinsEncoding.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Prins/PrinsEncoding.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Prins/PrinsEncoding.cs	(revision 16462)
@@ -25,5 +25,5 @@
 using HeuristicLab.Core;
 using HeuristicLab.Encodings.PermutationEncoding;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 using HeuristicLab.Problems.VehicleRouting.ProblemInstances;
@@ -31,5 +31,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Prins {
   [Item("PrinsEncoding", "Represents an Prins encoding of VRP solutions. It is implemented as described in Prins, C. (2004). A simple and effective evolutionary algorithm for the vehicle routing problem. Computers & Operations Research, 12:1985-2002.")]
-  [StorableClass]
+  [StorableType("A0E1EBC1-C0F5-4CD5-9279-1A669C6633CD")]
   public class PrinsEncoding : General.PermutationEncoding {
     #region IVRPEncoding Members
@@ -138,6 +138,5 @@
 
     [StorableConstructor]
-    protected PrinsEncoding(bool serializing)
-      : base(serializing) {
+    protected PrinsEncoding(StorableConstructorFlag _) : base(_) {
     }
 
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Tour.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Tour.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Tour.cs	(revision 16462)
@@ -23,9 +23,9 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 
 namespace HeuristicLab.Problems.VehicleRouting {
-  [StorableClass]
+  [StorableType("99571884-A90B-413D-BC14-59431785CFFF")]
   public class Tour : Item {
     [Storable]
@@ -46,5 +46,5 @@
 
     [StorableConstructor]
-    protected Tour(bool deserializing) : base(deserializing) { }
+    protected Tour(StorableConstructorFlag _) : base(_) { }
 
     public double GetTourLength(IVRPProblemInstance instance, IVRPEncoding solution) {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/VRPOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/VRPOperator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/VRPOperator.cs	(revision 16462)
@@ -24,10 +24,10 @@
 using HeuristicLab.Operators;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings {
   [Item("VRPOperator", "Represents a VRP operator.")]
-  [StorableClass]
+  [StorableType("A2F2C612-6A4E-4C61-9C17-2826A6BA6DC6")]
   public abstract class VRPOperator : InstrumentedOperator, IVRPOperator {
     public ILookupParameter<IVRPProblemInstance> ProblemInstanceParameter {
@@ -40,5 +40,5 @@
 
     [StorableConstructor]
-    protected VRPOperator(bool deserializing) : base(deserializing) { }
+    protected VRPOperator(StorableConstructorFlag _) : base(_) { }
 
     public VRPOperator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Zhu/Crossovers/ZhuCrossover.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Zhu/Crossovers/ZhuCrossover.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Zhu/Crossovers/ZhuCrossover.cs	(revision 16462)
@@ -24,5 +24,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Encodings.General;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
@@ -30,5 +30,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Zhu {
   [Item("ZhuCrossover", "An operator which crosses two VRP representations.")]
-  [StorableClass]
+  [StorableType("557D7F37-14DB-4CB8-92B0-DB2BC039F36C")]
   public abstract class ZhuCrossover : VRPCrossover, IStochasticOperator, IZhuOperator {
     public ILookupParameter<IRandom> RandomParameter {
@@ -37,5 +37,5 @@
 
     [StorableConstructor]
-    protected ZhuCrossover(bool deserializing) : base(deserializing) { }
+    protected ZhuCrossover(StorableConstructorFlag _) : base(_) { }
 
     public ZhuCrossover()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Zhu/Crossovers/ZhuHeuristicCrossover1.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Zhu/Crossovers/ZhuHeuristicCrossover1.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Zhu/Crossovers/ZhuHeuristicCrossover1.cs	(revision 16462)
@@ -22,12 +22,12 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Zhu {
   [Item("ZhuHeuristicCrossover1", "The Zhu Heuristic Crossover (Version 1). It is implemented as described in Zhu, K.Q. (2000). A New Genetic Algorithm For VRPTW. Proceedings of the International Conference on Artificial Intelligence.")]
-  [StorableClass]
+  [StorableType("C3E48066-FD84-428E-89E7-DD0A8322535E")]
   public sealed class ZhuHeuristicCrossover1 : ZhuCrossover {
     [StorableConstructor]
-    private ZhuHeuristicCrossover1(bool deserializing) : base(deserializing) { }
+    private ZhuHeuristicCrossover1(StorableConstructorFlag _) : base(_) { }
 
     public ZhuHeuristicCrossover1()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Zhu/Crossovers/ZhuHeuristicCrossover2.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Zhu/Crossovers/ZhuHeuristicCrossover2.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Zhu/Crossovers/ZhuHeuristicCrossover2.cs	(revision 16462)
@@ -23,12 +23,12 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Zhu {
   [Item("ZhuHeuristicCrossover2", "The Zhu Heuristic Crossover (Version 2). It is implemented as described in Zhu, K.Q. (2000). A New Genetic Algorithm For VRPTW. Proceedings of the International Conference on Artificial Intelligence.")]
-  [StorableClass]
+  [StorableType("69206FC0-4870-4C78-B8FD-6C6EF2ADDA31")]
   public sealed class ZhuHeuristicCrossover2 : ZhuCrossover {
     [StorableConstructor]
-    private ZhuHeuristicCrossover2(bool deserializing) : base(deserializing) { }
+    private ZhuHeuristicCrossover2(StorableConstructorFlag _) : base(_) { }
 
     public ZhuHeuristicCrossover2()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Zhu/Crossovers/ZhuMergeCrossover1.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Zhu/Crossovers/ZhuMergeCrossover1.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Zhu/Crossovers/ZhuMergeCrossover1.cs	(revision 16462)
@@ -23,13 +23,13 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Variants;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Zhu {
   [Item("ZhuMergeCrossover1", "The Zhu Merge Crossover (Version 1). It is implemented as described in Zhu, K.Q. (2000). A New Genetic Algorithm For VRPTW. Proceedings of the International Conference on Artificial Intelligence.")]
-  [StorableClass]
+  [StorableType("3DF02AC1-B4F2-41C3-83E3-C587EBE70DEF")]
   public sealed class ZhuMergeCrossover1 : ZhuCrossover {
     [StorableConstructor]
-    private ZhuMergeCrossover1(bool deserializing) : base(deserializing) { }
+    private ZhuMergeCrossover1(StorableConstructorFlag _) : base(_) { }
 
     public ZhuMergeCrossover1()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Zhu/Crossovers/ZhuMergeCrossover2.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Zhu/Crossovers/ZhuMergeCrossover2.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Zhu/Crossovers/ZhuMergeCrossover2.cs	(revision 16462)
@@ -24,13 +24,13 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Variants;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Zhu {
   [Item("ZhuMergeCrossover2", "The Zhu Merge Crossover (Version 2).  It is implemented as described in Zhu, K.Q. (2000). A New Genetic Algorithm For VRPTW. Proceedings of the International Conference on Artificial Intelligence.")]
-  [StorableClass]
+  [StorableType("A0714F51-A876-429E-853C-6F29A48B9F8C")]
   public sealed class ZhuMergeCrossover2 : ZhuCrossover {
     [StorableConstructor]
-    private ZhuMergeCrossover2(bool deserializing) : base(deserializing) { }
+    private ZhuMergeCrossover2(StorableConstructorFlag _) : base(_) { }
 
     public ZhuMergeCrossover2()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Zhu/Crossovers/ZhuPermutationCrossover.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Zhu/Crossovers/ZhuPermutationCrossover.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Zhu/Crossovers/ZhuPermutationCrossover.cs	(revision 16462)
@@ -24,9 +24,9 @@
 using HeuristicLab.Encodings.PermutationEncoding;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Zhu {
   [Item("ZhuPermutationCrossover", "An operator which crosses two VRP representations using a standard permutation operator. It is implemented as described in Zhu, K.Q. (2000). A New Genetic Algorithm For VRPTW. Proceedings of the International Conference on Artificial Intelligence.")]
-  [StorableClass]
+  [StorableType("1D216531-C9D8-4A12-BCFD-7E97161EC383")]
   public sealed class PrinsPermutationCrossover : ZhuCrossover {
     public IValueLookupParameter<IPermutationCrossover> InnerCrossoverParameter {
@@ -35,5 +35,5 @@
 
     [StorableConstructor]
-    private PrinsPermutationCrossover(bool deserializing) : base(deserializing) { }
+    private PrinsPermutationCrossover(StorableConstructorFlag _) : base(_) { }
 
     public PrinsPermutationCrossover()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Zhu/Manipulators/ZhuManipulator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Zhu/Manipulators/ZhuManipulator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Zhu/Manipulators/ZhuManipulator.cs	(revision 16462)
@@ -24,5 +24,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Encodings.General;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
@@ -30,5 +30,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Zhu {
   [Item("ZhuManipulator", "An operator which manipulates a VRP representation.")]
-  [StorableClass]
+  [StorableType("DC8B774D-4D51-4439-90BC-9533CACF74FD")]
   public abstract class ZhuManipulator : VRPManipulator, IStochasticOperator, IZhuOperator {
     public ILookupParameter<IRandom> RandomParameter {
@@ -37,5 +37,5 @@
 
     [StorableConstructor]
-    protected ZhuManipulator(bool deserializing) : base(deserializing) { }
+    protected ZhuManipulator(StorableConstructorFlag _) : base(_) { }
 
     public ZhuManipulator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Zhu/Manipulators/ZhuPermutationManipulator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Zhu/Manipulators/ZhuPermutationManipulator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Zhu/Manipulators/ZhuPermutationManipulator.cs	(revision 16462)
@@ -24,9 +24,9 @@
 using HeuristicLab.Encodings.PermutationEncoding;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Zhu {
   [Item("ZhuPermutationManipulator", "An operator which manipulates a VRP representation by using a standard permutation manipulator. It is implemented as described in Zhu, K.Q. (2000). A New Genetic Algorithm For VRPTW. Proceedings of the International Conference on Artificial Intelligence.")]
-  [StorableClass]
+  [StorableType("2D0168F4-40E8-4E54-AEAD-E8CEAE355AEB")]
   public sealed class ZhuPermutationManipulator : ZhuManipulator {
     public IValueLookupParameter<IPermutationManipulator> InnerManipulatorParameter {
@@ -35,5 +35,5 @@
 
     [StorableConstructor]
-    private ZhuPermutationManipulator(bool deserializing) : base(deserializing) { }
+    private ZhuPermutationManipulator(StorableConstructorFlag _) : base(_) { }
 
     public ZhuPermutationManipulator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Zhu/ZhuEncoding.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Zhu/ZhuEncoding.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Zhu/ZhuEncoding.cs	(revision 16462)
@@ -25,10 +25,10 @@
 using HeuristicLab.Core;
 using HeuristicLab.Encodings.PermutationEncoding;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Zhu {
   [Item("ZhuEncoding", "Represents a Zhu encoding of VRP solutions. It is implemented as described in Zhu, K.Q. (2000). A New Genetic Algorithm For VRPTW. Proceedings of the International Conference on Artificial Intelligence.")]
-  [StorableClass]
+  [StorableType("1A5F5A1D-E4F5-4477-887E-45FC488BC459")]
   public class ZhuEncoding : General.PermutationEncoding {
     #region IVRPEncoding Members
@@ -108,6 +108,5 @@
 
     [StorableConstructor]
-    protected ZhuEncoding(bool serializing)
-      : base(serializing) {
+    protected ZhuEncoding(StorableConstructorFlag _) : base(_) {
     }
 
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/HeuristicLab.Problems.VehicleRouting-3.4.csproj
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/HeuristicLab.Problems.VehicleRouting-3.4.csproj	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/HeuristicLab.Problems.VehicleRouting-3.4.csproj	(revision 16462)
@@ -109,5 +109,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.VehicleRouting/3.4/Improver/VRPImprovementOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Improver/VRPImprovementOperator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Improver/VRPImprovementOperator.cs	(revision 16462)
@@ -26,5 +26,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Encodings;
 using HeuristicLab.Problems.VehicleRouting.Encodings.Potvin;
@@ -37,5 +37,5 @@
   /// </summary>
   [Item("VRPImprovementOperator", "A base class for operators which improve VRP solutions.")]
-  [StorableClass]
+  [StorableType("478FC98D-CB2E-4071-80E4-970BDC09EE32")]
   public abstract class VRPImprovementOperator : VRPOperator, IGeneralVRPOperator, ISingleObjectiveImprovementOperator {
     #region Parameter properties
@@ -61,5 +61,5 @@
 
     [StorableConstructor]
-    protected VRPImprovementOperator(bool deserializing) : base(deserializing) { }
+    protected VRPImprovementOperator(StorableConstructorFlag _) : base(_) { }
     protected VRPImprovementOperator(VRPImprovementOperator original, Cloner cloner) : base(original, cloner) { }
     protected VRPImprovementOperator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Improver/VRPIntraRouteImprovementOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Improver/VRPIntraRouteImprovementOperator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Improver/VRPIntraRouteImprovementOperator.cs	(revision 16462)
@@ -23,5 +23,5 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Encodings.Potvin;
 
@@ -31,8 +31,8 @@
   /// </summary>
   [Item("VRPIntraRouteImprovementOperator", "An operator which improves VRP solutions.")]
-  [StorableClass]
+  [StorableType("297EAEDF-FD4E-48E1-B304-C13699E78CDA")]
   public sealed class VRPIntraRouteImprovementOperator : VRPImprovementOperator {
     [StorableConstructor]
-    private VRPIntraRouteImprovementOperator(bool deserializing) : base(deserializing) { }
+    private VRPIntraRouteImprovementOperator(StorableConstructorFlag _) : base(_) { }
     private VRPIntraRouteImprovementOperator(VRPIntraRouteImprovementOperator original, Cloner cloner) : base(original, cloner) { }
     public VRPIntraRouteImprovementOperator() : base() { }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interpreters/CVRPInterpreter.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interpreters/CVRPInterpreter.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interpreters/CVRPInterpreter.cs	(revision 16462)
@@ -22,8 +22,6 @@
 using HeuristicLab.Data;
 using HeuristicLab.Problems.Instances;
-using HeuristicLab.Problems.VehicleRouting.Encodings.Potvin;
 using HeuristicLab.Problems.VehicleRouting.ProblemInstances;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
-using System;
 
 namespace HeuristicLab.Problems.VehicleRouting.Interpreters {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interpreters/CVRPTWInterpreter.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interpreters/CVRPTWInterpreter.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interpreters/CVRPTWInterpreter.cs	(revision 16462)
@@ -22,8 +22,6 @@
 using HeuristicLab.Data;
 using HeuristicLab.Problems.Instances;
-using HeuristicLab.Problems.VehicleRouting.Encodings.Potvin;
 using HeuristicLab.Problems.VehicleRouting.ProblemInstances;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
-using System;
 
 namespace HeuristicLab.Problems.VehicleRouting.Interpreters {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interpreters/IVRPDataInterpreter.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interpreters/IVRPDataInterpreter.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interpreters/IVRPDataInterpreter.cs	(revision 16462)
@@ -22,5 +22,4 @@
 using HeuristicLab.Problems.Instances;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
-using System;
 
 namespace HeuristicLab.Problems.VehicleRouting.Interpreters {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interpreters/MDCVRPInterpreter.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interpreters/MDCVRPInterpreter.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interpreters/MDCVRPInterpreter.cs	(revision 16462)
@@ -22,8 +22,6 @@
 using HeuristicLab.Data;
 using HeuristicLab.Problems.Instances;
-using HeuristicLab.Problems.VehicleRouting.Encodings.Potvin;
 using HeuristicLab.Problems.VehicleRouting.ProblemInstances;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
-using System;
 
 namespace HeuristicLab.Problems.VehicleRouting.Interpreters {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interpreters/MDCVRPTWInterpreter.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interpreters/MDCVRPTWInterpreter.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interpreters/MDCVRPTWInterpreter.cs	(revision 16462)
@@ -22,8 +22,6 @@
 using HeuristicLab.Data;
 using HeuristicLab.Problems.Instances;
-using HeuristicLab.Problems.VehicleRouting.Encodings.Potvin;
 using HeuristicLab.Problems.VehicleRouting.ProblemInstances;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
-using System;
 
 namespace HeuristicLab.Problems.VehicleRouting.Interpreters {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interpreters/PDPTWInterpreter.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interpreters/PDPTWInterpreter.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interpreters/PDPTWInterpreter.cs	(revision 16462)
@@ -22,8 +22,6 @@
 using HeuristicLab.Data;
 using HeuristicLab.Problems.Instances;
-using HeuristicLab.Problems.VehicleRouting.Encodings.Potvin;
 using HeuristicLab.Problems.VehicleRouting.ProblemInstances;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
-using System;
 
 namespace HeuristicLab.Problems.VehicleRouting.Interpreters {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interpreters/VRPInterpreter.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interpreters/VRPInterpreter.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interpreters/VRPInterpreter.cs	(revision 16462)
@@ -21,10 +21,7 @@
 
 using System.IO;
-using HeuristicLab.Data;
 using HeuristicLab.Problems.Instances;
 using HeuristicLab.Problems.VehicleRouting.Encodings.Potvin;
-using HeuristicLab.Problems.VehicleRouting.ProblemInstances;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
-using System;
 
 namespace HeuristicLab.Problems.VehicleRouting.Interpreters {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/PathRelinkers/VRPPathRelinker.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/PathRelinkers/VRPPathRelinker.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/PathRelinkers/VRPPathRelinker.cs	(revision 16462)
@@ -29,5 +29,5 @@
 using HeuristicLab.Optimization.Operators;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Encodings.Potvin;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
@@ -40,5 +40,5 @@
   /// </summary>
   [Item("VRPPathRelinker", "An operator which relinks paths between VRP solutions.")]
-  [StorableClass]
+  [StorableType("C0C17982-BC36-4DF9-8C33-2B6F9A19CA53")]
   public sealed class VRPPathRelinker : SingleObjectivePathRelinker, IGeneralVRPOperator, IStochasticOperator {
     #region Parameter properties
@@ -58,5 +58,5 @@
 
     [StorableConstructor]
-    private VRPPathRelinker(bool deserializing) : base(deserializing) { }
+    private VRPPathRelinker(StorableConstructorFlag _) : base(_) { }
     private VRPPathRelinker(VRPPathRelinker original, Cloner cloner) : base(original, cloner) { }
     public VRPPathRelinker()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/MultiDepotVRP/MDCVRP/MDCVRPEvaluator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/MultiDepotVRP/MDCVRP/MDCVRPEvaluator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/MultiDepotVRP/MDCVRP/MDCVRPEvaluator.cs	(revision 16462)
@@ -24,5 +24,5 @@
 using HeuristicLab.Data;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 using HeuristicLab.Problems.VehicleRouting.Variants;
@@ -30,5 +30,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.ProblemInstances {
   [Item("MDCVRPEvaluator", "Represents a multi depot CVRP evaluator.")]
-  [StorableClass]
+  [StorableType("E59F6449-7DA3-4842-A0D8-C5BECC965642")]
   public class MDCVRPEvaluator : VRPEvaluator {
     public ILookupParameter<DoubleValue> OverloadParameter {
@@ -135,5 +135,5 @@
 
     [StorableConstructor]
-    protected MDCVRPEvaluator(bool deserializing) : base(deserializing) { }
+    protected MDCVRPEvaluator(StorableConstructorFlag _) : base(_) { }
 
     public MDCVRPEvaluator() {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/MultiDepotVRP/MDCVRP/MDCVRPProblemInstance.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/MultiDepotVRP/MDCVRP/MDCVRPProblemInstance.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/MultiDepotVRP/MDCVRP/MDCVRPProblemInstance.cs	(revision 16462)
@@ -28,5 +28,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.PluginInfrastructure;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
@@ -35,5 +35,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.ProblemInstances {
   [Item("MDCVRPProblemInstance", "Represents a multi depot CVRP instance.")]
-  [StorableClass]
+  [StorableType("19F824AB-6C66-4FB6-88D5-3C163BF789E6")]
   public class MDCVRPProblemInstance : MultiDepotVRPProblemInstance, IHeterogenousCapacitatedProblemInstance {
     protected IValueParameter<DoubleArray> CapacityParameter {
@@ -85,5 +85,5 @@
 
     [StorableConstructor]
-    protected MDCVRPProblemInstance(bool deserializing) : base(deserializing) { }
+    protected MDCVRPProblemInstance(StorableConstructorFlag _) : base(_) { }
 
     public MDCVRPProblemInstance() {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/MultiDepotVRP/MDCVRP/MDCVRPTW/MDCVRPPDTW/MDCVRPPDTWEvaluator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/MultiDepotVRP/MDCVRP/MDCVRPTW/MDCVRPPDTW/MDCVRPPDTWEvaluator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/MultiDepotVRP/MDCVRP/MDCVRPTW/MDCVRPPDTW/MDCVRPPDTWEvaluator.cs	(revision 16462)
@@ -26,5 +26,5 @@
 using HeuristicLab.Data;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 using HeuristicLab.Problems.VehicleRouting.Variants;
@@ -32,5 +32,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.ProblemInstances {
   [Item("MDCVRPPDTWEvaluator", "Represents a multi depot CVRPPDTW evaluator.")]
-  [StorableClass]
+  [StorableType("4C4D6FA1-A16B-47B5-99D8-7F3D7C3D286A")]
   public class MDCVRPPDTWEvaluator : MDCVRPTWEvaluator {
     public ILookupParameter<IntValue> PickupViolationsParameter {
@@ -324,5 +324,5 @@
 
     [StorableConstructor]
-    protected MDCVRPPDTWEvaluator(bool deserializing) : base(deserializing) { }
+    protected MDCVRPPDTWEvaluator(StorableConstructorFlag _) : base(_) { }
 
     public MDCVRPPDTWEvaluator() {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/MultiDepotVRP/MDCVRP/MDCVRPTW/MDCVRPPDTW/MDCVRPPDTWProblemInstance.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/MultiDepotVRP/MDCVRP/MDCVRPTW/MDCVRPPDTW/MDCVRPPDTWProblemInstance.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/MultiDepotVRP/MDCVRP/MDCVRPTW/MDCVRPPDTW/MDCVRPPDTWProblemInstance.cs	(revision 16462)
@@ -28,5 +28,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.PluginInfrastructure;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
@@ -35,5 +35,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.ProblemInstances {
   [Item("MDCVRPPDTWProblemInstance", "Represents a multi depot CVRPPDTW instance.")]
-  [StorableClass]
+  [StorableType("A77F180E-8DE5-43E2-B9A4-313B5E2C5A06")]
   public class MDCVRPPDTWProblemInstance : MDCVRPTWProblemInstance, IPickupAndDeliveryProblemInstance {
     protected IValueParameter<IntArray> PickupDeliveryLocationParameter {
@@ -91,5 +91,5 @@
 
     [StorableConstructor]
-    protected MDCVRPPDTWProblemInstance(bool deserializing) : base(deserializing) { }
+    protected MDCVRPPDTWProblemInstance(StorableConstructorFlag _) : base(_) { }
 
     public MDCVRPPDTWProblemInstance() {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/MultiDepotVRP/MDCVRP/MDCVRPTW/MDCVRPTWEvaluator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/MultiDepotVRP/MDCVRP/MDCVRPTW/MDCVRPTWEvaluator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/MultiDepotVRP/MDCVRP/MDCVRPTW/MDCVRPTWEvaluator.cs	(revision 16462)
@@ -25,5 +25,5 @@
 using HeuristicLab.Data;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 using HeuristicLab.Problems.VehicleRouting.Variants;
@@ -31,5 +31,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.ProblemInstances {
   [Item("MDCVRPTWEvaluator", "Represents a multi depot CVRPTW evaluator.")]
-  [StorableClass]
+  [StorableType("D3E40FC1-17FA-4C0E-AD1A-10C98ACCE27D")]
   public class MDCVRPTWEvaluator : MDCVRPEvaluator {
     public ILookupParameter<DoubleValue> TardinessParameter {
@@ -275,5 +275,5 @@
 
     [StorableConstructor]
-    protected MDCVRPTWEvaluator(bool deserializing) : base(deserializing) { }
+    protected MDCVRPTWEvaluator(StorableConstructorFlag _) : base(_) { }
 
     public MDCVRPTWEvaluator() {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/MultiDepotVRP/MDCVRP/MDCVRPTW/MDCVRPTWProblemInstance.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/MultiDepotVRP/MDCVRP/MDCVRPTW/MDCVRPTWProblemInstance.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/MultiDepotVRP/MDCVRP/MDCVRPTW/MDCVRPTWProblemInstance.cs	(revision 16462)
@@ -28,5 +28,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.PluginInfrastructure;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
@@ -35,5 +35,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.ProblemInstances {
   [Item("MDCVRPTWProblemInstance", "Represents a multi depot CVRPTW instance.")]
-  [StorableClass]
+  [StorableType("ADC41AA7-EFA6-46FB-BBA7-DC08AE0A26F0")]
   public class MDCVRPTWProblemInstance : MDCVRPProblemInstance, ITimeWindowedProblemInstance {
     protected IValueParameter<DoubleArray> ReadyTimeParameter {
@@ -107,5 +107,5 @@
 
     [StorableConstructor]
-    protected MDCVRPTWProblemInstance(bool deserializing) : base(deserializing) { }
+    protected MDCVRPTWProblemInstance(StorableConstructorFlag _) : base(_) { }
 
     public MDCVRPTWProblemInstance() {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/MultiDepotVRP/MultiDepotVRPEvaluator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/MultiDepotVRP/MultiDepotVRPEvaluator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/MultiDepotVRP/MultiDepotVRPEvaluator.cs	(revision 16462)
@@ -22,5 +22,5 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 
@@ -28,5 +28,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.ProblemInstances {
   [Item("SingleDepotVRPEvaluator", "Represents a single depot VRP evaluator.")]
-  [StorableClass]
+  [StorableType("AFC33483-2E8A-4469-8216-1F4FEE0AEB51")]
   public class MultiDepotVRPEvaluator : VRPEvaluator {
     protected override void EvaluateTour(VRPEvaluation eval, IVRPProblemInstance instance, Tour tour, IVRPEncoding solution) {
@@ -80,5 +80,5 @@
 
     [StorableConstructor]
-    protected MultiDepotVRPEvaluator(bool deserializing) : base(deserializing) { }
+    protected MultiDepotVRPEvaluator(StorableConstructorFlag _) : base(_) { }
 
     public MultiDepotVRPEvaluator() {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/MultiDepotVRP/MultiDepotVRPProblemInstance.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/MultiDepotVRP/MultiDepotVRPProblemInstance.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/MultiDepotVRP/MultiDepotVRPProblemInstance.cs	(revision 16462)
@@ -28,5 +28,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.PluginInfrastructure;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
@@ -35,5 +35,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.ProblemInstances {
   [Item("MultiDepotVRPProblemInstance", "Represents a multi depot VRP instance.")]
-  [StorableClass]
+  [StorableType("20788CA4-8AA0-4A57-8118-0D7C3FEF1AA4")]
   public class MultiDepotVRPProblemInstance : VRPProblemInstance, IMultiDepotProblemInstance {
     protected IValueParameter<IntValue> DepotsParameter {
@@ -174,5 +174,5 @@
 
     [StorableConstructor]
-    protected MultiDepotVRPProblemInstance(bool deserializing) : base(deserializing) { }
+    protected MultiDepotVRPProblemInstance(StorableConstructorFlag _) : base(_) { }
     protected MultiDepotVRPProblemInstance(MultiDepotVRPProblemInstance original, Cloner cloner)
       : base(original, cloner) {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPEvaluator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPEvaluator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPEvaluator.cs	(revision 16462)
@@ -24,5 +24,5 @@
 using HeuristicLab.Data;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 using HeuristicLab.Problems.VehicleRouting.Variants;
@@ -30,5 +30,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.ProblemInstances {
   [Item("CVRPEvaluator", "Represents a single depot CVRP evaluator.")]
-  [StorableClass]
+  [StorableType("7253D8EC-5F91-4E5F-99E0-45AF10AEA9AF")]
   public class CVRPEvaluator : VRPEvaluator {
     public ILookupParameter<DoubleValue> OverloadParameter {
@@ -140,5 +140,5 @@
 
     [StorableConstructor]
-    protected CVRPEvaluator(bool deserializing) : base(deserializing) { }
+    protected CVRPEvaluator(StorableConstructorFlag _) : base(_) { }
 
     public CVRPEvaluator() {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPProblemInstance.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPProblemInstance.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPProblemInstance.cs	(revision 16462)
@@ -28,5 +28,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.PluginInfrastructure;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
@@ -35,5 +35,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.ProblemInstances {
   [Item("CVRPProblemInstance", "Represents a single depot CVRP instance.")]
-  [StorableClass]
+  [StorableType("CBE1D39B-9BBE-4119-801B-32739D1E8DEE")]
   public class CVRPProblemInstance : SingleDepotVRPProblemInstance, IHomogenousCapacitatedProblemInstance {
     protected IValueParameter<DoubleValue> CapacityParameter {
@@ -85,5 +85,5 @@
 
     [StorableConstructor]
-    protected CVRPProblemInstance(bool deserializing) : base(deserializing) { }
+    protected CVRPProblemInstance(StorableConstructorFlag _) : base(_) { }
 
     public CVRPProblemInstance() {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPTW/CVRPPDTW/CVRPPDTWEvaluator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPTW/CVRPPDTW/CVRPPDTWEvaluator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPTW/CVRPPDTW/CVRPPDTWEvaluator.cs	(revision 16462)
@@ -26,5 +26,5 @@
 using HeuristicLab.Data;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 using HeuristicLab.Problems.VehicleRouting.Variants;
@@ -32,5 +32,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.ProblemInstances {
   [Item("CVRPPDTWEvaluator", "Represents a single depot CVRPPDTW evaluator.")]
-  [StorableClass]
+  [StorableType("6324F32C-727E-4593-BB21-4625755F844A")]
   public class CVRPPDTWEvaluator : CVRPTWEvaluator {
     public ILookupParameter<IntValue> PickupViolationsParameter {
@@ -306,5 +306,5 @@
 
     [StorableConstructor]
-    protected CVRPPDTWEvaluator(bool deserializing) : base(deserializing) { }
+    protected CVRPPDTWEvaluator(StorableConstructorFlag _) : base(_) { }
 
     public CVRPPDTWEvaluator() {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPTW/CVRPPDTW/CVRPPDTWProblemInstance.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPTW/CVRPPDTW/CVRPPDTWProblemInstance.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPTW/CVRPPDTW/CVRPPDTWProblemInstance.cs	(revision 16462)
@@ -28,5 +28,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.PluginInfrastructure;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
@@ -35,5 +35,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.ProblemInstances {
   [Item("CVRPPDTWProblemInstance", "Represents a single depot CVRPPDTW instance.")]
-  [StorableClass]
+  [StorableType("6DC3F907-9CDC-4CDA-8C84-AC9ED248DB3B")]
   public class CVRPPDTWProblemInstance : CVRPTWProblemInstance, IPickupAndDeliveryProblemInstance {
     protected IValueParameter<IntArray> PickupDeliveryLocationParameter {
@@ -91,5 +91,5 @@
 
     [StorableConstructor]
-    protected CVRPPDTWProblemInstance(bool deserializing) : base(deserializing) { }
+    protected CVRPPDTWProblemInstance(StorableConstructorFlag _) : base(_) { }
 
     public CVRPPDTWProblemInstance() {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPTW/CVRPTWEvaluator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPTW/CVRPTWEvaluator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPTW/CVRPTWEvaluator.cs	(revision 16462)
@@ -25,5 +25,5 @@
 using HeuristicLab.Data;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 using HeuristicLab.Problems.VehicleRouting.Variants;
@@ -31,5 +31,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.ProblemInstances {
   [Item("CVRPTWEvaluator", "Represents a single depot CVRPTW evaluator.")]
-  [StorableClass]
+  [StorableType("BB258008-7ECC-488A-BB2A-B38AE0023CFD")]
   public class CVRPTWEvaluator : CVRPEvaluator {
     public ILookupParameter<DoubleValue> TardinessParameter {
@@ -259,5 +259,5 @@
 
     [StorableConstructor]
-    protected CVRPTWEvaluator(bool deserializing) : base(deserializing) { }
+    protected CVRPTWEvaluator(StorableConstructorFlag _) : base(_) { }
 
     public CVRPTWEvaluator() {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPTW/CVRPTWProblemInstance.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPTW/CVRPTWProblemInstance.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPTW/CVRPTWProblemInstance.cs	(revision 16462)
@@ -28,5 +28,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.PluginInfrastructure;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
@@ -35,5 +35,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.ProblemInstances {
   [Item("CVRPTWProblemInstance", "Represents a single depot CVRPTW instance.")]
-  [StorableClass]
+  [StorableType("2138BE6C-058E-4003-8578-55E8DE3706C7")]
   public class CVRPTWProblemInstance : CVRPProblemInstance, ITimeWindowedProblemInstance {
     protected IValueParameter<DoubleArray> ReadyTimeParameter {
@@ -107,5 +107,5 @@
 
     [StorableConstructor]
-    protected CVRPTWProblemInstance(bool deserializing) : base(deserializing) { }
+    protected CVRPTWProblemInstance(StorableConstructorFlag _) : base(_) { }
 
     public CVRPTWProblemInstance() {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/SingleDepotVRPEvaluator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/SingleDepotVRPEvaluator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/SingleDepotVRPEvaluator.cs	(revision 16462)
@@ -22,5 +22,5 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
 
@@ -28,5 +28,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.ProblemInstances {
   [Item("SingleDepotVRPEvaluator", "Represents a single depot VRP evaluator.")]
-  [StorableClass]
+  [StorableType("1E0DECD9-54BF-4F69-A743-228C481749A0")]
   public class SingleDepotVRPEvaluator : VRPEvaluator {
     protected override void EvaluateTour(VRPEvaluation eval, IVRPProblemInstance instance, Tour tour, IVRPEncoding solution) {
@@ -84,5 +84,5 @@
 
     [StorableConstructor]
-    protected SingleDepotVRPEvaluator(bool deserializing) : base(deserializing) { }
+    protected SingleDepotVRPEvaluator(StorableConstructorFlag _) : base(_) { }
 
     public SingleDepotVRPEvaluator() {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/SingleDepotVRPProblemInstance.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/SingleDepotVRPProblemInstance.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/SingleDepotVRPProblemInstance.cs	(revision 16462)
@@ -26,5 +26,5 @@
 using HeuristicLab.Data;
 using HeuristicLab.Optimization;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.PluginInfrastructure;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
@@ -33,5 +33,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.ProblemInstances {
   [Item("SingleDepotVRPProblemInstance", "Represents a single depot VRP instance.")]
-  [StorableClass]
+  [StorableType("A45435DD-F615-45C6-8456-5A49EE5D3C8E")]
   public class SingleDepotVRPProblemInstance : VRPProblemInstance, ISingleDepotProblemInstance {
     protected override IEnumerable<IOperator> GetOperators() {
@@ -64,5 +64,5 @@
 
     [StorableConstructor]
-    protected SingleDepotVRPProblemInstance(bool deserializing) : base(deserializing) { }
+    protected SingleDepotVRPProblemInstance(StorableConstructorFlag _) : base(_) { }
 
     public SingleDepotVRPProblemInstance() {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/VRPEvaluator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/VRPEvaluator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/VRPEvaluator.cs	(revision 16462)
@@ -24,5 +24,5 @@
 using HeuristicLab.Data;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Encodings;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
@@ -30,5 +30,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.ProblemInstances {
   [Item("VRPEvaluator", "Represents a VRP evaluator.")]
-  [StorableClass]
+  [StorableType("164315D4-BCCF-4A79-B75B-11A49C56C5E1")]
   public abstract class VRPEvaluator : VRPOperator, IVRPEvaluator {
     public ILookupParameter<IVRPEncoding> VRPToursParameter {
@@ -54,5 +54,5 @@
 
     [StorableConstructor]
-    protected VRPEvaluator(bool deserializing) : base(deserializing) { }
+    protected VRPEvaluator(StorableConstructorFlag _) : base(_) { }
 
     public VRPEvaluator() {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/VRPProblemInstance.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/VRPProblemInstance.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/VRPProblemInstance.cs	(revision 16462)
@@ -27,5 +27,5 @@
 using HeuristicLab.Data;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Encodings.General;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
@@ -33,5 +33,5 @@
 namespace HeuristicLab.Problems.VehicleRouting.ProblemInstances {
   [Item("VRPProblemInstance", "Represents a VRP instance.")]
-  [StorableClass]
+  [StorableType("9A6CCE89-A4B6-4FA3-A150-181FC315B713")]
   public abstract class VRPProblemInstance : ParameterizedNamedItem, IVRPProblemInstance, IStatefulItem {
     IVRPEvaluator moveEvaluator;
@@ -250,5 +250,5 @@
 
     [StorableConstructor]
-    protected VRPProblemInstance(bool deserializing) : base(deserializing) { }
+    protected VRPProblemInstance(StorableConstructorFlag _) : base(_) { }
 
     public VRPProblemInstance()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/SimilarityCalculators/VRPSimilarityCalculator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/SimilarityCalculators/VRPSimilarityCalculator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/SimilarityCalculators/VRPSimilarityCalculator.cs	(revision 16462)
@@ -26,5 +26,5 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization.Operators;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Problems.VehicleRouting.Encodings.Potvin;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
@@ -38,5 +38,5 @@
   /// </remarks>
   [Item("VRPSimilarityCalculator", "An operator which performs similarity calculation between two VRP solutions.")]
-  [StorableClass]
+  [StorableType("16011E6B-62F5-4165-9F8D-E4BA5191FB7E")]
   public sealed class VRPSimilarityCalculator : SingleObjectiveSolutionSimilarityCalculator {
     protected override bool IsCommutative { get { return true; } }
@@ -45,5 +45,6 @@
     public IVRPProblemInstance ProblemInstance { get; set; }
 
-    private VRPSimilarityCalculator(bool deserializing) : base(deserializing) { }
+    [StorableConstructor]
+    private VRPSimilarityCalculator(StorableConstructorFlag _) : base(_) { }
     private VRPSimilarityCalculator(VRPSimilarityCalculator original, Cloner cloner)
       : base(original, cloner) {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/VehicleRoutingProblem.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/VehicleRoutingProblem.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/VehicleRoutingProblem.cs	(revision 16462)
@@ -31,5 +31,5 @@
 using HeuristicLab.Optimization.Operators;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.PluginInfrastructure;
 using HeuristicLab.Problems.Instances;
@@ -43,5 +43,5 @@
   [Item("Vehicle Routing Problem (VRP)", "Represents a Vehicle Routing Problem.")]
   [Creatable(CreatableAttribute.Categories.CombinatorialProblems, Priority = 110)]
-  [StorableClass]
+  [StorableType("95137523-AE3B-4638-958C-E86829D54CE3")]
   public sealed class VehicleRoutingProblem : Problem, ISingleObjectiveHeuristicOptimizationProblem, IStorableContent, IProblemInstanceConsumer<IVRPData> {
     public string Filename { get; set; }
@@ -118,5 +118,5 @@
 
     [StorableConstructor]
-    private VehicleRoutingProblem(bool deserializing) : base(deserializing) { }
+    private VehicleRoutingProblem(StorableConstructorFlag _) : base(_) { }
     public VehicleRoutingProblem()
       : base() {
