Index: /branches/2521_ProblemRefactoring/HeuristicLab.Algorithms.DataAnalysis/3.4/GaussianProcess/GaussianProcessCovarianceOptimizationProblem.cs
===================================================================
--- /branches/2521_ProblemRefactoring/HeuristicLab.Algorithms.DataAnalysis/3.4/GaussianProcess/GaussianProcessCovarianceOptimizationProblem.cs	(revision 17519)
+++ /branches/2521_ProblemRefactoring/HeuristicLab.Algorithms.DataAnalysis/3.4/GaussianProcess/GaussianProcessCovarianceOptimizationProblem.cs	(revision 17520)
@@ -104,6 +104,4 @@
 
     #region Parameter Properties
-    IParameter IDataAnalysisProblem.ProblemDataParameter { get { return ProblemDataParameter; } }
-
     public IValueParameter<IRegressionProblemData> ProblemDataParameter {
       get { return (IValueParameter<IRegressionProblemData>)Parameters[ProblemDataParameterName]; }
Index: /branches/2521_ProblemRefactoring/HeuristicLab.DataPreprocessing/3.4/HeuristicLab.DataPreprocessing-3.4.csproj
===================================================================
--- /branches/2521_ProblemRefactoring/HeuristicLab.DataPreprocessing/3.4/HeuristicLab.DataPreprocessing-3.4.csproj	(revision 17519)
+++ /branches/2521_ProblemRefactoring/HeuristicLab.DataPreprocessing/3.4/HeuristicLab.DataPreprocessing-3.4.csproj	(revision 17520)
@@ -73,4 +73,5 @@
   </PropertyGroup>
   <ItemGroup>
+    <Reference Include="Microsoft.CSharp" />
     <Reference Include="System" />
     <Reference Include="System.Core" />
Index: /branches/2521_ProblemRefactoring/HeuristicLab.DataPreprocessing/3.4/PreprocessingContext.cs
===================================================================
--- /branches/2521_ProblemRefactoring/HeuristicLab.DataPreprocessing/3.4/PreprocessingContext.cs	(revision 17519)
+++ /branches/2521_ProblemRefactoring/HeuristicLab.DataPreprocessing/3.4/PreprocessingContext.cs	(revision 17520)
@@ -111,11 +111,11 @@
       preprocessedAlgorithm.Name = preprocessedAlgorithm.Name + "(Preprocessed)";
       preprocessedAlgorithm.Runs.Clear();
-      var problem = (IDataAnalysisProblem)preprocessedAlgorithm.Problem;
-      problem.ProblemDataParameter.ActualValue = CreateNewProblemData();
+      dynamic problem = preprocessedAlgorithm.Problem;
+      problem.ProblemData = (dynamic) CreateNewProblemData();
       return preprocessedAlgorithm;
     }
     private IDataAnalysisProblem ExportProblem(IDataAnalysisProblem source) {
-      var preprocessedProblem = (IDataAnalysisProblem)source.Clone();
-      preprocessedProblem.ProblemDataParameter.ActualValue = CreateNewProblemData();
+      dynamic preprocessedProblem = (IDataAnalysisProblem)source.Clone();
+      preprocessedProblem.ProblemData = (dynamic)CreateNewProblemData();
       return preprocessedProblem;
     }
Index: /branches/2521_ProblemRefactoring/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/SymbolicExpressionTreeProblem.cs
===================================================================
--- /branches/2521_ProblemRefactoring/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/SymbolicExpressionTreeProblem.cs	(revision 17519)
+++ /branches/2521_ProblemRefactoring/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/SymbolicExpressionTreeProblem.cs	(revision 17520)
@@ -46,4 +46,5 @@
     }
 
