Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Crossovers/GreedyPartitionCrossover.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Crossovers/GreedyPartitionCrossover.cs	(revision 16453)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Crossovers/GreedyPartitionCrossover.cs	(revision 16462)
@@ -25,14 +25,14 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Random;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
   [Item("Greedy Partition Crossover", "The Greedy Partition Crossover (GPX) is implemented as described in Ülker, Ö., Özcan, E., Korkmaz, E. E. 2007. Linear linkage encoding in grouping problems: applications on graph coloring and timetabling. In Practice and Theory of Automated Timetabling VI, pp. 347-363. Springer Berlin Heidelberg.")]
-  [StorableClass]
+  [StorableType("C0CDC693-4513-404A-9CE9-598C6DC2E319")]
   public sealed class GreedyPartitionCrossover : LinearLinkageCrossover {
 
     [StorableConstructor]
-    private GreedyPartitionCrossover(bool deserializing) : base(deserializing) { }
+    private GreedyPartitionCrossover(StorableConstructorFlag _) : base(_) { }
     private GreedyPartitionCrossover(GreedyPartitionCrossover original, Cloner cloner) : base(original, cloner) { }
     public GreedyPartitionCrossover() { }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Crossovers/GroupCrossover.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Crossovers/GroupCrossover.cs	(revision 16453)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Crossovers/GroupCrossover.cs	(revision 16462)
@@ -21,16 +21,15 @@
 
 using System;
-using System.Collections.Generic;
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
   [Item("Group Crossover", "The Group Crossover is implemented as described in Korkmaz, E.E. 2010. Multi-objective Genetic Algorithms for grouping problems. Applied Intelligence 33(2), pp. 179-192.")]
-  [StorableClass]
+  [StorableType("E3B2FBDD-C923-4FE2-85C8-B2202EEF367F")]
   public sealed class GroupCrossover : LinearLinkageCrossover {
 
     [StorableConstructor]
-    private GroupCrossover(bool deserializing) : base(deserializing) { }
+    private GroupCrossover(StorableConstructorFlag _) : base(_) { }
     private GroupCrossover(GroupCrossover original, Cloner cloner) : base(original, cloner) { }
     public GroupCrossover() { }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Crossovers/LowestIndexFirstCrossover.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Crossovers/LowestIndexFirstCrossover.cs	(revision 16453)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Crossovers/LowestIndexFirstCrossover.cs	(revision 16462)
@@ -24,13 +24,13 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
   [Item("Lowest Index First Crossover", "The Lowest Index First Crossover (LIFX) is implemented as described in Ülker, Ö., Özcan, E., Korkmaz, E. E. 2007. Linear linkage encoding in grouping problems: applications on graph coloring and timetabling. In Practice and Theory of Automated Timetabling VI, pp. 347-363. Springer Berlin Heidelberg.")]
-  [StorableClass]
+  [StorableType("1DFB1827-AFE6-4210-A542-F9EA112FF039")]
   public sealed class LowestIndexFirstCrossover : LinearLinkageCrossover {
 
     [StorableConstructor]
-    private LowestIndexFirstCrossover(bool deserializing) : base(deserializing) { }
+    private LowestIndexFirstCrossover(StorableConstructorFlag _) : base(_) { }
     private LowestIndexFirstCrossover(LowestIndexFirstCrossover original, Cloner cloner) : base(original, cloner) { }
     public LowestIndexFirstCrossover() { }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Crossovers/LowestIndexMaxCrossover.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Crossovers/LowestIndexMaxCrossover.cs	(revision 16453)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Crossovers/LowestIndexMaxCrossover.cs	(revision 16462)
@@ -25,14 +25,14 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.Random;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
   [Item("Lowest Index Max Crossover", "The Lowest Index Max Crossover (LIMX) is implemented as described in Ülker, Ö., Özcan, E., Korkmaz, E. E. 2007. Linear linkage encoding in grouping problems: applications on graph coloring and timetabling. In Practice and Theory of Automated Timetabling VI, pp. 347-363. Springer Berlin Heidelberg.")]
-  [StorableClass]
+  [StorableType("CDD94469-9B80-4FBB-AC40-DADE1A9462F1")]
   public sealed class LowestIndexMaxCrossover : LinearLinkageCrossover {
 
     [StorableConstructor]
-    private LowestIndexMaxCrossover(bool deserializing) : base(deserializing) { }
+    private LowestIndexMaxCrossover(StorableConstructorFlag _) : base(_) { }
     private LowestIndexMaxCrossover(LowestIndexMaxCrossover original, Cloner cloner) : base(original, cloner) { }
     public LowestIndexMaxCrossover() { }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Crossovers/MultiLLECrossover.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Crossovers/MultiLLECrossover.cs	(revision 16453)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Crossovers/MultiLLECrossover.cs	(revision 16462)
@@ -23,5 +23,4 @@
 using System.Collections.Generic;
 using System.Linq;
-using System.Reflection;
 using HeuristicLab.Collections;
 using HeuristicLab.Common;
@@ -30,10 +29,10 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 using HeuristicLab.PluginInfrastructure;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
   [Item("Multi LLE Crossover", "Randomly selects and applies one of its crossovers every time it is called.")]
-  [StorableClass]
+  [StorableType("276A73EA-3642-4B8F-9CD4-74C1B2772728")]
   public class MultiLinearLinkageCrossover : StochasticMultiBranch<ILinearLinkageCrossover>, ILinearLinkageCrossover, IStochasticOperator {
     public override bool CanChangeName {
@@ -53,5 +52,5 @@
 
     [StorableConstructor]
-    protected MultiLinearLinkageCrossover(bool deserializing) : base(deserializing) { }
+    protected MultiLinearLinkageCrossover(StorableConstructorFlag _) : base(_) { }
     protected MultiLinearLinkageCrossover(MultiLinearLinkageCrossover original, Cloner cloner) : base(original, cloner) { }
     public MultiLinearLinkageCrossover()
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Crossovers/SinglePointCrossover.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Crossovers/SinglePointCrossover.cs	(revision 16453)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Crossovers/SinglePointCrossover.cs	(revision 16462)
@@ -23,13 +23,13 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
   [Item("Single Point Crossover", "The single point crossover concatenates two linkage strings at a randomly chosen point.")]
-  [StorableClass]
+  [StorableType("1F1A83F4-659C-4A88-9A0C-4507257A3741")]
   public sealed class SinglePointCrossover : LinearLinkageCrossover {
 
     [StorableConstructor]
-    private SinglePointCrossover(bool deserializing) : base(deserializing) { }
+    private SinglePointCrossover(StorableConstructorFlag _) : base(_) { }
     private SinglePointCrossover(SinglePointCrossover original, Cloner cloner) : base(original, cloner) { }
     public SinglePointCrossover() { }
