Index: /branches/2520_PersistenceReintegration/HeuristicLab.Operators.Views.GraphVisualization/3.3/General/IConnectionInfo.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Operators.Views.GraphVisualization/3.3/General/IConnectionInfo.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Operators.Views.GraphVisualization/3.3/General/IConnectionInfo.cs	(revision 16476)
@@ -22,6 +22,8 @@
 using System;
 using HeuristicLab.Common;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Operators.Views.GraphVisualization {
+  [StorableType("3cdcae5a-9f9f-4b99-bcd7-cc9619a547d8")]
   public interface IConnectionInfo : IDeepCloneable {
     IShapeInfo From { get; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Operators.Views.GraphVisualization/3.3/General/IGraphVisualizationInfo.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Operators.Views.GraphVisualization/3.3/General/IGraphVisualizationInfo.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Operators.Views.GraphVisualization/3.3/General/IGraphVisualizationInfo.cs	(revision 16476)
@@ -24,6 +24,8 @@
 using HeuristicLab.Collections;
 using HeuristicLab.Common;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Operators.Views.GraphVisualization {
+  [StorableType("d6df3b9d-453c-4f85-ae4b-76c3cbcc304c")]
   public interface IGraphVisualizationInfo : IDeepCloneable, IContent {
     IShapeInfo InitialShape { get; set; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Operators.Views.GraphVisualization/3.3/General/IShapeInfo.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Operators.Views.GraphVisualization/3.3/General/IShapeInfo.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Operators.Views.GraphVisualization/3.3/General/IShapeInfo.cs	(revision 16476)
@@ -24,6 +24,8 @@
 using System.Drawing;
 using HeuristicLab.Common;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Operators.Views.GraphVisualization {
+  [StorableType("a4ab29fa-705b-4a49-8ca2-86a18b40de12")]
   public interface IShapeInfo : IDeepCloneable {
     Point Location { get; set; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Operators.Views.GraphVisualization/3.3/OperatorGraphVisualization/IOperatorShapeInfo.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Operators.Views.GraphVisualization/3.3/OperatorGraphVisualization/IOperatorShapeInfo.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Operators.Views.GraphVisualization/3.3/OperatorGraphVisualization/IOperatorShapeInfo.cs	(revision 16476)
@@ -22,6 +22,8 @@
 using System.Collections.Generic;
 using System.Drawing;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Operators.Views.GraphVisualization {
+  [StorableType("d6ae073c-ddf7-4923-abed-1b3c864ac492")]
   public interface IOperatorShapeInfo : IShapeInfo {
     bool Collapsed { get; set; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Operators.Views.GraphVisualization/3.3/OperatorGraphVisualization/OperatorShape.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Operators.Views.GraphVisualization/3.3/OperatorGraphVisualization/OperatorShape.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Operators.Views.GraphVisualization/3.3/OperatorGraphVisualization/OperatorShape.cs	(revision 16476)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HEAL.Fossil;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -23,4 +24,5 @@
 
 namespace HeuristicLab.Operators.Views.GraphVisualization {
+  [StorableType("5a5d76a6-607b-418b-9de1-e30ea3e85f58")]
   internal class OperatorShape {
     //21.04.2011 mkommend
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Operators/3.3/ReductionOperation.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Operators/3.3/ReductionOperation.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Operators/3.3/ReductionOperation.cs	(revision 16476)
@@ -27,4 +27,5 @@
 
 namespace HeuristicLab.Operators {
+  [StorableType("1080f82a-f4cd-41db-a474-6578a4b9ec82")]
   public enum ReductionOperations {
     Sum,
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization.Operators/3.3/MultiObjective/CrowdedComparisonSorter.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization.Operators/3.3/MultiObjective/CrowdedComparisonSorter.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization.Operators/3.3/MultiObjective/CrowdedComparisonSorter.cs	(revision 16476)
@@ -69,4 +69,5 @@
     }
 
+    [StorableType("c16dd393-bd08-4a81-abb5-1b7e918a1038")]
     private class CustomComparer : IComparer<int> {
       ItemArray<IntValue> ranks;
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization.Operators/3.3/MultiObjective/CrowdingDistanceAssignment.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization.Operators/3.3/MultiObjective/CrowdingDistanceAssignment.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization.Operators/3.3/MultiObjective/CrowdingDistanceAssignment.cs	(revision 16476)
@@ -103,4 +103,5 @@
     }
 
+    [StorableType("30fd1927-b268-4ce7-8960-b04bfa83f1e6")]
     private class QualitiesComparer : IComparer<DoubleArray> {
       private int index;
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization.Operators/3.3/NoSimilarityCalculator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization.Operators/3.3/NoSimilarityCalculator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization.Operators/3.3/NoSimilarityCalculator.cs	(revision 16476)
@@ -32,4 +32,5 @@
   /// </remarks>
   [Item("NoSimilarityCalculator", "An item that performs similarity calculation between two solutions. The item always considers two solutions to be distinct.")]
+  [StorableType("dd0dc63b-f691-4132-963e-eab3e1bc366a")]
   public sealed class NoSimilarityCalculator : SingleObjectiveSolutionSimilarityCalculator {
     protected override bool IsCommutative { get { return true; } }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization.Operators/3.3/QualitySimilarityCalculator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization.Operators/3.3/QualitySimilarityCalculator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization.Operators/3.3/QualitySimilarityCalculator.cs	(revision 16476)
@@ -34,4 +34,5 @@
   /// </remarks>
   [Item("QualitySimilarityCalculator", "An item that performs similarity calculation between two solutions. The item only considers the qualities of the two solutions.")]
+  [StorableType("b5ef2b97-4a4a-43cd-aeae-7f951b49cdc1")]
   public sealed class QualitySimilarityCalculator : SingleObjectiveSolutionSimilarityCalculator {
     protected override bool IsCommutative { get { return true; } }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Individuals/Individual.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Individuals/Individual.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Individuals/Individual.cs	(revision 16476)
@@ -24,10 +24,19 @@
 using System.Linq;
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("b1388a9d-c85c-49f6-9916-ef4c93dffee0")]
   public abstract class Individual {
+    [Storable]
     protected IEncoding Encoding { get; private set; }
+    [Storable]
     protected IScope Scope { get; private set; }
     public string Name { get { return Encoding.Name; } }
+
+
+    [StorableConstructor]
+    protected Individual(StorableConstructorFlag _) {
+    }
 
     protected Individual(IEncoding encoding, IScope scope) {
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Individuals/MultiEncodingIndividual.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Individuals/MultiEncodingIndividual.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Individuals/MultiEncodingIndividual.cs	(revision 16476)
@@ -24,9 +24,15 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("ec7201c7-3c9f-4a93-966b-d848d9538202")]
   public sealed class MultiEncodingIndividual : Individual {
     private new MultiEncoding Encoding {
       get { return (MultiEncoding)base.Encoding; }
+    }
+
+    [StorableConstructor]
+    private MultiEncodingIndividual(StorableConstructorFlag _) : base(_) {
     }
 
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Individuals/SingleEncodingIndividual.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Individuals/SingleEncodingIndividual.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Individuals/SingleEncodingIndividual.cs	(revision 16476)
@@ -23,7 +23,13 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("13a86161-9e5c-442b-ab1c-18018b1d9708")]
   public sealed class SingleEncodingIndividual : Individual {
+    [StorableConstructor]
+    private SingleEncodingIndividual(StorableConstructorFlag _) : base(_) {
+    }
+
     public SingleEncodingIndividual(IEncoding encoding, IScope scope)
       : base(encoding, scope) {
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/IEncoding.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/IEncoding.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/IEncoding.cs	(revision 16476)
@@ -23,6 +23,8 @@
 using System.Collections.Generic;
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("d70b2675-246c-489c-a91b-b2e19a1616a3")]
   public interface IEncoding : IParameterizedNamedItem {
     ISolutionCreator SolutionCreator { get; set; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/IEncodingOperator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/IEncodingOperator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/IEncodingOperator.cs	(revision 16476)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("20faaf8b-dd4f-4f0e-a772-4c4dec7fcccb")]
   public interface IEncodingOperator : IOperator {
     ILookupParameter<IEncoding> EncodingParameter { get; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/IMultiEncodingOperator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/IMultiEncodingOperator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/IMultiEncodingOperator.cs	(revision 16476)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("e8b66565-263c-49f9-9c08-29b820bf3e5a")]
   public interface IMultiEncodingOperator : IOperator {
     void AddEncoding(IEncoding encoding);
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/IMultiObjectiveProblemDefinition.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/IMultiObjectiveProblemDefinition.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/IMultiObjectiveProblemDefinition.cs	(revision 16476)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("39eacdb5-80a0-425d-902a-00eb3e1d6610")]
   public interface IMultiObjectiveProblemDefinition : IProblemDefinition {
     bool[] Maximization { get; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/IProblemDefinition.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/IProblemDefinition.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/IProblemDefinition.cs	(revision 16476)
@@ -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.Optimization {
+  [StorableType("747a3cea-b9ba-4322-a5c2-050cd7e16e2a")]
   public interface IProblemDefinition {
     IEncoding Encoding { get; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/ISingleObjectiveMoveOperator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/ISingleObjectiveMoveOperator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/ISingleObjectiveMoveOperator.cs	(revision 16476)
@@ -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.Optimization {
+  [StorableType("82423b2f-1343-4a21-847c-e69bdcde4861")]
   public interface ISingleObjectiveMoveOperator : IMoveOperator, ISingleObjectiveOperator {
   }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/ISingleObjectiveProblemDefinition.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/ISingleObjectiveProblemDefinition.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/ISingleObjectiveProblemDefinition.cs	(revision 16476)
@@ -22,6 +22,8 @@
 using System.Collections.Generic;
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("7ec7bf7e-aaa7-4681-828b-3401cf67e2b3")]
   public interface ISingleObjectiveProblemDefinition : IProblemDefinition {
     bool Maximization { get; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/internal/IMultiObjectiveAnalysisOperator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/internal/IMultiObjectiveAnalysisOperator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/internal/IMultiObjectiveAnalysisOperator.cs	(revision 16476)
@@ -22,6 +22,8 @@
 using System;
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("c9325602-3262-48a4-8985-03657fb0b34f")]
   internal interface IMultiObjectiveAnalysisOperator : IEncodingOperator, IAnalyzer, IMultiObjectiveOperator {
     Action<Individual[], double[][], ResultCollection, IRandom> AnalyzeAction { get; set; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/internal/IMultiObjectiveEvaluationOperator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/internal/IMultiObjectiveEvaluationOperator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/internal/IMultiObjectiveEvaluationOperator.cs	(revision 16476)
@@ -22,6 +22,8 @@
 using System;
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("89da568c-70a2-48fb-8e6b-ea078bb6fc3f")]
   internal interface IMultiObjectiveEvaluationOperator : IMultiObjectiveEvaluator, IEncodingOperator {
     Func<Individual, IRandom, double[]> EvaluateFunc { get; set; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/internal/INeighborBasedOperator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/internal/INeighborBasedOperator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/internal/INeighborBasedOperator.cs	(revision 16476)
@@ -23,6 +23,8 @@
 using System.Collections.Generic;
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("fda56e0b-9392-4711-9af1-55211bfa24ac")]
   internal interface INeighborBasedOperator : IEncodingOperator {
     Func<Individual, IRandom, IEnumerable<Individual>> GetNeighborsFunc { get; set; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/internal/ISingleObjectiveAnalysisOperator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/internal/ISingleObjectiveAnalysisOperator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/internal/ISingleObjectiveAnalysisOperator.cs	(revision 16476)
@@ -22,6 +22,8 @@
 using System;
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("9731981c-10c6-4850-9308-a4720ac07da7")]
   internal interface ISingleObjectiveAnalysisOperator : IEncodingOperator, ISingleObjectiveOperator {
     Action<Individual[], double[], ResultCollection, IRandom> AnalyzeAction { get; set; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/internal/ISingleObjectiveEvaluationOperator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/internal/ISingleObjectiveEvaluationOperator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/internal/ISingleObjectiveEvaluationOperator.cs	(revision 16476)
@@ -22,6 +22,8 @@
 using System;
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("5a9cf334-4815-4f0e-a2f8-f3d4edfcc829")]
   internal interface ISingleObjectiveEvaluationOperator : ISingleObjectiveEvaluator, IEncodingOperator {
     Func<Individual, IRandom, double> EvaluateFunc { get; set; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IAlgorithm.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IAlgorithm.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IAlgorithm.cs	(revision 16476)
@@ -23,6 +23,8 @@
 using System.Collections.Generic;
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("c293d208-59ac-4d3c-b815-47d68355628d")]
   /// <summary>
   /// Interface to represent an algorithm.
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IAnalyzer.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IAnalyzer.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IAnalyzer.cs	(revision 16476)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("eefee3ee-96ea-41fe-af01-ef96961c99b4")]
   /// <summary>
   /// An interface which represents an analysis operator.
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ICharacteristicCalculator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ICharacteristicCalculator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ICharacteristicCalculator.cs	(revision 16476)
@@ -23,6 +23,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("7125fc8c-2323-423c-8b08-76f80e4e119e")]
   public interface ICharacteristicCalculator : IParameterizedNamedItem {
     IProblem Problem { get; set; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ICrossover.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ICrossover.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ICrossover.cs	(revision 16476)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("0eb07054-a63b-4f31-9a2a-6dae28204d82")]
   /// <summary>
   /// An interface which represents an operator for crossing solutions.
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IDiscreteDoubleMatrixModifier.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IDiscreteDoubleMatrixModifier.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IDiscreteDoubleMatrixModifier.cs	(revision 16476)
@@ -23,6 +23,8 @@
 using HeuristicLab.Data;
 using HeuristicLab.Parameters;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("75135b74-abed-4426-aacd-dd2eb4ea1188")]
   public interface IDiscreteDoubleMatrixModifier : IOperator {
     ILookupParameter<DoubleMatrix> ValueParameter { get; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IDiscreteDoubleValueModifier.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IDiscreteDoubleValueModifier.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IDiscreteDoubleValueModifier.cs	(revision 16476)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("32f2e082-9d02-4006-85d5-d2006cb47def")]
   public interface IDiscreteDoubleValueModifier : IOperator {
     ILookupParameter<DoubleValue> ValueParameter { get; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IEvaluator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IEvaluator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IEvaluator.cs	(revision 16476)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("bfd1c015-ab11-483c-a5ce-fddac47faea6")]
   /// <summary>
   /// An interface which represents an evaluation operator for optimization problems.
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IExhaustiveMoveGenerator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IExhaustiveMoveGenerator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IExhaustiveMoveGenerator.cs	(revision 16476)
@@ -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.Optimization {
+  [StorableType("0e75b461-71a9-4070-9bbd-6ca20fadf773")]
   public interface IExhaustiveMoveGenerator : IMoveGenerator {
   }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IHeuristicOptimizationProblem.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IHeuristicOptimizationProblem.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IHeuristicOptimizationProblem.cs	(revision 16476)
@@ -22,6 +22,8 @@
 using System;
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("51d66e7a-e4bd-429a-b6e5-1cfe9ce4364f")]
   /// <summary>
   /// Interface to represent a heuristic optimization problem.
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IImprovementOperator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IImprovementOperator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IImprovementOperator.cs	(revision 16476)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("49c24af5-5d38-4dd3-90c6-96bf61da596e")]
   /// <summary>
   /// An interface which represents an operator for improvement.
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IIterationBasedOperator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IIterationBasedOperator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IIterationBasedOperator.cs	(revision 16476)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("7632e886-d410-4b49-98a7-af6799afa15d")]
   public interface IIterationBasedOperator : IOperator {
     ILookupParameter<IntValue> IterationsParameter { get; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ILocalImprovementAlgorithmOperator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ILocalImprovementAlgorithmOperator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ILocalImprovementAlgorithmOperator.cs	(revision 16476)
@@ -21,6 +21,8 @@
 
 using System;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("a45976c5-caad-4eb6-8150-f168a1ff89f5")]
   public interface ILocalImprovementAlgorithmOperator : ILocalImprovementOperator {
     Type ProblemType { get; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ILocalImprovementOperator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ILocalImprovementOperator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ILocalImprovementOperator.cs	(revision 16476)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("2af9c952-58d0-4062-9d9b-e839e4fd244c")]
   public interface ILocalImprovementOperator : IOperator {
     IValueLookupParameter<IntValue> MaximumIterationsParameter { get; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IManipulator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IManipulator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IManipulator.cs	(revision 16476)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("1bc59173-67b9-45dd-a4ad-a1bd2696659f")]
   /// <summary>
   /// An interface which represents an operator for manipulating solutions.
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMigrator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMigrator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMigrator.cs	(revision 16476)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("5388ce48-00ec-4640-9925-97bf061ad595")]
   public interface IMigrator : IOperator { }
 }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMoveGenerator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMoveGenerator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMoveGenerator.cs	(revision 16476)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("b72b4f30-8cdc-4bc1-ad1b-41f160ff103e")]
   /// <summary>
   /// An interface which represents an operator for generating moves.
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMoveMaker.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMoveMaker.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMoveMaker.cs	(revision 16476)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("8c220537-2993-4666-8b49-a4c87fd7f6a3")]
   public interface IMoveMaker : IOperator {
     ILookupParameter<DoubleValue> QualityParameter { get; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMoveOperator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMoveOperator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMoveOperator.cs	(revision 16476)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("65af3d33-528d-4554-a430-bd2daf42860a")]
   /// <summary>
   /// The basic interface that marks all move operators. Derived interfaces
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMultiAnalyzer.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMultiAnalyzer.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMultiAnalyzer.cs	(revision 16476)
@@ -22,5 +22,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
+
 namespace HeuristicLab.Optimization {
+  [StorableType("7f691603-fb68-4ea0-8085-d7f01df378e6")]
   /// <summary>
   /// An interface which represents a multi analysis operator.
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMultiMoveGenerator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMultiMoveGenerator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMultiMoveGenerator.cs	(revision 16476)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("86e85d2f-7cfd-482b-8473-da3bef38f017")]
   public interface IMultiMoveGenerator : IMoveGenerator {
     IValueLookupParameter<IntValue> SampleSizeParameter { get; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMultiNeighborhoodShakingOperator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMultiNeighborhoodShakingOperator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMultiNeighborhoodShakingOperator.cs	(revision 16476)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("740caa52-1f3c-4bfe-a2f9-f59e4c547992")]
   public interface IMultiNeighborhoodShakingOperator : IOperator {
     IValueLookupParameter<IntValue> CurrentNeighborhoodIndexParameter { get; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMultiObjectiveEvaluator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMultiObjectiveEvaluator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMultiObjectiveEvaluator.cs	(revision 16476)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("b904a6dc-3c57-4428-9ca6-d4dc8cf6f717")]
   /// <summary>
   /// An interface which represents an evaluation operator for multi-objective optimization problems.
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMultiObjectiveHeuristicOptimizationProblem.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMultiObjectiveHeuristicOptimizationProblem.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMultiObjectiveHeuristicOptimizationProblem.cs	(revision 16476)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("03be07f9-f827-4292-a06c-c25621836a5e")]
   /// <summary>
   /// An interface to represent a multi-objective optimization problem.
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMultiObjectiveOperator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMultiObjectiveOperator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMultiObjectiveOperator.cs	(revision 16476)
@@ -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.Optimization {
+  [StorableType("9928146a-f8eb-490c-a468-a66435185e27")]
   /// <summary>
   /// This is only a marker interface to prevent operators that expect to work with multiple quality values
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMultiObjectiveSelector.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMultiObjectiveSelector.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IMultiObjectiveSelector.cs	(revision 16476)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("df0370eb-6483-4bf9-a18f-dae937c32f4f")]
   /// <summary>
   /// An interface which represents a selection operator for selecting solutions of multi-objective optimization problems.
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IOptimizer.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IOptimizer.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IOptimizer.cs	(revision 16476)
@@ -22,6 +22,8 @@
 using System.Collections.Generic;
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("c5a27124-f02a-4695-a90c-d8162ee58642")]
   /// <summary>
   /// Interface to represent optimizers such as algorithms, batch runs, or experiments.
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IParticleCreator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IParticleCreator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IParticleCreator.cs	(revision 16476)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("59e9ace8-9cd7-4722-b00f-6ad288350c9f")]
   /// <summary>
   /// Interface to represent an operator that generates a particle. 
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IParticleUpdater.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IParticleUpdater.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IParticleUpdater.cs	(revision 16476)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("c3880aca-187c-4a63-adf4-a6f46bd6e5e0")]
   /// <summary>
   /// Interface to represent an operator that updates a particle 
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IPathRelinker.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IPathRelinker.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IPathRelinker.cs	(revision 16476)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("806e0460-65de-41ec-9131-cf16300f3f36")]
   /// <summary>
   /// An interface which represents an operator for path relinking.
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IProblem.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IProblem.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IProblem.cs	(revision 16476)
@@ -23,6 +23,8 @@
 using System.Collections.Generic;
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("e16ad337-8c18-4c29-a893-e83f671e804c")]
   /// <summary>
   /// Interface to represent an optimization problem.
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IQualityComparator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IQualityComparator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IQualityComparator.cs	(revision 16476)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("d8322962-ab8a-4ae0-b66f-48247083c153")]
   public interface IQualityComparator {
     ILookupParameter<DoubleValue> LeftSideParameter { get; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IReducer.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IReducer.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IReducer.cs	(revision 16476)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("afe4e404-1c0a-45ea-9856-f5dbec32be7e")]
   /// <summary>
   /// An interface which represents a reduction opertor.
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IReplacer.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IReplacer.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IReplacer.cs	(revision 16476)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("2aaf9cd7-c5dc-48d0-b59d-5801e152b19e")]
   /// <summary>
   /// Interface to mark operators that can be used as replacers.
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IRun.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IRun.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IRun.cs	(revision 16476)
@@ -24,6 +24,8 @@
 using HeuristicLab.Collections;
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("bd021976-74c7-4e40-af7e-e10e316af64c")]
   /// <summary>
   /// Represents the parameters and results of an algorithm run.
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IRunCollectionModifier.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IRunCollectionModifier.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IRunCollectionModifier.cs	(revision 16476)
@@ -22,7 +22,9 @@
 using System.Collections.Generic;
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
-  public interface IRunCollectionModifier : IItem {    
+  [StorableType("55f41cc9-c77f-462b-8745-229572436aea")]
+  public interface IRunCollectionModifier : IItem {
     void Modify(List<IRun> runs);
   }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISelector.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISelector.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISelector.cs	(revision 16476)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("af96bbae-d3ef-4b4b-96a7-248c400ad2b8")]
   /// <summary>
   /// An interface which represents a selection operator.
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISelfAdaptiveManipulator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISelfAdaptiveManipulator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISelfAdaptiveManipulator.cs	(revision 16476)
@@ -22,6 +22,8 @@
 using System;
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("f1f8ad5b-0b8c-4f75-81ea-f45133e8bd6b")]
   /// <summary>
   /// An interface which represents an operator for manipulating solutions, given a strategy parameter.
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISimilarityBasedOperator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISimilarityBasedOperator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISimilarityBasedOperator.cs	(revision 16476)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("84f50ceb-5d6b-492e-a50b-b52ca5a34721")]
   public interface ISimilarityBasedOperator : IOperator {
     IConstrainedValueParameter<ISolutionSimilarityCalculator> SimilarityCalculatorParameter { get; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISingleMoveGenerator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISingleMoveGenerator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISingleMoveGenerator.cs	(revision 16476)
@@ -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.Optimization {
+  [StorableType("90055ffa-8821-41af-9dbb-3a56fa251f23")]
   public interface ISingleMoveGenerator : IMoveGenerator, ISingleObjectiveOperator {
   }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveEvaluator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveEvaluator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveEvaluator.cs	(revision 16476)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("7c3cd846-3768-4ebe-816a-2925a92234de")]
   /// <summary>
   /// An interface which represents an evaluation operator for single-objective optimization problems.
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveHeuristicOptimizationProblem.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveHeuristicOptimizationProblem.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveHeuristicOptimizationProblem.cs	(revision 16476)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("66df61d0-dd00-4f9a-b488-04ad328591d4")]
   /// <summary>
   /// An interface to represent a single-objective optimization problem.
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveImprovementOperator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveImprovementOperator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveImprovementOperator.cs	(revision 16476)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("0b9d5c35-7879-46e0-9fd4-36dd104ccde7")]
   /// <summary>
   /// An interface which represents an operator for improvement of a single objective solution.
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveMoveEvaluator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveMoveEvaluator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveMoveEvaluator.cs	(revision 16476)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("7b7380ef-b2ae-465b-8262-86e0456c0c51")]
   public interface ISingleObjectiveMoveEvaluator : IOperator, ISingleObjectiveOperator {
     ILookupParameter<DoubleValue> QualityParameter { get; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveOperator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveOperator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveOperator.cs	(revision 16476)
@@ -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.Optimization {
+  [StorableType("365f0117-1f29-4bc2-8a76-4ee5676306a4")]
   /// <summary>
   /// This is only a marker interface to prevent operators that expect to work with a single quality value
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectivePathRelinker.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectivePathRelinker.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectivePathRelinker.cs	(revision 16476)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("24f05bfd-6a59-4582-ab83-69bea7e8c46f")]
   /// <summary>
   /// An interface which represents an operator for path relinking between single objective solutions.
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveReplacer.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveReplacer.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveReplacer.cs	(revision 16476)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("6d0a0999-97c2-4716-a2d5-6a28f305cbdd")]
   /// <summary>
   /// An interface which represents a replacement operator for replacing solutions of single-objective optimization problems.
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveSelector.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveSelector.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveSelector.cs	(revision 16476)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("242d4dc6-e31b-4058-afea-f3d95b44a94a")]
   /// <summary>
   /// An interface which represents a selection operator for selecting solutions of single-objective optimization problems.
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveSolutionSimilarityCalculator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveSolutionSimilarityCalculator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveSolutionSimilarityCalculator.cs	(revision 16476)
@@ -21,4 +21,5 @@
 
 using System;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
@@ -30,4 +31,5 @@
   /// </summary>
   [Obsolete("use HeuristicLab.Optimization.ISolutionSimilarityCalculator instead")]
+  [StorableType("fcb57383-313f-4f7f-8c36-1043718c4eb8")]
   public interface ISingleObjectiveSolutionSimilarityCalculator : ISolutionSimilarityCalculator, ISingleObjectiveOperator {
 
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISolutionCreator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISolutionCreator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISolutionCreator.cs	(revision 16476)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("f9bb063d-383f-4d29-936e-ae4fa9ebc10f")]
   /// <summary>
   /// An interface which represents an operator for creating new solutions.
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISolutionSimilarityCalculator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISolutionSimilarityCalculator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISolutionSimilarityCalculator.cs	(revision 16476)
@@ -22,6 +22,8 @@
 using System.Collections.Generic;
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("03699efd-c957-4109-ad18-f98f6748bd91")]
   /// <summary>
   /// An interface which represents an operator for similarity calculation.
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IStochasticOperator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IStochasticOperator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IStochasticOperator.cs	(revision 16476)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("5c2b3d60-4e03-4560-89cd-7ff64e9ee947")]
   /// <summary>
   /// An interface which represents a stochastic operator.
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IStrategyParameterCreator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IStrategyParameterCreator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IStrategyParameterCreator.cs	(revision 16476)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("a3bd30cc-c3a6-485c-b7d2-c38c284d48df")]
   public interface IStrategyParameterCreator : IOperator {
   }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IStrategyParameterCrossover.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IStrategyParameterCrossover.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IStrategyParameterCrossover.cs	(revision 16476)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("9316a808-6d41-4ec4-834c-bd5e4e3e893f")]
   public interface IStrategyParameterCrossover : IOperator {
   }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IStrategyParameterManipulator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IStrategyParameterManipulator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/IStrategyParameterManipulator.cs	(revision 16476)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("e4540007-1ed4-4e0a-9292-2a1ffda9d0ac")]
   public interface IStrategyParameterManipulator : IOperator {
   }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISubScopesQualityComparator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISubScopesQualityComparator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISubScopesQualityComparator.cs	(revision 16476)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("8efcf623-6ea3-4010-a7b2-d3788b8648d1")]
   public interface ISubScopesQualityComparator {
     ILookupParameter<DoubleValue> LeftSideParameter { get; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISwarmUpdater.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISwarmUpdater.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ISwarmUpdater.cs	(revision 16476)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("cb751cac-1ba7-42c3-87a3-cb1bf0d13add")]
   public interface ISwarmUpdater : IOperator {
     IScopeTreeLookupParameter<DoubleValue> QualityParameter { get; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ITabuChecker.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ITabuChecker.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ITabuChecker.cs	(revision 16476)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("39ea082e-0295-47c1-b07d-d37d87f53677")]
   public interface ITabuChecker : IOperator {
     ILookupParameter<BoolValue> MoveTabuParameter { get; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ITabuMaker.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ITabuMaker.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ITabuMaker.cs	(revision 16476)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("d485cf6d-4062-46a1-9387-b75793ad9296")]
   public interface ITabuMaker : IOperator {
     ILookupParameter<DoubleValue> MoveQualityParameter { get; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ITerminationBasedOperator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ITerminationBasedOperator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ITerminationBasedOperator.cs	(revision 16476)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("79f22e3f-8a21-498a-9799-5e662af709fb")]
   public interface ITerminationBasedOperator : IOperator {
     ILookupParameter<BoolValue> TerminateParameter { get; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ITerminator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ITerminator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ITerminator.cs	(revision 16476)
@@ -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.Optimization {
+  [StorableType("1fa5c25c-b71f-41bd-bae3-89bde0268f98")]
   /// <summary>
   /// An interface which represents an operator for checking a termination criterion.
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ITopologyInitializer.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ITopologyInitializer.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ITopologyInitializer.cs	(revision 16476)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("03f42588-038a-4898-9d70-a6bf9d5daeba")]
   public interface ITopologyInitializer : IOperator {
     IScopeTreeLookupParameter<IntArray> NeighborsParameter { get; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ITopologyUpdater.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ITopologyUpdater.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Interfaces/ITopologyUpdater.cs	(revision 16476)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("911570e3-4dd5-47d1-b2e2-53d15ac1fe97")]
   public interface ITopologyUpdater : IOperator {
     IScopeTreeLookupParameter<IntArray> NeighborsParameter { get; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/MetaOptimizers/BatchRun.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/MetaOptimizers/BatchRun.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/MetaOptimizers/BatchRun.cs	(revision 16476)
@@ -32,4 +32,5 @@
 
 namespace HeuristicLab.Optimization {
+  [StorableType("3d385be2-5c83-43f2-a693-f984acac44f6")]
   internal enum BatchRunAction { None, Prepare, Start, Pause, Stop };
 
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/MultiObjective/DominationCalculator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/MultiObjective/DominationCalculator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/MultiObjective/DominationCalculator.cs	(revision 16476)
@@ -22,6 +22,8 @@
 using System;
 using System.Collections.Generic;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("d76eb753-5088-4490-ad18-e78d3629c60b")]
   public enum DominationResult { Dominates, IsDominated, IsNonDominated };
 
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Results/IResult.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Results/IResult.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Results/IResult.cs	(revision 16476)
@@ -22,6 +22,8 @@
 using System;
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("e05050f3-5f92-4245-b733-7097d496e781")]
   /// <summary>
   /// Represents a result which has a name and a data type and holds an IItem.
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Results/IResultParameter.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Results/IResultParameter.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/Results/IResultParameter.cs	(revision 16476)
@@ -22,6 +22,8 @@
 using System;
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("af5d3f60-6f3a-4a44-a906-688ac8296fe3")]
   public interface IResultParameter : ILookupParameter {
     string ResultCollectionName { get; set; }
@@ -29,4 +31,5 @@
   }
 
+  [StorableType("803e6ad6-dd9d-497a-ad1c-7cd3dc5b0d3c")]
   public interface IResultParameter<T> : ILookupParameter<T>, IResultParameter where T : class, IItem {
     T DefaultValue { get; set; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/RunCollectionConstraints/IRunCollectionConstraint.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/RunCollectionConstraints/IRunCollectionConstraint.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/RunCollectionConstraints/IRunCollectionConstraint.cs	(revision 16476)
@@ -22,10 +22,13 @@
 using System;
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Optimization {
+  [StorableType("c54d5084-fee2-4c94-be62-924b014d180d")]
   public interface IRunCollectionConstraint : IConstraint {
     new RunCollection ConstrainedValue { get; set; }
   }
 
+  [StorableType("9e35dfa2-f197-4212-841f-d52e91a297e0")]
   public interface IRunCollectionColumnConstraint : IRunCollectionConstraint {
     string ConstraintColumn { get; set; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/RunCollectionModification/RunCollectionSorter.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/RunCollectionModification/RunCollectionSorter.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Optimization/3.3/RunCollectionModification/RunCollectionSorter.cs	(revision 16476)
@@ -79,4 +79,5 @@
     }
 
+    [StorableType("824092f4-863b-4ba8-ac0a-98f871876a6e")]
     private class ValueComparer : IComparer<IComparable> {
 
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/2D/Interfaces/IDecoder.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/2D/Interfaces/IDecoder.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/2D/Interfaces/IDecoder.cs	(revision 16476)
@@ -22,6 +22,8 @@
 using System.Collections.Generic;
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.BinPacking2D {
+  [StorableType("bd8c18da-9f11-47b7-b654-6c63309f2864")]
   public interface IDecoder<in T> : IItem {
     Solution Decode(T encodedSolution, PackingShape binShape, IList<PackingItem> items);
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/2D/Interfaces/IEvaluator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/2D/Interfaces/IEvaluator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/2D/Interfaces/IEvaluator.cs	(revision 16476)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.BinPacking2D {
+  [StorableType("2b07154a-0861-426e-9a89-88269fec4865")]
   public interface IEvaluator : IItem {
     double Evaluate(Solution solution);
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/2D/Interfaces/IOperator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/2D/Interfaces/IOperator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/2D/Interfaces/IOperator.cs	(revision 16476)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.BinPacking2D {
+  [StorableType("347e0b15-f3ae-42a1-be51-0dae36e95d4c")]
   public interface IOperator<TSol> : IItem {
     ILookupParameter<ReadOnlyItemList<PackingItem>> ItemsParameter { get; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/2D/PackingShape.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/2D/PackingShape.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/2D/PackingShape.cs	(revision 16476)
@@ -128,7 +128,8 @@
       }
     }
+
     #endregion
 
-
+    [StorableType(StorableMemberSelection.AllFields, "e0d5a387-b617-474d-b1e2-682bd15ea78f")]
     private struct RectangleDiagonal {
       public int x1;
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/3D/Interfaces/IDecoder.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/3D/Interfaces/IDecoder.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/3D/Interfaces/IDecoder.cs	(revision 16476)
@@ -22,6 +22,8 @@
 using System.Collections.Generic;
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.BinPacking3D {
+  [StorableType("df195f8b-c7c1-4167-bff1-362e30f3c4dd")]
   public interface IDecoder<in T> : IItem {
     Solution Decode(T encodedSolution, PackingShape binShape, IList<PackingItem> items, bool useStackingConstraints);
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/3D/Interfaces/IEvaluator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/3D/Interfaces/IEvaluator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/3D/Interfaces/IEvaluator.cs	(revision 16476)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.BinPacking3D {
+  [StorableType("9bc2a33b-46b1-457c-a96b-afb15d5cc01f")]
   public interface IEvaluator : IItem {
     double Evaluate(Solution solution);
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/3D/Interfaces/IOperator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/3D/Interfaces/IOperator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/3D/Interfaces/IOperator.cs	(revision 16476)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.BinPacking3D {
+  [StorableType("d442d459-ad09-46df-8b3e-6164db9fb0e2")]
   public interface IOperator<TSol> : IItem {
     ILookupParameter<ReadOnlyItemList<PackingItem>> ItemsParameter { get; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/3D/PackingShape.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/3D/PackingShape.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/3D/PackingShape.cs	(revision 16476)
@@ -118,7 +118,7 @@
       else throw new ArgumentException(string.Format("Cannot compare with object {0}", obj), "obj");
     }
-
     #endregion
 
+    [StorableType(StorableMemberSelection.AllFields, "6dc0b0e2-e165-44e0-a342-71974f0494e3")]
     private struct CuboidDiagonal {
       public int x1;
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/Algorithms/3D/ExtremePointAlgorithm.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/Algorithms/3D/ExtremePointAlgorithm.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/Algorithms/3D/ExtremePointAlgorithm.cs	(revision 16476)
@@ -34,6 +34,8 @@
 
 namespace HeuristicLab.Problems.BinPacking3D {
-  
+  [StorableType("32c0ea29-26aa-45f2-8e7f-a2d9beab75b9")]
   public enum SortingMethod { All, Given, VolumeHeight, HeightVolume, AreaHeight, HeightArea, ClusteredAreaHeight, ClusteredHeightArea }
+
+  [StorableType("bea57c08-7173-4cbb-915e-8c5954af3a50")]
   public enum FittingMethod { All, FirstFit, ResidualSpaceBestFit, FreeVolumeBestFit }
 
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/Interfaces/IPackingItem.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/Interfaces/IPackingItem.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/Interfaces/IPackingItem.cs	(revision 16476)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HEAL.Fossil;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2018 Joseph Helm and Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -21,4 +22,5 @@
 
 namespace HeuristicLab.Problems.BinPacking {
+  [StorableType("a0f46e8d-d18f-43c4-8b7d-66db0659b230")]
   // a packing item is one of the items that needs to be located in one of the packing bins (containers)
   public interface IPackingItem : IPackingShape {
@@ -30,5 +32,5 @@
     /// <param name="other"></param>
     /// <returns></returns>
-    bool SupportsStacking (IPackingItem other);
+    bool SupportsStacking(IPackingItem other);
   }
 }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/Interfaces/IPackingPosition.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/Interfaces/IPackingPosition.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/Interfaces/IPackingPosition.cs	(revision 16476)
@@ -21,7 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.BinPacking {
-  
+  [StorableType("a8003c2d-a48d-41b3-9f83-1d00f49ea434")]
   public interface IPackingPosition : IItem {
     int AssignedBin { get; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/Interfaces/IPackingShape.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/Interfaces/IPackingShape.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/Interfaces/IPackingShape.cs	(revision 16476)
@@ -22,6 +22,8 @@
 using System;
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.BinPacking {
+  [StorableType("612b4eb0-946e-4690-ba43-8dd0e5520e8b")]
   // a packing shape represents a physical object of correct dimension (2d or 3d) 
   // packing bins (containers) and packing items are both packing shapes
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/Interfaces/ISymbolicClassificationEvaluator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/Interfaces/ISymbolicClassificationEvaluator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/Interfaces/ISymbolicClassificationEvaluator.cs	(revision 16476)
@@ -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.Problems.DataAnalysis.Symbolic.Classification {
+  [StorableType("ee5a6071-4942-4358-ad21-7ba1bd4224ad")]
   public interface ISymbolicClassificationEvaluator : ISymbolicDataAnalysisEvaluator<IClassificationProblemData> {
   }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/Interfaces/ISymbolicClassificationModel.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/Interfaces/ISymbolicClassificationModel.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/Interfaces/ISymbolicClassificationModel.cs	(revision 16476)
@@ -21,5 +21,8 @@
 
 using System.Collections.Generic;
+using HEAL.Fossil;
+
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic.Classification {
+  [StorableType("64a5d560-0657-4022-87a0-9f3210062a84")]
   public interface ISymbolicClassificationModel : IClassificationModel, ISymbolicDataAnalysisModel {
     void RecalculateModelParameters(IClassificationProblemData problemData, IEnumerable<int> rows);
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/Interfaces/ISymbolicClassificationModelCreator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/Interfaces/ISymbolicClassificationModelCreator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/Interfaces/ISymbolicClassificationModelCreator.cs	(revision 16476)
@@ -23,6 +23,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic.Classification {
+  [StorableType("a21179da-5417-4e8c-8f8a-6ddc83b16ab1")]
   public interface ISymbolicClassificationModelCreator : IItem {
     ISymbolicClassificationModel CreateSymbolicClassificationModel(string targetVariable, ISymbolicExpressionTree tree, ISymbolicDataAnalysisExpressionTreeInterpreter interpreter, double lowerEstimationLimit, double upperEstimationLimit);
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/Interfaces/ISymbolicClassificationModelCreatorOperator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/Interfaces/ISymbolicClassificationModelCreatorOperator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/Interfaces/ISymbolicClassificationModelCreatorOperator.cs	(revision 16476)
@@ -23,6 +23,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic.Classification {
+  [StorableType("7d19cbcd-dde9-449e-b6d6-ea3e752638d2")]
   public interface ISymbolicClassificationModelCreatorOperator : IOperator {
     ILookupParameter<ISymbolicClassificationModelCreator> ModelCreatorParameter { get; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/Interfaces/ISymbolicClassificationMultiObjectiveEvaluator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/Interfaces/ISymbolicClassificationMultiObjectiveEvaluator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/Interfaces/ISymbolicClassificationMultiObjectiveEvaluator.cs	(revision 16476)
@@ -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.Problems.DataAnalysis.Symbolic.Classification {
+  [StorableType("715dc79f-e2b9-4586-a66c-abf3a35f0012")]
   public interface ISymbolicClassificationMultiObjectiveEvaluator : ISymbolicClassificationEvaluator, ISymbolicDataAnalysisMultiObjectiveEvaluator<IClassificationProblemData> {
   }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/Interfaces/ISymbolicClassificationSingleObjectiveEvaluator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/Interfaces/ISymbolicClassificationSingleObjectiveEvaluator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/Interfaces/ISymbolicClassificationSingleObjectiveEvaluator.cs	(revision 16476)
@@ -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.Problems.DataAnalysis.Symbolic.Classification {
+  [StorableType("18a4eeab-5066-4e52-8f37-992a5f7563f1")]
   public interface ISymbolicClassificationSingleObjectiveEvaluator : ISymbolicClassificationEvaluator, ISymbolicDataAnalysisSingleObjectiveEvaluator<IClassificationProblemData> {
   }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/Interfaces/ISymbolicClassificationSolution.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/Interfaces/ISymbolicClassificationSolution.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/Interfaces/ISymbolicClassificationSolution.cs	(revision 16476)
@@ -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.Problems.DataAnalysis.Symbolic.Classification {
+  [StorableType("82ba1ea2-e8e9-4b77-b797-c752c1256840")]
   public interface ISymbolicClassificationSolution : IClassificationSolution, ISymbolicDataAnalysisSolution {
     new ISymbolicClassificationModel Model { get; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/Interfaces/ISymbolicDiscriminantFunctionClassificationModel.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/Interfaces/ISymbolicDiscriminantFunctionClassificationModel.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/Interfaces/ISymbolicDiscriminantFunctionClassificationModel.cs	(revision 16476)
@@ -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.Problems.DataAnalysis.Symbolic.Classification {
+  [StorableType("3f2e5443-226c-408a-9121-973d162c590b")]
   public interface ISymbolicDiscriminantFunctionClassificationModel : IDiscriminantFunctionClassificationModel, ISymbolicClassificationModel {
 
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/Interfaces/ISymbolicDiscriminantFunctionClassificationModelCreator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/Interfaces/ISymbolicDiscriminantFunctionClassificationModelCreator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/Interfaces/ISymbolicDiscriminantFunctionClassificationModelCreator.cs	(revision 16476)
@@ -22,6 +22,8 @@
 #endregion
 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic.Classification {
+  [StorableType("fc2ba966-c965-462b-8c5d-8c40998548a7")]
   public interface ISymbolicDiscriminantFunctionClassificationModelCreator : ISymbolicClassificationModelCreator {
     ISymbolicDiscriminantFunctionClassificationModel CreateSymbolicDiscriminantFunctionClassificationModel(string targetVariable, ISymbolicExpressionTree tree, ISymbolicDataAnalysisExpressionTreeInterpreter interpreter, double lowerEstimationLimit, double upperEstimationLimit);
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/Interfaces/ISymbolicRegressionEvaluator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/Interfaces/ISymbolicRegressionEvaluator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/Interfaces/ISymbolicRegressionEvaluator.cs	(revision 16476)
@@ -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.Problems.DataAnalysis.Symbolic.Regression {
+  [StorableType("a8ef5d93-c9e3-46f6-8fd6-323dee5a406b")]
   public interface ISymbolicRegressionEvaluator : ISymbolicDataAnalysisEvaluator<IRegressionProblemData> {
   }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/Interfaces/ISymbolicRegressionModel.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/Interfaces/ISymbolicRegressionModel.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/Interfaces/ISymbolicRegressionModel.cs	(revision 16476)
@@ -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.Problems.DataAnalysis.Symbolic.Regression {
+  [StorableType("a411e2b5-f926-41a6-b55b-1aef862db2fb")]
   public interface ISymbolicRegressionModel : IRegressionModel, ISymbolicDataAnalysisModel {
     void Scale(IRegressionProblemData problemData);
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/Interfaces/ISymbolicRegressionMultiObjectiveEvaluator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/Interfaces/ISymbolicRegressionMultiObjectiveEvaluator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/Interfaces/ISymbolicRegressionMultiObjectiveEvaluator.cs	(revision 16476)
@@ -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.Problems.DataAnalysis.Symbolic.Regression {
+  [StorableType("75e2b69d-b610-4694-aad9-601b9c242f89")]
   public interface ISymbolicRegressionMultiObjectiveEvaluator : ISymbolicRegressionEvaluator, ISymbolicDataAnalysisMultiObjectiveEvaluator<IRegressionProblemData> {
   }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/Interfaces/ISymbolicRegressionSingleObjectiveEvaluator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/Interfaces/ISymbolicRegressionSingleObjectiveEvaluator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/Interfaces/ISymbolicRegressionSingleObjectiveEvaluator.cs	(revision 16476)
@@ -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.Problems.DataAnalysis.Symbolic.Regression {
+  [StorableType("5dd2601a-b884-48c0-85bc-bc1f437187a3")]
   public interface ISymbolicRegressionSingleObjectiveEvaluator : ISymbolicRegressionEvaluator, ISymbolicDataAnalysisSingleObjectiveEvaluator<IRegressionProblemData> {
   }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/Interfaces/ISymbolicRegressionSolution.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/Interfaces/ISymbolicRegressionSolution.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/Interfaces/ISymbolicRegressionSolution.cs	(revision 16476)
@@ -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.Problems.DataAnalysis.Symbolic.Regression {
+  [StorableType("dff1a450-e958-454f-bf8e-6b763fdcaff3")]
   public interface ISymbolicRegressionSolution : IRegressionSolution, ISymbolicDataAnalysisSolution {
     new ISymbolicRegressionModel Model { get; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.TimeSeriesPrognosis/3.4/Interfaces/ISymbolicTimeSeriesPrognogisExpressionTreeInterpreter.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.TimeSeriesPrognosis/3.4/Interfaces/ISymbolicTimeSeriesPrognogisExpressionTreeInterpreter.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.TimeSeriesPrognosis/3.4/Interfaces/ISymbolicTimeSeriesPrognogisExpressionTreeInterpreter.cs	(revision 16476)
@@ -22,6 +22,8 @@
 using System.Collections.Generic;
 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("1ff5434b-30e3-4e71-8daf-6efb00dabb17")]
   public interface ISymbolicTimeSeriesPrognosisExpressionTreeInterpreter : ISymbolicDataAnalysisExpressionTreeInterpreter {
     string TargetVariable { get; set; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.TimeSeriesPrognosis/3.4/Interfaces/ISymbolicTimeSeriesPrognosisEvaluator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.TimeSeriesPrognosis/3.4/Interfaces/ISymbolicTimeSeriesPrognosisEvaluator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.TimeSeriesPrognosis/3.4/Interfaces/ISymbolicTimeSeriesPrognosisEvaluator.cs	(revision 16476)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic.TimeSeriesPrognosis {
+  [StorableType("4c456fb4-5910-4903-a6f8-f981b4dd37b5")]
   public interface ISymbolicTimeSeriesPrognosisEvaluator : ISymbolicDataAnalysisEvaluator<ITimeSeriesPrognosisProblemData> {
     IValueLookupParameter<IntValue> HorizonParameter { get; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.TimeSeriesPrognosis/3.4/Interfaces/ISymbolicTimeSeriesPrognosisInterpreterOperator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.TimeSeriesPrognosis/3.4/Interfaces/ISymbolicTimeSeriesPrognosisInterpreterOperator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.TimeSeriesPrognosis/3.4/Interfaces/ISymbolicTimeSeriesPrognosisInterpreterOperator.cs	(revision 16476)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic.TimeSeriesPrognosis {
+  [StorableType("ba7cd995-7dee-4dae-b698-4dc4f9587e4b")]
   public interface ISymbolicTimeSeriesPrognosisInterpreterOperator : IOperator {
     ILookupParameter<ISymbolicTimeSeriesPrognosisExpressionTreeInterpreter> SymbolicTimeSeriesPrognosisInterpreterParameter { get; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.TimeSeriesPrognosis/3.4/Interfaces/ISymbolicTimeSeriesPrognosisModel.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.TimeSeriesPrognosis/3.4/Interfaces/ISymbolicTimeSeriesPrognosisModel.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.TimeSeriesPrognosis/3.4/Interfaces/ISymbolicTimeSeriesPrognosisModel.cs	(revision 16476)
@@ -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.Problems.DataAnalysis.Symbolic.TimeSeriesPrognosis {
+  [StorableType("f2e6563b-ed5c-4a2a-948d-358299fea216")]
   public interface ISymbolicTimeSeriesPrognosisModel : ITimeSeriesPrognosisModel, ISymbolicDataAnalysisModel {
     new ISymbolicTimeSeriesPrognosisExpressionTreeInterpreter Interpreter { get; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.TimeSeriesPrognosis/3.4/Interfaces/ISymbolicTimeSeriesPrognosisSingleObjectiveEvaluator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.TimeSeriesPrognosis/3.4/Interfaces/ISymbolicTimeSeriesPrognosisSingleObjectiveEvaluator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.TimeSeriesPrognosis/3.4/Interfaces/ISymbolicTimeSeriesPrognosisSingleObjectiveEvaluator.cs	(revision 16476)
@@ -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.Problems.DataAnalysis.Symbolic.TimeSeriesPrognosis {
+  [StorableType("f341a9c0-4507-4186-973f-fb33bef61931")]
   public interface ISymbolicTimeSeriesPrognosisSingleObjectiveEvaluator : ISymbolicTimeSeriesPrognosisEvaluator, ISymbolicDataAnalysisSingleObjectiveEvaluator<ITimeSeriesPrognosisProblemData> {
   }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.TimeSeriesPrognosis/3.4/Interfaces/ISymbolicTimeSeriesPrognosisSolution.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.TimeSeriesPrognosis/3.4/Interfaces/ISymbolicTimeSeriesPrognosisSolution.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic.TimeSeriesPrognosis/3.4/Interfaces/ISymbolicTimeSeriesPrognosisSolution.cs	(revision 16476)
@@ -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.Problems.DataAnalysis.Symbolic.TimeSeriesPrognosis {
+  [StorableType("8fceea26-d0e3-4ed8-9176-b54a1b2ff728")]
   public interface ISymbolicTimeSeriesPrognosisSolution : ITimeSeriesPrognosisSolution, ISymbolicDataAnalysisSolution {
     new ISymbolicTimeSeriesPrognosisModel Model { get; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Analyzers/SymbolicDataAnalysisMultiObjectiveValidationBestSolutionAnalyzer.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Analyzers/SymbolicDataAnalysisMultiObjectiveValidationBestSolutionAnalyzer.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Analyzers/SymbolicDataAnalysisMultiObjectiveValidationBestSolutionAnalyzer.cs	(revision 16476)
@@ -177,4 +177,5 @@
     }
 
+    [StorableType("69cfeefe-8654-4d07-93f1-fdca6fe02338")]
     private class DoubleArrayComparer : IEqualityComparer<double[]> {
       public bool Equals(double[] x, double[] y) {
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Crossovers/SymbolicDataAnalysisExpressionDepthConstrainedCrossover.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Crossovers/SymbolicDataAnalysisExpressionDepthConstrainedCrossover.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Crossovers/SymbolicDataAnalysisExpressionDepthConstrainedCrossover.cs	(revision 16476)
@@ -39,4 +39,5 @@
   public sealed class SymbolicDataAnalysisExpressionDepthConstrainedCrossover<T> :
     SymbolicDataAnalysisExpressionCrossover<T> where T : class, IDataAnalysisProblemData {
+    [StorableType("24941bf7-da85-44e9-9e01-44c285ac41c3")]
     private enum Ranges { HighLevel, Standard, LowLevel };
     private const string DepthRangeParameterName = "DepthRange";
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/IModelBacktransformator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/IModelBacktransformator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/IModelBacktransformator.cs	(revision 16476)
@@ -21,7 +21,8 @@
 
 using System.Collections.Generic;
-
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("4efb3867-0439-4b87-b479-f7daab7fc00c")]
   public interface IModelBacktransformator {
     ISymbolicDataAnalysisModel Backtransform(ISymbolicDataAnalysisModel model, IEnumerable<ITransformation> transformations, string targetVariable);
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisAnalyzer.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisAnalyzer.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisAnalyzer.cs	(revision 16476)
@@ -22,5 +22,8 @@
 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
+
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("fe8b44e0-da46-4b1e-bbb2-b0b9cd7eff1d")]
   public interface ISymbolicDataAnalysisAnalyzer : IAnalyzer {
     IScopeTreeLookupParameter<ISymbolicExpressionTree> SymbolicExpressionTreeParameter { get; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisBoundedOperator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisBoundedOperator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisBoundedOperator.cs	(revision 16476)
@@ -21,5 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
+
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("907f1d0c-32a1-483a-9cdc-210e4d02383b")]
   public interface ISymbolicDataAnalysisBoundedOperator : IOperator {
     IValueLookupParameter<DoubleLimit> EstimationLimitsParameter { get; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisEvaluator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisEvaluator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisEvaluator.cs	(revision 16476)
@@ -23,5 +23,8 @@
 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
+
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("2b2905bb-f628-4e13-9927-2828d6604aed")]
   public interface ISymbolicDataAnalysisEvaluator<T> : IEvaluator
   where T : class,IDataAnalysisProblemData {
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisExpressionCrossover.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisExpressionCrossover.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisExpressionCrossover.cs	(revision 16476)
@@ -23,6 +23,8 @@
 using HeuristicLab.Data;
 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("0cf78789-b5e9-40b4-ba6a-461a16c802f1")]
   public interface ISymbolicDataAnalysisExpressionCrossover<T> : ISymbolicExpressionTreeCrossover,
     ISymbolicExpressionTreeSizeConstraintOperator, ISymbolicDataAnalysisInterpreterOperator
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisExpressionTreeInterpreter.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisExpressionTreeInterpreter.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisExpressionTreeInterpreter.cs	(revision 16476)
@@ -23,6 +23,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("6877d63a-8e79-4fea-a2d2-73574ee274c6")]
   public interface ISymbolicDataAnalysisExpressionTreeInterpreter : INamedItem, IStatefulItem {
     IEnumerable<double> GetSymbolicExpressionTreeValues(ISymbolicExpressionTree tree, IDataset dataset, IEnumerable<int> rows);
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisGrammar.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisGrammar.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisGrammar.cs	(revision 16476)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("5b0720d7-b1f0-4c2f-893e-cd2549e20e9e")]
   public interface ISymbolicDataAnalysisGrammar : ISymbolicExpressionGrammar {
   }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisImpactValuesCalculator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisImpactValuesCalculator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisImpactValuesCalculator.cs	(revision 16476)
@@ -2,6 +2,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("b00d5149-fa66-4096-ba46-3258cbd1f42b")]
   public interface ISymbolicDataAnalysisSolutionImpactValuesCalculator : IItem {
     void CalculateImpactAndReplacementValues(ISymbolicDataAnalysisModel model, ISymbolicExpressionTreeNode node, IDataAnalysisProblemData problemData,
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisInterpreterOperator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisInterpreterOperator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisInterpreterOperator.cs	(revision 16476)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("56f4827e-3ebf-4638-a79e-bf6814a58d60")]
   public interface ISymbolicDataAnalysisInterpreterOperator : IOperator {
     ILookupParameter<ISymbolicDataAnalysisExpressionTreeInterpreter> SymbolicDataAnalysisTreeInterpreterParameter { get; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisModel.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisModel.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisModel.cs	(revision 16476)
@@ -21,5 +21,8 @@
 
 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
+using HEAL.Fossil;
+
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("62aff7f8-5ae1-4e58-966e-92e388cb067f")]
   public interface ISymbolicDataAnalysisModel : IDataAnalysisModel {
     ISymbolicExpressionTree SymbolicExpressionTree { get; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisMultiObjectiveAnalyzer.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisMultiObjectiveAnalyzer.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisMultiObjectiveAnalyzer.cs	(revision 16476)
@@ -21,5 +21,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HEAL.Fossil;
+
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("46b43be7-4607-4e1a-83f0-f51da9338de6")]
   public interface ISymbolicDataAnalysisMultiObjectiveAnalyzer : ISymbolicDataAnalysisAnalyzer {
     IScopeTreeLookupParameter<DoubleArray> QualitiesParameter { get; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisMultiObjectiveEvaluator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisMultiObjectiveEvaluator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisMultiObjectiveEvaluator.cs	(revision 16476)
@@ -25,6 +25,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("43c3d78e-6ece-4955-80cd-68595c78cd03")]
   public interface ISymbolicDataAnalysisMultiObjectiveEvaluator<T> : ISymbolicDataAnalysisEvaluator<T>, IMultiObjectiveEvaluator
   where T : class,IDataAnalysisProblemData {
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisProblem.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisProblem.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisProblem.cs	(revision 16476)
@@ -23,6 +23,8 @@
 using HeuristicLab.Data;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("17dc51c4-499c-49dc-b3ac-72364358f7e7")]
   public interface ISymbolicDataAnalysisProblem : IDataAnalysisProblem, IHeuristicOptimizationProblem {
     IValueParameter<ISymbolicDataAnalysisGrammar> SymbolicExpressionTreeGrammarParameter { get; }
@@ -47,5 +49,8 @@
   }
 
+  [StorableType("07b08ca0-40cb-433e-8aed-72df06a87d62")]
   public interface ISymbolicDataAnalysisSingleObjectiveProblem : ISymbolicDataAnalysisProblem, ISingleObjectiveHeuristicOptimizationProblem { }
+
+  [StorableType("1c5a0cf4-1286-45d8-b126-a6f5ddccf7bf")]
   public interface ISymbolicDataAnalysisMultiObjectiveProblem : ISymbolicDataAnalysisProblem, IMultiObjectiveHeuristicOptimizationProblem { }
 }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisSingleObjectiveAnalyzer.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisSingleObjectiveAnalyzer.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisSingleObjectiveAnalyzer.cs	(revision 16476)
@@ -21,5 +21,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HEAL.Fossil;
+
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("f2c0ca54-a2a9-49b8-9f5f-734368000f68")]
   public interface ISymbolicDataAnalysisSingleObjectiveAnalyzer : ISymbolicDataAnalysisAnalyzer {
     IScopeTreeLookupParameter<DoubleValue> QualityParameter { get; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisSingleObjectiveEvaluator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisSingleObjectiveEvaluator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisSingleObjectiveEvaluator.cs	(revision 16476)
@@ -24,5 +24,8 @@
 using System.Collections.Generic;
 using HeuristicLab.Core;
+using HEAL.Fossil;
+
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("2564fc97-080d-4153-8f3a-db764bd06d09")]
   public interface ISymbolicDataAnalysisSingleObjectiveEvaluator<T> : ISymbolicDataAnalysisEvaluator<T>, ISingleObjectiveEvaluator
     where T : class,IDataAnalysisProblemData {
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisSolution.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisSolution.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisSolution.cs	(revision 16476)
@@ -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.Problems.DataAnalysis.Symbolic {
+  [StorableType("8a9461b9-bc39-4fe5-8cab-12ce45977564")]
   public interface ISymbolicDataAnalysisSolution : IDataAnalysisSolution {
     new ISymbolicDataAnalysisModel Model { get; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisSolutionCreator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisSolutionCreator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisSolutionCreator.cs	(revision 16476)
@@ -22,5 +22,8 @@
 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
+
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("8d1af4bf-dc4b-45cd-abdc-894b8c353fc5")]
   public interface ISymbolicDataAnalysisSolutionCreator : ISymbolicExpressionTreeCreator, ISolutionCreator {
   }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisValidationAnalyzer.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisValidationAnalyzer.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisValidationAnalyzer.cs	(revision 16476)
@@ -21,5 +21,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HEAL.Fossil;
+
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("c758eecc-12c0-46d8-839e-5c59af7ff095")]
   public interface ISymbolicDataAnalysisValidationAnalyzer<T, U> : ISymbolicDataAnalysisAnalyzer, ISymbolicDataAnalysisInterpreterOperator
     where T : class,ISymbolicDataAnalysisEvaluator<U>
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/IVariableSymbol.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/IVariableSymbol.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/IVariableSymbol.cs	(revision 16476)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
+using HEAL.Fossil;
+
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
-
+  [StorableType("3b28c671-df09-4f2c-9292-b3510b593c5f")]
   /// <summary>
   /// Any symbol that references a variable (includes terminal as well as non-terminal symbols)
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/IVariableTreeNode.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/IVariableTreeNode.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/IVariableTreeNode.cs	(revision 16476)
@@ -21,5 +21,8 @@
 
 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
+using HEAL.Fossil;
+
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("cc5c792d-09a8-4351-8438-bd8482d8aa03")]
   /// <summary>
   /// Any tree node that references a variable 
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Symbols/ILaggedTreeNode.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Symbols/ILaggedTreeNode.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Symbols/ILaggedTreeNode.cs	(revision 16476)
@@ -22,5 +22,8 @@
 
 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
+using HEAL.Fossil;
+
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("9396d5df-6a2e-4cd1-ac5a-36ca8d391927")]
   public interface ILaggedTreeNode : ISymbolicExpressionTreeNode {
     int Lag { get; set; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/TreeMatching/SymbolicExpressionTreeEqualityComparer.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/TreeMatching/SymbolicExpressionTreeEqualityComparer.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/TreeMatching/SymbolicExpressionTreeEqualityComparer.cs	(revision 16476)
@@ -2,7 +2,10 @@
 using System.Collections.Generic;
 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("535830d4-551e-4b53-97e3-9605bd7e785f")]
   public class SymbolicExpressionTreeEqualityComparer : IEqualityComparer<ISymbolicExpressionTree> {
+    [Storable]
     public SymbolicExpressionTreeNodeEqualityComparer SimilarityComparer { get; set; }
 
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/TreeMatching/SymbolicExpressionTreeNodeComparer.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/TreeMatching/SymbolicExpressionTreeNodeComparer.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/TreeMatching/SymbolicExpressionTreeNodeComparer.cs	(revision 16476)
@@ -22,6 +22,8 @@
 using System;
 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("eabf848e-d10c-499e-8c48-c771232ede0e")]
   // this comparer considers that a < b if the type of a is "greater" than the type of b, for example:
   // - A function node is "greater" than a terminal node
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Interfaces/IModel.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Interfaces/IModel.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Interfaces/IModel.cs	(revision 16476)
@@ -21,5 +21,8 @@
 
 using System.Collections.Generic;
+using HEAL.Fossil;
+
 namespace HeuristicLab.Problems.DataAnalysis.Trading {
+  [StorableType("5eda7fa0-a735-4192-ac49-70232306c034")]
   public interface IModel : IDataAnalysisModel {
     IEnumerable<double> GetSignals(IDataset dataset, IEnumerable<int> rows);
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Interfaces/IProblem.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Interfaces/IProblem.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Interfaces/IProblem.cs	(revision 16476)
@@ -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.Problems.DataAnalysis.Trading {
+  [StorableType("b29a45ce-9e38-4f3f-8b2f-5075f7ce81a4")]
   public interface IProblem : IDataAnalysisProblem<IProblemData> {
   }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Interfaces/IProblemData.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Interfaces/IProblemData.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Interfaces/IProblemData.cs	(revision 16476)
@@ -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.Problems.DataAnalysis.Trading {
+  [StorableType("d9064ce1-75cc-4c53-9ee7-a6309bf19dfa")]
   public interface IProblemData : IDataAnalysisProblemData {
     string PriceChangeVariable { get; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Interfaces/ISolution.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Interfaces/ISolution.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Interfaces/ISolution.cs	(revision 16476)
@@ -21,5 +21,8 @@
 
 using System.Collections.Generic;
+using HEAL.Fossil;
+
 namespace HeuristicLab.Problems.DataAnalysis.Trading {
+  [StorableType("f0f78fec-6361-4032-b6d1-e36fbbf63381")]
   public interface ISolution : IDataAnalysisSolution {
     new IModel Model { get; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Symbolic/Interfaces/IEvaluator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Symbolic/Interfaces/IEvaluator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Symbolic/Interfaces/IEvaluator.cs	(revision 16476)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Problems.DataAnalysis.Symbolic;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.DataAnalysis.Trading.Symbolic {
+  [StorableType("d271ad83-6ee0-46cc-8f38-98f0c186e53e")]
   public interface IEvaluator : ISymbolicDataAnalysisEvaluator<IProblemData> {
   }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Symbolic/Interfaces/IModel.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Symbolic/Interfaces/IModel.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Symbolic/Interfaces/IModel.cs	(revision 16476)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Problems.DataAnalysis.Symbolic;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.DataAnalysis.Trading.Symbolic {
+  [StorableType("3d34cc92-f473-4d18-952e-3aaf0c073f83")]
   public interface IModel : Trading.IModel, ISymbolicDataAnalysisModel {
   }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Symbolic/Interfaces/ISingleObjectiveEvaluator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Symbolic/Interfaces/ISingleObjectiveEvaluator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Symbolic/Interfaces/ISingleObjectiveEvaluator.cs	(revision 16476)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Problems.DataAnalysis.Symbolic;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.DataAnalysis.Trading.Symbolic {
+  [StorableType("2ac3c3c3-f91c-4ca6-a1e5-79d9afd64a34")]
   public interface ISingleObjectiveEvaluator : IEvaluator, ISymbolicDataAnalysisSingleObjectiveEvaluator<IProblemData> {
   }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Symbolic/Interfaces/ISolution.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Symbolic/Interfaces/ISolution.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Symbolic/Interfaces/ISolution.cs	(revision 16476)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Problems.DataAnalysis.Symbolic;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.DataAnalysis.Trading.Symbolic {
+  [StorableType("efc8089d-0545-4ad7-b444-85e286dd7596")]
   public interface ISolution : Trading.ISolution, ISymbolicDataAnalysisSolution {
     new IModel Model { get; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Classification/ClassificationSolutionVariableImpactsCalculator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Classification/ClassificationSolutionVariableImpactsCalculator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Classification/ClassificationSolutionVariableImpactsCalculator.cs	(revision 16476)
@@ -38,4 +38,5 @@
   public sealed class ClassificationSolutionVariableImpactsCalculator : ParameterizedNamedItem {
     #region Parameters/Properties
+    [StorableType("e6cd2226-10cd-4765-ae1a-924e316b6aac")]
     public enum ReplacementMethodEnum {
       Median,
@@ -44,4 +45,6 @@
       Noise
     }
+
+    [StorableType("84d84ccf-5d6d-432f-a946-eb499935e5c8")]
     public enum FactorReplacementMethodEnum {
       Best,
@@ -49,4 +52,6 @@
       Shuffle
     }
+
+    [StorableType("70f30113-df01-41b4-9e3b-2982035de498")]
     public enum DataPartitionEnum {
       Training,
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Interval.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Interval.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Interval.cs	(revision 16476)
@@ -24,8 +24,12 @@
 using System.Linq;
 using HeuristicLab.Common;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.DataAnalysis {
+  [StorableType("849e42d3-8934-419d-9aff-64ad81c06b67")]
   public class Interval : IEquatable<Interval> {
+    [Storable]
     public double LowerBound { get; private set; }
+    [Storable]
     public double UpperBound { get; private set; }
 
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Regression/RegressionSolutionVariableImpactsCalculator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Regression/RegressionSolutionVariableImpactsCalculator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Regression/RegressionSolutionVariableImpactsCalculator.cs	(revision 16476)
@@ -38,4 +38,5 @@
   public sealed class RegressionSolutionVariableImpactsCalculator : ParameterizedNamedItem {
     #region Parameters/Properties
+    [StorableType("45a48ef7-e1e6-44b7-95b1-ae9d01aa5de4")]
     public enum ReplacementMethodEnum {
       Median,
@@ -44,4 +45,6 @@
       Noise
     }
+
+    [StorableType("78df33f8-4715-4d25-a69a-f2bc1277fa3b")]
     public enum FactorReplacementMethodEnum {
       Best,
@@ -49,4 +52,6 @@
       Shuffle
     }
+
+    [StorableType("946646da-1c0b-435e-88f9-38d649fc5194")]
     public enum DataPartitionEnum {
       Training,
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IClassificationEnsembleModel.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IClassificationEnsembleModel.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IClassificationEnsembleModel.cs	(revision 16476)
@@ -21,5 +21,8 @@
 
 using System.Collections.Generic;
+using HEAL.Fossil;
+
 namespace HeuristicLab.Problems.DataAnalysis {
+  [StorableType("4bd3a1b0-6371-418e-9fd7-f9be9e3b2928")]
   public interface IClassificationEnsembleModel : IClassificationModel {
     void Add(IClassificationModel model);
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IClassificationEnsembleSolution.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IClassificationEnsembleSolution.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IClassificationEnsembleSolution.cs	(revision 16476)
@@ -22,5 +22,8 @@
 using System.Collections.Generic;
 using HeuristicLab.Core;
+using HEAL.Fossil;
+
 namespace HeuristicLab.Problems.DataAnalysis {
+  [StorableType("b966443d-a221-46df-83d1-49adaae1adbe")]
   public interface IClassificationEnsembleSolution : IClassificationSolution {
     new IClassificationEnsembleModel Model { get; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IClassificationModel.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IClassificationModel.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IClassificationModel.cs	(revision 16476)
@@ -22,6 +22,8 @@
 using System;
 using System.Collections.Generic;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.DataAnalysis {
+  [StorableType("ff091491-c895-41cb-9c45-f3b1a11637d4")]
   /// <summary>
   /// Interface for all classification models.
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IClassificationProblem.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IClassificationProblem.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IClassificationProblem.cs	(revision 16476)
@@ -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.Problems.DataAnalysis {
+  [StorableType("fd15f587-2a68-4180-86c4-82410e3f22e2")]
   public interface IClassificationProblem : IDataAnalysisProblem<IClassificationProblemData> {
   }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IClassificationProblemData.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IClassificationProblemData.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IClassificationProblemData.cs	(revision 16476)
@@ -21,5 +21,8 @@
 
 using System.Collections.Generic;
+using HEAL.Fossil;
+
 namespace HeuristicLab.Problems.DataAnalysis {
+  [StorableType("8cd26df9-aed7-4378-9516-04322b6f9d2e")]
   public interface IClassificationProblemData : IDataAnalysisProblemData {
     string TargetVariable { get; set; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IClassificationSolution.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IClassificationSolution.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IClassificationSolution.cs	(revision 16476)
@@ -21,5 +21,8 @@
 
 using System.Collections.Generic;
+using HEAL.Fossil;
+
 namespace HeuristicLab.Problems.DataAnalysis {
+  [StorableType("7aef6b19-899c-4510-a3d1-9d5056ee204e")]
   public interface IClassificationSolution : IDataAnalysisSolution {
     new IClassificationModel Model { get; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IDiscriminantFunctionClassificationModel.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IDiscriminantFunctionClassificationModel.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IDiscriminantFunctionClassificationModel.cs	(revision 16476)
@@ -22,5 +22,8 @@
 using System;
 using System.Collections.Generic;
+using HEAL.Fossil;
+
 namespace HeuristicLab.Problems.DataAnalysis {
+  [StorableType("ea474735-61d0-4ada-8970-ac1d78ce4d15")]
   public interface IDiscriminantFunctionClassificationModel : IClassificationModel {
     IEnumerable<double> Thresholds { get; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IDiscriminantFunctionClassificationSolution.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IDiscriminantFunctionClassificationSolution.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IDiscriminantFunctionClassificationSolution.cs	(revision 16476)
@@ -21,5 +21,8 @@
 
 using System.Collections.Generic;
+using HEAL.Fossil;
+
 namespace HeuristicLab.Problems.DataAnalysis {
+  [StorableType("ecb5d2f6-8041-4d07-aeff-e7fc0b5c355e")]
   public interface IDiscriminantFunctionClassificationSolution : IClassificationSolution {
     new IDiscriminantFunctionClassificationModel Model { get; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IDiscriminantFunctionThresholdCalculator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IDiscriminantFunctionThresholdCalculator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IDiscriminantFunctionThresholdCalculator.cs	(revision 16476)
@@ -22,5 +22,8 @@
 using System.Collections.Generic;
 using HeuristicLab.Core;
+using HEAL.Fossil;
+
 namespace HeuristicLab.Problems.DataAnalysis {
+  [StorableType("f12cfcbe-8473-49c3-8c43-bddce2d7b772")]
   public interface IDiscriminantFunctionThresholdCalculator : INamedItem {
     void Calculate(IClassificationProblemData problemData, IEnumerable<double> estimatedValues, IEnumerable<double> targetClassValues, out double[] classValues, out double[] thresholds);
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Clustering/IClusteringModel.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Clustering/IClusteringModel.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Clustering/IClusteringModel.cs	(revision 16476)
@@ -21,5 +21,8 @@
 
 using System.Collections.Generic;
+using HEAL.Fossil;
+
 namespace HeuristicLab.Problems.DataAnalysis {
+  [StorableType("1aab7e19-317f-47e0-acc7-b0538e572d8e")]
   public interface IClusteringModel : IDataAnalysisModel {
     IEnumerable<int> GetClusterValues(IDataset dataset, IEnumerable<int> rows);
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Clustering/IClusteringProblem.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Clustering/IClusteringProblem.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Clustering/IClusteringProblem.cs	(revision 16476)
@@ -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.Problems.DataAnalysis {
+  [StorableType("fc7456d2-3892-4a7b-a77a-b7a0828d2530")]
   public interface IClusteringProblem : IDataAnalysisProblem<IClusteringProblemData> {
   }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Clustering/IClusteringProblemData.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Clustering/IClusteringProblemData.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Clustering/IClusteringProblemData.cs	(revision 16476)
@@ -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.Problems.DataAnalysis {
+  [StorableType("e39aa6c0-d6c6-491d-88cc-de05c6503314")]
   public interface IClusteringProblemData : IDataAnalysisProblemData {
   }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Clustering/IClusteringSolution.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Clustering/IClusteringSolution.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Clustering/IClusteringSolution.cs	(revision 16476)
@@ -21,5 +21,8 @@
 
 using System.Collections.Generic;
+using HEAL.Fossil;
+
 namespace HeuristicLab.Problems.DataAnalysis {
+  [StorableType("dbb9226f-312d-4ee2-a6cc-b74cc6ab5cc0")]
   public interface IClusteringSolution : IDataAnalysisSolution {
     new IClusteringModel Model { get; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/IDataAnalysisModel.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/IDataAnalysisModel.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/IDataAnalysisModel.cs	(revision 16476)
@@ -22,6 +22,8 @@
 using System.Collections.Generic;
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.DataAnalysis {
+  [StorableType("f85ccf7a-7df5-431e-bc4d-be6f3c4c2338")]
   /// <summary>
   /// Interface for all data-analysis models (regression/classification/clustering).
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/IDataAnalysisProblem.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/IDataAnalysisProblem.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/IDataAnalysisProblem.cs	(revision 16476)
@@ -23,6 +23,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.DataAnalysis {
+  [StorableType("74e4c570-3881-4bfa-a5bb-2bb71cdee2b3")]
   public interface IDataAnalysisProblem : IProblem {
     IParameter ProblemDataParameter { get; }
@@ -31,4 +33,5 @@
   }
 
+  [StorableType("c2f6fcdd-ab62-4423-be75-01aa694df411")]
   public interface IDataAnalysisProblem<T> : IDataAnalysisProblem
   where T : class, IDataAnalysisProblemData {
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/IDataAnalysisProblemData.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/IDataAnalysisProblemData.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/IDataAnalysisProblemData.cs	(revision 16476)
@@ -24,6 +24,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.DataAnalysis {
+  [StorableType("3f50defe-1f79-4122-a96b-11ca90202210")]
   public interface IDataAnalysisProblemData : INamedItem {
     bool IsEmpty { get; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/IDataAnalysisSolution.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/IDataAnalysisSolution.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/IDataAnalysisSolution.cs	(revision 16476)
@@ -23,6 +23,8 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.DataAnalysis {
+  [StorableType("f8f940b8-7888-401b-8382-51face79d703")]
   public interface IDataAnalysisSolution : INamedItem, IStorableContent {
     IDataAnalysisModel Model { get; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/IDataAnalysisSolutionExporter.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/IDataAnalysisSolutionExporter.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/IDataAnalysisSolutionExporter.cs	(revision 16476)
@@ -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.Problems.DataAnalysis {
+  [StorableType("87fc237a-8478-429a-b276-6c7e09a86137")]
   public interface IDataAnalysisSolutionExporter {
     string FileTypeFilter { get; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/IDataset.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/IDataset.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/IDataset.cs	(revision 16476)
@@ -25,6 +25,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.DataAnalysis {
+  [StorableType("55cc9211-2136-41a0-a5bc-0d51e915d1b4")]
   public interface IDataset : IItem, IStringConvertibleMatrix {
     IEnumerable<string> VariableNames { get; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/ITransformation.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/ITransformation.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/ITransformation.cs	(revision 16476)
@@ -22,6 +22,8 @@
 using System.Collections.Generic;
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.DataAnalysis {
+  [StorableType("6d791015-1439-40e6-a0ba-a8c49c0ddba9")]
   public interface ITransformation : IParameterizedItem {
     string ShortName { get; }
@@ -29,4 +31,5 @@
   }
 
+  [StorableType("a200b865-5010-46ae-9070-094ac272f3a8")]
   public interface ITransformation<T> : ITransformation {
     void ConfigureParameters(IEnumerable<T> data);
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/ITransformationMapper.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/ITransformationMapper.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/ITransformationMapper.cs	(revision 16476)
@@ -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.Problems.DataAnalysis {
+  [StorableType("a5bda2a6-0f93-4f44-8992-af0cd3582527")]
   public interface ITransformationMapper<out T> {
     T GenerateModel(ITransformation transformation);
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Regression/IConfidenceRegressionModel.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Regression/IConfidenceRegressionModel.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Regression/IConfidenceRegressionModel.cs	(revision 16476)
@@ -21,6 +21,8 @@
 
 using System.Collections.Generic;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.DataAnalysis {
+  [StorableType("35261615-3840-49ba-90a5-0e15806c1bc4")]
   public interface IConfidenceRegressionModel : IRegressionModel {
     IEnumerable<double> GetEstimatedVariances(IDataset dataset, IEnumerable<int> rows);
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Regression/IConfidenceRegressionSolution.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Regression/IConfidenceRegressionSolution.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Regression/IConfidenceRegressionSolution.cs	(revision 16476)
@@ -21,6 +21,8 @@
 
 using System.Collections.Generic;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.DataAnalysis {
+  [StorableType("710d4059-2512-415d-b4bc-8cd995d5b9fc")]
   public interface IConfidenceRegressionSolution : IRegressionSolution {
     new IConfidenceRegressionModel Model { get; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Regression/IRegressionEnsembleModel.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Regression/IRegressionEnsembleModel.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Regression/IRegressionEnsembleModel.cs	(revision 16476)
@@ -22,5 +22,8 @@
 using System;
 using System.Collections.Generic;
+using HEAL.Fossil;
+
 namespace HeuristicLab.Problems.DataAnalysis {
+  [StorableType("50848b49-340b-460a-981c-b3eb436c5bcf")]
   public interface IRegressionEnsembleModel : IRegressionModel {
     void Add(IRegressionModel model);
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Regression/IRegressionEnsembleSolution.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Regression/IRegressionEnsembleSolution.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Regression/IRegressionEnsembleSolution.cs	(revision 16476)
@@ -22,5 +22,8 @@
 using System.Collections.Generic;
 using HeuristicLab.Core;
+using HEAL.Fossil;
+
 namespace HeuristicLab.Problems.DataAnalysis {
+  [StorableType("287c5f55-cc5c-488a-a5e7-17a41a087981")]
   public interface IRegressionEnsembleSolution : IRegressionSolution {
     new IRegressionEnsembleModel Model { get; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Regression/IRegressionModel.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Regression/IRegressionModel.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Regression/IRegressionModel.cs	(revision 16476)
@@ -22,6 +22,8 @@
 using System;
 using System.Collections.Generic;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.DataAnalysis {
+  [StorableType("56c31bd6-dc0d-4478-b121-ea1817eae301")]
   /// <summary>
   /// Interface for all regression models.
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Regression/IRegressionProblem.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Regression/IRegressionProblem.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Regression/IRegressionProblem.cs	(revision 16476)
@@ -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.Problems.DataAnalysis {
+  [StorableType("4541dcea-2a97-451f-b3bd-84a1342e2b1d")]
   public interface IRegressionProblem : IDataAnalysisProblem<IRegressionProblemData> {
   }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Regression/IRegressionProblemData.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Regression/IRegressionProblemData.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Regression/IRegressionProblemData.cs	(revision 16476)
@@ -21,6 +21,8 @@
 
 using System.Collections.Generic;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.DataAnalysis {
+  [StorableType("1ef22b8b-f3b4-494b-8cdd-f08e84e316e0")]
   public interface IRegressionProblemData : IDataAnalysisProblemData {
     string TargetVariable { get; set; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Regression/IRegressionSolution.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Regression/IRegressionSolution.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Regression/IRegressionSolution.cs	(revision 16476)
@@ -21,5 +21,8 @@
 
 using System.Collections.Generic;
+using HEAL.Fossil;
+
 namespace HeuristicLab.Problems.DataAnalysis {
+  [StorableType("b9d7d1f7-c603-45ef-b372-71b82446fa72")]
   public interface IRegressionSolution : IDataAnalysisSolution {
     new IRegressionModel Model { get; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/TimeSeriesPrognosis/ITimeSeriesPrognosisModel.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/TimeSeriesPrognosis/ITimeSeriesPrognosisModel.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/TimeSeriesPrognosis/ITimeSeriesPrognosisModel.cs	(revision 16476)
@@ -21,5 +21,8 @@
 
 using System.Collections.Generic;
+using HEAL.Fossil;
+
 namespace HeuristicLab.Problems.DataAnalysis {
+  [StorableType("c238682c-af0b-449e-aecf-8cf61418f425")]
   /// <summary>
   /// Interface for all time series prognosis models.
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/TimeSeriesPrognosis/ITimeSeriesPrognosisProblem.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/TimeSeriesPrognosis/ITimeSeriesPrognosisProblem.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/TimeSeriesPrognosis/ITimeSeriesPrognosisProblem.cs	(revision 16476)
@@ -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.Problems.DataAnalysis {
+  [StorableType("5823dd3a-37a0-4b7c-b9d4-07994084188f")]
   public interface ITimeSeriesPrognosisProblem : IDataAnalysisProblem<ITimeSeriesPrognosisProblemData> {
   }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/TimeSeriesPrognosis/ITimeSeriesPrognosisProblemData.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/TimeSeriesPrognosis/ITimeSeriesPrognosisProblemData.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/TimeSeriesPrognosis/ITimeSeriesPrognosisProblemData.cs	(revision 16476)
@@ -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.Problems.DataAnalysis {
+  [StorableType("9f05ada5-f1b1-44fd-84ad-2f7b427e94c3")]
   public interface ITimeSeriesPrognosisProblemData : IRegressionProblemData {
     int TrainingHorizon { get; set; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/TimeSeriesPrognosis/ITimeSeriesPrognosisSolution.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/TimeSeriesPrognosis/ITimeSeriesPrognosisSolution.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/TimeSeriesPrognosis/ITimeSeriesPrognosisSolution.cs	(revision 16476)
@@ -21,5 +21,8 @@
 
 using System.Collections.Generic;
+using HEAL.Fossil;
+
 namespace HeuristicLab.Problems.DataAnalysis {
+  [StorableType("2793d8c7-6f34-4d9d-970c-a705f6c47b5c")]
   public interface ITimeSeriesPrognosisSolution : IRegressionSolution {
     new ITimeSeriesPrognosisModel Model { get; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4/Drivers/EvaluationServiceClient.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4/Drivers/EvaluationServiceClient.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4/Drivers/EvaluationServiceClient.cs	(revision 16476)
@@ -150,4 +150,6 @@
       OnNameChanged();
     }
+
+    [StorableType("9f1ab6e1-fe6e-4624-afbd-9bfdfdb75d44")]
     #endregion
 
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4/EvaluationCache.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4/EvaluationCache.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4/EvaluationCache.cs	(revision 16476)
@@ -46,7 +46,5 @@
     #region Types
     private sealed class CacheEntry {
-
       public readonly string Key;
-
       private QualityMessage message;
       private byte[] rawMessage;
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4/Interfaces/IEvaluationChannel.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4/Interfaces/IEvaluationChannel.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4/Interfaces/IEvaluationChannel.cs	(revision 16476)
@@ -22,6 +22,8 @@
 using Google.ProtocolBuffers;
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.ExternalEvaluation {
+  [StorableType("8e62ba0d-03f5-4243-8411-3bd5f14c42be")]
   public interface IEvaluationChannel : INamedItem {
     /// <summary>
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4/Interfaces/IEvaluationServiceClient.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4/Interfaces/IEvaluationServiceClient.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4/Interfaces/IEvaluationServiceClient.cs	(revision 16476)
@@ -23,6 +23,8 @@
 using Google.ProtocolBuffers;
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.ExternalEvaluation {
+  [StorableType("8203ac65-e551-486e-8386-e297ae575279")]
   public interface IEvaluationServiceClient : IItem {
     /// <summary>
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4/Interfaces/IExternalEvaluationProblem.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4/Interfaces/IExternalEvaluationProblem.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4/Interfaces/IExternalEvaluationProblem.cs	(revision 16476)
@@ -23,6 +23,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.ExternalEvaluation {
+  [StorableType("04901da1-d785-4124-a989-2a9c6bd1a81c")]
   public interface IExternalEvaluationProblem : IProblem {
 
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4/Interfaces/IItemToSolutionMessageConverter.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4/Interfaces/IItemToSolutionMessageConverter.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4/Interfaces/IItemToSolutionMessageConverter.cs	(revision 16476)
@@ -22,6 +22,8 @@
 using System;
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.ExternalEvaluation {
+  [StorableType("581f5e17-68dc-42a0-8bc0-e0ac8992ed7b")]
   public interface IItemToSolutionMessageConverter : IItem {
     Type[] ItemTypes { get; }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4/Interfaces/IMultiObjectiveOptimizationSupport.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4/Interfaces/IMultiObjectiveOptimizationSupport.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4/Interfaces/IMultiObjectiveOptimizationSupport.cs	(revision 16476)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.ExternalEvaluation {
+  [StorableType("f924ef9c-d824-40d2-89b2-6dd1220df98b")]
   public interface IMultiObjectiveOptimizationSupport {
     void Analyze(Individual[] individuals, double[][] qualities, ResultCollection results, IRandom random);
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4/Interfaces/ISingleObjectiveOptimizationSupport.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4/Interfaces/ISingleObjectiveOptimizationSupport.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.ExternalEvaluation/3.4/Interfaces/ISingleObjectiveOptimizationSupport.cs	(revision 16476)
@@ -23,6 +23,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.ExternalEvaluation {
+  [StorableType("09d522e0-c10f-474c-b7c0-7d7f98e63f44")]
   public interface ISingleObjectiveOptimizationSupport {
     void Analyze(Individual[] individuals, double[] qualities, ResultCollection results, IRandom random);
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.GrammaticalEvolution/3.4/Mappers/IGenotypeToPhenotypeMapper.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.GrammaticalEvolution/3.4/Mappers/IGenotypeToPhenotypeMapper.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.GrammaticalEvolution/3.4/Mappers/IGenotypeToPhenotypeMapper.cs	(revision 16476)
@@ -26,6 +26,8 @@
 using HeuristicLab.Encodings.IntegerVectorEncoding;
 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.GrammaticalEvolution.Mappers {
+  [StorableType("17ca7334-176c-4d80-89f9-ae918dcc65d2")]
   /// <summary>
   /// IGenotypeToPhenotypeMapper
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.GrammaticalEvolution/3.4/SymbolicRegression/IGESymbolicDataAnalysisEvaluator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.GrammaticalEvolution/3.4/SymbolicRegression/IGESymbolicDataAnalysisEvaluator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.GrammaticalEvolution/3.4/SymbolicRegression/IGESymbolicDataAnalysisEvaluator.cs	(revision 16476)
@@ -31,7 +31,8 @@
 using HeuristicLab.Problems.DataAnalysis.Symbolic;
 using HeuristicLab.Problems.GrammaticalEvolution.Mappers;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.GrammaticalEvolution {
-
+  [StorableType("25134297-7d7e-4d77-bd7a-25b2b10e15c1")]
   public interface IGESymbolicDataAnalysisEvaluator<T> : IEvaluator
     where T : class, IDataAnalysisProblemData {
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.GrammaticalEvolution/3.4/SymbolicRegression/IGESymbolicDataAnalysisProblem.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.GrammaticalEvolution/3.4/SymbolicRegression/IGESymbolicDataAnalysisProblem.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.GrammaticalEvolution/3.4/SymbolicRegression/IGESymbolicDataAnalysisProblem.cs	(revision 16476)
@@ -28,6 +28,8 @@
 using HeuristicLab.Problems.DataAnalysis;
 using HeuristicLab.Problems.DataAnalysis.Symbolic;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.GrammaticalEvolution {
+  [StorableType("ce854ef0-6bf9-453f-8638-9db029eb01c6")]
   public interface IGESymbolicDataAnalysisProblem : IDataAnalysisProblem, IHeuristicOptimizationProblem {
 
@@ -47,4 +49,5 @@
   }
 
+  [StorableType("763c58e2-dc9b-440d-b1d0-5b6c9524242c")]
   public interface IGESymbolicDataAnalysisSingleObjectiveProblem : IGESymbolicDataAnalysisProblem, ISingleObjectiveHeuristicOptimizationProblem { }
 }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.GrammaticalEvolution/3.4/SymbolicRegression/IGESymbolicDataAnalysisSingleObjectiveEvaluator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.GrammaticalEvolution/3.4/SymbolicRegression/IGESymbolicDataAnalysisSingleObjectiveEvaluator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.GrammaticalEvolution/3.4/SymbolicRegression/IGESymbolicDataAnalysisSingleObjectiveEvaluator.cs	(revision 16476)
@@ -25,6 +25,8 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Problems.DataAnalysis;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.GrammaticalEvolution {
+  [StorableType("52190d05-dfdd-4ebb-9a95-5cd96eb3dc7e")]
   public interface IGESymbolicDataAnalysisSingleObjectiveEvaluator<T> : IGESymbolicDataAnalysisEvaluator<T>, ISingleObjectiveEvaluator
     where T : class,IDataAnalysisProblemData {
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.GrammaticalEvolution/3.4/SymbolicRegression/IGESymbolicDataAnalysisValidationAnalyzer.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.GrammaticalEvolution/3.4/SymbolicRegression/IGESymbolicDataAnalysisValidationAnalyzer.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.GrammaticalEvolution/3.4/SymbolicRegression/IGESymbolicDataAnalysisValidationAnalyzer.cs	(revision 16476)
@@ -26,6 +26,8 @@
 using HeuristicLab.Problems.DataAnalysis;
 using HeuristicLab.Problems.DataAnalysis.Symbolic;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.GrammaticalEvolution {
+  [StorableType("79deee07-e4f9-41e4-9d12-c0ab504a6b4f")]
   public interface IGESymbolicDataAnalysisValidationAnalyzer<T, U> : ISymbolicDataAnalysisAnalyzer, ISymbolicDataAnalysisInterpreterOperator
     where T : class,IGESymbolicDataAnalysisEvaluator<U>
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.GrammaticalEvolution/3.4/SymbolicRegression/IGESymbolicRegressionEvaluator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.GrammaticalEvolution/3.4/SymbolicRegression/IGESymbolicRegressionEvaluator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.GrammaticalEvolution/3.4/SymbolicRegression/IGESymbolicRegressionEvaluator.cs	(revision 16476)
@@ -24,6 +24,8 @@
 
 using HeuristicLab.Problems.DataAnalysis;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.GrammaticalEvolution {
+  [StorableType("d02447bf-6490-4497-8d46-18bfd65fdce9")]
   public interface IGESymbolicRegressionEvaluator : IGESymbolicDataAnalysisEvaluator<IRegressionProblemData> {
   }
Index: /branches/2520_PersistenceReintegration/HeuristicLab.Problems.GrammaticalEvolution/3.4/SymbolicRegression/IGESymbolicRegressionSingleObjectiveEvaluator.cs
===================================================================
--- /branches/2520_PersistenceReintegration/HeuristicLab.Problems.GrammaticalEvolution/3.4/SymbolicRegression/IGESymbolicRegressionSingleObjectiveEvaluator.cs	(revision 16475)
+++ /branches/2520_PersistenceReintegration/HeuristicLab.Problems.GrammaticalEvolution/3.4/SymbolicRegression/IGESymbolicRegressionSingleObjectiveEvaluator.cs	(revision 16476)
@@ -26,6 +26,8 @@
 using HeuristicLab.Problems.DataAnalysis;
 using HeuristicLab.Problems.DataAnalysis.Symbolic.Regression;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.GrammaticalEvolution {
+  [StorableType("7a1f572f-6ba7-4849-a6b7-57935f28215e")]
   public interface IGESymbolicRegressionSingleObjectiveEvaluator : IGESymbolicRegressionEvaluator,
                                                                    IGESymbolicDataAnalysisSingleObjectiveEvaluator<IRegressionProblemData> {
