Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/BinaryVector.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/BinaryVector.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/BinaryVector.cs	(revision 16462)
@@ -23,12 +23,12 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.BinaryVectorEncoding {
-  [StorableClass]
+  [StorableType("B349929A-675C-41F4-AEB9-EEA3121E73A9")]
   [Item("BinaryVector", "Represents a vector of binary values.")]
   public class BinaryVector : BoolArray {
     [StorableConstructor]
-    protected BinaryVector(bool deserializing) : base(deserializing) { }
+    protected BinaryVector(StorableConstructorFlag _) : base(_) { }
     protected BinaryVector(BinaryVector original, Cloner cloner) : base(original, cloner) { }
     public BinaryVector() : base() { }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/BinaryVectorCreator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/BinaryVectorCreator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/BinaryVectorCreator.cs	(revision 16462)
@@ -26,5 +26,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.BinaryVectorEncoding {
@@ -33,5 +33,5 @@
   /// </summary>
   [Item("BinaryVectorCreator", "A base class for operators creating bool-valued vectors.")]
-  [StorableClass]
+  [StorableType("5CE4B676-CE68-4338-AF85-A289D3C8BA69")]
   public abstract class BinaryVectorCreator : InstrumentedOperator, IBinaryVectorCreator, IStochasticOperator {
     public override bool CanChangeName {
@@ -49,5 +49,5 @@
 
     [StorableConstructor]
-    protected BinaryVectorCreator(bool deserializing) : base(deserializing) { }
+    protected BinaryVectorCreator(StorableConstructorFlag _) : base(_) { }
     protected BinaryVectorCreator(BinaryVectorCreator original, Cloner cloner) : base(original, cloner) { }
     protected BinaryVectorCreator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/BinaryVectorCrossover.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/BinaryVectorCrossover.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/BinaryVectorCrossover.cs	(revision 16462)
@@ -25,5 +25,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.BinaryVectorEncoding {
@@ -32,5 +32,5 @@
   /// </summary>
   [Item("BinaryVectorCrossover", "A base class for operators that perform a crossover of bool-valued vectors.")]
-  [StorableClass]
+  [StorableType("1E97E70A-DBB0-49E4-B67B-41A581B95BAE")]
   public abstract class BinaryVectorCrossover : InstrumentedOperator, IBinaryVectorCrossover, IStochasticOperator {
     public override bool CanChangeName {
@@ -48,5 +48,5 @@
 
     [StorableConstructor]
-    protected BinaryVectorCrossover(bool deserializing) : base(deserializing) { }
+    protected BinaryVectorCrossover(StorableConstructorFlag _) : base(_) { }
     protected BinaryVectorCrossover(BinaryVectorCrossover original, Cloner cloner) : base(original, cloner) { }
     protected BinaryVectorCrossover()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/BinaryVectorEncoding.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/BinaryVectorEncoding.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/BinaryVectorEncoding.cs	(revision 16462)
@@ -28,10 +28,10 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.PluginInfrastructure;
 
 namespace HeuristicLab.Encodings.BinaryVectorEncoding {
   [Item("BinaryVectorEncoding", "Describes a binary vector encoding.")]
-  [StorableClass]
+  [StorableType("889C5E1A-3FBF-4AB3-AB2E-199A781503B5")]
   public sealed class BinaryVectorEncoding : Encoding<IBinaryVectorCreator> {
     #region Encoding Parameters
@@ -60,5 +60,5 @@
 
     [StorableConstructor]
-    private BinaryVectorEncoding(bool deserializing) : base(deserializing) { }
+    private BinaryVectorEncoding(StorableConstructorFlag _) : base(_) { }
     [StorableHook(HookType.AfterDeserialization)]
     private void AfterDeserialization() {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/BinaryVectorManipulator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/BinaryVectorManipulator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/BinaryVectorManipulator.cs	(revision 16462)
@@ -25,5 +25,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.BinaryVectorEncoding {
@@ -32,5 +32,5 @@
   /// </summary>
   [Item("BinaryVectorManipulator", "A base class for operators that manipulate bool-valued vectors.")]
-  [StorableClass]
+  [StorableType("B5A9B51F-33F3-4C0B-87CF-147C3BF03545")]
   public abstract class BinaryVectorManipulator : InstrumentedOperator, IBinaryVectorManipulator, IStochasticOperator {
     public override bool CanChangeName {
@@ -45,5 +45,5 @@
 
     [StorableConstructor]
-    protected BinaryVectorManipulator(bool deserializing) : base(deserializing) { }
+    protected BinaryVectorManipulator(StorableConstructorFlag _) : base(_) { }
     protected BinaryVectorManipulator(BinaryVectorManipulator original, Cloner cloner) : base(original, cloner) { }
     protected BinaryVectorManipulator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Creators/RandomBinaryVectorCreator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Creators/RandomBinaryVectorCreator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Creators/RandomBinaryVectorCreator.cs	(revision 16462)
@@ -25,5 +25,5 @@
 using HeuristicLab.Data;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.BinaryVectorEncoding {
@@ -32,5 +32,5 @@
   /// </summary>
   [Item("RandomBinaryVectorCreator", "An operator which creates a new random binary vector with each element randomly initialized.")]
-  [StorableClass]
+  [StorableType("D5BF4C14-1C0B-4589-835E-BA337D325E31")]
   public sealed class RandomBinaryVectorCreator : BinaryVectorCreator {
     private const string TrueProbabilityParameterName = "TrueProbability";
@@ -46,5 +46,5 @@
 
     [StorableConstructor]
-    private RandomBinaryVectorCreator(bool deserializing) : base(deserializing) { }
+    private RandomBinaryVectorCreator(StorableConstructorFlag _) : base(_) { }
     private RandomBinaryVectorCreator(RandomBinaryVectorCreator original, Cloner cloner) : base(original, cloner) { }
     public override IDeepCloneable Clone(Cloner cloner) { return new RandomBinaryVectorCreator(this, cloner); }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Crossovers/MultiBinaryVectorCrossover.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Crossovers/MultiBinaryVectorCrossover.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Crossovers/MultiBinaryVectorCrossover.cs	(revision 16462)
@@ -28,10 +28,10 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.PluginInfrastructure;
 
 namespace HeuristicLab.Encodings.BinaryVectorEncoding {
   [Item("MultiBinaryVectorCrossover", "Randomly selects and applies one of its crossovers every time it is called.")]
-  [StorableClass]
+  [StorableType("0ACAFFFB-E57A-4171-9D6D-A20B7A7B935E")]
   public class MultiBinaryVectorCrossover : StochasticMultiBranch<IBinaryVectorCrossover>, IBinaryVectorCrossover, IStochasticOperator {
     public override bool CanChangeName {
@@ -51,5 +51,5 @@
 
     [StorableConstructor]
-    protected MultiBinaryVectorCrossover(bool deserializing) : base(deserializing) { }
+    protected MultiBinaryVectorCrossover(StorableConstructorFlag _) : base(_) { }
     protected MultiBinaryVectorCrossover(MultiBinaryVectorCrossover original, Cloner cloner) : base(original, cloner) { }
     public MultiBinaryVectorCrossover()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Crossovers/NPointCrossover.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Crossovers/NPointCrossover.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Crossovers/NPointCrossover.cs	(revision 16462)
@@ -26,5 +26,5 @@
 using HeuristicLab.Data;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.BinaryVectorEncoding {
@@ -36,5 +36,5 @@
   /// </remarks>
   [Item("NPointCrossover", "N point crossover for binary vectors. It is implemented as described in Eiben, A.E. and Smith, J.E. 2003. Introduction to Evolutionary Computation. Natural Computing Series, Springer-Verlag Berlin Heidelberg.")]
-  [StorableClass]
+  [StorableType("59683F25-9315-47D9-9E06-539559C9DEE1")]
   public sealed class NPointCrossover : BinaryVectorCrossover {
     /// <summary>
@@ -46,5 +46,5 @@
 
     [StorableConstructor]
-    private NPointCrossover(bool deserializing) : base(deserializing) { }
+    private NPointCrossover(StorableConstructorFlag _) : base(_) { }
     private NPointCrossover(NPointCrossover original, Cloner cloner) : base(original, cloner) { }
     /// <summary>
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Crossovers/SinglePointCrossover.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Crossovers/SinglePointCrossover.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Crossovers/SinglePointCrossover.cs	(revision 16462)
@@ -24,5 +24,5 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.BinaryVectorEncoding {
@@ -34,9 +34,9 @@
   /// </remarks>
   [Item("SinglePointCrossover", "Single point crossover for binary vectors. It is implemented based on the NPointCrossover.")]
-  [StorableClass]
+  [StorableType("40B6A5D5-8937-495E-8B98-2E4F8FD06D93")]
   public sealed class SinglePointCrossover : BinaryVectorCrossover {
 
     [StorableConstructor]
-    private SinglePointCrossover(bool deserializing) : base(deserializing) { }
+    private SinglePointCrossover(StorableConstructorFlag _) : base(_) { }
     private SinglePointCrossover(SinglePointCrossover original, Cloner cloner) : base(original, cloner) { }
     public SinglePointCrossover() : base() { }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Crossovers/UniformCrossover.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Crossovers/UniformCrossover.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Crossovers/UniformCrossover.cs	(revision 16462)
@@ -23,5 +23,5 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.BinaryVectorEncoding {
@@ -33,9 +33,9 @@
   /// </remarks>
   [Item("UniformCrossover", "Uniform crossover for binary vectors. It is implemented as described in Eiben, A.E. and Smith, J.E. 2003. Introduction to Evolutionary Computation. Natural Computing Series, Springer-Verlag Berlin Heidelberg.")]
-  [StorableClass]
+  [StorableType("6B0DDD76-EC81-4C5A-989E-239A82B78E66")]
   public sealed class UniformCrossover : BinaryVectorCrossover {
 
     [StorableConstructor]
-    private UniformCrossover(bool deserializing) : base(deserializing) { }
+    private UniformCrossover(StorableConstructorFlag _) : base(_) { }
     private UniformCrossover(UniformCrossover original, Cloner cloner) : base(original, cloner) { }
     public UniformCrossover() : base() { }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/HeuristicLab.Encodings.BinaryVectorEncoding-3.3.csproj
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/HeuristicLab.Encodings.BinaryVectorEncoding-3.3.csproj	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/HeuristicLab.Encodings.BinaryVectorEncoding-3.3.csproj	(revision 16462)
@@ -102,5 +102,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.Encodings.BinaryVectorEncoding/3.3/Manipulators/SinglePositionBitflipManipulator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Manipulators/SinglePositionBitflipManipulator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Manipulators/SinglePositionBitflipManipulator.cs	(revision 16462)
@@ -22,5 +22,5 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.BinaryVectorEncoding {
@@ -32,9 +32,9 @@
   /// </remarks>
   [Item("SinglePositionBitflipManipulator", "Flips exactly one bit of a binary vector. It is implemented as described in Michalewicz, Z. 1999. Genetic Algorithms + Data Structures = Evolution Programs. Third, Revised and Extended Edition, Spring-Verlag Berlin Heidelberg.")]
-  [StorableClass]
+  [StorableType("72BE48BD-F47C-4C81-81F6-FA42D496AC34")]
   public sealed class SinglePositionBitflipManipulator : BinaryVectorManipulator {
 
     [StorableConstructor]
-    private SinglePositionBitflipManipulator(bool deserializing) : base(deserializing) { }
+    private SinglePositionBitflipManipulator(StorableConstructorFlag _) : base(_) { }
     private SinglePositionBitflipManipulator(SinglePositionBitflipManipulator original, Cloner cloner) : base(original, cloner) { }
     public SinglePositionBitflipManipulator() : base() { }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Manipulators/SomePositionsBitflipManipulator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Manipulators/SomePositionsBitflipManipulator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Manipulators/SomePositionsBitflipManipulator.cs	(revision 16462)
@@ -25,5 +25,5 @@
 using HeuristicLab.Data;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.BinaryVectorEncoding {
@@ -35,5 +35,5 @@
   /// </remarks>
   [Item("SomePositionsBitflipManipulator", "Flips some bits of a binary vector, each position is flipped with a probability of pm. It is implemented as described in Eiben, A.E. and Smith, J.E. 2003. Introduction to Evolutionary Computation. Natural Computing Series, Springer-Verlag Berlin Heidelberg, p. 43.")]
-  [StorableClass]
+  [StorableType("058E0380-0BFB-4E39-82DC-C4E3CCD8EAF5")]
   public sealed class SomePositionsBitflipManipulator : BinaryVectorManipulator {
     /// <summary>
@@ -45,5 +45,5 @@
 
     [StorableConstructor]
-    private SomePositionsBitflipManipulator(bool deserializing) : base(deserializing) { }
+    private SomePositionsBitflipManipulator(StorableConstructorFlag _) : base(_) { }
     private SomePositionsBitflipManipulator(SomePositionsBitflipManipulator original, Cloner cloner) : base(original, cloner) { }
     /// <summary>
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Moves/OneBitflipMove/ExhaustiveOneBitflipMoveGenerator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Moves/OneBitflipMove/ExhaustiveOneBitflipMoveGenerator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Moves/OneBitflipMove/ExhaustiveOneBitflipMoveGenerator.cs	(revision 16462)
@@ -23,12 +23,12 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.BinaryVectorEncoding {
   [Item("ExhaustiveBitflipMoveGenerator", "Generates all possible one bitflip moves from a given binaryVector.")]
-  [StorableClass]
+  [StorableType("15F17361-2334-434A-904D-EF9426DEF32F")]
   public sealed class ExhaustiveOneBitflipMoveGenerator : OneBitflipMoveGenerator, IExhaustiveMoveGenerator {
     [StorableConstructor]
-    private ExhaustiveOneBitflipMoveGenerator(bool deserializing) : base(deserializing) { }
+    private ExhaustiveOneBitflipMoveGenerator(StorableConstructorFlag _) : base(_) { }
     private ExhaustiveOneBitflipMoveGenerator(ExhaustiveOneBitflipMoveGenerator original, Cloner cloner) : base(original, cloner) { }
     public ExhaustiveOneBitflipMoveGenerator() : base() { }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Moves/OneBitflipMove/OneBitflipMove.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Moves/OneBitflipMove/OneBitflipMove.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Moves/OneBitflipMove/OneBitflipMove.cs	(revision 16462)
@@ -22,12 +22,12 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.BinaryVectorEncoding {
   [Item("OneBitflipMove", "Item that describes a one bitflip move.")]
-  [StorableClass]
+  [StorableType("BFF3ABCF-9C7B-41F8-8861-B2164D92FD89")]
   public class OneBitflipMove : OneIndexMove {
     [StorableConstructor]
-    protected OneBitflipMove(bool deserializing) : base(deserializing) { }
+    protected OneBitflipMove(StorableConstructorFlag _) : base(_) { }
     protected OneBitflipMove(OneBitflipMove original, Cloner cloner) : base(original, cloner) { }
     public OneBitflipMove() : base() { }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Moves/OneBitflipMove/OneBitflipMoveAttribute.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Moves/OneBitflipMove/OneBitflipMoveAttribute.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Moves/OneBitflipMove/OneBitflipMoveAttribute.cs	(revision 16462)
@@ -22,9 +22,9 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.BinaryVectorEncoding {
   [Item("OneBitflipMoveAttribute", "Describes the attributes (move quality and index) of a single bitflip move.")]
-  [StorableClass]
+  [StorableType("D5CD3F76-E016-417F-B916-7666683A42D7")]
   public class OneBitflipMoveAttribute : Item {
     [Storable]
@@ -34,5 +34,5 @@
 
     [StorableConstructor]
-    protected OneBitflipMoveAttribute(bool deserializing) : base(deserializing) { }
+    protected OneBitflipMoveAttribute(StorableConstructorFlag _) : base(_) { }
     protected OneBitflipMoveAttribute(OneBitflipMoveAttribute original, Cloner cloner)
       : base(original, cloner) {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Moves/OneBitflipMove/OneBitflipMoveGenerator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Moves/OneBitflipMove/OneBitflipMoveGenerator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Moves/OneBitflipMove/OneBitflipMoveGenerator.cs	(revision 16462)
@@ -25,9 +25,9 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.BinaryVectorEncoding {
   [Item("OneBitflipMoveGenerator", "Base class for all one bitflip move generators.")]
-  [StorableClass]
+  [StorableType("600CE405-5ADC-471A-966B-27965190AF73")]
   public abstract class OneBitflipMoveGenerator : SingleSuccessorOperator, IOneBitflipMoveOperator, IMoveGenerator {
     public override bool CanChangeName {
@@ -45,5 +45,5 @@
 
     [StorableConstructor]
-    protected OneBitflipMoveGenerator(bool deserializing) : base(deserializing) { }
+    protected OneBitflipMoveGenerator(StorableConstructorFlag _) : base(_) { }
     protected OneBitflipMoveGenerator(OneBitflipMoveGenerator original, Cloner cloner) : base(original, cloner) { }
     public OneBitflipMoveGenerator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Moves/OneBitflipMove/OneBitflipMoveMaker.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Moves/OneBitflipMove/OneBitflipMoveMaker.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Moves/OneBitflipMove/OneBitflipMoveMaker.cs	(revision 16462)
@@ -26,9 +26,9 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.BinaryVectorEncoding {
   [Item("OneBitflipMoveMaker", "Peforms a one bitflip move on a given BitVector and updates the quality.")]
-  [StorableClass]
+  [StorableType("13029FD8-4A99-4EA6-A4AA-8877B86582B8")]
   public class OneBitflipMoveMaker : SingleSuccessorOperator, IOneBitflipMoveOperator, IMoveMaker, ISingleObjectiveOperator {
     public override bool CanChangeName {
@@ -49,5 +49,5 @@
 
     [StorableConstructor]
-    protected OneBitflipMoveMaker(bool deserializing) : base(deserializing) { }
+    protected OneBitflipMoveMaker(StorableConstructorFlag _) : base(_) { }
     protected OneBitflipMoveMaker(OneBitflipMoveMaker original, Cloner cloner) : base(original, cloner) { }
     public OneBitflipMoveMaker()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Moves/OneBitflipMove/OneBitflipMoveTabuChecker.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Moves/OneBitflipMove/OneBitflipMoveTabuChecker.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Moves/OneBitflipMove/OneBitflipMoveTabuChecker.cs	(revision 16462)
@@ -26,9 +26,9 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.BinaryVectorEncoding {
   [Item("OneBitflipMoveTabuChecker", "Prevents peforming a one bitflip move again.")]
-  [StorableClass]
+  [StorableType("27523531-D19E-47ED-9397-F7457D41B85B")]
   public class OneBitflipMoveTabuChecker : SingleSuccessorOperator, IOneBitflipMoveOperator, ITabuChecker {
     public override bool CanChangeName {
@@ -63,5 +63,5 @@
 
     [StorableConstructor]
-    protected OneBitflipMoveTabuChecker(bool deserializing) : base(deserializing) { }
+    protected OneBitflipMoveTabuChecker(StorableConstructorFlag _) : base(_) { }
     protected OneBitflipMoveTabuChecker(OneBitflipMoveTabuChecker original, Cloner cloner) : base(original, cloner) { }
     public OneBitflipMoveTabuChecker()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Moves/OneBitflipMove/OneBitflipMoveTabuMaker.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Moves/OneBitflipMove/OneBitflipMoveTabuMaker.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Moves/OneBitflipMove/OneBitflipMoveTabuMaker.cs	(revision 16462)
@@ -24,9 +24,9 @@
 using HeuristicLab.Optimization.Operators;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.BinaryVectorEncoding {
   [Item("OneBitflipMoveTabuMaker", "Declares a given one bitflip move as tabu, by adding its attributes to the tabu list. It also removes the oldest entry in the tabu list when its size is greater than tenure.")]
-  [StorableClass]
+  [StorableType("F0C4D51D-EF93-426D-8D94-867BE0DBE1F6")]
   public class OneBitflipMoveTabuMaker : TabuMaker, IOneBitflipMoveOperator {
     public ILookupParameter<BinaryVector> BinaryVectorParameter {
@@ -38,5 +38,5 @@
 
     [StorableConstructor]
-    protected OneBitflipMoveTabuMaker(bool deserializing) : base(deserializing) { }
+    protected OneBitflipMoveTabuMaker(StorableConstructorFlag _) : base(_) { }
     protected OneBitflipMoveTabuMaker(OneBitflipMoveTabuMaker original, Cloner cloner) : base(original, cloner) { }
     public OneBitflipMoveTabuMaker()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Moves/OneBitflipMove/StochasticOneBitflipMultiMoveGenerator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Moves/OneBitflipMove/StochasticOneBitflipMultiMoveGenerator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Moves/OneBitflipMove/StochasticOneBitflipMultiMoveGenerator.cs	(revision 16462)
@@ -26,9 +26,9 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.BinaryVectorEncoding {
   [Item("StochasticOneBitflipMultiMoveGenerator", "Randomly samples n from all possible one bitflip moves from a given BinaryVector.")]
-  [StorableClass]
+  [StorableType("11A9E43A-6291-4F9D-90AB-DC205923EE68")]
   public class StochasticOneBitflipMultiMoveGenerator : OneBitflipMoveGenerator, IStochasticOperator, IMultiMoveGenerator {
     public ILookupParameter<IRandom> RandomParameter {
@@ -45,5 +45,5 @@
 
     [StorableConstructor]
-    protected StochasticOneBitflipMultiMoveGenerator(bool deserializing) : base(deserializing) { }
+    protected StochasticOneBitflipMultiMoveGenerator(StorableConstructorFlag _) : base(_) { }
     protected StochasticOneBitflipMultiMoveGenerator(StochasticOneBitflipMultiMoveGenerator original, Cloner cloner) : base(original, cloner) { }
     public StochasticOneBitflipMultiMoveGenerator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Moves/OneBitflipMove/StochasticOneBitflipSingleMoveGenerator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Moves/OneBitflipMove/StochasticOneBitflipSingleMoveGenerator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Moves/OneBitflipMove/StochasticOneBitflipSingleMoveGenerator.cs	(revision 16462)
@@ -24,9 +24,9 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.BinaryVectorEncoding {
   [Item("StochasticOneBitflipSingleMoveGenerator", "Randomly samples a single from all possible one bitflip moves from a given BinaryVector.")]
-  [StorableClass]
+  [StorableType("9EFDBD19-B9AF-4820-8DA9-EE04370D7D8B")]
   public class StochasticOneBitflipSingleMoveGenerator : OneBitflipMoveGenerator, IStochasticOperator, ISingleMoveGenerator {
     public ILookupParameter<IRandom> RandomParameter {
@@ -35,5 +35,5 @@
 
     [StorableConstructor]
-    protected StochasticOneBitflipSingleMoveGenerator(bool deserializing) : base(deserializing) { }
+    protected StochasticOneBitflipSingleMoveGenerator(StorableConstructorFlag _) : base(_) { }
     protected StochasticOneBitflipSingleMoveGenerator(StochasticOneBitflipSingleMoveGenerator original, Cloner cloner) : base(original, cloner) { }
     public StochasticOneBitflipSingleMoveGenerator()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Moves/OneIndexMove.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Moves/OneIndexMove.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Moves/OneIndexMove.cs	(revision 16462)
@@ -22,9 +22,9 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.BinaryVectorEncoding {
   [Item("OneIndexMove", "A move on a binary vector that is specified by 1 index")]
-  [StorableClass]
+  [StorableType("C7948F7F-EC47-4752-9E18-9299123189D1")]
   public class OneIndexMove : Item {
     [Storable]
@@ -34,5 +34,5 @@
 
     [StorableConstructor]
-    protected OneIndexMove(bool deserializing) : base(deserializing) { }
+    protected OneIndexMove(StorableConstructorFlag _) : base(_) { }
     protected OneIndexMove(OneIndexMove original, Cloner cloner)
       : base(original, cloner) {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/ShakingOperators/BinaryVectorShakingOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/ShakingOperators/BinaryVectorShakingOperator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/ShakingOperators/BinaryVectorShakingOperator.cs	(revision 16462)
@@ -28,5 +28,5 @@
 using HeuristicLab.Optimization.Operators;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.PluginInfrastructure;
 
@@ -36,5 +36,5 @@
   /// </summary>
   [Item("BinaryVectorShakingOperator", "A shaking operator for VNS which uses available manipulation operators to perform the shaking.")]
-  [StorableClass]
+  [StorableType("9AC6B66C-C95D-4A39-8E40-6F4B5AC03B6E")]
   public class BinaryVectorShakingOperator : ShakingOperator<IBinaryVectorManipulator>, IBinaryVectorMultiNeighborhoodShakingOperator, IStochasticOperator {
 
@@ -48,5 +48,5 @@
 
     [StorableConstructor]
-    protected BinaryVectorShakingOperator(bool deserializing) : base(deserializing) { }
+    protected BinaryVectorShakingOperator(StorableConstructorFlag _) : base(_) { }
     protected BinaryVectorShakingOperator(BinaryVectorShakingOperator original, Cloner cloner) : base(original, cloner) { }
     public override IDeepCloneable Clone(Cloner cloner) {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/SimilarityCalculators/HammingSimilarityCalculator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/SimilarityCalculators/HammingSimilarityCalculator.cs	(revision 16454)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/SimilarityCalculators/HammingSimilarityCalculator.cs	(revision 16462)
@@ -24,9 +24,9 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization.Operators;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.BinaryVectorEncoding {
   [Item("Hamming Similarity Calculator for BinaryVector", "Calculates the solution similarity based on the Hamming distance between two binary vectors.")]
-  [StorableClass]
+  [StorableType("1718CDA7-9BC7-4A05-A52D-774BEEB59E05")]
   public sealed class HammingSimilarityCalculator : SingleObjectiveSolutionSimilarityCalculator {
     protected override bool IsCommutative {
@@ -35,5 +35,5 @@
 
     [StorableConstructor]
-    private HammingSimilarityCalculator(bool deserializing) : base(deserializing) { }
+    private HammingSimilarityCalculator(StorableConstructorFlag _) : base(_) { }
     private HammingSimilarityCalculator(HammingSimilarityCalculator original, Cloner cloner) : base(original, cloner) { }
     public HammingSimilarityCalculator() { }
