Index: branches/TerminationCriteria/HeuristicLab.Termination/3.3/ComparisonTerminator.cs
===================================================================
--- branches/TerminationCriteria/HeuristicLab.Termination/3.3/ComparisonTerminator.cs	(revision 12415)
+++ branches/TerminationCriteria/HeuristicLab.Termination/3.3/ComparisonTerminator.cs	(revision 12436)
@@ -79,13 +79,14 @@
     }
 
+    protected override bool CheckContinueCriterion() {
+      IComparable lhs = ComparisonValueParameter.ActualValue;
+      IComparable rhs = ThresholdParameter.Value;
+
+      return Comparison.Compare(lhs, rhs);
+    }
+
     private void Initialize() {
       ComparisonParameter.Value.ValueChanged += new EventHandler(Comparison_ValueChanged);
     }
-
-    public override void CollectParameterValues(IDictionary<string, IItem> values) {
-      base.CollectParameterValues(values);
-      values.Add(ComparisonValueParameter.Name, new StringValue(ComparisonValueParameter.ActualName));
-    }
-
     private void Comparison_ValueChanged(object sender, EventArgs e) {
       OnComparisonChanged();
@@ -95,9 +96,7 @@
     }
 
-    protected override bool CheckContinueCriterion() {
-      IComparable lhs = ComparisonValueParameter.ActualValue;
-      IComparable rhs = ThresholdParameter.Value;
-
-      return Comparison.Compare(lhs, rhs);
+    public override void CollectParameterValues(IDictionary<string, IItem> values) {
+      base.CollectParameterValues(values);
+      values.Add(ComparisonValueParameter.Name, new StringValue(ComparisonValueParameter.ActualName));
     }
 
Index: branches/TerminationCriteria/HeuristicLab.Termination/3.3/ExecutionTimeTerminator.cs
===================================================================
--- branches/TerminationCriteria/HeuristicLab.Termination/3.3/ExecutionTimeTerminator.cs	(revision 12415)
+++ branches/TerminationCriteria/HeuristicLab.Termination/3.3/ExecutionTimeTerminator.cs	(revision 12436)
@@ -53,5 +53,4 @@
     protected override bool CheckContinueCriterion() {
       var max = ThresholdParameter.Value.Value;
-
       return executable.ExecutionTime < max;
     }
Index: branches/TerminationCriteria/HeuristicLab.Termination/3.3/MultiTerminator.cs
===================================================================
--- branches/TerminationCriteria/HeuristicLab.Termination/3.3/MultiTerminator.cs	(revision 12415)
+++ branches/TerminationCriteria/HeuristicLab.Termination/3.3/MultiTerminator.cs	(revision 12436)
@@ -37,10 +37,4 @@
     public static new Image StaticItemImage {
       get { return HeuristicLab.Common.Resources.VSImageLibrary.FlagRed; }
-    }
-    public override Image ItemImage {
-      get {
-        if (Breakpoint) return HeuristicLab.Common.Resources.VSImageLibrary.BreakpointActive;
-        else return base.ItemImage;
-      }
     }
 
Index: branches/TerminationCriteria/HeuristicLab.Termination/3.3/SingleObjectiveQualityTerminator.cs
===================================================================
--- branches/TerminationCriteria/HeuristicLab.Termination/3.3/SingleObjectiveQualityTerminator.cs	(revision 12415)
+++ branches/TerminationCriteria/HeuristicLab.Termination/3.3/SingleObjectiveQualityTerminator.cs	(revision 12436)
@@ -31,11 +31,11 @@
     public void Parameterize(IParameter qualityParameter, ISingleObjectiveHeuristicOptimizationProblem problem) {
       ComparisonValueParameter.ActualName = qualityParameter.Name;
-      if (problem != null) {
-        var maximizationParameter = (IValueParameter<BoolValue>)problem.MaximizationParameter;
-        if (maximizationParameter != null) {
-          bool maximization = maximizationParameter.Value.Value;
-          Comparison = maximization ? ComparisonType.Less : ComparisonType.Greater;
-          Threshold.Value = maximization ? double.MaxValue : double.MinValue;
-        }
+      if (problem == null) return;
+
+      var maximizationParameter = (IValueParameter<BoolValue>)problem.MaximizationParameter;
+      if (maximizationParameter != null) {
+        bool maximization = maximizationParameter.Value.Value;
+        Comparison = maximization ? ComparisonType.Less : ComparisonType.Greater;
+        Threshold.Value = maximization ? double.MaxValue : double.MinValue;
       }
     }
Index: branches/TerminationCriteria/HeuristicLab.Termination/3.3/Terminator.cs
===================================================================
--- branches/TerminationCriteria/HeuristicLab.Termination/3.3/Terminator.cs	(revision 12415)
+++ branches/TerminationCriteria/HeuristicLab.Termination/3.3/Terminator.cs	(revision 12436)
@@ -53,5 +53,5 @@
       if (!TerminateParameter.ActualValue.Value) { // If terminate flag is already set, no need to check further termination criteria.
         bool terminate = !CheckContinueCriterion();
-        TerminateParameter.ActualValue = new BoolValue(terminate);
+        TerminateParameter.ActualValue.Value = terminate;
       }
       return base.Apply();
Index: branches/TerminationCriteria/HeuristicLab.Termination/3.3/ThresholdTerminator.cs
===================================================================
--- branches/TerminationCriteria/HeuristicLab.Termination/3.3/ThresholdTerminator.cs	(revision 12415)
+++ branches/TerminationCriteria/HeuristicLab.Termination/3.3/ThresholdTerminator.cs	(revision 12436)
@@ -31,4 +31,7 @@
   [StorableClass]
   public abstract class ThresholdTerminator<T> : Terminator, ISingleValueTerminator where T : class, IItem, IStringConvertibleValue, new() {
+    IParameter ISingleValueTerminator.SingleValueParameter {
+      get { return ThresholdParameter; }
+    }
     [Storable]
     private IFixedValueParameter<T> thresholdParameter;
@@ -45,7 +48,4 @@
         OnThresholdParameterChanged();
       }
-    }
-    IParameter ISingleValueTerminator.SingleValueParameter {
-      get { return ThresholdParameter; }
     }
 
@@ -78,4 +78,10 @@
       RegisterThresholdParameterEvents();
     }
+    private void RegisterThresholdParameterEvents() {
+      Threshold.ValueChanged += new EventHandler(Threshold_ValueChanged);
+    }
+    private void OnThresholdParameterChanged() {
+      RegisterThresholdParameterEvents();
+    }
 
     private void Threshold_ValueChanged(object sender, EventArgs e) {
@@ -86,12 +92,4 @@
     }
 
-    private void OnThresholdParameterChanged() {
-      RegisterThresholdParameterEvents();
-    }
-
-    private void RegisterThresholdParameterEvents() {
-      Threshold.ValueChanged += new EventHandler(Threshold_ValueChanged);
-    }
-
     public override string ToString() {
       if (ThresholdParameter.Value == null) return Name;
