Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.Knapsack/3.3/Evaluators/KnapsackEvaluator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.Knapsack/3.3/Evaluators/KnapsackEvaluator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.Knapsack/3.3/Evaluators/KnapsackEvaluator.cs	(revision 16477)
@@ -89,4 +89,5 @@
     }
 
+    [StorableType(StorableMemberSelection.AllFields, "0968A5F3-5E3A-4357-A042-06E4BDEAFA6C")]
     public struct KnapsackEvaluation {
       public DoubleValue Quality;
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.Knapsack/3.3/Interfaces/IKnapsackEvaluator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.Knapsack/3.3/Interfaces/IKnapsackEvaluator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.Knapsack/3.3/Interfaces/IKnapsackEvaluator.cs	(revision 16477)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.Knapsack {
+  [StorableType("B7D22238-9840-4293-A12E-6EEF7D7298FD")]
   /// <summary>
   /// An interface which represents an evaluation operator for Knapsack Problems.
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.Knapsack/3.3/Interfaces/IKnapsackMoveEvaluator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.Knapsack/3.3/Interfaces/IKnapsackMoveEvaluator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.Knapsack/3.3/Interfaces/IKnapsackMoveEvaluator.cs	(revision 16477)
@@ -23,6 +23,8 @@
 using HeuristicLab.Data;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.Knapsack {
+  [StorableType("68FE6DEB-F190-446B-9877-7BE56FB08585")]
   public interface IKnapsackMoveEvaluator : ISingleObjectiveMoveEvaluator, IMoveOperator {
     ILookupParameter<IntValue> KnapsackCapacityParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.Knapsack/3.3/SimilarityCalculators/KnapsackSimilarityCalculator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.Knapsack/3.3/SimilarityCalculators/KnapsackSimilarityCalculator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.Knapsack/3.3/SimilarityCalculators/KnapsackSimilarityCalculator.cs	(revision 16477)
@@ -38,4 +38,5 @@
   [NonDiscoverableType]
   [Obsolete("Please use the HammingSimilarityCalculator in the HeuristicLab.Encodings.BinaryVector plugin.")]
+  [StorableType("27FD4466-6FDC-4420-A606-100FC0CDABF6")]
   internal sealed class KnapsackSimilarityCalculator : SingleObjectiveSolutionSimilarityCalculator {
     protected override bool IsCommutative { get { return true; } }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.LinearAssignment/3.3/Interfaces/ILAPEvaluator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.LinearAssignment/3.3/Interfaces/ILAPEvaluator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.LinearAssignment/3.3/Interfaces/ILAPEvaluator.cs	(revision 16477)
@@ -24,6 +24,8 @@
 using HeuristicLab.Encodings.PermutationEncoding;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.LinearAssignment {
+  [StorableType("4B73438E-511A-4AF0-B7F1-B357F6092604")]
   public interface ILAPEvaluator : ISingleObjectiveEvaluator {
     ILookupParameter<DoubleMatrix> CostsParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.NK/3.3/BinaryVectorComparers/IBinaryVectorComparer.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.NK/3.3/BinaryVectorComparers/IBinaryVectorComparer.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.NK/3.3/BinaryVectorComparers/IBinaryVectorComparer.cs	(revision 16477)
@@ -23,6 +23,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Encodings.BinaryVectorEncoding;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.NK {
+  [StorableType("056C41CB-BF99-418E-AAF5-85273EF0831A")]
   public interface IBinaryVectorComparer : IItem, IComparer<BinaryVector> { }
 }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.NK/3.3/INKMoveEvaluator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.NK/3.3/INKMoveEvaluator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.NK/3.3/INKMoveEvaluator.cs	(revision 16477)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.NK {
+  [StorableType("06B5D234-4D97-4D4A-8EE2-E61FB21A54F6")]
   public interface INKMoveEvaluator : ISingleObjectiveMoveEvaluator, IMoveOperator { }
 }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.NK/3.3/InteractionInitializers/IInteractionInitializer.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.NK/3.3/InteractionInitializers/IInteractionInitializer.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.NK/3.3/InteractionInitializers/IInteractionInitializer.cs	(revision 16477)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.NK {
+  [StorableType("78325D81-C6B0-49FF-B190-755B7D413E56")]
   public interface IInteractionInitializer : IParameterizedItem {
     BoolMatrix InitializeInterations(int length, int nComponents, int nInteractions, IRandom random);
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.NK/3.3/WeightInitializers/IWeightsInitializer.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.NK/3.3/WeightInitializers/IWeightsInitializer.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.NK/3.3/WeightInitializers/IWeightsInitializer.cs	(revision 16477)
@@ -22,6 +22,8 @@
 using System.Collections.Generic;
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.NK {
+  [StorableType("5F374919-37B0-4FB0-B07D-C3136970EA37")]
   public interface IWeightsInitializer : IParameterizedItem {
     IEnumerable<double> GetWeights(int nComponents);
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.Orienteering/3.3/Interfaces/IOrienteeringEvaluator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.Orienteering/3.3/Interfaces/IOrienteeringEvaluator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.Orienteering/3.3/Interfaces/IOrienteeringEvaluator.cs	(revision 16477)
@@ -24,6 +24,8 @@
 using HeuristicLab.Encodings.IntegerVectorEncoding;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.Orienteering {
+  [StorableType("4F942163-D321-4935-BF2E-780193BE9FFE")]
   public interface IOrienteeringEvaluator : ISingleObjectiveEvaluator {
     ILookupParameter<IntegerVector> IntegerVectorParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.Orienteering/3.3/Interfaces/IOrienteeringSolutionCreator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.Orienteering/3.3/Interfaces/IOrienteeringSolutionCreator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.Orienteering/3.3/Interfaces/IOrienteeringSolutionCreator.cs	(revision 16477)
@@ -23,6 +23,8 @@
 using HeuristicLab.Data;
 using HeuristicLab.Encodings.IntegerVectorEncoding;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.Orienteering {
+  [StorableType("7E0D4527-4D8C-4FBA-BB3A-26F20B6463ED")]
   public interface IOrienteeringSolutionCreator : IIntegerVectorCreator {
     ILookupParameter<DistanceMatrix> DistanceMatrixParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.Orienteering/3.3/OrienteeringEvaluationResult.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.Orienteering/3.3/OrienteeringEvaluationResult.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.Orienteering/3.3/OrienteeringEvaluationResult.cs	(revision 16477)
@@ -21,10 +21,21 @@
 
 using HeuristicLab.Data;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.Orienteering {
+  [StorableType("A7F34447-A3C9-4FB5-B52F-5143434B4084")]
   public class OrienteeringEvaluationResult {
+    [Storable]
     public DoubleValue Quality;
+    [Storable]
     public DoubleValue Penalty;
+    [Storable]
     public DoubleValue Distance;
+
+    [StorableConstructor]
+    protected OrienteeringEvaluationResult(StorableConstructorFlag _) {
+    }
+
+    public OrienteeringEvaluationResult() { }
   }
 }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.Orienteering/3.3/Shakers/OrienteeringShakingOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.Orienteering/3.3/Shakers/OrienteeringShakingOperator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.Orienteering/3.3/Shakers/OrienteeringShakingOperator.cs	(revision 16477)
@@ -241,4 +241,5 @@
     }
 
+    [StorableType("8E380F4E-D9C2-4671-ABF8-A28E14B22BA2")]
     private class SavingInfo {
       public int Index;
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Interfaces/IAnalyticalPTSPMoveEvaluator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Interfaces/IAnalyticalPTSPMoveEvaluator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Interfaces/IAnalyticalPTSPMoveEvaluator.cs	(revision 16477)
@@ -24,6 +24,8 @@
 using HeuristicLab.Encodings.PermutationEncoding;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.PTSP {
+  [StorableType("D503E92D-9A85-46AC-ADAA-8A454B9E9C79")]
   public interface IAnalyticalPTSPMoveEvaluator : IAnalyticalPTSPOperator, ISingleObjectiveMoveEvaluator, IPermutationMoveOperator {
     ILookupParameter<DoubleMatrix> CoordinatesParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Interfaces/IAnalyticalPTSPOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Interfaces/IAnalyticalPTSPOperator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Interfaces/IAnalyticalPTSPOperator.cs	(revision 16477)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.PTSP {
+  [StorableType("1BB8344B-894B-48E9-9805-49938AE3F83F")]
   public interface IAnalyticalPTSPOperator : IItem {
     ILookupParameter<DoubleArray> ProbabilitiesParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Interfaces/IEstimatedPTSPMoveEvaluator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Interfaces/IEstimatedPTSPMoveEvaluator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Interfaces/IEstimatedPTSPMoveEvaluator.cs	(revision 16477)
@@ -24,6 +24,8 @@
 using HeuristicLab.Encodings.PermutationEncoding;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.PTSP {
+  [StorableType("FECFFE5C-64EE-4615-A9FC-786F2B37143A")]
   public interface IEstimatedPTSPMoveEvaluator : IEstimatedPTSPOperator, ISingleObjectiveMoveEvaluator, IPermutationMoveOperator {
     ILookupParameter<DoubleMatrix> CoordinatesParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Interfaces/IEstimatedPTSPOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Interfaces/IEstimatedPTSPOperator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Interfaces/IEstimatedPTSPOperator.cs	(revision 16477)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.PTSP {
+  [StorableType("1998604C-41FF-4388-B413-8BD658D073E5")]
   public interface IEstimatedPTSPOperator : IItem {
     ILookupParameter<ItemList<BoolArray>> RealizationsParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Interfaces/ITwoPointFiveMoveOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Interfaces/ITwoPointFiveMoveOperator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.PTSP/3.3/Interfaces/ITwoPointFiveMoveOperator.cs	(revision 16477)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.PTSP {
+  [StorableType("C21E0AC3-85BD-4F40-8DD6-E79A019278E1")]
   public interface ITwoPointFiveMoveOperator : IMoveOperator {
     ILookupParameter<TwoPointFiveMove> TwoPointFiveMoveParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.ParameterOptimization/3.3/BestSolutionsAnalyzer.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.ParameterOptimization/3.3/BestSolutionsAnalyzer.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.ParameterOptimization/3.3/BestSolutionsAnalyzer.cs	(revision 16477)
@@ -150,4 +150,5 @@
   }
 
+  [StorableType("EB92A47A-F96B-4C42-9D31-EF4992320794")]
   public class DoubleArrayEqualityComparer : IEqualityComparer<DoubleArray> {
     public bool Equals(DoubleArray x, DoubleArray y) {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.ParameterOptimization/3.3/IParameterVectorEvaluator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.ParameterOptimization/3.3/IParameterVectorEvaluator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.ParameterOptimization/3.3/IParameterVectorEvaluator.cs	(revision 16477)
@@ -24,6 +24,8 @@
 using HeuristicLab.Encodings.RealVectorEncoding;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.ParameterOptimization {
+  [StorableType("E0AC81E2-503B-4DDD-9D5A-9D53FA1F31AD")]
   public interface IParameterVectorEvaluator : ISingleObjectiveEvaluator {
     ILookupParameter<IntValue> ProblemSizeParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.QuadraticAssignment/3.3/Interfaces/IQAPEvaluator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.QuadraticAssignment/3.3/Interfaces/IQAPEvaluator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.QuadraticAssignment/3.3/Interfaces/IQAPEvaluator.cs	(revision 16477)
@@ -24,6 +24,8 @@
 using HeuristicLab.Encodings.PermutationEncoding;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.QuadraticAssignment {
+  [StorableType("B7B8A58B-40C5-471E-BFB8-3B62FF3109CB")]
   public interface IQAPEvaluator : ISingleObjectiveEvaluator {
     ILookupParameter<Permutation> PermutationParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.QuadraticAssignment/3.3/Interfaces/IQAPMoveEvaluator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.QuadraticAssignment/3.3/Interfaces/IQAPMoveEvaluator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.QuadraticAssignment/3.3/Interfaces/IQAPMoveEvaluator.cs	(revision 16477)
@@ -24,6 +24,8 @@
 using HeuristicLab.Encodings.PermutationEncoding;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.QuadraticAssignment {
+  [StorableType("A1CCDFCE-3466-41E5-869A-33AB658608B3")]
   public interface IQAPMoveEvaluator : ISingleObjectiveMoveEvaluator, IMoveOperator {
     ILookupParameter<Permutation> PermutationParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.Scheduling/3.3/Decoders/JSMDecodingErrorPolicyTypes.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.Scheduling/3.3/Decoders/JSMDecodingErrorPolicyTypes.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.Scheduling/3.3/Decoders/JSMDecodingErrorPolicyTypes.cs	(revision 16477)
@@ -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.Scheduling {
+  [StorableType("546CD984-4CBF-4AF8-8E92-C9EDC5426CB4")]
   public enum JSMDecodingErrorPolicyTypes {
     RandomPolicy,
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.Scheduling/3.3/Decoders/JSMForcingStrategyTypes.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.Scheduling/3.3/Decoders/JSMForcingStrategyTypes.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.Scheduling/3.3/Decoders/JSMForcingStrategyTypes.cs	(revision 16477)
@@ -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.Scheduling {
+  [StorableType("24F9DDB2-C881-4C8D-AED8-76683C53110C")]
   public enum JSMForcingStrategyTypes {
     ShiftForcing,
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.Scheduling/3.3/Interfaces/IJSSPOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.Scheduling/3.3/Interfaces/IJSSPOperator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.Scheduling/3.3/Interfaces/IJSSPOperator.cs	(revision 16477)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Encodings.ScheduleEncoding;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.Scheduling {
+  [StorableType("E4140EFF-9E57-4457-A495-3F00A9612E9B")]
   public interface IJSSPOperator : IOperator {
     ILookupParameter<ItemList<Job>> JobDataParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.Scheduling/3.3/Interfaces/IScheduleDecoder.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.Scheduling/3.3/Interfaces/IScheduleDecoder.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.Scheduling/3.3/Interfaces/IScheduleDecoder.cs	(revision 16477)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Encodings.ScheduleEncoding {
+  [StorableType("010C752F-0F5E-4B93-8695-8DD74903DBE7")]
   public interface IScheduleDecoder : IOperator {
     ILookupParameter<IScheduleEncoding> ScheduleEncodingParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.Scheduling/3.3/Interfaces/IScheduleEvaluator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.Scheduling/3.3/Interfaces/IScheduleEvaluator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.Scheduling/3.3/Interfaces/IScheduleEvaluator.cs	(revision 16477)
@@ -23,6 +23,8 @@
 using HeuristicLab.Encodings.ScheduleEncoding;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.Scheduling {
+  [StorableType("0F899B47-ABDA-46D3-9634-7919E3DFA528")]
   /// <summary>
   /// An evaluator for a Schedule
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.Scheduling/3.3/Interfaces/ISchedulingEvaluator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.Scheduling/3.3/Interfaces/ISchedulingEvaluator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.Scheduling/3.3/Interfaces/ISchedulingEvaluator.cs	(revision 16477)
@@ -23,6 +23,8 @@
 using HeuristicLab.Encodings.ScheduleEncoding;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.Scheduling {
+  [StorableType("9E6BC36E-D5A6-4C64-9512-391C382E3527")]
   /// <summary>
   /// An evaluator for a scheduling problem representation
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/Interfaces/IConstrainedTestFunction.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/Interfaces/IConstrainedTestFunction.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/Interfaces/IConstrainedTestFunction.cs	(revision 16477)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Encodings.RealVectorEncoding;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.TestFunctions.MultiObjective {
+  [StorableType("D79FD6F1-CB7D-4374-8F82-A6A98B35E95D")]
   /// <summary>
   /// An interface which represents an evaluation operator for multi objective test functions.
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/Interfaces/IMultiObjectiveTestFunction.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/Interfaces/IMultiObjectiveTestFunction.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/Interfaces/IMultiObjectiveTestFunction.cs	(revision 16477)
@@ -23,6 +23,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Encodings.RealVectorEncoding;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.TestFunctions.MultiObjective {
+  [StorableType("1E60FF82-D730-4C44-B772-80B63B87A932")]
   /// <summary>
   /// An interface which represents an multi objective test functions.
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/Interfaces/IMultiObjectiveTestFunctionAnalyzer.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/Interfaces/IMultiObjectiveTestFunctionAnalyzer.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/Interfaces/IMultiObjectiveTestFunctionAnalyzer.cs	(revision 16477)
@@ -22,7 +22,8 @@
 using HeuristicLab.Data;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.TestFunctions.MultiObjective {
-
+  [StorableType("868522CB-CA0A-4908-8108-86D2464F0FAE")]
   public interface IMultiObjectiveTestFunctionAnalyzer : IAnalyzer, IMultiObjectiveOperator {
     IScopeTreeLookupParameter<DoubleArray> QualitiesParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/NonDominatedSelect.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/NonDominatedSelect.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/NonDominatedSelect.cs	(revision 16477)
@@ -21,8 +21,10 @@
 
 using System.Collections.Generic;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.TestFunctions.MultiObjective {
 
   public static class NonDominatedSelect {
+    [StorableType("5EDA6CC0-30C6-4B71-8713-F84BB61B1180")]
     public enum DominationResult { Dominates, IsDominated, IsNonDominated };
 
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions/3.3/Interfaces/IBestSingleObjectiveTestFunctionSolutionAnalyzer.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions/3.3/Interfaces/IBestSingleObjectiveTestFunctionSolutionAnalyzer.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions/3.3/Interfaces/IBestSingleObjectiveTestFunctionSolutionAnalyzer.cs	(revision 16477)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.TestFunctions {
+  [StorableType("54034EA0-9A68-411F-AFDD-9748308CF25A")]
   /// <summary>
   /// An interface which represents operators for analyzing the best solution of single objective TestFunction Problems given in real vector representation.
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions/3.3/Interfaces/IRastriginMoveEvaluator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions/3.3/Interfaces/IRastriginMoveEvaluator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions/3.3/Interfaces/IRastriginMoveEvaluator.cs	(revision 16477)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Data;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.TestFunctions {
+  [StorableType("DD1BC33E-735A-4C6C-8E90-FEE43772DDCE")]
   public interface IRastriginMoveEvaluator : ISingleObjectiveTestFunctionAdditiveMoveEvaluator {
     DoubleValue A { get; set; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions/3.3/Interfaces/ISingleObjectiveTestFunctionAdditiveMoveEvaluator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions/3.3/Interfaces/ISingleObjectiveTestFunctionAdditiveMoveEvaluator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions/3.3/Interfaces/ISingleObjectiveTestFunctionAdditiveMoveEvaluator.cs	(revision 16477)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Encodings.RealVectorEncoding;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.TestFunctions {
+  [StorableType("9A3D6F31-3A84-40CE-8345-F702022CEFE6")]
   public interface ISingleObjectiveTestFunctionAdditiveMoveEvaluator : ISingleObjectiveTestFunctionMoveEvaluator, IAdditiveRealVectorMoveOperator {
   }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions/3.3/Interfaces/ISingleObjectiveTestFunctionMoveEvaluator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions/3.3/Interfaces/ISingleObjectiveTestFunctionMoveEvaluator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions/3.3/Interfaces/ISingleObjectiveTestFunctionMoveEvaluator.cs	(revision 16477)
@@ -22,6 +22,8 @@
 using System;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.TestFunctions {
+  [StorableType("7EBD5AF9-7197-465F-A8C5-7B81882E9D05")]
   public interface ISingleObjectiveTestFunctionMoveEvaluator : ISingleObjectiveMoveEvaluator, IMoveOperator {
     Type EvaluatorType { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions/3.3/Interfaces/ISingleObjectiveTestFunctionProblemEvaluator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions/3.3/Interfaces/ISingleObjectiveTestFunctionProblemEvaluator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions/3.3/Interfaces/ISingleObjectiveTestFunctionProblemEvaluator.cs	(revision 16477)
@@ -24,6 +24,8 @@
 using HeuristicLab.Encodings.RealVectorEncoding;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.TestFunctions {
+  [StorableType("8E430717-143E-462A-A8F5-8E8F4B4ADF54")]
   /// <summary>
   /// An interface which represents an evaluation operator for single objective test functions.
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions/3.3/Interfaces/ISingleObjectiveTestFunctionProblemSolutionsVisualizer.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions/3.3/Interfaces/ISingleObjectiveTestFunctionProblemSolutionsVisualizer.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions/3.3/Interfaces/ISingleObjectiveTestFunctionProblemSolutionsVisualizer.cs	(revision 16477)
@@ -23,6 +23,8 @@
 using HeuristicLab.Encodings.RealVectorEncoding;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.TestFunctions {
+  [StorableType("A1DDF420-B389-40A4-B9BD-D071A557D24A")]
   /// <summary>
   /// An interface which represents an operator for visualizing solutions of single objective test functions.
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions/3.3/Interfaces/ISphereMoveEvaluator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions/3.3/Interfaces/ISphereMoveEvaluator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.TestFunctions/3.3/Interfaces/ISphereMoveEvaluator.cs	(revision 16477)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Data;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.TestFunctions {
+  [StorableType("809AA7D1-C759-4949-AF3C-D2DC5B180C22")]
   public interface ISphereMoveEvaluator : ISingleObjectiveTestFunctionAdditiveMoveEvaluator {
     DoubleValue C { get; set; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.TravelingSalesman/3.3/Interfaces/ITSPCoordinatesPathEvaluator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.TravelingSalesman/3.3/Interfaces/ITSPCoordinatesPathEvaluator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.TravelingSalesman/3.3/Interfaces/ITSPCoordinatesPathEvaluator.cs	(revision 16477)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.TravelingSalesman {
+  [StorableType("C9962138-AB3D-4C33-B5EC-9B526E0C6F82")]
   /// <summary>
   /// An interface which represents an evaluation operator which evaluates TSP solutions given in path representation using city coordinates.
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.TravelingSalesman/3.3/Interfaces/ITSPDistanceMatrixEvaluator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.TravelingSalesman/3.3/Interfaces/ITSPDistanceMatrixEvaluator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.TravelingSalesman/3.3/Interfaces/ITSPDistanceMatrixEvaluator.cs	(revision 16477)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.TravelingSalesman {
+  [StorableType("ADEAB327-E563-42D6-845C-E9D412586A4C")]
   /// <summary>
   /// An interface which represents an evaluation operator which evaluates TSP solutions given in path representation using a distance matrix.
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.TravelingSalesman/3.3/Interfaces/ITSPEvaluator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.TravelingSalesman/3.3/Interfaces/ITSPEvaluator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.TravelingSalesman/3.3/Interfaces/ITSPEvaluator.cs	(revision 16477)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.TravelingSalesman {
+  [StorableType("913DCAEA-8E40-4ADA-AB77-0E99B7C1C340")]
   /// <summary>
   /// An interface which represents an evaluation operator for Traveling Salesman Problems.
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.TravelingSalesman/3.3/Interfaces/ITSPMoveEvaluator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.TravelingSalesman/3.3/Interfaces/ITSPMoveEvaluator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.TravelingSalesman/3.3/Interfaces/ITSPMoveEvaluator.cs	(revision 16477)
@@ -22,6 +22,8 @@
 using System;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.TravelingSalesman {
+  [StorableType("2EFBA5C1-6503-4910-9EF8-F6A5D8FBAFEF")]
   public interface ITSPMoveEvaluator : ISingleObjectiveMoveEvaluator, IMoveOperator {
     Type EvaluatorType { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.TravelingSalesman/3.3/Interfaces/ITSPPathEvaluator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.TravelingSalesman/3.3/Interfaces/ITSPPathEvaluator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.TravelingSalesman/3.3/Interfaces/ITSPPathEvaluator.cs	(revision 16477)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Encodings.PermutationEncoding;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.TravelingSalesman {
+  [StorableType("D500AB51-6750-44D3-B1CA-0DF2DCB43758")]
   /// <summary>
   /// An interface which represents an evaluation operator which evaluates TSP solutions given in path representation.
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.TravelingSalesman/3.3/Interfaces/ITSPPathMoveEvaluator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.TravelingSalesman/3.3/Interfaces/ITSPPathMoveEvaluator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.TravelingSalesman/3.3/Interfaces/ITSPPathMoveEvaluator.cs	(revision 16477)
@@ -23,6 +23,8 @@
 using HeuristicLab.Data;
 using HeuristicLab.Encodings.PermutationEncoding;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.TravelingSalesman {
+  [StorableType("E8D13595-71B9-4F6F-B879-FDF2BDB482EB")]
   public interface ITSPPathMoveEvaluator : ITSPMoveEvaluator, IPermutationMoveOperator {
     ILookupParameter<DoubleMatrix> CoordinatesParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.TravelingSalesman/3.3/SimilarityCalculators/TSPSimilarityCalculator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.TravelingSalesman/3.3/SimilarityCalculators/TSPSimilarityCalculator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.TravelingSalesman/3.3/SimilarityCalculators/TSPSimilarityCalculator.cs	(revision 16477)
@@ -38,4 +38,5 @@
   [Obsolete("This operator is similar to the Hamming similarity calculator in the Encodings.PermutationEncoding namespace")]
   [NonDiscoverableType]
+  [StorableType("0216BF57-995F-4F23-B422-F2C571314C5A")]
   internal sealed class TSPSimilarityCalculator : SingleObjectiveSolutionSimilarityCalculator {
     protected override bool IsCommutative { get { return true; } }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting.Views/3.4/HeuristicLab.Problems.VehicleRouting.Views-3.4.csproj
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting.Views/3.4/HeuristicLab.Problems.VehicleRouting.Views-3.4.csproj	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting.Views/3.4/HeuristicLab.Problems.VehicleRouting.Views-3.4.csproj	(revision 16477)
@@ -103,10 +103,4 @@
   </PropertyGroup>
   <ItemGroup>
-    <Reference Include="Google.Protobuf, Version=3.6.1.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604, processorArchitecture=MSIL">
-      <HintPath>..\..\packages\Google.Protobuf.3.6.1\lib\net45\Google.Protobuf.dll</HintPath>
-    </Reference>
-    <Reference Include="HEAL.Fossil, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
-      <HintPath>..\..\packages\HEAL.Fossil.1.0.0\lib\netstandard2.0\HEAL.Fossil.dll</HintPath>
-    </Reference>
     <Reference Include="System" />
     <Reference Include="System.Core">
@@ -280,9 +274,4 @@
       <Project>{56F9106A-079F-4C61-92F6-86A84C2D84B7}</Project>
       <Name>HeuristicLab.Parameters-3.3</Name>
-      <Private>False</Private>
-    </ProjectReference>
-    <ProjectReference Include="..\..\HeuristicLab.Persistence\3.3\HeuristicLab.Persistence-3.3.csproj">
-      <Project>{102BC7D3-0EF9-439C-8F6D-96FF0FDB8E1B}</Project>
-      <Name>HeuristicLab.Persistence-3.3</Name>
       <Private>False</Private>
     </ProjectReference>
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/IAlbaOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/IAlbaOperator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/IAlbaOperator.cs	(revision 16477)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Problems.VehicleRouting.Variants;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
+  [StorableType("E4EADC47-5FEC-429D-B713-795171F8C85B")]
   public interface IAlbaOperator :
     ISingleDepotOperator, IHeterogenousCapacitatedOperator, IMultiDepotOperator, ITimeWindowedOperator {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/IntraRouteInversion/IAlbaIntraRouteInversionMoveOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/IntraRouteInversion/IAlbaIntraRouteInversionMoveOperator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/IntraRouteInversion/IAlbaIntraRouteInversionMoveOperator.cs	(revision 16477)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
+  [StorableType("70080696-44A4-41C0-9FFF-B84C35303AEB")]
   public interface IAlbaIntraRouteInversionMoveOperator : IVRPMoveOperator {
     ILookupParameter<AlbaIntraRouteInversionMove> IntraRouteInversionMoveParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/LambdaInterchange/IAlbaLambdaInterchangeMoveOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/LambdaInterchange/IAlbaLambdaInterchangeMoveOperator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/LambdaInterchange/IAlbaLambdaInterchangeMoveOperator.cs	(revision 16477)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
+  [StorableType("81637BC6-8D9E-420D-9591-81A9EAA04E6E")]
   public interface IAlbaLambdaInterchangeMoveOperator : IVRPMoveOperator {
     ILookupParameter<AlbaLambdaInterchangeMove> LambdaInterchangeMoveParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/ThreeOpt/IAlbaTranslocationMoveOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/ThreeOpt/IAlbaTranslocationMoveOperator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Alba/Moves/ThreeOpt/IAlbaTranslocationMoveOperator.cs	(revision 16477)
@@ -23,6 +23,8 @@
 using HeuristicLab.Encodings.PermutationEncoding;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
+  [StorableType("781B6DDB-B55A-42C2-84E1-090E6F654089")]
   public interface IAlbaTranslocationMoveOperator : IVRPMoveOperator {
     ILookupParameter<TranslocationMove> TranslocationMoveParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/GVR/IGVROperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/GVR/IGVROperator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/GVR/IGVROperator.cs	(revision 16477)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Problems.VehicleRouting.Variants;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.GVR {
+  [StorableType("8C6EFFE6-4270-497D-9351-13BEDA227E21")]
   public interface IGVROperator :
     ISingleDepotOperator, IHomogenousCapacitatedOperator, ITimeWindowedOperator {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Moves/Interfaces/IMultiVRPMoveGenerator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Moves/Interfaces/IMultiVRPMoveGenerator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Moves/Interfaces/IMultiVRPMoveGenerator.cs	(revision 16477)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.General {
+  [StorableType("27EF7230-78A6-48B5-88A7-AAC70C538FCA")]
   public interface IMultiVRPMoveGenerator : IMultiVRPMoveOperator, ISingleMoveGenerator {
   }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Moves/Interfaces/IMultiVRPMoveOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Moves/Interfaces/IMultiVRPMoveOperator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Moves/Interfaces/IMultiVRPMoveOperator.cs	(revision 16477)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.General {
+  [StorableType("C48B8EF1-F37C-4F0D-B4D7-B5A5B68CD9B7")]
   public interface IMultiVRPMoveOperator : IVRPMoveOperator {
   }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Moves/Interfaces/IVRPMove.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Moves/Interfaces/IVRPMove.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/General/Moves/Interfaces/IVRPMove.cs	(revision 16477)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.General {
+  [StorableType("2F7FBB88-86B4-4B13-91C7-6BFF0786291B")]
   public interface IVRPMove : IItem {
     VRPMoveEvaluator GetMoveEvaluator();
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/IPotvinOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/IPotvinOperator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/IPotvinOperator.cs	(revision 16477)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Problems.VehicleRouting.Variants;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
+  [StorableType("90265685-321B-4E34-AD9F-30FA917F07A0")]
   public interface IPotvinOperator :
     ISingleDepotOperator, IHomogenousCapacitatedOperator, ITimeWindowedOperator,
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/CustomerRelocation/IPotvinCustomerRelocationMoveOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/CustomerRelocation/IPotvinCustomerRelocationMoveOperator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/CustomerRelocation/IPotvinCustomerRelocationMoveOperator.cs	(revision 16477)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
+  [StorableType("6F70F50C-411C-4AF9-A373-E2BCDFA66F56")]
   public interface IPotvinCustomerRelocationMoveOperator : IVRPMoveOperator {
     ILookupParameter<PotvinCustomerRelocationMove> CustomerRelocationMoveParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDExchange/IPotvinPDExchangeMoveOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDExchange/IPotvinPDExchangeMoveOperator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDExchange/IPotvinPDExchangeMoveOperator.cs	(revision 16477)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
+  [StorableType("D3D40EAC-F695-4069-9A3A-861CE2997E37")]
   public interface IPotvinPDExchangeMoveOperator : IVRPMoveOperator {
     ILookupParameter<PotvinPDExchangeMove> PDExchangeMoveParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDRearrange/IPotvinPDRearrangeMoveOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDRearrange/IPotvinPDRearrangeMoveOperator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDRearrange/IPotvinPDRearrangeMoveOperator.cs	(revision 16477)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
+  [StorableType("A5C6D2DD-A20B-4067-8C8D-C527C3E5DBAE")]
   public interface IPotvinPDRearrangeMoveOperator : IVRPMoveOperator {
     ILookupParameter<PotvinPDRearrangeMove> PDRearrangeMoveParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDShift/IPotvinPDShiftMoveOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDShift/IPotvinPDShiftMoveOperator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/PickupDelivery/PDShift/IPotvinPDShiftMoveOperator.cs	(revision 16477)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
+  [StorableType("404B8A42-4BC0-47B3-AD95-5294229515B3")]
   public interface IPotvinPDShiftMoveOperator : IVRPMoveOperator {
     ILookupParameter<PotvinPDShiftMove> PDShiftMoveParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/TwoOptStar/IPotvinTwoOptStarMoveOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/TwoOptStar/IPotvinTwoOptStarMoveOperator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/TwoOptStar/IPotvinTwoOptStarMoveOperator.cs	(revision 16477)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
+  [StorableType("371BDEC8-9A88-48DF-A44D-76FB6CE52A63")]
   public interface IPotvinTwoOptStarMoveOperator : IVRPMoveOperator {
     ILookupParameter<PotvinTwoOptStarMove> TwoOptStarMoveParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/VehicleAssignment/IPotvinVehicleAssignmentMoveOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/VehicleAssignment/IPotvinVehicleAssignmentMoveOperator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Potvin/Moves/VehicleAssignment/IPotvinVehicleAssignmentMoveOperator.cs	(revision 16477)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin {
+  [StorableType("9C467DEC-0BA6-47B8-8805-3A4494BD0561")]
   public interface IPotvinVehicleAssignmentMoveOperator : IVRPMoveOperator {
     ILookupParameter<PotvinVehicleAssignmentMove> VehicleAssignmentMoveParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Prins/IPrinsOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Prins/IPrinsOperator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Prins/IPrinsOperator.cs	(revision 16477)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Problems.VehicleRouting.Variants;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Prins {
+  [StorableType("02783182-5F42-45F8-A57A-E63459E22C6A")]
   public interface IPrinsOperator :
     ISingleDepotOperator, IHomogenousCapacitatedOperator, ITimeWindowedOperator {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Zhu/IZhuOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Zhu/IZhuOperator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Encodings/Zhu/IZhuOperator.cs	(revision 16477)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Problems.VehicleRouting.Variants;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Zhu {
+  [StorableType("CD11FA3C-3B50-4710-AAFC-32C9C61B3321")]
   public interface IZhuOperator :
     ISingleDepotOperator, IHomogenousCapacitatedOperator, ITimeWindowedOperator {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IMultiVRPOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IMultiVRPOperator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IMultiVRPOperator.cs	(revision 16477)
@@ -22,6 +22,8 @@
 using System.Collections.Generic;
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Interfaces {
+  [StorableType("4ED07F1F-AC5F-4771-8916-AF7DD576C581")]
   interface IMultiVRPOperator : IVRPOperator {
     void SetOperators(IEnumerable<IOperator> operators);
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IVRPCreator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IVRPCreator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IVRPCreator.cs	(revision 16477)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Interfaces {
+  [StorableType("36C4F904-7B59-4C09-81C4-BC07D9ABC496")]
   public interface IVRPCreator : IVRPOperator, ISolutionCreator {
     ILookupParameter<IVRPEncoding> VRPToursParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IVRPCrossover.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IVRPCrossover.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IVRPCrossover.cs	(revision 16477)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Interfaces {
+  [StorableType("FFAE16E2-265C-464E-9903-24154F6B0628")]
   public interface IVRPCrossover : IVRPOperator, ICrossover {
     ILookupParameter<ItemArray<IVRPEncoding>> ParentsParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IVRPEncoding.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IVRPEncoding.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IVRPEncoding.cs	(revision 16477)
@@ -22,6 +22,8 @@
 using System.Collections.Generic;
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Interfaces {
+  [StorableType("A8B95552-3A3D-43B3-95C3-B04602AEACF5")]
   public interface IVRPEncoding : IItem {
     List<Tour> GetTours();
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IVRPEvaluator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IVRPEvaluator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IVRPEvaluator.cs	(revision 16477)
@@ -23,6 +23,8 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Problems.VehicleRouting.ProblemInstances;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Interfaces {
+  [StorableType("C3423687-3CBE-41E4-9227-FF4F1D6912E1")]
   public interface IVRPEvaluator : IVRPOperator, ISingleObjectiveEvaluator {
     ILookupParameter<IVRPEncoding> VRPToursParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IVRPLocalSearchManipulator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IVRPLocalSearchManipulator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IVRPLocalSearchManipulator.cs	(revision 16477)
@@ -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.VehicleRouting.Interfaces {
+  [StorableType("5C793BBC-0189-4176-BFDC-5E5B01A8FA5E")]
   public interface IVRPLocalSearchManipulator : IVRPManipulator {
   }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IVRPManipulator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IVRPManipulator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IVRPManipulator.cs	(revision 16477)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Interfaces {
+  [StorableType("AC249F6E-B3A0-49C2-A582-811C132B4DAE")]
   public interface IVRPManipulator : IVRPOperator, IManipulator {
     ILookupParameter<IVRPEncoding> VRPToursParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IVRPMoveOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IVRPMoveOperator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IVRPMoveOperator.cs	(revision 16477)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Interfaces {
+  [StorableType("9425CBF4-8F21-43FC-9AAB-52E263B2BB12")]
   public interface IVRPMoveOperator : IVRPOperator, IMoveOperator {
     ILookupParameter<IVRPEncoding> VRPToursParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IVRPMultiNeighborhoodShakingOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IVRPMultiNeighborhoodShakingOperator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IVRPMultiNeighborhoodShakingOperator.cs	(revision 16477)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Interfaces {
+  [StorableType("48732EFD-AB16-4C96-A720-FB6CAEA0133D")]
   public interface IVRPMultiNeighborhoodShakingOperator : IMultiNeighborhoodShakingOperator, IVRPOperator {
     ILookupParameter<IVRPEncoding> VRPToursParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IVRPOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IVRPOperator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IVRPOperator.cs	(revision 16477)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Interfaces {
+  [StorableType("5B416762-7CD7-408F-8AF2-232F86CEB41F")]
   public interface IVRPOperator : IItem {
     ILookupParameter<IVRPProblemInstance> ProblemInstanceParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IVRPProblemInstance.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IVRPProblemInstance.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Interfaces/IVRPProblemInstance.cs	(revision 16477)
@@ -25,6 +25,8 @@
 using HeuristicLab.Data;
 using HeuristicLab.Problems.VehicleRouting.ProblemInstances;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Interfaces {
+  [StorableType("B8E231D0-6BA9-4DCF-9585-95E46B280B47")]
   public interface IVRPProblemInstance : IParameterizedNamedItem {
     IVRPEvaluator SolutionEvaluator { get; set; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/Capacitated/Heterogenous/IHeterogenousCapacitatedOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/Capacitated/Heterogenous/IHeterogenousCapacitatedOperator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/Capacitated/Heterogenous/IHeterogenousCapacitatedOperator.cs	(revision 16477)
@@ -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.VehicleRouting.Variants {
+  [StorableType("D9F4AD37-6D17-4376-874C-5773BFDE9A77")]
   public interface IHeterogenousCapacitatedOperator : IHomogenousCapacitatedOperator {
   }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/Capacitated/Heterogenous/IHeterogenousCapacitatedProblemInstance.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/Capacitated/Heterogenous/IHeterogenousCapacitatedProblemInstance.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/Capacitated/Heterogenous/IHeterogenousCapacitatedProblemInstance.cs	(revision 16477)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Data;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Variants {
+  [StorableType("94A5B1EF-6C46-402B-B31A-76BB19745A52")]
   public interface IHeterogenousCapacitatedProblemInstance : ICapacitatedProblemInstance {
     DoubleArray Capacity { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/Capacitated/Homogenous/IHomogenousCapacitatedOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/Capacitated/Homogenous/IHomogenousCapacitatedOperator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/Capacitated/Homogenous/IHomogenousCapacitatedOperator.cs	(revision 16477)
@@ -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.VehicleRouting.Variants {
+  [StorableType("0827648C-B4EF-450C-86BE-B145624FCC6C")]
   public interface IHomogenousCapacitatedOperator : ICapacitatedOperator {
   }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/Capacitated/Homogenous/IHomogenousCapacitatedProblemInstance.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/Capacitated/Homogenous/IHomogenousCapacitatedProblemInstance.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/Capacitated/Homogenous/IHomogenousCapacitatedProblemInstance.cs	(revision 16477)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Data;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Variants {
+  [StorableType("F789C488-BD06-40C2-A75C-C1FFE0361B77")]
   public interface IHomogenousCapacitatedProblemInstance : ICapacitatedProblemInstance {
     DoubleValue Capacity { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/Capacitated/ICapacitatedOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/Capacitated/ICapacitatedOperator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/Capacitated/ICapacitatedOperator.cs	(revision 16477)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Variants {
+  [StorableType("3439CF1A-DDE5-4E67-A6B3-8B6A2C640637")]
   public interface ICapacitatedOperator : IVRPOperator {
   }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/Capacitated/ICapacitatedProblemInstance.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/Capacitated/ICapacitatedProblemInstance.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/Capacitated/ICapacitatedProblemInstance.cs	(revision 16477)
@@ -22,6 +22,8 @@
 using HeuristicLab.Data;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Variants {
+  [StorableType("C172524A-C4B2-49DA-AC95-6619CB51544B")]
   public interface ICapacitatedProblemInstance : IVRPProblemInstance {
     DoubleValue OverloadPenalty { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/General/IGeneralVRPOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/General/IGeneralVRPOperator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/General/IGeneralVRPOperator.cs	(revision 16477)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Variants {
+  [StorableType("08484417-9E4E-4104-AAFD-4197046A5CAC")]
   public interface IGeneralVRPOperator : IVRPOperator {
   }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/MultiDepot/IMultiDepotOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/MultiDepot/IMultiDepotOperator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/MultiDepot/IMultiDepotOperator.cs	(revision 16477)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Variants {
+  [StorableType("58F40290-ACB2-4E19-8064-2944EAD9BE0A")]
   public interface IMultiDepotOperator : IVRPOperator {
   }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/MultiDepot/IMultiDepotProblemInstance.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/MultiDepot/IMultiDepotProblemInstance.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/MultiDepot/IMultiDepotProblemInstance.cs	(revision 16477)
@@ -22,6 +22,8 @@
 using HeuristicLab.Data;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Variants {
+  [StorableType("C6DA8FFB-DBA2-431B-A8C2-B685EB76D3F3")]
   public interface IMultiDepotProblemInstance : IVRPProblemInstance {
     IntValue Depots { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/PickupAndDelivery/IPickupAndDeliveryOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/PickupAndDelivery/IPickupAndDeliveryOperator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/PickupAndDelivery/IPickupAndDeliveryOperator.cs	(revision 16477)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Variants {
+  [StorableType("D2F69F8C-357D-4EC7-AC78-EE04324A27C6")]
   public interface IPickupAndDeliveryOperator : IVRPOperator {
   }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/PickupAndDelivery/IPickupAndDeliveryProblemInstance.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/PickupAndDelivery/IPickupAndDeliveryProblemInstance.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/PickupAndDelivery/IPickupAndDeliveryProblemInstance.cs	(revision 16477)
@@ -22,6 +22,8 @@
 using HeuristicLab.Data;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Variants {
+  [StorableType("A55869C3-00D4-481B-BBC8-201C510934AA")]
   public interface IPickupAndDeliveryProblemInstance : IVRPProblemInstance {
     IntArray PickupDeliveryLocation { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/SingleDepot/ISingleDepotOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/SingleDepot/ISingleDepotOperator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/SingleDepot/ISingleDepotOperator.cs	(revision 16477)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Variants {
+  [StorableType("575729DA-15DA-4979-B8B5-F6878FE7FAE7")]
   public interface ISingleDepotOperator : IVRPOperator {
   }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/SingleDepot/ISingleDepotProblemInstance.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/SingleDepot/ISingleDepotProblemInstance.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/SingleDepot/ISingleDepotProblemInstance.cs	(revision 16477)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Variants {
+  [StorableType("F4038025-9294-466D-A60D-45E7F98F9186")]
   public interface ISingleDepotProblemInstance : IVRPProblemInstance {
   }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/TimeWindowed/ITimeWindowedOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/TimeWindowed/ITimeWindowedOperator.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/TimeWindowed/ITimeWindowedOperator.cs	(revision 16477)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Variants {
+  [StorableType("43A35B3E-B3F4-4A16-9940-CFDA9E288F78")]
   public interface ITimeWindowedOperator : IVRPOperator {
   }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/TimeWindowed/ITimeWindowedProblemInstance.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/TimeWindowed/ITimeWindowedProblemInstance.cs	(revision 16476)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.VehicleRouting/3.4/Variants/TimeWindowed/ITimeWindowedProblemInstance.cs	(revision 16477)
@@ -22,6 +22,8 @@
 using HeuristicLab.Data;
 using HeuristicLab.Problems.VehicleRouting.Interfaces;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.VehicleRouting.Variants {
+  [StorableType("5E6207F9-10E5-4428-BC6E-C583389F9D86")]
   public interface ITimeWindowedProblemInstance : IVRPProblemInstance {
     DoubleArray ReadyTime { get; }
