Index: branches/2457_ExpertSystem/HeuristicLab.Optimization/3.3/Problems/Problem.cs
===================================================================
--- branches/2457_ExpertSystem/HeuristicLab.Optimization/3.3/Problems/Problem.cs	(revision 16075)
+++ branches/2457_ExpertSystem/HeuristicLab.Optimization/3.3/Problems/Problem.cs	(revision 16956)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -23,4 +23,5 @@
 using System.Collections.Generic;
 using System.Drawing;
+using HEAL.Attic;
 using HeuristicLab.Collections;
 using HeuristicLab.Common;
@@ -28,9 +29,8 @@
 using HeuristicLab.Data;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
 
 namespace HeuristicLab.Optimization {
   [Item("Problem", "Represents the base class for a problem.")]
-  [StorableClass]
+  [StorableType("6DC97432-9BD1-4304-802A-1FC48A0E0468")]
   public abstract class Problem : ParameterizedNamedItem, IProblem {
     private const string OperatorsParameterName = "Operators";
@@ -44,5 +44,5 @@
 
     [StorableConstructor]
-    protected Problem(bool deserializing) : base(deserializing) { }
+    protected Problem(StorableConstructorFlag _) : base(_) { }
     protected Problem(Problem original, Cloner cloner)
       : base(original, cloner) {
@@ -52,5 +52,5 @@
     protected Problem()
       : base() {
-      Parameters.Add(new FixedValueParameter<ItemCollection<IItem>>(OperatorsParameterName, "The operators and items that the problem provides to the algorithms.", new ItemCollection<IItem>(), false));
+      Parameters.Add(new FixedValueParameter<ItemCollection<IItem>>(OperatorsParameterName, "The operators and items that the problem provides to the algorithms.", new ItemCollection<IItem>()) { GetsCollected = false });
       OperatorsParameter.Hidden = true;
       RegisterEventHandlers();
@@ -66,5 +66,5 @@
         if (operators != null) {
           Parameters.Remove(OperatorsParameterName);
-          Parameters.Add(new FixedValueParameter<ItemCollection<IItem>>(OperatorsParameterName, "The operators and items that the problem provides to the algorithms.", new ItemCollection<IItem>(operators), false));
+          Parameters.Add(new FixedValueParameter<ItemCollection<IItem>>(OperatorsParameterName, "The operators and items that the problem provides to the algorithms.", new ItemCollection<IItem>(operators)) { GetsCollected = false });
           OperatorsParameter.Hidden = true;
         }
@@ -84,5 +84,5 @@
     // BackwardsCompatibility3.3
     #region Backwards compatible code, remove with 3.4
-    [Storable(Name = "Operators", AllowOneWay = true)]
+    [Storable(OldName = "Operators")]
     private IEnumerable<IOperator> StorableOperators {
       set {
@@ -95,5 +95,5 @@
         //necessary to convert old experiments files where no parameter was used for saving the operators
         if (!Parameters.ContainsKey(OperatorsParameterName)) {
-          Parameters.Add(new FixedValueParameter<ItemCollection<IItem>>(OperatorsParameterName, "The operators and items that the problem provides to the algorithms.", new ItemCollection<IItem>(), false));
+          Parameters.Add(new FixedValueParameter<ItemCollection<IItem>>(OperatorsParameterName, "The operators and items that the problem provides to the algorithms.", new ItemCollection<IItem>()) { GetsCollected = false });
           OperatorsParameter.Hidden = true;
         }
@@ -107,5 +107,5 @@
         #region Backwards compatible code, remove with 3.4
         if (!Parameters.ContainsKey(OperatorsParameterName)) {
-          Parameters.Add(new FixedValueParameter<ItemCollection<IItem>>(OperatorsParameterName, "The operators and items that the problem provides to the algorithms.", new ItemCollection<IItem>(), false));
+          Parameters.Add(new FixedValueParameter<ItemCollection<IItem>>(OperatorsParameterName, "The operators and items that the problem provides to the algorithms.", new ItemCollection<IItem>()) { GetsCollected = false });
           OperatorsParameter.Hidden = true;
         }
