Index: /branches/2883_GBTModelStorage/HeuristicLab.Algorithms.DataAnalysis/3.4/GradientBoostedTrees/GradientBoostedTreesAlgorithm.cs
===================================================================
--- /branches/2883_GBTModelStorage/HeuristicLab.Algorithms.DataAnalysis/3.4/GradientBoostedTrees/GradientBoostedTreesAlgorithm.cs	(revision 16228)
+++ /branches/2883_GBTModelStorage/HeuristicLab.Algorithms.DataAnalysis/3.4/GradientBoostedTrees/GradientBoostedTreesAlgorithm.cs	(revision 16229)
@@ -50,5 +50,5 @@
     private const string LossFunctionParameterName = "LossFunction";
     private const string UpdateIntervalParameterName = "UpdateInterval";
-    private const string CreateSolutionParameterName = "CreateSolution";
+    private const string ModelCreationParameterName = "ModelCreation";
     #endregion
 
@@ -81,6 +81,6 @@
       get { return (IFixedValueParameter<IntValue>)Parameters[UpdateIntervalParameterName]; }
     }
-    private IFixedValueParameter<EnumValue<ModelStorage>> CreateSolutionParameter {
-      get { return (IFixedValueParameter<EnumValue<ModelStorage>>)Parameters[CreateSolutionParameterName]; }
+    private IFixedValueParameter<EnumValue<ModelCreation>> ModelCreationParameter {
+      get { return (IFixedValueParameter<EnumValue<ModelCreation>>)Parameters[ModelCreationParameterName]; }
     }
     #endregion
@@ -115,7 +115,7 @@
       set { MParameter.Value.Value = value; }
     }
