Index: branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/IModelBacktransformator.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/IModelBacktransformator.cs	(revision 14927)
+++ branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/IModelBacktransformator.cs	(revision 14929)
@@ -21,7 +21,8 @@
 
 using System.Collections.Generic;
-
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("3f3e9de7-8d23-4612-a6ba-11debb4bc204")]
   public interface IModelBacktransformator {
     ISymbolicDataAnalysisModel Backtransform(ISymbolicDataAnalysisModel model, IEnumerable<ITransformation> transformations, string targetVariable);
Index: branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisAnalyzer.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisAnalyzer.cs	(revision 14927)
+++ branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisAnalyzer.cs	(revision 14929)
@@ -24,5 +24,8 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
+using HeuristicLab.Persistence;
+
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("e5c7806e-464f-475d-9da2-28ded3004d81")]
   public interface ISymbolicDataAnalysisAnalyzer : IAnalyzer {
     IScopeTreeLookupParameter<ISymbolicExpressionTree> SymbolicExpressionTreeParameter { get; }
Index: branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisBoundedOperator.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisBoundedOperator.cs	(revision 14927)
+++ branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisBoundedOperator.cs	(revision 14929)
@@ -21,5 +21,8 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
+
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("f8053cf9-0c1d-4bf5-a6fc-ff7f58ce1bf1")]
   public interface ISymbolicDataAnalysisBoundedOperator : IOperator {
     IValueLookupParameter<DoubleLimit> EstimationLimitsParameter { get; }
Index: branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisEvaluator.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisEvaluator.cs	(revision 14927)
+++ branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisEvaluator.cs	(revision 14929)
@@ -23,5 +23,8 @@
 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
+
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("2a821c0c-a5b6-497c-bcd1-75426320e5c7")]
   public interface ISymbolicDataAnalysisEvaluator<T> : IEvaluator
   where T : class, IDataAnalysisProblemData {
Index: branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisExpressionCrossover.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisExpressionCrossover.cs	(revision 14927)
+++ branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisExpressionCrossover.cs	(revision 14929)
@@ -23,6 +23,8 @@
 using HeuristicLab.Data;
 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("79e4cd8d-7134-4c1a-adca-66f02fa7e6f8")]
   public interface ISymbolicDataAnalysisExpressionCrossover<T> : ISymbolicExpressionTreeCrossover,
     ISymbolicExpressionTreeSizeConstraintOperator, ISymbolicDataAnalysisInterpreterOperator
Index: branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisExpressionTreeInterpreter.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisExpressionTreeInterpreter.cs	(revision 14927)
+++ branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisExpressionTreeInterpreter.cs	(revision 14929)
@@ -23,6 +23,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("18a6daff-e2a3-43c3-933b-b8b7082ebbc2")]
   public interface ISymbolicDataAnalysisExpressionTreeInterpreter : INamedItem, IStatefulItem {
     IEnumerable<double> GetSymbolicExpressionTreeValues(ISymbolicExpressionTree tree, IDataset dataset, IEnumerable<int> rows);
Index: branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisGrammar.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisGrammar.cs	(revision 14927)
+++ branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisGrammar.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("a81365cd-8355-47d4-9a64-00c9986dadfb")]
   public interface ISymbolicDataAnalysisGrammar : ISymbolicExpressionGrammar {
   }
Index: branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisImpactValuesCalculator.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisImpactValuesCalculator.cs	(revision 14927)
+++ branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisImpactValuesCalculator.cs	(revision 14929)
@@ -2,6 +2,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("9bb22454-8303-4d6e-8c4b-a42a933bc4fa")]
   public interface ISymbolicDataAnalysisSolutionImpactValuesCalculator : IItem {
     void CalculateImpactAndReplacementValues(ISymbolicDataAnalysisModel model, ISymbolicExpressionTreeNode node, IDataAnalysisProblemData problemData,
Index: branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisInterpreterOperator.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisInterpreterOperator.cs	(revision 14927)
+++ branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisInterpreterOperator.cs	(revision 14929)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("c154a54d-07b4-4f08-9d5f-a8522e847c73")]
   public interface ISymbolicDataAnalysisInterpreterOperator : IOperator {
     ILookupParameter<ISymbolicDataAnalysisExpressionTreeInterpreter> SymbolicDataAnalysisTreeInterpreterParameter { get; }
Index: branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisModel.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisModel.cs	(revision 14927)
+++ branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisModel.cs	(revision 14929)
@@ -21,5 +21,8 @@
 
 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
+using HeuristicLab.Persistence;
+
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("d4853731-e483-4cd8-8516-20154057551d")]
   public interface ISymbolicDataAnalysisModel : IDataAnalysisModel {
     ISymbolicExpressionTree SymbolicExpressionTree { get; }
Index: branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisMultiObjectiveAnalyzer.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisMultiObjectiveAnalyzer.cs	(revision 14927)
+++ branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisMultiObjectiveAnalyzer.cs	(revision 14929)
@@ -21,5 +21,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HeuristicLab.Persistence;
+
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("d3f993b1-ab3c-4fe7-94ca-1fa10fe95a6e")]
   public interface ISymbolicDataAnalysisMultiObjectiveAnalyzer : ISymbolicDataAnalysisAnalyzer {
     IScopeTreeLookupParameter<DoubleArray> QualitiesParameter { get; }
Index: branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisMultiObjectiveEvaluator.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisMultiObjectiveEvaluator.cs	(revision 14927)
+++ branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisMultiObjectiveEvaluator.cs	(revision 14929)
@@ -25,6 +25,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("b61cf100-b98b-41ae-9fd3-163fc9f2ac95")]
   public interface ISymbolicDataAnalysisMultiObjectiveEvaluator<T> : ISymbolicDataAnalysisEvaluator<T>, IMultiObjectiveEvaluator
   where T : class, IDataAnalysisProblemData {
Index: branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisProblem.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisProblem.cs	(revision 14927)
+++ branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisProblem.cs	(revision 14929)
@@ -23,6 +23,8 @@
 using HeuristicLab.Data;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("636bb3d3-5544-47cf-8219-6862a27a5abe")]
   public interface ISymbolicDataAnalysisProblem : IDataAnalysisProblem, IHeuristicOptimizationProblem {
     IValueParameter<ISymbolicDataAnalysisGrammar> SymbolicExpressionTreeGrammarParameter { get; }
@@ -47,5 +49,7 @@
   }
 
+  [StorableType("7f1f788a-725a-4a79-a2da-f2c4afe71917")]
   public interface ISymbolicDataAnalysisSingleObjectiveProblem : ISymbolicDataAnalysisProblem, ISingleObjectiveHeuristicOptimizationProblem { }
+  [StorableType("c3e98d67-972f-412d-8839-0e50c569b038")]
   public interface ISymbolicDataAnalysisMultiObjectiveProblem : ISymbolicDataAnalysisProblem, IMultiObjectiveHeuristicOptimizationProblem { }
 }
