Index: branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Termination/ComparisonTerminator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Termination/ComparisonTerminator.cs	(revision 16453)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Termination/ComparisonTerminator.cs	(revision 16462)
@@ -26,9 +26,9 @@
 using HeuristicLab.Data;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
   [Item("ComparisonTerminator", "An termination criterion which compares two values.")]
-  [StorableClass]
+  [StorableType("4059C985-CA18-4C95-AC1C-BA8AAE64AD98")]
   public class ComparisonTerminator<T> : ThresholdTerminator<T> where T : class, IItem, IComparable, IStringConvertibleValue, new() {
     public ILookupParameter<T> ComparisonValueParameter {
@@ -46,5 +46,5 @@
 
     [StorableConstructor]
-    protected ComparisonTerminator(bool deserializing) : base(deserializing) { }
+    protected ComparisonTerminator(StorableConstructorFlag _) : base(_) { }
     [StorableHook(HookType.AfterDeserialization)]
     private void AfterDeserialization() {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Termination/ExecutionTimeTerminator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Termination/ExecutionTimeTerminator.cs	(revision 16453)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Termination/ExecutionTimeTerminator.cs	(revision 16462)
@@ -24,9 +24,9 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
   [Item("ExecutionTimeTerminator", "A termination criterion based on execution time of an algorithm.")]
-  [StorableClass]
+  [StorableType("7BBF7D6F-C41C-4826-963B-5ED9544F8391")]
   public class ExecutionTimeTerminator : ThresholdTerminator<TimeSpanValue> {
 
@@ -35,5 +35,5 @@
 
     [StorableConstructor]
-    protected ExecutionTimeTerminator(bool deserializing) : base(deserializing) { }
+    protected ExecutionTimeTerminator(StorableConstructorFlag _) : base(_) { }
     protected ExecutionTimeTerminator(ExecutionTimeTerminator original, Cloner cloner)
       : base(original, cloner) {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Termination/MultiTerminator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Termination/MultiTerminator.cs	(revision 16453)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Termination/MultiTerminator.cs	(revision 16462)
@@ -29,9 +29,9 @@
 using HeuristicLab.Operators;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
   [Item("MultiTerminator", "A multi operator, containing termination criteria.")]
-  [StorableClass]
+  [StorableType("E03CCB0D-C76C-4DBC-94C5-8FED50E25D26")]
   public sealed class MultiTerminator : CheckedMultiOperator<ITerminator>, ITerminator {
     public static new Image StaticItemImage {
@@ -44,5 +44,5 @@
 
     [StorableConstructor]
-    private MultiTerminator(bool deserializing) : base(deserializing) { }
+    private MultiTerminator(StorableConstructorFlag _) : base(_) { }
     private MultiTerminator(MultiTerminator original, Cloner cloner) : base(original, cloner) { }
     public override IDeepCloneable Clone(Cloner cloner) { return new MultiTerminator(this, cloner); }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Termination/SingleObjectiveQualityTerminator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Termination/SingleObjectiveQualityTerminator.cs	(revision 16453)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Termination/SingleObjectiveQualityTerminator.cs	(revision 16462)
@@ -23,12 +23,12 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
   [Item("SingleObjectiveQualityTerminator", "A termination criterion which uses a quality parameter (eg. current best quality) for termination.")]
-  [StorableClass]
+  [StorableType("A32469FB-7370-46E3-AB7F-EAF8053AF105")]
   public class SingleObjectiveQualityTerminator : ComparisonTerminator<DoubleValue> {
     [StorableConstructor]
-    protected SingleObjectiveQualityTerminator(bool deserializing) : base(deserializing) { }
+    protected SingleObjectiveQualityTerminator(StorableConstructorFlag _) : base(_) { }
     protected SingleObjectiveQualityTerminator(SingleObjectiveQualityTerminator original, Cloner cloner)
       : base(original, cloner) { }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Termination/TerminationOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Termination/TerminationOperator.cs	(revision 16453)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Termination/TerminationOperator.cs	(revision 16462)
@@ -25,9 +25,9 @@
 using HeuristicLab.Operators;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
   [Item("TerminationOperator", "An operator which either calls the terminate- or the continue branch.")]
-  [StorableClass]
+  [StorableType("FD4B77FF-4C9D-45D9-8CDF-F5F5EE2664F7")]
   public sealed class TerminationOperator : InstrumentedOperator, ITerminationBasedOperator {
     public ILookupParameter<ITerminator> TerminatorParameter {
@@ -54,5 +54,5 @@
 
     [StorableConstructor]
-    private TerminationOperator(bool deserializing) : base(deserializing) { }
+    private TerminationOperator(StorableConstructorFlag _) : base(_) { }
     private TerminationOperator(TerminationOperator original, Cloner cloner)
       : base(original, cloner) {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Termination/Terminator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Termination/Terminator.cs	(revision 16453)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Termination/Terminator.cs	(revision 16462)
@@ -27,9 +27,9 @@
 using HeuristicLab.Operators;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
   [Item("Terminator", "A base class for all termination criteria.")]
-  [StorableClass]
+  [StorableType("E5DC984C-95B3-40F1-9D35-7B6E90A26B8A")]
   public abstract class Terminator : SingleSuccessorOperator, ITerminator {
     public static new Image StaticItemImage {
@@ -42,5 +42,5 @@
 
     [StorableConstructor]
-    protected Terminator(bool deserializing) : base(deserializing) { }
+    protected Terminator(StorableConstructorFlag _) : base(_) { }
     protected Terminator(Terminator original, Cloner cloner) : base(original, cloner) { }
 
Index: branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Termination/ThresholdTerminator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Termination/ThresholdTerminator.cs	(revision 16453)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Termination/ThresholdTerminator.cs	(revision 16462)
@@ -25,9 +25,9 @@
 using HeuristicLab.Data;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
   [Item("ThresholdTerminator", "Base class for all termination criteria which specifies some threshold.")]
-  [StorableClass]
+  [StorableType("E5D99104-54B2-471D-B27A-07CC737804A6")]
   public abstract class ThresholdTerminator<T> : Terminator where T : class, IItem, IStringConvertibleValue, new() {
     [Storable]
@@ -52,5 +52,5 @@
 
     [StorableConstructor]
-    protected ThresholdTerminator(bool deserializing) : base(deserializing) { }
+    protected ThresholdTerminator(StorableConstructorFlag _) : base(_) { }
     [StorableHook(HookType.AfterDeserialization)]
     private void AfterDeserialization() {