+    protected SymbolicExpressionTreeProblem() : this(new SymbolicExpressionTreeEncoding()) { }    
     protected SymbolicExpressionTreeProblem(SymbolicExpressionTreeEncoding encoding)
       : base(encoding) {
Index: /branches/2521_ProblemRefactoring/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/SingleObjective/SymbolicRegressionSingleObjectiveProblem.cs
===================================================================
--- /branches/2521_ProblemRefactoring/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/SingleObjective/SymbolicRegressionSingleObjectiveProblem.cs	(revision 17519)
+++ /branches/2521_ProblemRefactoring/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/SingleObjective/SymbolicRegressionSingleObjectiveProblem.cs	(revision 17520)
@@ -21,9 +21,9 @@
 
 using System.Linq;
+using HEAL.Attic;
 using HeuristicLab.Common;
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HEAL.Attic;
 
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic.Regression {
Index: /branches/2521_ProblemRefactoring/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/SymbolicDataAnalysisProblem.cs
===================================================================
--- /branches/2521_ProblemRefactoring/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/SymbolicDataAnalysisProblem.cs	(revision 17519)
+++ /branches/2521_ProblemRefactoring/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/SymbolicDataAnalysisProblem.cs	(revision 17520)
@@ -70,7 +70,4 @@
 
     #region parameter properties
-    IParameter IDataAnalysisProblem.ProblemDataParameter {
-      get { return ProblemDataParameter; }
-    }
     public IValueParameter<T> ProblemDataParameter {
       get { return (IValueParameter<T>)Parameters[ProblemDataParameterName]; }
Index: /branches/2521_ProblemRefactoring/HeuristicLab.Problems.DataAnalysis.Views/3.4/HeuristicLab.Problems.DataAnalysis.Views-3.4.csproj
===================================================================
--- /branches/2521_ProblemRefactoring/HeuristicLab.Problems.DataAnalysis.Views/3.4/HeuristicLab.Problems.DataAnalysis.Views-3.4.csproj	(revision 17519)
+++ /branches/2521_ProblemRefactoring/HeuristicLab.Problems.DataAnalysis.Views/3.4/HeuristicLab.Problems.DataAnalysis.Views-3.4.csproj	(revision 17520)
@@ -103,4 +103,5 @@
       <Private>False</Private>
     </Reference>
+    <Reference Include="Microsoft.CSharp" />
     <Reference Include="System" />
     <Reference Include="System.Core">
Index: /branches/2521_ProblemRefactoring/HeuristicLab.Problems.DataAnalysis.Views/3.4/MenuItems/ChangeDataOfOptimizersMenuItem.cs
===================================================================
--- /branches/2521_ProblemRefactoring/HeuristicLab.Problems.DataAnalysis.Views/3.4/MenuItems/ChangeDataOfOptimizersMenuItem.cs	(revision 17519)
+++ /branches/2521_ProblemRefactoring/HeuristicLab.Problems.DataAnalysis.Views/3.4/MenuItems/ChangeDataOfOptimizersMenuItem.cs	(revision 17520)
@@ -109,6 +109,6 @@
       if (problemData == null) throw new ArgumentNullException("problemData");
 
-      var problem = algorithm.Problem as IDataAnalysisProblem;
-      if (problem != null) problem.ProblemDataParameter.ActualValue = problemData;
+      dynamic problem = algorithm.Problem;
+      problem.ProblemData = (dynamic) problemData;
     }
   }
Index: /branches/2521_ProblemRefactoring/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/DataAnalysisProblem.cs
===================================================================
--- /branches/2521_ProblemRefactoring/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/DataAnalysisProblem.cs	(revision 17519)
+++ /branches/2521_ProblemRefactoring/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/DataAnalysisProblem.cs	(revision 17520)
@@ -21,9 +21,9 @@
 
 using System;
+using HEAL.Attic;
 using HeuristicLab.Common;
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HEAL.Attic;
 using HeuristicLab.Problems.Instances;
 
@@ -36,7 +36,4 @@
     private const string ProblemDataParameterDescription = "The data set, target variable and input variables of the data analysis problem.";
     #region parameter properties
-    IParameter IDataAnalysisProblem.ProblemDataParameter {
-      get { return ProblemDataParameter; }
-    }
     public IValueParameter<T> ProblemDataParameter {
       get { return (IValueParameter<T>)Parameters[ProblemDataParameterName]; }
Index: /branches/2521_ProblemRefactoring/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/IDataAnalysisProblem.cs
===================================================================
--- /branches/2521_ProblemRefactoring/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/IDataAnalysisProblem.cs	(revision 17519)
+++ /branches/2521_ProblemRefactoring/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/IDataAnalysisProblem.cs	(revision 17520)
@@ -29,5 +29,4 @@
   [StorableType("74e4c570-3881-4bfa-a5bb-2bb71cdee2b3")]
   public interface IDataAnalysisProblem : IProblem {
-    IParameter ProblemDataParameter { get; }
     IDataAnalysisProblemData ProblemData { get; }
     event EventHandler ProblemDataChanged;
@@ -37,5 +36,5 @@
   public interface IDataAnalysisProblem<T> : IDataAnalysisProblem
   where T : class, IDataAnalysisProblemData {
-    new IValueParameter<T> ProblemDataParameter { get; }
+    IValueParameter<T> ProblemDataParameter { get; }
     new T ProblemData { get; set; }
   }
Index: /branches/2521_ProblemRefactoring/HeuristicLab.Problems.GeneticProgramming/3.3/BasicSymbolicRegression/Problem.cs
===================================================================
--- /branches/2521_ProblemRefactoring/HeuristicLab.Problems.GeneticProgramming/3.3/BasicSymbolicRegression/Problem.cs	(revision 17519)
+++ /branches/2521_ProblemRefactoring/HeuristicLab.Problems.GeneticProgramming/3.3/BasicSymbolicRegression/Problem.cs	(revision 17520)
@@ -45,6 +45,4 @@
 
     #region Parameter Properties
-    IParameter IDataAnalysisProblem.ProblemDataParameter { get { return ProblemDataParameter; } }
-
     public IValueParameter<IRegressionProblemData> ProblemDataParameter {
       get { return (IValueParameter<IRegressionProblemData>)Parameters[ProblemDataParameterName]; }
Index: /branches/2521_ProblemRefactoring/HeuristicLab.Problems.GrammaticalEvolution/3.4/SymbolicRegression/GESymbolicDataAnalysisProblem.cs
===================================================================
--- /branches/2521_ProblemRefactoring/HeuristicLab.Problems.GrammaticalEvolution/3.4/SymbolicRegression/GESymbolicDataAnalysisProblem.cs	(revision 17519)
+++ /branches/2521_ProblemRefactoring/HeuristicLab.Problems.GrammaticalEvolution/3.4/SymbolicRegression/GESymbolicDataAnalysisProblem.cs	(revision 17520)
@@ -74,7 +74,4 @@
 
     #region parameter properties
-    IParameter IDataAnalysisProblem.ProblemDataParameter {
-      get { return ProblemDataParameter; }
-    }
     public IValueParameter<T> ProblemDataParameter {
       get { return (IValueParameter<T>)Parameters[ProblemDataParameterName]; }