-    public ModelStorage CreateSolution {
-      get { return CreateSolutionParameter.Value.Value; }
-      set { CreateSolutionParameter.Value.Value = value; }
+    public ModelCreation ModelCreation {
+      get { return ModelCreationParameter.Value.Value; }
+      set { ModelCreationParameter.Value.Value = value; }
     }
     #endregion
@@ -154,6 +154,6 @@
       Parameters.Add(new FixedValueParameter<IntValue>(UpdateIntervalParameterName, "", new IntValue(100)));
       Parameters[UpdateIntervalParameterName].Hidden = true;
-      Parameters.Add(new FixedValueParameter<EnumValue<ModelStorage>>(CreateSolutionParameterName, "Flag that indicates what kind of solution should be produced at the end of the run", new EnumValue<ModelStorage>(ModelStorage.Parameter)));
-      Parameters[CreateSolutionParameterName].Hidden = true;
+      Parameters.Add(new FixedValueParameter<EnumValue<ModelCreation>>(ModelCreationParameterName, "Defines the results produced at the end of the run (Surrogate => Less disk space, lazy recalculation of model)", new EnumValue<ModelCreation>(ModelCreation.SurrogateModel)));
+      Parameters[ModelCreationParameterName].Hidden = true;
 
       var lossFunctions = ApplicationManager.Manager.GetInstances<ILossFunction>();
@@ -189,11 +189,13 @@
       #region CreateSolution
       // parameter type has been changed
-      var createSolutionParam = Parameters[CreateSolutionParameterName] as FixedValueParameter<BoolValue>;
-      if (createSolutionParam != null) {
-        Parameters.Remove(CreateSolutionParameterName);
-
-        ModelStorage value = createSolutionParam.Value.Value ? ModelStorage.Parameter : ModelStorage.Quality;
-        Parameters.Add(new FixedValueParameter<EnumValue<ModelStorage>>(CreateSolutionParameterName, "Flag that indicates what kind of solution should be produced at the end of the run", new EnumValue<ModelStorage>(value)));
-        Parameters[CreateSolutionParameterName].Hidden = true;
+      if (Parameters.ContainsKey("CreateSolution")) {
+        var createSolutionParam = Parameters["CreateSolution"] as FixedValueParameter<BoolValue>;
+        if (createSolutionParam != null) {
+          Parameters.Remove(ModelCreationParameterName);
+
+          ModelCreation value = createSolutionParam.Value.Value ? ModelCreation.SurrogateModel : ModelCreation.QualityOnly;
+          Parameters.Add(new FixedValueParameter<EnumValue<ModelCreation>>(ModelCreationParameterName, "Defines the results produced at the end of the run (Surrogate => Less disk space, lazy recalculation of model)", new EnumValue<ModelCreation>(value)));
+          Parameters[ModelCreationParameterName].Hidden = true;
+        }
       }
       #endregion
@@ -265,8 +267,8 @@
 
       // produce solution 
-      if (CreateSolution == ModelStorage.Parameter || CreateSolution == ModelStorage.Complete) {
+      if (ModelCreation == ModelCreation.SurrogateModel || ModelCreation == ModelCreation.Model) {
         IRegressionModel model = state.GetModel();
 
-        if (CreateSolution == ModelStorage.Parameter) {
+        if (ModelCreation == ModelCreation.SurrogateModel) {
           model = new GradientBoostedTreesModelSurrogate(problemData, (uint)Seed, lossFunction, Iterations, MaxSize, R, M, Nu, (GradientBoostedTreesModel)model);
         }
@@ -292,5 +294,5 @@
           Results.Add(new Result("Solution", new GradientBoostedTreesSolution(model, problemData)));
         }
-      } else if (CreateSolution == ModelStorage.Quality) {
+      } else if (ModelCreation == ModelCreation.QualityOnly) {
         //Do nothing
       } else {
Index: /branches/2883_GBTModelStorage/HeuristicLab.Algorithms.DataAnalysis/3.4/GradientBoostedTrees/ModelCreation.cs
===================================================================
--- /branches/2883_GBTModelStorage/HeuristicLab.Algorithms.DataAnalysis/3.4/GradientBoostedTrees/ModelCreation.cs	(revision 16229)
+++ /branches/2883_GBTModelStorage/HeuristicLab.Algorithms.DataAnalysis/3.4/GradientBoostedTrees/ModelCreation.cs	(revision 16229)
@@ -0,0 +1,36 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * and the BEACON Center for the Study of Evolution in Action.
+ * 
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+namespace HeuristicLab.Algorithms.DataAnalysis.GradientBoostedTrees {
+
+  /// <summary>
+  /// Defines what part of the Model should be stored.
+  /// Quality - only the resulting Quality will be stored.
+  /// Parameter - only the parameters will be stored, the models can be calculated afterwards
+  /// Complete - the complete model will be stored (consider the amount of memory needed)
+  /// </summary>
+  public enum ModelCreation {
+    QualityOnly,
+    SurrogateModel,
+    Model
+  }
+}
Index: anches/2883_GBTModelStorage/HeuristicLab.Algorithms.DataAnalysis/3.4/GradientBoostedTrees/ModelStorage.cs
===================================================================
--- /branches/2883_GBTModelStorage/HeuristicLab.Algorithms.DataAnalysis/3.4/GradientBoostedTrees/ModelStorage.cs	(revision 16228)
+++ 	(revision )
@@ -1,36 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- * and the BEACON Center for the Study of Evolution in Action.
- * 
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-namespace HeuristicLab.Algorithms.DataAnalysis.GradientBoostedTrees {
-
-  /// <summary>
-  /// Defines what part of the Model should be stored.
-  /// Quality - only the resulting Quality will be stored.
-  /// Parameter - only the parameters will be stored, the models can be calculated afterwards
-  /// Complete - the complete model will be stored (consider the amount of memory needed)
-  /// </summary>
-  public enum ModelStorage {
-    Quality,
-    Parameter,
-    Complete
-  }
-}
Index: /branches/2883_GBTModelStorage/HeuristicLab.Algorithms.DataAnalysis/3.4/HeuristicLab.Algorithms.DataAnalysis-3.4.csproj
===================================================================
--- /branches/2883_GBTModelStorage/HeuristicLab.Algorithms.DataAnalysis/3.4/HeuristicLab.Algorithms.DataAnalysis-3.4.csproj	(revision 16228)
+++ /branches/2883_GBTModelStorage/HeuristicLab.Algorithms.DataAnalysis/3.4/HeuristicLab.Algorithms.DataAnalysis-3.4.csproj	(revision 16229)
@@ -309,5 +309,5 @@
     <Compile Include="GradientBoostedTrees\LossFunctions\SquaredErrorLoss.cs" />
     <Compile Include="GradientBoostedTrees\GradientBoostedTreesSolution.cs" />
-    <Compile Include="GradientBoostedTrees\ModelStorage.cs" />
+    <Compile Include="GradientBoostedTrees\ModelCreation.cs" />
     <Compile Include="GradientBoostedTrees\RegressionTreeBuilder.cs" />
     <Compile Include="GradientBoostedTrees\RegressionTreeModel.cs" />
