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 16453)
+++ 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 16453)
+++ 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 16453)
+++ 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 16453)
+++ 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 16453)
+++ 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 16453)
+++ 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 16453)
+++ 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 16453)
+++ 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 16453)
+++ 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 16453)
+++ 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 16453)
+++ 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 16453)
+++ 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 16453)
+++ 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 16453)
+++ 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 16453)
+++ 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 16453)
+++ 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 16453)
+++ 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 16453)
+++ 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 16453)
+++ 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 16453)
+++ 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 16453)
+++ 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 16453)
+++ 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(_) {
     }
 
