Index: trunk/sources/HeuristicLab.Parameters/3.3/Parameter.cs
===================================================================
--- trunk/sources/HeuristicLab.Parameters/3.3/Parameter.cs	(revision 7259)
+++ trunk/sources/HeuristicLab.Parameters/3.3/Parameter.cs	(revision 9195)
@@ -22,5 +22,4 @@
 using System;
 using System.Drawing;
-using System.Threading;
 using HeuristicLab.Common;
 using HeuristicLab.Core;
@@ -33,5 +32,5 @@
   [Item("Parameter", "A base class for parameters.")]
   [StorableClass]
-  public abstract class Parameter : NamedItem, IParameter, IStatefulItem {
+  public abstract class Parameter : NamedItem, IParameter {
     public override Image ItemImage {
       get {
@@ -67,24 +66,7 @@
     }
 
-    private Lazy<ThreadLocal<IItem>> cachedActualValues;
     public IItem ActualValue {
-      get {
-        if (cachedActualValues.Value.Value == null) cachedActualValues.Value.Value = GetActualValue();
-        return cachedActualValues.Value.Value;
-      }
-      set {
-        cachedActualValues.Value.Value = value;
-        SetActualValue(value);
-      }
-    }
-    private Lazy<ThreadLocal<IExecutionContext>> executionContexts;
-    public IExecutionContext ExecutionContext {
-      get { return executionContexts.Value.Value; }
-      set {
-        if (value != executionContexts.Value.Value) {
-          executionContexts.Value.Value = value;
-          cachedActualValues.Value.Value = null;
-        }
-      }
+      get { return GetActualValue(); }
+      set { SetActualValue(value); }
     }
 
@@ -92,6 +74,4 @@
     protected Parameter(bool deserializing)
       : base(deserializing) {
-      cachedActualValues = new Lazy<ThreadLocal<IItem>>(() => { return new ThreadLocal<IItem>(); }, LazyThreadSafetyMode.ExecutionAndPublication);
-      executionContexts = new Lazy<ThreadLocal<IExecutionContext>>(() => { return new ThreadLocal<IExecutionContext>(); }, LazyThreadSafetyMode.ExecutionAndPublication);
     }
     protected Parameter(Parameter original, Cloner cloner)
@@ -99,6 +79,4 @@
       dataType = original.dataType;
       hidden = original.hidden;
-      cachedActualValues = new Lazy<ThreadLocal<IItem>>(() => { return new ThreadLocal<IItem>(); }, LazyThreadSafetyMode.ExecutionAndPublication);
-      executionContexts = new Lazy<ThreadLocal<IExecutionContext>>(() => { return new ThreadLocal<IExecutionContext>(); }, LazyThreadSafetyMode.ExecutionAndPublication);
     }
     protected Parameter()
@@ -106,6 +84,4 @@
       dataType = typeof(IItem);
       hidden = false;
-      cachedActualValues = new Lazy<ThreadLocal<IItem>>(() => { return new ThreadLocal<IItem>(); }, LazyThreadSafetyMode.ExecutionAndPublication);
-      executionContexts = new Lazy<ThreadLocal<IExecutionContext>>(() => { return new ThreadLocal<IExecutionContext>(); }, LazyThreadSafetyMode.ExecutionAndPublication);
     }
     protected Parameter(string name, Type dataType)
@@ -114,6 +90,4 @@
       this.dataType = dataType;
       hidden = false;
-      cachedActualValues = new Lazy<ThreadLocal<IItem>>(() => { return new ThreadLocal<IItem>(); }, LazyThreadSafetyMode.ExecutionAndPublication);
-      executionContexts = new Lazy<ThreadLocal<IExecutionContext>>(() => { return new ThreadLocal<IExecutionContext>(); }, LazyThreadSafetyMode.ExecutionAndPublication);
     }
     protected Parameter(string name, string description, Type dataType)
@@ -122,12 +96,4 @@
       this.dataType = dataType;
       hidden = false;
-      cachedActualValues = new Lazy<ThreadLocal<IItem>>(() => { return new ThreadLocal<IItem>(); }, LazyThreadSafetyMode.ExecutionAndPublication);
-      executionContexts = new Lazy<ThreadLocal<IExecutionContext>>(() => { return new ThreadLocal<IExecutionContext>(); }, LazyThreadSafetyMode.ExecutionAndPublication);
-    }
-
-    public virtual void InitializeState() { }
-    public virtual void ClearState() {
-      cachedActualValues = new Lazy<ThreadLocal<IItem>>(() => { return new ThreadLocal<IItem>(); }, LazyThreadSafetyMode.ExecutionAndPublication);
-      executionContexts = new Lazy<ThreadLocal<IExecutionContext>>(() => { return new ThreadLocal<IExecutionContext>(); }, LazyThreadSafetyMode.ExecutionAndPublication);
     }
 
