Index: branches/2520_PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/TSNE/Distances/IndexedItemDistance.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/TSNE/Distances/IndexedItemDistance.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/TSNE/Distances/IndexedItemDistance.cs	(revision 16474)
@@ -33,6 +33,9 @@
 
     #region HLConstructors & Cloning
+
     [StorableConstructor]
-    protected IndexedItemDistance(StorableConstructorFlag _) : base(_) { }
+    protected IndexedItemDistance(StorableConstructorFlag _) : base(_) {
+    }
+
     protected IndexedItemDistance(IndexedItemDistance<T> original, Cloner cloner) : base(original, cloner) {
       dist = cloner.Clone(original.dist);
Index: branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Constraints/IConstraint.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Constraints/IConstraint.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Constraints/IConstraint.cs	(revision 16474)
@@ -22,6 +22,8 @@
 using System;
 using System.Collections.Generic;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Core {
+  [StorableType("070af09a-c6b5-4f2b-be2e-4c2c6732febd")]
   public interface IConstraint : IItem {
     bool Active { get; set; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/ExecutionState.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/ExecutionState.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/ExecutionState.cs	(revision 16474)
@@ -1,2 +1,3 @@
+using HEAL.Fossil;
 #region License Information
 /* HeuristicLab
@@ -21,4 +22,5 @@
 
 namespace HeuristicLab.Core {
+  [StorableType("ad36dbde-a72c-43ad-8bb4-67aaaef34b72")]
   public enum ExecutionState {
     Prepared,
Index: branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/DirectedGraph/IArc.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/DirectedGraph/IArc.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/DirectedGraph/IArc.cs	(revision 16474)
@@ -22,6 +22,8 @@
 using System;
 using HeuristicLab.Common;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Core {
+  [StorableType("6d358590-409c-4fbb-944a-01f8e99be025")]
   public interface IArc : IItem {
     IVertex Source { get; }
@@ -33,5 +35,6 @@
   }
 
-  public interface IArc<T> : IArc where T : class,IDeepCloneable {
+  [StorableType("4acdc291-84ea-4da3-95b8-046f973db256")]
+  public interface IArc<T> : IArc where T : class, IDeepCloneable {
     T Data { get; set; }
   }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/DirectedGraph/IDirectedGraph.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/DirectedGraph/IDirectedGraph.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/DirectedGraph/IDirectedGraph.cs	(revision 16474)
@@ -23,6 +23,8 @@
 using System.Collections.Generic;
 using HeuristicLab.Common;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Core {
+  [StorableType("e79c962e-b662-4502-bc32-cac6a83e4e83")]
   public interface IDirectedGraph : IItem {
     IEnumerable<IVertex> Vertices { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/DirectedGraph/IVertex.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/DirectedGraph/IVertex.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/DirectedGraph/IVertex.cs	(revision 16474)
@@ -23,6 +23,8 @@
 using System.Collections.Generic;
 using HeuristicLab.Common;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Core {
+  [StorableType("f7a3227e-17b9-4af6-bf6d-0801cbdca286")]
   public interface IVertex : IItem {
     IEnumerable<IArc> InArcs { get; }
@@ -44,4 +46,5 @@
   }
 
+  [StorableType("f856ed8e-1259-4949-9784-78f1f4da1abb")]
   public interface IVertex<T> : IVertex where T : class, IDeepCloneable {
     T Data { get; set; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IAtomicOperation.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IAtomicOperation.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IAtomicOperation.cs	(revision 16474)
@@ -1,2 +1,3 @@
+using HEAL.Fossil;
 #region License Information
 /* HeuristicLab
@@ -21,4 +22,5 @@
 
 namespace HeuristicLab.Core {
+  [StorableType("b1adf07a-2e52-4fc3-9975-813a391cd940")]
   /// <summary>
   /// Interface which represents an atomic operation.
Index: branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/ICheckedItemCollection.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/ICheckedItemCollection.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/ICheckedItemCollection.cs	(revision 16474)
@@ -22,6 +22,8 @@
 using System.Collections.Generic;
 using HeuristicLab.Collections;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Core {
+  [StorableType("2703977d-5991-4491-a2e5-a98914a45b34")]
   public interface ICheckedItemCollection<T> : IItemCollection<T> where T : class, IItem {
     event CollectionItemsChangedEventHandler<T> CheckedItemsChanged;
Index: branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/ICheckedItemList.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/ICheckedItemList.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/ICheckedItemList.cs	(revision 16474)
@@ -22,6 +22,8 @@
 using System.Collections.Generic;
 using HeuristicLab.Collections;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Core {
+  [StorableType("ba4a82ca-92eb-47a1-95a7-f41f6ef470f4")]
   public interface ICheckedItemList<T> : IItemList<T> where T : class, IItem {
     event CollectionItemsChangedEventHandler<IndexedItem<T>> CheckedItemsChanged;
Index: branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/ICheckedMultiOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/ICheckedMultiOperator.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/ICheckedMultiOperator.cs	(revision 16474)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HEAL.Fossil;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -22,5 +23,6 @@
 
 namespace HeuristicLab.Core {
-  public interface ICheckedMultiOperator<T> : IMultiOperator<T> where T : class,IOperator {
+  [StorableType("c6eee993-706f-4390-bfac-1f779e45c448")]
+  public interface ICheckedMultiOperator<T> : IMultiOperator<T> where T : class, IOperator {
     new ICheckedItemList<T> Operators { get; }
   }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IConstrainedValueParameter.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IConstrainedValueParameter.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IConstrainedValueParameter.cs	(revision 16474)
@@ -1,2 +1,3 @@
+using HEAL.Fossil;
 #region License Information
 /* HeuristicLab
@@ -22,4 +23,5 @@
 
 namespace HeuristicLab.Core {
+  [StorableType("10644c62-bd66-440d-8204-d0c724c9f109")]
   public interface IConstrainedValueParameter<T> : IValueParameter<T> where T : class, IItem {
     IItemSet<T> ValidValues { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IEngine.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IEngine.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IEngine.cs	(revision 16474)
@@ -1,2 +1,3 @@
+using HEAL.Fossil;
 #region License Information
 /* HeuristicLab
@@ -21,4 +22,5 @@
 
 namespace HeuristicLab.Core {
+  [StorableType("b87dd8e0-dbcd-4b7c-80cc-25e2890e46ad")]
   public interface IEngine : IExecutable {
     ILog Log { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IExecutable.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IExecutable.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IExecutable.cs	(revision 16474)
@@ -24,6 +24,8 @@
 using System.Threading.Tasks;
 using HeuristicLab.Common;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Core {
+  [StorableType("cd8822ef-1e2d-4aa1-ad33-7ec7546610f3")]
   public interface IExecutable : IItem {
     ExecutionState ExecutionState { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IExecutionContext.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IExecutionContext.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IExecutionContext.cs	(revision 16474)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Common;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Core {
+  [StorableType("90ba79ce-8166-4cc2-8871-0653b4dd59cc")]
   /// <summary>
   /// Interface which represents an execution context.
Index: branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IFixedValueParameter.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IFixedValueParameter.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IFixedValueParameter.cs	(revision 16474)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HEAL.Fossil;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -21,4 +22,5 @@
 
 namespace HeuristicLab.Core {
+  [StorableType("f4b80054-f730-44c0-a0b9-35ab27cf29a2")]
   public interface IFixedValueParameter : IValueParameter {
     new IItem Value { get; }
@@ -26,4 +28,5 @@
   }
 
+  [StorableType("93b6ff11-134d-4486-b9bf-9c6802ef3885")]
   public interface IFixedValueParameter<T> : IFixedValueParameter, IValueParameter<T> where T : class, IItem {
     new T Value { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IInstrumentedOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IInstrumentedOperator.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IInstrumentedOperator.cs	(revision 16474)
@@ -23,6 +23,8 @@
 
 using System.Collections.Generic;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Core {
+  [StorableType("cf88d332-a2bb-4a6b-89df-2a6b858e09c7")]
   public interface IInstrumentedOperator : IOperator {
     IEnumerable<IOperator> BeforeExecutionOperators { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IItem.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IItem.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IItem.cs	(revision 16474)
@@ -23,6 +23,8 @@
 using System.Drawing;
 using HeuristicLab.Common;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Core {
+  [StorableType("fc5d4359-76da-406b-b445-72d4f9b2277d")]
   /// <summary>
   /// Interface to represent (almost) every HeuristicLab object (an object, an operator,...).
Index: branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IItemArray.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IItemArray.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IItemArray.cs	(revision 16474)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Collections;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Core {
+  [StorableType("f736943c-5b43-4c98-9128-304c794b931e")]
   public interface IItemArray<T> : IObservableArray<T>, IItem where T : class, IItem { }
 }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IItemCollection.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IItemCollection.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IItemCollection.cs	(revision 16474)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Collections;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Core {
+  [StorableType("9caf496c-e514-4280-bcc1-3ee092999129")]
   public interface IItemCollection<T> : IObservableCollection<T>, IItem where T : class, IItem { }
 }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IItemDictionary.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IItemDictionary.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IItemDictionary.cs	(revision 16474)
@@ -21,8 +21,10 @@
 
 using HeuristicLab.Collections;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Core {
+  [StorableType("7d77d9e1-bce1-4546-9efd-62834ea85d1c")]
   public interface IItemDictionary<TKey, TValue> : IObservableDictionary<TKey, TValue>, IItem
-    where TKey : class, IItem
-    where TValue : class, IItem { }
+      where TKey : class, IItem
+      where TValue : class, IItem { }
 }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IItemList.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IItemList.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IItemList.cs	(revision 16474)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Collections;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Core {
+  [StorableType("466747d2-6a73-495b-ac68-7b0199d0f830")]
   public interface IItemList<T> : IObservableList<T>, IItemCollection<T>, IItem where T : class, IItem { }
 }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IItemSet.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IItemSet.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IItemSet.cs	(revision 16474)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Collections;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Core {
+  [StorableType("fda265c8-8012-4c0c-a6c5-aa6842287691")]
   public interface IItemSet<T> : IObservableSet<T>, IItemCollection<T>, IItem where T : class, IItem { }
 }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IKeyedItemCollection.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IKeyedItemCollection.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IKeyedItemCollection.cs	(revision 16474)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Collections;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Core {
+  [StorableType("17d0c55d-3fc0-48e8-8c6a-64b5362dabf3")]
   public interface IKeyedItemCollection<TKey, TItem> : IObservableKeyedCollection<TKey, TItem>, IItemCollection<TItem>, IItem where TItem : class, IItem { }
 }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/ILog.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/ILog.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/ILog.cs	(revision 16474)
@@ -23,6 +23,8 @@
 using System.Collections.Generic;
 using HeuristicLab.Common;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Core {
+  [StorableType("a4d1e626-50c1-422e-ad76-5a0182bd9491")]
   public interface ILog : IItem {
     IEnumerable<string> Messages { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/ILookupParameter.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/ILookupParameter.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/ILookupParameter.cs	(revision 16474)
@@ -21,6 +21,8 @@
 
 using System;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Core {
+  [StorableType("78e29fa3-e603-4a2e-a3e0-2dee459891f1")]
   public interface ILookupParameter : IParameter {
     string ActualName { get; set; }
@@ -30,4 +32,5 @@
   }
 
+  [StorableType("61868c33-20be-4577-94bf-7efff9e9cf73")]
   public interface ILookupParameter<T> : ILookupParameter where T : class, IItem {
     new T ActualValue { get; set; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IMultiOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IMultiOperator.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IMultiOperator.cs	(revision 16474)
@@ -22,6 +22,8 @@
 
 using System.Collections.Generic;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Core {
+  [StorableType("31136bcb-7c35-404d-bae7-2f9c5f17b767")]
   public interface IMultiOperator : IOperator {
     IEnumerable<IOperator> Operators { get; }
@@ -29,5 +31,7 @@
     bool RemoveOperator(IOperator op);
   }
-  public interface IMultiOperator<T> : IMultiOperator where T : class,IOperator {
+
+  [StorableType("b2f95075-48df-43c8-b4a9-e404e357fabd")]
+  public interface IMultiOperator<T> : IMultiOperator where T : class, IOperator {
     new IItemList<T> Operators { get; }
   }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/INamedItem.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/INamedItem.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/INamedItem.cs	(revision 16474)
@@ -22,6 +22,8 @@
 using System;
 using HeuristicLab.Common;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Core {
+  [StorableType("4337aaa9-688c-43cb-b980-463cb1704e31")]
   public interface INamedItem : IItem {
     string Name { get; set; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IOperation.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IOperation.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IOperation.cs	(revision 16474)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Common;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Core {
+  [StorableType("72828f38-f8f6-48cd-b792-b415f3e70524")]
   /// <summary>
   /// Interface which represents an operation.
Index: branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IOperator.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IOperator.cs	(revision 16474)
@@ -22,6 +22,8 @@
 using System;
 using System.Threading;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Core {
+  [StorableType("c9c72e72-ad11-4683-a66f-7da5436990c7")]
   /// <summary>
   /// Interface to represent an operator.
Index: branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IOperatorGraphOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IOperatorGraphOperator.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IOperatorGraphOperator.cs	(revision 16474)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HEAL.Fossil;
+#region License Information
 
 /* HeuristicLab
@@ -23,4 +24,5 @@
 
 namespace HeuristicLab.Core {
+  [StorableType("00fd73de-0a22-44f1-9f0b-c286a873dac8")]
   public interface IOperatorGraphOperator : IOperator {
     OperatorGraph OperatorGraph { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IParameter.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IParameter.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IParameter.cs	(revision 16474)
@@ -21,6 +21,8 @@
 
 using System;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Core {
+  [StorableType("3fea6f51-6bb0-4bb5-a113-d071e2fe3b8c")]
   public interface IParameter : INamedItem {
     Type DataType { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IParameterizedItem.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IParameterizedItem.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IParameterizedItem.cs	(revision 16474)
@@ -21,6 +21,8 @@
 
 using System.Collections.Generic;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Core {
+  [StorableType("5d65ecdc-1659-488c-8a6f-0f630a2deeef")]
   /// <summary>
   /// An interface which represents an item which contains parameters.
Index: branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IParameterizedNamedItem.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IParameterizedNamedItem.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IParameterizedNamedItem.cs	(revision 16474)
@@ -1,2 +1,3 @@
+using HEAL.Fossil;
 #region License Information
 /* HeuristicLab
@@ -21,4 +22,5 @@
 
 namespace HeuristicLab.Core {
+  [StorableType("c0d522cc-b7ce-4db6-9e93-0c8d158fb465")]
   /// <summary>
   /// An interface which represents an item which has a name and contains parameters.
Index: branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IProgrammableItem.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IProgrammableItem.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IProgrammableItem.cs	(revision 16474)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HEAL.Fossil;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -21,4 +22,5 @@
 
 namespace HeuristicLab.Core {
+  [StorableType("31aa1ebe-3c5b-4855-847c-54ab86729474")]
   public interface IProgrammableItem { }
 }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IRandom.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IRandom.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IRandom.cs	(revision 16474)
@@ -1,2 +1,3 @@
+using HEAL.Fossil;
 #region License Information
 /* HeuristicLab
@@ -21,4 +22,5 @@
 
 namespace HeuristicLab.Core {
+  [StorableType("a25f7f50-5838-4312-862d-9ad950b616c5")]
   /// <summary>
   /// Represents an interface for random number generators.
Index: branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IScope.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IScope.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IScope.cs	(revision 16474)
@@ -1,2 +1,3 @@
+using HEAL.Fossil;
 #region License Information
 /* HeuristicLab
@@ -21,4 +22,5 @@
 
 namespace HeuristicLab.Core {
+  [StorableType("450b2586-6164-4f3a-9acc-65a0f3442c9e")]
   /// <summary>
   /// Hierarchical container of variables (and of subscopes).
Index: branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IScopeTreeLookupParameter.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IScopeTreeLookupParameter.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IScopeTreeLookupParameter.cs	(revision 16474)
@@ -21,6 +21,8 @@
 
 using System;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Core {
+  [StorableType("5710751f-6af8-4bc8-b517-97218cb30d22")]
   public interface IScopeTreeLookupParameter : ILookupParameter {
     int Depth { get; set; }
@@ -28,4 +30,5 @@
   }
 
+  [StorableType("4a2fead8-d21c-49a0-b1f3-aece5fd99407")]
   public interface IScopeTreeLookupParameter<T> : IScopeTreeLookupParameter, ILookupParameter<ItemArray<T>> where T : class, IItem { }
 }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IStatefulItem.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IStatefulItem.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IStatefulItem.cs	(revision 16474)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HEAL.Fossil;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -21,4 +22,5 @@
 
 namespace HeuristicLab.Core {
+  [StorableType("77e612a6-38e3-4075-9aac-17ef16c8cfe5")]
   public interface IStatefulItem : IItem {
     void InitializeState();
Index: branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IValueLookupParameter.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IValueLookupParameter.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IValueLookupParameter.cs	(revision 16474)
@@ -1,2 +1,3 @@
+using HEAL.Fossil;
 #region License Information
 /* HeuristicLab
@@ -21,6 +22,8 @@
 
 namespace HeuristicLab.Core {
+  [StorableType("d125528a-dfaa-46b1-9a5f-9a6443b7229c")]
   public interface IValueLookupParameter : IValueParameter, ILookupParameter { }
 
+  [StorableType("ed351d54-ee70-4f9f-8187-7507dcaeb919")]
   public interface IValueLookupParameter<T> : IValueLookupParameter, IValueParameter<T>, ILookupParameter<T> where T : class, IItem { }
 }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IValueParameter.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IValueParameter.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IValueParameter.cs	(revision 16474)
@@ -21,6 +21,8 @@
 
 using System;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Core {
+  [StorableType("e4920b59-6bf5-4c43-997c-7f5434cd98d2")]
   public interface IValueParameter : IParameter {
     IItem Value { get; set; }
@@ -30,4 +32,5 @@
   }
 
+  [StorableType("645945d2-9cd7-45cd-8507-575b2ed53de4")]
   public interface IValueParameter<T> : IValueParameter where T : class, IItem {
     new T Value { get; set; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IVariable.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IVariable.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/Interfaces/IVariable.cs	(revision 16474)
@@ -21,6 +21,8 @@
 
 using System;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Core {
+  [StorableType("f2bc871d-5bc4-4584-8dc4-db0ea7fb5b15")]
   /// <summary>
   /// Represents a variable which has a name and holds an IItem.
Index: branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/PersistenceContentManager.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/PersistenceContentManager.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Core/3.3/PersistenceContentManager.cs	(revision 16474)
@@ -24,6 +24,8 @@
 using HeuristicLab.Common;
 using HeuristicLab.Persistence.Default.Xml;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Core {
+  [StorableType("72eb913e-a3cf-439e-a1ab-c5539a93fd48")]
   public class PersistenceContentManager : ContentManager {
     public PersistenceContentManager() : base() { }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Data/3.3/ComparisonType.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Data/3.3/ComparisonType.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Data/3.3/ComparisonType.cs	(revision 16474)
@@ -1,2 +1,3 @@
+using HEAL.Fossil;
 #region License Information
 /* HeuristicLab
@@ -21,4 +22,5 @@
 
 namespace HeuristicLab.Data {
+  [StorableType("7438132e-ed9d-47ef-9e29-278b0e4ca048")]
   public enum ComparisonType {
     Less,
Index: branches/2520_PersistenceReintegration/HeuristicLab.Data/3.3/Interfaces/IStringConvertibleArray.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Data/3.3/Interfaces/IStringConvertibleArray.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Data/3.3/Interfaces/IStringConvertibleArray.cs	(revision 16474)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Common;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Data {
+  [StorableType("27217641-0839-4757-b8f6-6422114b096d")]
   public interface IStringConvertibleArray : IContent, IValueTypeArray {
     bool Validate(string value, out string errorMessage);
Index: branches/2520_PersistenceReintegration/HeuristicLab.Data/3.3/Interfaces/IStringConvertibleMatrix.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Data/3.3/Interfaces/IStringConvertibleMatrix.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Data/3.3/Interfaces/IStringConvertibleMatrix.cs	(revision 16474)
@@ -23,6 +23,8 @@
 using System.Collections.Generic;
 using HeuristicLab.Common;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Data {
+  [StorableType("5da53526-d2cd-4f2c-bbc9-de34b457892c")]
   public interface IStringConvertibleMatrix : IContent {
     int Rows { get; set; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Data/3.3/Interfaces/IStringConvertibleValue.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Data/3.3/Interfaces/IStringConvertibleValue.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Data/3.3/Interfaces/IStringConvertibleValue.cs	(revision 16474)
@@ -22,6 +22,8 @@
 using System;
 using HeuristicLab.Common;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Data {
+  [StorableType("092ea088-1b35-4215-aebd-ee9731856d94")]
   public interface IStringConvertibleValue : IContent {
     bool ReadOnly { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Data/3.3/Interfaces/IStringConvertibleValueTuple.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Data/3.3/Interfaces/IStringConvertibleValueTuple.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Data/3.3/Interfaces/IStringConvertibleValueTuple.cs	(revision 16474)
@@ -20,5 +20,8 @@
 #endregion
 using HeuristicLab.Core;
+using HEAL.Fossil;
+
 namespace HeuristicLab.Data {
+  [StorableType("691961d0-d8ff-436d-a4df-01abeed6e5af")]
   public interface IStringConvertibleValueTuple : IItem {
     IStringConvertibleValue Item1 { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Data/3.3/Interfaces/IValueTypeArray.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Data/3.3/Interfaces/IValueTypeArray.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Data/3.3/Interfaces/IValueTypeArray.cs	(revision 16474)
@@ -27,6 +27,8 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Data {
+  [StorableType("548de1d4-69b4-40b4-ba37-e770575f7315")]
   public interface IValueTypeArray : IItem, IEnumerable {
     bool ReadOnly { get; }
@@ -44,4 +46,5 @@
   }
 
+  [StorableType("f9db5740-1c4f-4f62-a9a8-84b32a461ea8")]
   public interface IValueTypeArray<T> : IValueTypeArray, IEnumerable<T> where T : struct {
     T this[int index] { get; set; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.DataPreprocessing/3.4/Content/IViewShortcut.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.DataPreprocessing/3.4/Content/IViewShortcut.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.DataPreprocessing/3.4/Content/IViewShortcut.cs	(revision 16474)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.DataPreprocessing {
+  [StorableType("60755b48-d362-4957-94c5-cc770cc2a261")]
   public interface IViewShortcut : IItem {
   }
Index: branches/2520_PersistenceReintegration/HeuristicLab.DataPreprocessing/3.4/Content/PreprocessingChartContent.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.DataPreprocessing/3.4/Content/PreprocessingChartContent.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.DataPreprocessing/3.4/Content/PreprocessingChartContent.cs	(revision 16474)
@@ -35,4 +35,5 @@
   [StorableType("7EDAFA6E-E4B1-4150-BB57-280A9F9E61D8")]
   public class PreprocessingChartContent : PreprocessingContent, IViewShortcut {
+    [StorableType("d4c1c81a-f0c5-496f-8264-76b75572c0fc")]
     public enum LegendOrder {
       Alphabetically,
Index: branches/2520_PersistenceReintegration/HeuristicLab.DataPreprocessing/3.4/Data/DataPreprocessingChangedEvent.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.DataPreprocessing/3.4/Data/DataPreprocessingChangedEvent.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.DataPreprocessing/3.4/Data/DataPreprocessingChangedEvent.cs	(revision 16474)
@@ -21,6 +21,8 @@
 
 using System;
+using HEAL.Fossil;
 
 namespace HeuristicLab.DataPreprocessing {
+  [StorableType("f06da8c5-5c95-4e20-81c7-d264517d9981")]
   public enum DataPreprocessingChangedEventType {
     DeleteColumn,
Index: branches/2520_PersistenceReintegration/HeuristicLab.DataPreprocessing/3.4/Data/IFilteredPreprocessingData.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.DataPreprocessing/3.4/Data/IFilteredPreprocessingData.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.DataPreprocessing/3.4/Data/IFilteredPreprocessingData.cs	(revision 16474)
@@ -21,6 +21,8 @@
 
 using System;
+using HEAL.Fossil;
 
 namespace HeuristicLab.DataPreprocessing {
+  [StorableType("9f0c478b-6b6b-42a1-ad0a-6bc2769cd593")]
   public interface IFilteredPreprocessingData : IPreprocessingData {
     #region Filters
Index: branches/2520_PersistenceReintegration/HeuristicLab.DataPreprocessing/3.4/Data/IPreprocessingData.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.DataPreprocessing/3.4/Data/IPreprocessingData.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.DataPreprocessing/3.4/Data/IPreprocessingData.cs	(revision 16474)
@@ -25,6 +25,8 @@
 using HeuristicLab.Data;
 using HeuristicLab.Problems.DataAnalysis;
+using HEAL.Fossil;
 
 namespace HeuristicLab.DataPreprocessing {
+  [StorableType("1fd88253-ae07-415f-81df-5b73c61fd495")]
   public interface IPreprocessingData : INamedItem {
     #region Cells
Index: branches/2520_PersistenceReintegration/HeuristicLab.DataPreprocessing/3.4/Filter/ComparisonFilter.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.DataPreprocessing/3.4/Filter/ComparisonFilter.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.DataPreprocessing/3.4/Filter/ComparisonFilter.cs	(revision 16474)
@@ -30,4 +30,5 @@
 namespace HeuristicLab.DataPreprocessing.Filter {
   [Item("ComparisonFilter", "A filter which compares the member of the preprocessing data with the constraint data.")]
+  [StorableType("6529899a-987c-48b3-ba14-154d25a7cc8e")]
   public class ComparisonFilter : ComparisonConstraint, IFilter {
     public override string ItemName {
Index: branches/2520_PersistenceReintegration/HeuristicLab.DataPreprocessing/3.4/Filter/IFilter.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.DataPreprocessing/3.4/Filter/IFilter.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.DataPreprocessing/3.4/Filter/IFilter.cs	(revision 16474)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.DataPreprocessing.Filter {
+  [StorableType("bf5dabf7-e795-493c-b2d0-23051dfb3d2f")]
   public interface IFilter : IConstraint {
     new bool[] Check();
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/BinaryVectorEqualityComparer.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/BinaryVectorEqualityComparer.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/BinaryVectorEqualityComparer.cs	(revision 16474)
@@ -23,7 +23,9 @@
 using System.Collections.Generic;
 using HeuristicLab.PluginInfrastructure;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.BinaryVectorEncoding {
   [NonDiscoverableType]
+  [StorableType("b9277027-dd39-4977-a8de-1b9854290f5e")]
   public class BinaryVectorEqualityComparer : EqualityComparer<BinaryVector> {
     public override bool Equals(BinaryVector x, BinaryVector y) {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Interfaces/IBinaryVectorCreator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Interfaces/IBinaryVectorCreator.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Interfaces/IBinaryVectorCreator.cs	(revision 16474)
@@ -23,6 +23,8 @@
 using HeuristicLab.Data;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.BinaryVectorEncoding {
+  [StorableType("60af1d5b-398c-4167-aa3f-08fce3d7d0a4")]
   /// <summary>
   /// An interface which represents an operator for creating vectors of bool-valued data.
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Interfaces/IBinaryVectorCrossover.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Interfaces/IBinaryVectorCrossover.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Interfaces/IBinaryVectorCrossover.cs	(revision 16474)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.BinaryVectorEncoding {
+  [StorableType("608e364f-06f8-49a2-afab-a00195a96bc3")]
   /// <summary>
   /// An interface which represents an operator for crossing vectors of bool-valued data.
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Interfaces/IBinaryVectorManipulator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Interfaces/IBinaryVectorManipulator.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Interfaces/IBinaryVectorManipulator.cs	(revision 16474)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.BinaryVectorEncoding {
+  [StorableType("250ec119-143a-4798-b074-32b44a0fc0d4")]
   /// <summary>
   /// An interface which represents an operator for manipulating vectors of bool-valued data.
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Interfaces/IBinaryVectorMoveOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Interfaces/IBinaryVectorMoveOperator.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Interfaces/IBinaryVectorMoveOperator.cs	(revision 16474)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.BinaryVectorEncoding {
+  [StorableType("269d5dc0-f788-4016-ab6a-3ccfd9ea074e")]
   public interface IBinaryVectorMoveOperator : IBinaryVectorOperator, IMoveOperator {
     ILookupParameter<BinaryVector> BinaryVectorParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Interfaces/IBinaryVectorMultiNeighborhoodShakingOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Interfaces/IBinaryVectorMultiNeighborhoodShakingOperator.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Interfaces/IBinaryVectorMultiNeighborhoodShakingOperator.cs	(revision 16474)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.BinaryVectorEncoding {
+  [StorableType("90e29db0-b4bf-479d-a77b-f867fdda0fb4")]
   public interface IBinaryVectorMultiNeighborhoodShakingOperator : IBinaryVectorOperator {
     ILookupParameter<BinaryVector> BinaryVectorParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Interfaces/IBinaryVectorOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Interfaces/IBinaryVectorOperator.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Interfaces/IBinaryVectorOperator.cs	(revision 16474)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.BinaryVectorEncoding {
+  [StorableType("24afee75-e15a-4076-aeae-101fe24d8e60")]
   /// <summary>
   /// An interface which represents an operator dealing with vectors of bool-valued data.
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Interfaces/IOneBitflipMoveOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Interfaces/IOneBitflipMoveOperator.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Interfaces/IOneBitflipMoveOperator.cs	(revision 16474)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.BinaryVectorEncoding {
+  [StorableType("f59dc211-20bf-4c50-8a87-54c0d37735c7")]
   public interface IOneBitflipMoveOperator : IBinaryVectorMoveOperator {
     ILookupParameter<OneBitflipMove> OneBitflipMoveParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/IntegerVectorEqualityComparer.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/IntegerVectorEqualityComparer.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/IntegerVectorEqualityComparer.cs	(revision 16474)
@@ -23,7 +23,9 @@
 using System.Collections.Generic;
 using HeuristicLab.PluginInfrastructure;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.IntegerVectorEncoding {
   [NonDiscoverableType]
+  [StorableType("33f5a8c1-8230-495f-8b8e-475bf69ac9a4")]
   public class IntegerVectorEqualityComparer : EqualityComparer<IntegerVector> {
     public override bool Equals(IntegerVector x, IntegerVector y) {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Interfaces/IBoundedIntegerVectorOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Interfaces/IBoundedIntegerVectorOperator.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Interfaces/IBoundedIntegerVectorOperator.cs	(revision 16474)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.IntegerVectorEncoding {
+  [StorableType("c39d6a9a-430c-47d8-97d9-8430cb6050ff")]
   public interface IBoundedIntegerVectorOperator : IIntegerVectorOperator {
     /// <summary>
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Interfaces/IIntegerVectorCreator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Interfaces/IIntegerVectorCreator.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Interfaces/IIntegerVectorCreator.cs	(revision 16474)
@@ -23,6 +23,8 @@
 using HeuristicLab.Data;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.IntegerVectorEncoding {
+  [StorableType("9742b0e1-ab88-474e-b3f7-a2a0c2f77029")]
   /// <summary>
   /// An interface which represents an operator for creating vectors of int-valued data.
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Interfaces/IIntegerVectorCrossover.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Interfaces/IIntegerVectorCrossover.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Interfaces/IIntegerVectorCrossover.cs	(revision 16474)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.IntegerVectorEncoding {
+  [StorableType("b29109e0-1930-429e-bc50-56790b97a7a0")]
   /// <summary>
   /// An interface which represents an operator for crossing vectors of int-valued data.
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Interfaces/IIntegerVectorManipulator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Interfaces/IIntegerVectorManipulator.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Interfaces/IIntegerVectorManipulator.cs	(revision 16474)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.IntegerVectorEncoding {
+  [StorableType("8c58d54f-5454-4b55-8be8-820ef0ee8687")]
   /// <summary>
   /// An interface which represents an operator for manipulating vectors of int-valued data.
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Interfaces/IIntegerVectorMultiNeighborhoodShakingOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Interfaces/IIntegerVectorMultiNeighborhoodShakingOperator.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Interfaces/IIntegerVectorMultiNeighborhoodShakingOperator.cs	(revision 16474)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.IntegerVectorEncoding {
+  [StorableType("2b21442c-735f-4df3-a163-4e3147cd11a5")]
   public interface IIntegerVectorMultiNeighborhoodShakingOperator : IIntegerVectorOperator {
     ILookupParameter<IntegerVector> IntegerVectorParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Interfaces/IIntegerVectorOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Interfaces/IIntegerVectorOperator.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Interfaces/IIntegerVectorOperator.cs	(revision 16474)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.IntegerVectorEncoding {
+  [StorableType("8caffc56-bdf0-465e-87ba-882441dfbd0d")]
   /// <summary>
   /// An interface which represents an operator dealing with vectors of int-valued data.
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Interfaces/IIntegerVectorStdDevStrategyParameterCreator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Interfaces/IIntegerVectorStdDevStrategyParameterCreator.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Interfaces/IIntegerVectorStdDevStrategyParameterCreator.cs	(revision 16474)
@@ -23,6 +23,8 @@
 using HeuristicLab.Data;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.IntegerVectorEncoding {
+  [StorableType("24dca301-a0f6-472f-9859-27f292f69458")]
   public interface IIntegerVectorStdDevStrategyParameterCreator : IIntegerVectorStdDevStrategyParameterOperator, IStrategyParameterCreator {
     ILookupParameter<DoubleArray> StrategyParameterParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Interfaces/IIntegerVectorStdDevStrategyParameterCrossover.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Interfaces/IIntegerVectorStdDevStrategyParameterCrossover.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Interfaces/IIntegerVectorStdDevStrategyParameterCrossover.cs	(revision 16474)
@@ -23,6 +23,8 @@
 using HeuristicLab.Data;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.IntegerVectorEncoding {
+  [StorableType("e8beb5ce-ec96-48b4-aac6-59e73249afef")]
   public interface IIntegerVectorStdDevStrategyParameterCrossover : IIntegerVectorStdDevStrategyParameterOperator, IStrategyParameterCrossover {
     ILookupParameter<DoubleArray> StrategyParameterParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Interfaces/IIntegerVectorStdDevStrategyParameterManipulator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Interfaces/IIntegerVectorStdDevStrategyParameterManipulator.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Interfaces/IIntegerVectorStdDevStrategyParameterManipulator.cs	(revision 16474)
@@ -23,6 +23,8 @@
 using HeuristicLab.Data;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.IntegerVectorEncoding {
+  [StorableType("c2b76c64-9e5d-4ecb-b692-11cdf697ba02")]
   public interface IIntegerVectorStdDevStrategyParameterManipulator : IIntegerVectorStdDevStrategyParameterOperator, IStrategyParameterManipulator {
     ILookupParameter<DoubleArray> StrategyParameterParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Interfaces/IIntegerVectorStdDevStrategyParameterOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Interfaces/IIntegerVectorStdDevStrategyParameterOperator.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Interfaces/IIntegerVectorStdDevStrategyParameterOperator.cs	(revision 16474)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.IntegerVectorEncoding {
+  [StorableType("f5dc6e51-c650-4d70-a109-ec94089b9024")]
   public interface IIntegerVectorStdDevStrategyParameterOperator : IOperator {
   }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageCreator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageCreator.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageCreator.cs	(revision 16474)
@@ -23,6 +23,8 @@
 using HeuristicLab.Data;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
+  [StorableType("4fa6243e-eb78-45bf-a598-b706084e6473")]
   public interface ILinearLinkageCreator : ISolutionCreator, ILinearLinkageOperator {
     IValueLookupParameter<IntValue> LengthParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageCrossover.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageCrossover.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageCrossover.cs	(revision 16474)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
+  [StorableType("66ba6974-d27b-4c42-b9bd-b91a764d8f15")]
   public interface ILinearLinkageCrossover : ICrossover, ILinearLinkageOperator {
     ILookupParameter<LinearLinkage> ChildParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageEMSSMoveOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageEMSSMoveOperator.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageEMSSMoveOperator.cs	(revision 16474)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
+  [StorableType("07884b7a-bc68-4e6b-984e-a4c618f343fd")]
   public interface ILinearLinkageEMSSMoveOperator : ILinearLinkageMoveOperator {
     ILookupParameter<EMSSMove> EMSSMoveParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageManipulator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageManipulator.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageManipulator.cs	(revision 16474)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
+  [StorableType("2d51279f-e88d-43a2-b743-3cceb48b6ced")]
   public interface ILinearLinkageManipulator : IManipulator, ILinearLinkageOperator {
     ILookupParameter<LinearLinkage> LLEParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageMoveOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageMoveOperator.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageMoveOperator.cs	(revision 16474)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
+  [StorableType("15fa1dce-2c0d-4d42-a67f-68eb25904b66")]
   /// <summary>
   /// Move operators can be extended by deriving a new interface from this interface
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageOperator.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageOperator.cs	(revision 16474)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
+  [StorableType("80ff19b9-2de7-4d4f-ba99-db7d716b4ce7")]
   public interface ILinearLinkageOperator : IOperator {
   }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageShakingOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageShakingOperator.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageShakingOperator.cs	(revision 16474)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
+  [StorableType("81c7ae91-53b4-49df-bb63-ced3ba8b9e40")]
   public interface ILinearLinkageShakingOperator : ILinearLinkageOperator {
     ILookupParameter<LinearLinkage> LLEParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageSwap2MoveOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageSwap2MoveOperator.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageSwap2MoveOperator.cs	(revision 16474)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
+  [StorableType("92c361ee-2d07-4362-9ce5-d31fc205a112")]
   public interface ILinearLinkageSwap2MoveOperator : ILinearLinkageMoveOperator {
     ILookupParameter<Swap2Move> Swap2MoveParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/LinearLinkageEqualityComparer.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/LinearLinkageEqualityComparer.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/LinearLinkageEqualityComparer.cs	(revision 16474)
@@ -23,7 +23,9 @@
 using System.Collections.Generic;
 using HeuristicLab.PluginInfrastructure;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
   [NonDiscoverableType]
+  [StorableType("8b1e0151-8882-4338-a98a-f3a03bcda6cf")]
   public class LinearLinkageEqualityComparer : EqualityComparer<LinearLinkage> {
     public override bool Equals(LinearLinkage x, LinearLinkage y) {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Interfaces/IPermutationCreator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Interfaces/IPermutationCreator.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Interfaces/IPermutationCreator.cs	(revision 16474)
@@ -23,6 +23,8 @@
 using HeuristicLab.Data;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.PermutationEncoding {
+  [StorableType("ead61b5e-63a4-40dc-a31d-7bb10c98b3db")]
   /// <summary>
   /// An interface which represents an operator for creating permutations.
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Interfaces/IPermutationCrossover.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Interfaces/IPermutationCrossover.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Interfaces/IPermutationCrossover.cs	(revision 16474)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.PermutationEncoding {
+  [StorableType("2164b769-8244-4ed8-a2ca-7649e6b51617")]
   /// <summary>
   /// An interface which represents an operator for crossing permutations.
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Interfaces/IPermutationInversionMoveOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Interfaces/IPermutationInversionMoveOperator.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Interfaces/IPermutationInversionMoveOperator.cs	(revision 16474)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.PermutationEncoding {
+  [StorableType("79998345-30ae-4013-b891-68615ba19b7c")]
   public interface IPermutationInversionMoveOperator : IPermutationMoveOperator {
     ILookupParameter<InversionMove> InversionMoveParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Interfaces/IPermutationManipulator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Interfaces/IPermutationManipulator.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Interfaces/IPermutationManipulator.cs	(revision 16474)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.PermutationEncoding {
+  [StorableType("2b3e467b-32a9-46fa-bfd2-41017bb5075c")]
   /// <summary>
   /// An interface which represents an operator for manipulating solutions.
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Interfaces/IPermutationMoveOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Interfaces/IPermutationMoveOperator.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Interfaces/IPermutationMoveOperator.cs	(revision 16474)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.PermutationEncoding {
+  [StorableType("22c93d6a-6fe8-4737-b2d7-bfe3e6192c2b")]
   public interface IPermutationMoveOperator : IPermutationOperator, IMoveOperator {
     ILookupParameter<Permutation> PermutationParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Interfaces/IPermutationMultiNeighborhoodShakingOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Interfaces/IPermutationMultiNeighborhoodShakingOperator.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Interfaces/IPermutationMultiNeighborhoodShakingOperator.cs	(revision 16474)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.PermutationEncoding {
+  [StorableType("60adeb1e-63fc-463d-8b9a-406e7a75e48a")]
   public interface IPermutationMultiNeighborhoodShakingOperator : IMultiNeighborhoodShakingOperator, IPermutationOperator {
     ILookupParameter<Permutation> PermutationParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Interfaces/IPermutationOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Interfaces/IPermutationOperator.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Interfaces/IPermutationOperator.cs	(revision 16474)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.PermutationEncoding {
+  [StorableType("78db7fb9-a81d-4b48-9c24-1bdab9b6d3f9")]
   /// <summary>
   /// An interface which represents an operator dealing with permutations.
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Interfaces/IPermutationScrambleMoveOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Interfaces/IPermutationScrambleMoveOperator.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Interfaces/IPermutationScrambleMoveOperator.cs	(revision 16474)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.PermutationEncoding {
+  [StorableType("ec27a153-2ad7-4bf6-81e2-b0586083fdd3")]
   public interface IPermutationScrambleMoveOperator : IPermutationMoveOperator {
     ILookupParameter<ScrambleMove> ScrambleMoveParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Interfaces/IPermutationSwap2MoveOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Interfaces/IPermutationSwap2MoveOperator.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Interfaces/IPermutationSwap2MoveOperator.cs	(revision 16474)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.PermutationEncoding {
+  [StorableType("5ca82b56-9376-49bc-94c2-4eb25cb87b33")]
   public interface IPermutationSwap2MoveOperator : IPermutationMoveOperator {
     ILookupParameter<Swap2Move> Swap2MoveParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Interfaces/IPermutationTranslocationMoveOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Interfaces/IPermutationTranslocationMoveOperator.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Interfaces/IPermutationTranslocationMoveOperator.cs	(revision 16474)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.PermutationEncoding {
+  [StorableType("2813f39a-d095-4cc1-ad56-335f2288b9d0")]
   public interface IPermutationTranslocationMoveOperator : IPermutationMoveOperator {
     ILookupParameter<TranslocationMove> TranslocationMoveParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Moves/StandardEdgeEqualityComparer.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Moves/StandardEdgeEqualityComparer.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Moves/StandardEdgeEqualityComparer.cs	(revision 16474)
@@ -21,6 +21,8 @@
 
 using System.Collections.Generic;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.PermutationEncoding {
+  [StorableType("09d35061-7098-4f29-957d-c2a2319fe954")]
   public class StandardEdgeEqualityComparer : EqualityComparer<Edge> {
     public override bool Equals(Edge x, Edge y) {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/PermutationEqualityComparer.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/PermutationEqualityComparer.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/PermutationEqualityComparer.cs	(revision 16474)
@@ -25,7 +25,9 @@
 using System.Text;
 using HeuristicLab.PluginInfrastructure;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.PermutationEncoding {
   [NonDiscoverableType]
+  [StorableType("9e0bdbda-0d76-4032-bc69-f5acbbfd5d37")]
   public class PermutationEqualityComparer : EqualityComparer<Permutation> {
     public override bool Equals(Permutation x, Permutation y) {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/PermutationTypes.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/PermutationTypes.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/PermutationTypes.cs	(revision 16474)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HEAL.Fossil;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -21,4 +22,5 @@
 
 namespace HeuristicLab.Encodings.PermutationEncoding {
+  [StorableType("1ce01958-67f6-41d2-ab53-a7cf0dd6a55b")]
   public enum PermutationTypes {
     RelativeDirected,
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IAdditiveRealVectorMoveOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IAdditiveRealVectorMoveOperator.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IAdditiveRealVectorMoveOperator.cs	(revision 16474)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.RealVectorEncoding {
+  [StorableType("e1788907-b2bd-410c-b660-501fbfdf26d2")]
   public interface IAdditiveRealVectorMoveOperator : IRealVectorMoveOperator {
     ILookupParameter<AdditiveMove> AdditiveMoveParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorBoundsChecker.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorBoundsChecker.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorBoundsChecker.cs	(revision 16474)
@@ -23,6 +23,8 @@
 using HeuristicLab.Data;
 using HeuristicLab.Parameters;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.RealVectorEncoding {
+  [StorableType("05af3346-d753-46aa-ab1c-fa5008611d06")]
   public interface IRealVectorBoundsChecker : IOperator {
     LookupParameter<RealVector> RealVectorParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorCreator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorCreator.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorCreator.cs	(revision 16474)
@@ -23,6 +23,8 @@
 using HeuristicLab.Data;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.RealVectorEncoding {
+  [StorableType("6f7d06b2-8e65-473c-b172-e0a011076a79")]
   /// <summary>
   /// An interface which represents an operator for creating vectors of real-valued data.
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorCrossover.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorCrossover.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorCrossover.cs	(revision 16474)
@@ -23,6 +23,8 @@
 using HeuristicLab.Data;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.RealVectorEncoding {
+  [StorableType("b589675c-e174-4f35-8a37-0967ec119cda")]
   /// <summary>
   /// An interface which represents an operator for crossing vectors of real-valued data.
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorManipulator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorManipulator.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorManipulator.cs	(revision 16474)
@@ -23,6 +23,8 @@
 using HeuristicLab.Data;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.RealVectorEncoding {
+  [StorableType("4d5f6fe2-924e-4052-b1c3-32d12b232353")]
   /// <summary>
   /// An interface which represents an operator for manipulating vectors of real-valued data.
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorMoveGenerator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorMoveGenerator.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorMoveGenerator.cs	(revision 16474)
@@ -23,6 +23,8 @@
 using HeuristicLab.Data;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.RealVectorEncoding {
+  [StorableType("a8fa1f76-74ce-4b42-bbc6-1b844e9338d9")]
   public interface IRealVectorMoveGenerator : IRealVectorMoveOperator, IMoveGenerator {
     IValueLookupParameter<DoubleMatrix> BoundsParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorMoveOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorMoveOperator.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorMoveOperator.cs	(revision 16474)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.RealVectorEncoding {
+  [StorableType("ebd6c0f9-6be5-4661-ba4c-0522d33aa5c4")]
   public interface IRealVectorMoveOperator : IRealVectorOperator, IMoveOperator {
     ILookupParameter<RealVector> RealVectorParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorMultiNeighborhoodShakingOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorMultiNeighborhoodShakingOperator.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorMultiNeighborhoodShakingOperator.cs	(revision 16474)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.RealVectorEncoding {
+  [StorableType("0dee2cb0-6279-4337-bbae-a0ba95d5bbb8")]
   public interface IRealVectorMultiNeighborhoodShakingOperator : IRealVectorOperator {
     ILookupParameter<RealVector> RealVectorParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorOperator.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorOperator.cs	(revision 16474)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.RealVectorEncoding {
+  [StorableType("af0ebc2c-280c-4dc4-8f53-e067994e7491")]
   /// <summary>
   /// An interface which represents an operator dealing with vectors of real-valued data.
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorParticleCreator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorParticleCreator.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorParticleCreator.cs	(revision 16474)
@@ -23,6 +23,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.RealVectorEncoding {
+  [StorableType("4e4287a4-1bd9-4056-b203-ad97e4c418fb")]
   public interface IRealVectorParticleCreator : IParticleCreator, IRealVectorOperator {
     ILookupParameter<RealVector> RealVectorParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorParticleUpdater.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorParticleUpdater.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorParticleUpdater.cs	(revision 16474)
@@ -23,6 +23,8 @@
 using HeuristicLab.Data;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.RealVectorEncoding {
+  [StorableType("34b1f071-c5a0-471c-9ee2-cdf0d27c82b3")]
   public interface IRealVectorParticleUpdater : IParticleUpdater, IRealVectorOperator {
     ILookupParameter<RealVector> VelocityParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorStdDevStrategyParameterCreator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorStdDevStrategyParameterCreator.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorStdDevStrategyParameterCreator.cs	(revision 16474)
@@ -23,6 +23,8 @@
 using HeuristicLab.Data;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.RealVectorEncoding {
+  [StorableType("36856de6-6cb5-4b8b-8a2b-2437fd5f5c28")]
   public interface IRealVectorStdDevStrategyParameterCreator : IRealVectorStdDevStrategyParameterOperator, IStrategyParameterCreator {
     ILookupParameter<RealVector> StrategyParameterParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorStdDevStrategyParameterCrossover.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorStdDevStrategyParameterCrossover.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorStdDevStrategyParameterCrossover.cs	(revision 16474)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.RealVectorEncoding {
+  [StorableType("41e66ad7-37d5-4508-b128-4e4e7c32e362")]
   public interface IRealVectorStdDevStrategyParameterCrossover : IRealVectorStdDevStrategyParameterOperator, IStrategyParameterCrossover {
     ILookupParameter<RealVector> StrategyParameterParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorStdDevStrategyParameterManipulator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorStdDevStrategyParameterManipulator.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorStdDevStrategyParameterManipulator.cs	(revision 16474)
@@ -23,6 +23,8 @@
 using HeuristicLab.Data;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.RealVectorEncoding {
+  [StorableType("a25675fb-a613-4b70-9572-d9d1793b5da3")]
   public interface IRealVectorStdDevStrategyParameterManipulator : IRealVectorStdDevStrategyParameterOperator, IStrategyParameterManipulator {
     ILookupParameter<RealVector> StrategyParameterParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorStdDevStrategyParameterOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorStdDevStrategyParameterOperator.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorStdDevStrategyParameterOperator.cs	(revision 16474)
@@ -20,6 +20,8 @@
 #endregion
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.RealVectorEncoding {
+  [StorableType("57da67bb-c9c6-4cc1-a2eb-6c2ee8cb0363")]
   public interface IRealVectorStdDevStrategyParameterOperator : IOperator {
   }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorSwarmUpdater.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorSwarmUpdater.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/Interfaces/IRealVectorSwarmUpdater.cs	(revision 16474)
@@ -21,7 +21,9 @@
 
 using HeuristicLab.Core;
-using HeuristicLab.Optimization; 
+using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.RealVectorEncoding {
+  [StorableType("d8a15c9c-e2e8-4494-bc0e-97ccad304757")]
   public interface IRealVectorSwarmUpdater : ISwarmUpdater, IRealVectorOperator {
     IScopeTreeLookupParameter<RealVector> NeighborBestParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/RealVectorEqualityComparer.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/RealVectorEqualityComparer.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.RealVectorEncoding/3.3/RealVectorEqualityComparer.cs	(revision 16474)
@@ -23,7 +23,9 @@
 using System.Collections.Generic;
 using HeuristicLab.PluginInfrastructure;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.RealVectorEncoding {
   [NonDiscoverableType]
+  [StorableType("076cab74-4cf1-4624-b8fa-8a526345eca3")]
   public class RealVectorEqualityComparer : EqualityComparer<RealVector> {
     public override bool Equals(RealVector x, RealVector y) {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IDirectScheduleOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IDirectScheduleOperator.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IDirectScheduleOperator.cs	(revision 16474)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.ScheduleEncoding {
+  [StorableType("bbf5a74f-4a40-4294-a982-bac04408ae7d")]
   public interface IDirectScheduleOperator : IOperator {
   }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IJSMOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IJSMOperator.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IJSMOperator.cs	(revision 16474)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.ScheduleEncoding {
+  [StorableType("64a91a33-6676-4452-af37-5ed8767fdd6a")]
   public interface IJSMOperator : IOperator {
   }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IPRVOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IPRVOperator.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IPRVOperator.cs	(revision 16474)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.ScheduleEncoding {
+  [StorableType("6b229ce1-5e07-4b41-858a-be475ca501b6")]
   public interface IPRVOperator : IOperator {
   }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IPWROperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IPWROperator.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IPWROperator.cs	(revision 16474)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.ScheduleEncoding {
+  [StorableType("5cce44cf-a68d-4f5a-8d43-489a7ebcb86e")]
   public interface IPWROperator : IOperator {
   }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IScheduleCreator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IScheduleCreator.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IScheduleCreator.cs	(revision 16474)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.ScheduleEncoding {
+  [StorableType("d6738639-c5fc-46af-8997-7527ea718759")]
   public interface IScheduleCreator : ISolutionCreator, IScheduleOperator {
     ILookupParameter<IScheduleEncoding> ScheduleEncodingParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IScheduleCrossover.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IScheduleCrossover.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IScheduleCrossover.cs	(revision 16474)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.ScheduleEncoding {
+  [StorableType("809a6136-3a7a-4389-9119-2bb48f6d650a")]
   public interface IScheduleCrossover : ICrossover, IScheduleOperator {
     ILookupParameter<IScheduleEncoding> ChildParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IScheduleEncoding.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IScheduleEncoding.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IScheduleEncoding.cs	(revision 16474)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.ScheduleEncoding {
+  [StorableType("09b9d24c-2576-495a-b06c-338d095cba0d")]
   public interface IScheduleEncoding : IItem {
   }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IScheduleManipulator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IScheduleManipulator.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IScheduleManipulator.cs	(revision 16474)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.ScheduleEncoding {
+  [StorableType("aa89fd6f-db49-457d-abc9-5600aa8f24e5")]
   public interface IScheduleManipulator : IManipulator, IScheduleOperator {
     ILookupParameter<IScheduleEncoding> ScheduleEncodingParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IScheduleOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IScheduleOperator.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IScheduleOperator.cs	(revision 16474)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.ScheduleEncoding {
+  [StorableType("53c01eb3-afba-4943-85c7-9ca699e106d9")]
   public interface IScheduleOperator : IOperator {
   }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Formatters/SymbolicExpressionTreeHierarchicalFormatter.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Formatters/SymbolicExpressionTreeHierarchicalFormatter.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Formatters/SymbolicExpressionTreeHierarchicalFormatter.cs	(revision 16474)
@@ -25,7 +25,9 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.SymbolicExpressionTreeEncoding {
   [Item("Hierarchical Formatter", "Formatter for symbolic expression trees that uses special characters for drawing a tree in text-mode.")]
+  [StorableType("0a9ad135-ced1-4c3b-94ff-b1fb41193515")]
   public sealed class SymbolicExpressionTreeHierarchicalFormatter : NamedItem, ISymbolicExpressionTreeStringFormatter {
     private SymbolicExpressionTreeHierarchicalFormatter(SymbolicExpressionTreeHierarchicalFormatter original, Cloner cloner)
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/IReadOnlySymbol.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/IReadOnlySymbol.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/IReadOnlySymbol.cs	(revision 16474)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HEAL.Fossil;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -20,4 +21,5 @@
 #endregion
 namespace HeuristicLab.Encodings.SymbolicExpressionTreeEncoding {
+  [StorableType("a5fbffbb-dd8d-4cdb-bb4a-d617370a59f3")]
   public interface IReadOnlySymbol : ISymbol {
   }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/ISymbol.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/ISymbol.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/ISymbol.cs	(revision 16474)
@@ -23,6 +23,8 @@
 using System.Collections.Generic;
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.SymbolicExpressionTreeEncoding {
+  [StorableType("25137f88-66b9-48d7-a2bd-60190082e044")]
   public interface ISymbol : INamedItem {
     ISymbolicExpressionTreeNode CreateTreeNode();
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/ISymbolicExpressionGrammar.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/ISymbolicExpressionGrammar.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/ISymbolicExpressionGrammar.cs	(revision 16474)
@@ -23,5 +23,8 @@
 using System;
 using HeuristicLab.Core;
+using HEAL.Fossil;
+
 namespace HeuristicLab.Encodings.SymbolicExpressionTreeEncoding {
+  [StorableType("1f6afcbe-b309-44e2-8d35-2d33eaeb9649")]
   public interface ISymbolicExpressionGrammar : ISymbolicExpressionGrammarBase, IStatefulItem {
     ISymbol ProgramRootSymbol { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/ISymbolicExpressionGrammarBase.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/ISymbolicExpressionGrammarBase.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/ISymbolicExpressionGrammarBase.cs	(revision 16474)
@@ -23,6 +23,8 @@
 using System.Collections.Generic;
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.SymbolicExpressionTreeEncoding {
+  [StorableType("119f5e94-bc7d-42fc-a48b-ac0230115ef2")]
   public interface ISymbolicExpressionGrammarBase : INamedItem {
     IEnumerable<ISymbol> Symbols { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/ISymbolicExpressionTree.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/ISymbolicExpressionTree.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/ISymbolicExpressionTree.cs	(revision 16474)
@@ -23,5 +23,8 @@
 using System.Collections.Generic;
 using HeuristicLab.Core;
+using HEAL.Fossil;
+
 namespace HeuristicLab.Encodings.SymbolicExpressionTreeEncoding {
+  [StorableType("433dd098-7813-4226-aa76-a41d63c25f81")]
   public interface ISymbolicExpressionTree : IItem {
     ISymbolicExpressionTreeNode Root { get; set; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/ISymbolicExpressionTreeGrammar.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/ISymbolicExpressionTreeGrammar.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/ISymbolicExpressionTreeGrammar.cs	(revision 16474)
@@ -21,5 +21,8 @@
 
 using System.Collections.Generic;
+using HEAL.Fossil;
+
 namespace HeuristicLab.Encodings.SymbolicExpressionTreeEncoding {
+  [StorableType("75a6319f-4bfb-4aa5-823b-f340f9a1e753")]
   public interface ISymbolicExpressionTreeGrammar : ISymbolicExpressionGrammarBase {
     IEnumerable<ISymbol> ModifyableSymbols { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/ISymbolicExpressionTreeNode.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/ISymbolicExpressionTreeNode.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/ISymbolicExpressionTreeNode.cs	(revision 16474)
@@ -23,5 +23,8 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
+using HEAL.Fossil;
+
 namespace HeuristicLab.Encodings.SymbolicExpressionTreeEncoding {
+  [StorableType("1a0ee1b9-590f-4763-890b-fba196a8f3fd")]
   public interface ISymbolicExpressionTreeNode : IDeepCloneable {
     ISymbolicExpressionTreeGrammar Grammar { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/ISymbolicExpressionTreeNodeComparer.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/ISymbolicExpressionTreeNodeComparer.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/ISymbolicExpressionTreeNodeComparer.cs	(revision 16474)
@@ -1,5 +1,7 @@
 ﻿using System.Collections.Generic;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.SymbolicExpressionTreeEncoding {
+  [StorableType("7d8c5996-ca0b-4168-bc29-090cd196f83e")]
   public interface ISymbolicExpressionTreeNodeComparer : IComparer<ISymbolicExpressionTreeNode> { }
 }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/ISymbolicExpressionTreeNodeSimilarityComparer.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/ISymbolicExpressionTreeNodeSimilarityComparer.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/ISymbolicExpressionTreeNodeSimilarityComparer.cs	(revision 16474)
@@ -1,6 +1,8 @@
 ﻿using System.Collections.Generic;
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.SymbolicExpressionTreeEncoding {
+  [StorableType("c4de8ab2-616d-4c73-9f9c-59545ac38199")]
   public interface ISymbolicExpressionTreeNodeSimilarityComparer : IEqualityComparer<ISymbolicExpressionTreeNode>, IItem {
     bool MatchConstantValues { get; set; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/ISymbolicExpressionTreeStringFormatter.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/ISymbolicExpressionTreeStringFormatter.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/ISymbolicExpressionTreeStringFormatter.cs	(revision 16474)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.SymbolicExpressionTreeEncoding {
+  [StorableType("e32d9fae-2b90-40a1-9ea3-dc81853d0633")]
   public interface ISymbolicExpressionTreeStringFormatter : INamedItem {
     string Format(ISymbolicExpressionTree symbolicExpressionTree);
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/Operators/ISymbolicExpressionTreeAnalyzer.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/Operators/ISymbolicExpressionTreeAnalyzer.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/Operators/ISymbolicExpressionTreeAnalyzer.cs	(revision 16474)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.SymbolicExpressionTreeEncoding {
+  [StorableType("88e02362-f709-45bc-9286-9afb5e7a097e")]
   /// <summary>
   /// Interface for analyzers that can be applied to symbolic expression trees.
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/Operators/ISymbolicExpressionTreeArchitectureAlteringOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/Operators/ISymbolicExpressionTreeArchitectureAlteringOperator.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/Operators/ISymbolicExpressionTreeArchitectureAlteringOperator.cs	(revision 16474)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.SymbolicExpressionTreeEncoding {
+  [StorableType("948aed2f-ad34-44aa-a6a6-0c14fbfafe3e")]
   public interface ISymbolicExpressionTreeArchitectureAlteringOperator : ISymbolicExpressionTreeOperator {
     IValueLookupParameter<IntValue> MaximumFunctionDefinitionsParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/Operators/ISymbolicExpressionTreeArchitectureManipulator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/Operators/ISymbolicExpressionTreeArchitectureManipulator.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/Operators/ISymbolicExpressionTreeArchitectureManipulator.cs	(revision 16474)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HEAL.Fossil;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -22,4 +23,5 @@
 
 namespace HeuristicLab.Encodings.SymbolicExpressionTreeEncoding {
+  [StorableType("237e7ea7-1c57-4a3a-84f5-1193a0f67a16")]
   /// <summary>
   /// Interface for operators that manipulate symbolic expression trees.
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/Operators/ISymbolicExpressionTreeCreator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/Operators/ISymbolicExpressionTreeCreator.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/Operators/ISymbolicExpressionTreeCreator.cs	(revision 16474)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.SymbolicExpressionTreeEncoding {
+  [StorableType("acd473fc-5720-430e-b4dc-4350506ff14b")]
   /// <summary>
   /// Interface for operators that create symbolic expression trees.
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/Operators/ISymbolicExpressionTreeCrossover.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/Operators/ISymbolicExpressionTreeCrossover.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/Operators/ISymbolicExpressionTreeCrossover.cs	(revision 16474)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.SymbolicExpressionTreeEncoding {
+  [StorableType("bd6d2c3c-a6dd-4e73-abd5-dc6c204e2034")]
   /// <summary>
   /// Interface for crossover operators that can be applied to symbolic expression trees.
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/Operators/ISymbolicExpressionTreeGrammarBasedOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/Operators/ISymbolicExpressionTreeGrammarBasedOperator.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/Operators/ISymbolicExpressionTreeGrammarBasedOperator.cs	(revision 16474)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.SymbolicExpressionTreeEncoding {
+  [StorableType("e480297b-8cfc-4e43-a338-1106677b9c71")]
   /// <summary>
   /// Interface for operators that can be applied to symbolic expression trees.
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/Operators/ISymbolicExpressionTreeManipulator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/Operators/ISymbolicExpressionTreeManipulator.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/Operators/ISymbolicExpressionTreeManipulator.cs	(revision 16474)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.SymbolicExpressionTreeEncoding {
+  [StorableType("35d40821-ee75-4212-baf9-4138db862b77")]
   /// <summary>
   /// Interface for operators that manipulate symbolic expression trees.
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/Operators/ISymbolicExpressionTreeOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/Operators/ISymbolicExpressionTreeOperator.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/Operators/ISymbolicExpressionTreeOperator.cs	(revision 16474)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.SymbolicExpressionTreeEncoding {
+  [StorableType("83f6a886-9cf0-4657-8c19-76ed05eb0552")]
   /// <summary>
   /// Interface for operators that can be applied to symbolic expression trees.
Index: branches/2520_PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/Operators/ISymbolicExpressionTreeSizeConstraintOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/Operators/ISymbolicExpressionTreeSizeConstraintOperator.cs	(revision 16472)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/Operators/ISymbolicExpressionTreeSizeConstraintOperator.cs	(revision 16474)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.SymbolicExpressionTreeEncoding {
+  [StorableType("b69a9830-2313-4a9d-9fa0-4650a3bdfdd2")]
   public interface ISymbolicExpressionTreeSizeConstraintOperator : ISymbolicExpressionTreeOperator {
     IValueLookupParameter<IntValue> MaximumSymbolicExpressionTreeDepthParameter { get; }