Index: branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisSingleObjectiveAnalyzer.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisSingleObjectiveAnalyzer.cs	(revision 14927)
+++ branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisSingleObjectiveAnalyzer.cs	(revision 14929)
@@ -24,5 +24,8 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
+using HeuristicLab.Persistence;
+
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("aa53b4d0-ccf6-4db4-86dc-c6e2c77b709a")]
   public interface ISymbolicDataAnalysisSingleObjectiveAnalyzer : ISymbolicDataAnalysisAnalyzer {
     IScopeTreeLookupParameter<DoubleValue> QualityParameter { get; }
Index: branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisSingleObjectiveEvaluator.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisSingleObjectiveEvaluator.cs	(revision 14927)
+++ branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisSingleObjectiveEvaluator.cs	(revision 14929)
@@ -24,5 +24,8 @@
 using System.Collections.Generic;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence;
+
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("add2c49f-dd92-47ef-88d3-a08ac7ecb639")]
   public interface ISymbolicDataAnalysisSingleObjectiveEvaluator<T> : ISymbolicDataAnalysisEvaluator<T>, ISingleObjectiveEvaluator
     where T : class, IDataAnalysisProblemData {
Index: branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisSolution.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisSolution.cs	(revision 14927)
+++ branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisSolution.cs	(revision 14929)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HeuristicLab.Persistence;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -22,4 +23,5 @@
 
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("2fc29f2b-4b62-463c-8a4f-bc8ad566ffbd")]
   public interface ISymbolicDataAnalysisSolution : IDataAnalysisSolution {
     new ISymbolicDataAnalysisModel Model { get; }
Index: branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisSolutionCreator.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisSolutionCreator.cs	(revision 14927)
+++ branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisSolutionCreator.cs	(revision 14929)
@@ -22,5 +22,8 @@
 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
 using HeuristicLab.Optimization;
+using HeuristicLab.Persistence;
+
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("7ee4dae7-848b-47dc-9d04-e95d02560f8f")]
   public interface ISymbolicDataAnalysisSolutionCreator : ISymbolicExpressionTreeCreator, ISolutionCreator {
   }
Index: branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisValidationAnalyzer.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisValidationAnalyzer.cs	(revision 14927)
+++ branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisValidationAnalyzer.cs	(revision 14929)
@@ -21,5 +21,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HeuristicLab.Persistence;
+
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("b8e8f734-2d38-457d-91c7-d41c4785da51")]
   public interface ISymbolicDataAnalysisValidationAnalyzer<T, U> : ISymbolicDataAnalysisAnalyzer, ISymbolicDataAnalysisInterpreterOperator
     where T : class, ISymbolicDataAnalysisEvaluator<U>
Index: branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/IVariableSymbol.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/IVariableSymbol.cs	(revision 14927)
+++ branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/IVariableSymbol.cs	(revision 14929)
@@ -21,4 +21,6 @@
 
 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
+using HeuristicLab.Persistence;
+
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
 
@@ -26,4 +28,5 @@
   /// Any symbol that references a variable (includes terminal as well as non-terminal symbols)
   /// </summary>
+  [StorableType("81474152-f79e-4a10-b887-b181fbf90a73")]
   public interface IVariableSymbol : ISymbol {
   }
Index: branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/IVariableTreeNode.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/IVariableTreeNode.cs	(revision 14927)
+++ branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/IVariableTreeNode.cs	(revision 14929)
@@ -21,8 +21,11 @@
 
 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
+using HeuristicLab.Persistence;
+
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
   /// <summary>
   /// Any tree node that references a variable 
   /// </summary>
+  [StorableType("b48faab3-4259-4a11-890b-0867689fc103")]
   public interface IVariableTreeNode : ISymbolicExpressionTreeNode {
     string VariableName { get; }
