Index: /branches/CloningRefactoring/HeuristicLab.Core/3.3/Collections/ConstraintCollection.cs
===================================================================
--- /branches/CloningRefactoring/HeuristicLab.Core/3.3/Collections/ConstraintCollection.cs	(revision 4710)
+++ /branches/CloningRefactoring/HeuristicLab.Core/3.3/Collections/ConstraintCollection.cs	(revision 4711)
@@ -31,4 +31,5 @@
     protected ConstraintCollection(bool deserializing) : base(deserializing) { }
     protected ConstraintCollection(ConstraintCollection original, Cloner cloner) : base(original, cloner) { }
+    public override IDeepCloneable Clone(Cloner cloner) { return new ConstraintCollection(this, cloner); }
     public ConstraintCollection() : base() { }
     public ConstraintCollection(int capacity) : base(capacity) { }
Index: /branches/CloningRefactoring/HeuristicLab.Core/3.3/Collections/OperatorCollection.cs
===================================================================
--- /branches/CloningRefactoring/HeuristicLab.Core/3.3/Collections/OperatorCollection.cs	(revision 4710)
+++ /branches/CloningRefactoring/HeuristicLab.Core/3.3/Collections/OperatorCollection.cs	(revision 4711)
@@ -31,4 +31,5 @@
     protected OperatorCollection(bool deserializing) : base(deserializing) { }
     protected OperatorCollection(OperatorCollection original, Cloner cloner) : base(original, cloner) { }
+    public override IDeepCloneable Clone(Cloner cloner) { return new OperatorCollection(this, cloner); }
     public OperatorCollection() : base() { }
     public OperatorCollection(IEnumerable<IOperator> collection) : base(collection) { }
Index: /branches/CloningRefactoring/HeuristicLab.Core/3.3/Collections/OperatorList.cs
===================================================================
--- /branches/CloningRefactoring/HeuristicLab.Core/3.3/Collections/OperatorList.cs	(revision 4710)
+++ /branches/CloningRefactoring/HeuristicLab.Core/3.3/Collections/OperatorList.cs	(revision 4711)
@@ -31,4 +31,5 @@
     protected OperatorList(bool deserializing) : base(deserializing) { }
     protected OperatorList(OperatorList original, Cloner cloner) : base(original, cloner) { }
+    public override IDeepCloneable Clone(Cloner cloner) { return new OperatorList(this, cloner); }
     public OperatorList() : base() { }
     public OperatorList(int capacity) : base(capacity) { }
Index: /branches/CloningRefactoring/HeuristicLab.Core/3.3/Collections/OperatorSet.cs
===================================================================
--- /branches/CloningRefactoring/HeuristicLab.Core/3.3/Collections/OperatorSet.cs	(revision 4710)
+++ /branches/CloningRefactoring/HeuristicLab.Core/3.3/Collections/OperatorSet.cs	(revision 4711)
@@ -31,4 +31,5 @@
     protected OperatorSet(bool deserializing) : base(deserializing) { }
     protected OperatorSet(OperatorSet original, Cloner cloner) : base(original, cloner) { }
+    public override IDeepCloneable Clone(Cloner cloner) { return new OperatorSet(this, cloner); }
     public OperatorSet() : base() { }
     public OperatorSet(IEnumerable<IOperator> collection) : base(collection) { }
Index: /branches/CloningRefactoring/HeuristicLab.Core/3.3/Collections/ParameterCollection.cs
===================================================================
--- /branches/CloningRefactoring/HeuristicLab.Core/3.3/Collections/ParameterCollection.cs	(revision 4710)
+++ /branches/CloningRefactoring/HeuristicLab.Core/3.3/Collections/ParameterCollection.cs	(revision 4711)
@@ -31,4 +31,6 @@
     protected ParameterCollection(bool deserializing) : base(deserializing) { }
     protected ParameterCollection(ParameterCollection original, Cloner cloner) : base(original, cloner) { }
+    public override IDeepCloneable Clone(Cloner cloner) { return new ParameterCollection(this, cloner); }
+
     public ParameterCollection() : base() { }
     public ParameterCollection(int capacity) : base(capacity) { }
Index: /branches/CloningRefactoring/HeuristicLab.Core/3.3/Collections/ValueParameterCollection.cs
===================================================================
--- /branches/CloningRefactoring/HeuristicLab.Core/3.3/Collections/ValueParameterCollection.cs	(revision 4710)
+++ /branches/CloningRefactoring/HeuristicLab.Core/3.3/Collections/ValueParameterCollection.cs	(revision 4711)
@@ -31,4 +31,6 @@
     protected ValueParameterCollection(bool deserializing) : base(deserializing) { }
     protected ValueParameterCollection(ValueParameterCollection original, Cloner cloner) : base(original, cloner) { }
+    public override IDeepCloneable Clone(Cloner cloner) { return new ValueParameterCollection(this, cloner); }
+
     public ValueParameterCollection() : base() { }
     public ValueParameterCollection(int capacity) : base(capacity) { }
Index: /branches/CloningRefactoring/HeuristicLab.Core/3.3/Collections/VariableCollection.cs
===================================================================
--- /branches/CloningRefactoring/HeuristicLab.Core/3.3/Collections/VariableCollection.cs	(revision 4710)
+++ /branches/CloningRefactoring/HeuristicLab.Core/3.3/Collections/VariableCollection.cs	(revision 4711)
@@ -30,10 +30,5 @@
     [StorableConstructor]
     private VariableCollection(bool deserializing) : base(deserializing) { }
-    private VariableCollection(VariableCollection original, Cloner cloner)
-      : base(original, cloner) {
-      foreach (string key in original.dict.Keys)
-        dict.Add(key, cloner.Clone(original.dict[key]));
-      RegisterItemEvents(this);
-    }
+    private VariableCollection(VariableCollection original, Cloner cloner) : base(original, cloner) { }
     public VariableCollection() : base() { }
     public VariableCollection(int capacity) : base(capacity) { }
