Index: /branches/2883_GBTModelStorage/HeuristicLab.Algorithms.DataAnalysis/3.4/GradientBoostedTrees/GradientBoostedTreesAlgorithm.cs
===================================================================
--- /branches/2883_GBTModelStorage/HeuristicLab.Algorithms.DataAnalysis/3.4/GradientBoostedTrees/GradientBoostedTreesAlgorithm.cs	(revision 15677)
+++ /branches/2883_GBTModelStorage/HeuristicLab.Algorithms.DataAnalysis/3.4/GradientBoostedTrees/GradientBoostedTreesAlgorithm.cs	(revision 15678)
@@ -21,4 +21,5 @@
 #endregion
 
+using System;
 using System.Linq;
 using System.Threading;
@@ -284,6 +285,14 @@
 
       // produce solution 
-      if (CreateSolution == ModelStorage.Parameter) {
-        var model = state.GetModel();
+      if (CreateSolution == ModelStorage.Parameter || CreateSolution == ModelStorage.Complete) {
+        IRegressionModel model = null;
+
+        if (CreateSolution == ModelStorage.Parameter) {
+          model = state.GetModel();
+        } else if (CreateSolution == ModelStorage.Complete) {
+          //If "Complete", a deep-copy is required, so no lazy lists
+          model = state.GetModel(false);
+          (model as GradientBoostedTreesModel).IsCompatibilityLoaded = true;
+        }
 
         // for logistic regression we produce a classification solution
@@ -307,4 +316,8 @@
           Results.Add(new Result("Solution", new GradientBoostedTreesSolution(model, problemData)));
         }
+      } else if (CreateSolution == ModelStorage.Quality) {
+        //Do nothing
+      } else {
+        throw new NotImplementedException("Selected parameter for CreateSolution isn't implemented yet");
       }
     }
Index: /branches/2883_GBTModelStorage/HeuristicLab.Algorithms.DataAnalysis/3.4/GradientBoostedTrees/GradientBoostedTreesAlgorithmStatic.cs
===================================================================
--- /branches/2883_GBTModelStorage/HeuristicLab.Algorithms.DataAnalysis/3.4/GradientBoostedTrees/GradientBoostedTreesAlgorithmStatic.cs	(revision 15677)
+++ /branches/2883_GBTModelStorage/HeuristicLab.Algorithms.DataAnalysis/3.4/GradientBoostedTrees/GradientBoostedTreesAlgorithmStatic.cs	(revision 15678)
@@ -33,5 +33,5 @@
 
     public interface IGbmState {
-      IRegressionModel GetModel();
+      IRegressionModel GetModel(bool shallow = true);
       double GetTrainLoss();
       double GetTestLoss();
@@ -100,5 +100,5 @@
       }
 
-      public IRegressionModel GetModel() {
+      public IRegressionModel GetModel(bool shallow = true) {
 #pragma warning disable 618
         var model = new GradientBoostedTreesModel(models, weights);
@@ -107,5 +107,9 @@
         // to the number of iterations + 1 (for the constant model)
         // wrap the actual model in a surrogate that enables persistence and lazy recalculation of the model if necessary
-        return new GradientBoostedTreesModelSurrogate(problemData, randSeed, lossFunction, weights.Count - 1, maxSize, r, m, nu, model);
+        if (shallow) {
+          return new GradientBoostedTreesModelSurrogate(problemData, randSeed, lossFunction, weights.Count - 1, maxSize, r, m, nu, model);
+        } else {
+          return model;
+        }
       }
       public IEnumerable<KeyValuePair<string, double>> GetVariableRelevance() {
Index: /branches/2883_GBTModelStorage/HeuristicLab.Algorithms.DataAnalysis/3.4/GradientBoostedTrees/GradientBoostedTreesModel.cs
===================================================================
--- /branches/2883_GBTModelStorage/HeuristicLab.Algorithms.DataAnalysis/3.4/GradientBoostedTrees/GradientBoostedTreesModel.cs	(revision 15677)
+++ /branches/2883_GBTModelStorage/HeuristicLab.Algorithms.DataAnalysis/3.4/GradientBoostedTrees/GradientBoostedTreesModel.cs	(revision 15678)
@@ -37,4 +37,5 @@
     #region Backwards compatible code, remove with 3.5
     private bool isCompatibilityLoaded = false; // only set to true if the model is deserialized from the old format, needed to make sure that information is serialized again if it was loaded from the old format
+    internal bool IsCompatibilityLoaded { get { return this.isCompatibilityLoaded; } set { this.isCompatibilityLoaded = value; } }
 
     [Storable(Name = "models")]
Index: /branches/2883_GBTModelStorage/HeuristicLab.Algorithms.DataAnalysis/3.4/Plugin.cs
===================================================================
--- /branches/2883_GBTModelStorage/HeuristicLab.Algorithms.DataAnalysis/3.4/Plugin.cs	(revision 15677)
+++ /branches/2883_GBTModelStorage/HeuristicLab.Algorithms.DataAnalysis/3.4/Plugin.cs	(revision 15678)
@@ -26,5 +26,5 @@
   /// Plugin class for HeuristicLab.Algorithms.DataAnalysis plugin.
   /// </summary>
-  [Plugin("HeuristicLab.Algorithms.DataAnalysis", "Provides wrappers for data analysis algorithms implemented in external libraries (linear regression, linear discriminant analysis, k-means clustering, support vector classification and regression)", "3.4.11.15670")]
+  [Plugin("HeuristicLab.Algorithms.DataAnalysis", "Provides wrappers for data analysis algorithms implemented in external libraries (linear regression, linear discriminant analysis, k-means clustering, support vector classification and regression)", "3.4.11.15675")]
   [PluginFile("HeuristicLab.Algorithms.DataAnalysis-3.4.dll", PluginFileType.Assembly)]
   [PluginDependency("HeuristicLab.ALGLIB", "3.7.0")]
