Index: /branches/histogram/HeuristicLab.Algorithms.GeneticAlgorithm/3.3/GeneticAlgorithm.cs
===================================================================
--- /branches/histogram/HeuristicLab.Algorithms.GeneticAlgorithm/3.3/GeneticAlgorithm.cs	(revision 6054)
+++ /branches/histogram/HeuristicLab.Algorithms.GeneticAlgorithm/3.3/GeneticAlgorithm.cs	(revision 6055)
@@ -305,6 +305,9 @@
     }
     private void ParameterizeStochasticOperator(IOperator op) {
-      if (op is IStochasticOperator)
-        ((IStochasticOperator)op).RandomParameter.ActualName = RandomCreator.RandomParameter.ActualName;
+      IStochasticOperator stochasticOp = op as IStochasticOperator;
+      if (stochasticOp != null) {
+        stochasticOp.RandomParameter.ActualName = RandomCreator.RandomParameter.ActualName;
+        stochasticOp.RandomParameter.Hidden = true;
+      }
     }
     private void ParameterizeSelectors() {
@@ -312,4 +315,5 @@
         selector.CopySelected = new BoolValue(true);
         selector.NumberOfSelectedSubScopesParameter.Value = new IntValue(2 * (PopulationSizeParameter.Value.Value - ElitesParameter.Value.Value));
+        selector.NumberOfSelectedSubScopesParameter.Hidden = true;
         ParameterizeStochasticOperator(selector);
       }
@@ -317,5 +321,7 @@
         foreach (ISingleObjectiveSelector selector in SelectorParameter.ValidValues.OfType<ISingleObjectiveSelector>()) {
           selector.MaximizationParameter.ActualName = Problem.MaximizationParameter.Name;
+          selector.MaximizationParameter.Hidden = true;
           selector.QualityParameter.ActualName = Problem.Evaluator.QualityParameter.ActualName;
+          selector.QualityParameter.Hidden = true;
         }
       }
@@ -323,9 +329,13 @@
     private void ParameterizeAnalyzers() {
       qualityAnalyzer.ResultsParameter.ActualName = "Results";
+      qualityAnalyzer.ResultsParameter.Hidden = true;
       if (Problem != null) {
         qualityAnalyzer.MaximizationParameter.ActualName = Problem.MaximizationParameter.Name;
+        qualityAnalyzer.MaximizationParameter.Hidden = true;
         qualityAnalyzer.QualityParameter.ActualName = Problem.Evaluator.QualityParameter.ActualName;
         qualityAnalyzer.QualityParameter.Depth = 1;
+        qualityAnalyzer.QualityParameter.Hidden = true;
         qualityAnalyzer.BestKnownQualityParameter.ActualName = Problem.BestKnownQualityParameter.Name;
+        qualityAnalyzer.BestKnownQualityParameter.Hidden = true;
       }
     }
@@ -334,5 +344,7 @@
         foreach (IIterationBasedOperator op in Problem.Operators.OfType<IIterationBasedOperator>()) {
           op.IterationsParameter.ActualName = "Generations";
+          op.IterationsParameter.Hidden = true;
           op.MaximumIterationsParameter.ActualName = "MaximumGenerations";
+          op.MaximumIterationsParameter.Hidden = true;
         }
       }
Index: /branches/histogram/HeuristicLab.Algorithms.GeneticAlgorithm/3.3/IslandGeneticAlgorithm.cs
===================================================================
--- /branches/histogram/HeuristicLab.Algorithms.GeneticAlgorithm/3.3/IslandGeneticAlgorithm.cs	(revision 6054)
+++ /branches/histogram/HeuristicLab.Algorithms.GeneticAlgorithm/3.3/IslandGeneticAlgorithm.cs	(revision 6055)
@@ -410,6 +410,9 @@
     }
     private void ParameterizeStochasticOperator(IOperator op) {
-      if (op is IStochasticOperator)
-        ((IStochasticOperator)op).RandomParameter.ActualName = RandomCreator.RandomParameter.ActualName;
+      IStochasticOperator stochasticOp = op as IStochasticOperator;
+      if (stochasticOp != null) {
+        stochasticOp.RandomParameter.ActualName = RandomCreator.RandomParameter.ActualName;
+        stochasticOp.RandomParameter.Hidden = true;
+      }
     }
     private void ParameterizeSelectors() {
@@ -417,4 +420,5 @@
         selector.CopySelected = new BoolValue(true);
         selector.NumberOfSelectedSubScopesParameter.Value = new IntValue(2 * (PopulationSize.Value - Elites.Value));
+        selector.NumberOfSelectedSubScopesParameter.Hidden = true;
         ParameterizeStochasticOperator(selector);
       }
@@ -422,4 +426,5 @@
         selector.CopySelected = new BoolValue(true);
         selector.NumberOfSelectedSubScopesParameter.Value = new IntValue((int)Math.Ceiling(PopulationSize.Value * MigrationRate.Value));
+        selector.NumberOfSelectedSubScopesParameter.Hidden = true;
         ParameterizeStochasticOperator(selector);
       }
@@ -430,13 +435,19 @@
         foreach (ISingleObjectiveSelector selector in SelectorParameter.ValidValues.OfType<ISingleObjectiveSelector>()) {
           selector.MaximizationParameter.ActualName = Problem.MaximizationParameter.Name;
+          selector.MaximizationParameter.Hidden = true;
           selector.QualityParameter.ActualName = Problem.Evaluator.QualityParameter.ActualName;
+          selector.QualityParameter.Hidden = true;
         }
         foreach (ISingleObjectiveSelector selector in EmigrantsSelectorParameter.ValidValues.OfType<ISingleObjectiveSelector>()) {
           selector.MaximizationParameter.ActualName = Problem.MaximizationParameter.Name;
+          selector.MaximizationParameter.Hidden = true;
           selector.QualityParameter.ActualName = Problem.Evaluator.QualityParameter.ActualName;
+          selector.QualityParameter.Hidden = true;
         }
         foreach (ISingleObjectiveReplacer selector in ImmigrationReplacerParameter.ValidValues.OfType<ISingleObjectiveReplacer>()) {
           selector.MaximizationParameter.ActualName = Problem.MaximizationParameter.Name;
+          selector.MaximizationParameter.Hidden = true;
           selector.QualityParameter.ActualName = Problem.Evaluator.QualityParameter.ActualName;
+          selector.QualityParameter.Hidden = true;
         }
       }
@@ -444,15 +455,23 @@
     private void ParameterizeAnalyzers() {
       islandQualityAnalyzer.ResultsParameter.ActualName = "Results";
+      islandQualityAnalyzer.ResultsParameter.Hidden = true;
       islandQualityAnalyzer.QualityParameter.Depth = 1;
       qualityAnalyzer.ResultsParameter.ActualName = "Results";
+      qualityAnalyzer.ResultsParameter.Hidden = true;
       qualityAnalyzer.QualityParameter.Depth = 2;
 
       if (Problem != null) {
         islandQualityAnalyzer.MaximizationParameter.ActualName = Problem.MaximizationParameter.Name;
+        islandQualityAnalyzer.MaximizationParameter.Hidden = true;
         islandQualityAnalyzer.QualityParameter.ActualName = Problem.Evaluator.QualityParameter.ActualName;
+        islandQualityAnalyzer.QualityParameter.Hidden = true;
         islandQualityAnalyzer.BestKnownQualityParameter.ActualName = Problem.BestKnownQualityParameter.Name;
+        islandQualityAnalyzer.BestKnownQualityParameter.Hidden = true;
         qualityAnalyzer.MaximizationParameter.ActualName = Problem.MaximizationParameter.Name;
+        qualityAnalyzer.MaximizationParameter.Hidden = true;
         qualityAnalyzer.QualityParameter.ActualName = Problem.Evaluator.QualityParameter.ActualName;
+        qualityAnalyzer.QualityParameter.Hidden = true;
         qualityAnalyzer.BestKnownQualityParameter.ActualName = Problem.BestKnownQualityParameter.Name;
+        qualityAnalyzer.BestKnownQualityParameter.Hidden = true;
       }
     }
@@ -461,5 +480,7 @@
         foreach (IIterationBasedOperator op in Problem.Operators.OfType<IIterationBasedOperator>()) {
           op.IterationsParameter.ActualName = "Generations";
+          op.IterationsParameter.Hidden = true;
           op.MaximumIterationsParameter.ActualName = "MaximumGenerations";
+          op.MaximumIterationsParameter.Hidden = true;
         }
       }
Index: /branches/histogram/HeuristicLab.Algorithms.LocalSearch/3.3/LocalSearch.cs
===================================================================
--- /branches/histogram/HeuristicLab.Algorithms.LocalSearch/3.3/LocalSearch.cs	(revision 6054)
+++ /branches/histogram/HeuristicLab.Algorithms.LocalSearch/3.3/LocalSearch.cs	(revision 6055)
@@ -349,18 +349,25 @@
     }
     private void ParameterizeMainLoop() {
-      MainLoop.BestKnownQualityParameter.ActualName = Problem.BestKnownQualityParameter.Name;
-      MainLoop.MaximizationParameter.ActualName = Problem.MaximizationParameter.Name;
-      MainLoop.QualityParameter.ActualName = Problem.Evaluator.QualityParameter.ActualName;
+      if (Problem != null) {
+        MainLoop.BestKnownQualityParameter.ActualName = Problem.BestKnownQualityParameter.Name;
+        MainLoop.MaximizationParameter.ActualName = Problem.MaximizationParameter.Name;
+        MainLoop.QualityParameter.ActualName = Problem.Evaluator.QualityParameter.ActualName;
+      }
       if (MoveEvaluator != null)
         MainLoop.MoveQualityParameter.ActualName = MoveEvaluator.MoveQualityParameter.ActualName;
     }
     private void ParameterizeStochasticOperator(IOperator op) {
-      if (op is IStochasticOperator)
-        ((IStochasticOperator)op).RandomParameter.ActualName = RandomCreator.RandomParameter.ActualName;
+      if (op is IStochasticOperator) {
+        IStochasticOperator stOp = (IStochasticOperator)op;
+        stOp.RandomParameter.ActualName = RandomCreator.RandomParameter.ActualName;
+        stOp.RandomParameter.Hidden = true;
+      }
     }
     private void ParameterizeMoveGenerators() {
       if (Problem != null) {
-        foreach (IMultiMoveGenerator generator in Problem.Operators.OfType<IMultiMoveGenerator>())
+        foreach (IMultiMoveGenerator generator in Problem.Operators.OfType<IMultiMoveGenerator>()) {
           generator.SampleSizeParameter.ActualName = SampleSizeParameter.Name;
+          generator.SampleSizeParameter.Hidden = true;
+        }
       }
     }
@@ -368,4 +375,5 @@
       foreach (ISingleObjectiveMoveEvaluator op in Problem.Operators.OfType<ISingleObjectiveMoveEvaluator>()) {
         op.QualityParameter.ActualName = Problem.Evaluator.QualityParameter.ActualName;
+        op.QualityParameter.Hidden = true;
       }
     }
@@ -373,15 +381,28 @@
       foreach (IMoveMaker op in Problem.Operators.OfType<IMoveMaker>()) {
         op.QualityParameter.ActualName = Problem.Evaluator.QualityParameter.ActualName;
-        if (MoveEvaluator != null)
+        op.QualityParameter.Hidden = true;
+        if (MoveEvaluator != null) {
           op.MoveQualityParameter.ActualName = MoveEvaluator.MoveQualityParameter.ActualName;
+          op.MoveQualityParameter.Hidden = true;
+        } else {
+          op.MoveQualityParameter.Hidden = false;
+        }
       }
     }
     private void ParameterizeAnalyzers() {
       moveQualityAnalyzer.ResultsParameter.ActualName = "Results";
+      moveQualityAnalyzer.ResultsParameter.Hidden = true;
       if (Problem != null) {
         moveQualityAnalyzer.MaximizationParameter.ActualName = Problem.MaximizationParameter.Name;
-        if (MoveEvaluator != null)
+        moveQualityAnalyzer.MaximizationParameter.Hidden = true;
+        if (MoveEvaluator != null) {
           moveQualityAnalyzer.QualityParameter.ActualName = MoveEvaluator.MoveQualityParameter.ActualName;
+          moveQualityAnalyzer.QualityParameter.Hidden = true;
+        } else moveQualityAnalyzer.QualityParameter.Hidden = false;
         moveQualityAnalyzer.BestKnownQualityParameter.ActualName = Problem.BestKnownQualityParameter.Name;
+        moveQualityAnalyzer.BestKnownQualityParameter.Hidden = true;
+      } else {
+        moveQualityAnalyzer.MaximizationParameter.Hidden = false;
+        moveQualityAnalyzer.BestKnownQualityParameter.Hidden = false;
       }
     }
@@ -390,5 +411,7 @@
         foreach (IIterationBasedOperator op in Problem.Operators.OfType<IIterationBasedOperator>()) {
           op.IterationsParameter.ActualName = "Iterations";
+          op.IterationsParameter.Hidden = true;
           op.MaximumIterationsParameter.ActualName = MaximumIterationsParameter.Name;
+          op.MaximumIterationsParameter.Hidden = true;
         }
       }
Index: /branches/histogram/HeuristicLab.Algorithms.LocalSearch/3.3/LocalSearchImprovementOperator.cs
===================================================================
--- /branches/histogram/HeuristicLab.Algorithms.LocalSearch/3.3/LocalSearchImprovementOperator.cs	(revision 6054)
+++ /branches/histogram/HeuristicLab.Algorithms.LocalSearch/3.3/LocalSearchImprovementOperator.cs	(revision 6055)
@@ -200,4 +200,5 @@
       ParameterizeLSMainLoop();
       ParameterizeAnalyzers();
+      UpdateAnalyzers();
     }
 
@@ -234,4 +235,31 @@
     }
 
+    private bool IsSubclassOfGeneric(Type generic, Type toCheck) {
+      while (toCheck != typeof(object)) {
+        var cur = toCheck.IsGenericType ? toCheck.GetGenericTypeDefinition() : toCheck;
+        if (generic == cur) {
+          return true;
+        }
+        toCheck = toCheck.BaseType;
+      }
+      return false;
+    } 
+
+    private void UpdateAnalyzers() {
+      Analyzer.Operators.Clear();
+      if (problem != null) {
+        foreach (IAnalyzer analyzer in problem.Operators.OfType<IAnalyzer>()) {
+          if (!IsSubclassOfGeneric(typeof(AlleleFrequencyAnalyzer<>), analyzer.GetType()) &&
+              !IsSubclassOfGeneric(typeof(PopulationDiversityAnalyzer<>), analyzer.GetType())) {
+            IAnalyzer clone = analyzer.Clone() as IAnalyzer;
+            foreach (IScopeTreeLookupParameter param in clone.Parameters.OfType<IScopeTreeLookupParameter>())
+              param.Depth = 0;
+            Analyzer.Operators.Add(clone);
+          }
+        }
+      }
+      Analyzer.Operators.Add(qualityAnalyzer);
+    }
+
     private void UpdateMoveOperators() {
       IMoveGenerator oldMoveGenerator = MoveGenerator;
Index: /branches/histogram/HeuristicLab.Algorithms.SimulatedAnnealing/3.3/SimulatedAnnealing.cs
===================================================================
--- /branches/histogram/HeuristicLab.Algorithms.SimulatedAnnealing/3.3/SimulatedAnnealing.cs	(revision 6054)
+++ /branches/histogram/HeuristicLab.Algorithms.SimulatedAnnealing/3.3/SimulatedAnnealing.cs	(revision 6055)
@@ -330,7 +330,14 @@
       if (Problem != null) {
         qualityAnalyzer.MaximizationParameter.ActualName = Problem.MaximizationParameter.Name;
+        qualityAnalyzer.MaximizationParameter.Hidden = true;
         qualityAnalyzer.QualityParameter.ActualName = Problem.Evaluator.QualityParameter.ActualName;
         qualityAnalyzer.QualityParameter.Depth = 0;
+        qualityAnalyzer.QualityParameter.Hidden = true;
         qualityAnalyzer.BestKnownQualityParameter.ActualName = Problem.BestKnownQualityParameter.Name;
+        qualityAnalyzer.BestKnownQualityParameter.Hidden = true;
+      } else {
+        qualityAnalyzer.MaximizationParameter.Hidden = false;
+        qualityAnalyzer.QualityParameter.Hidden = false;
+        qualityAnalyzer.BestKnownQualityParameter.Hidden = false;
       }
     }
@@ -371,17 +378,23 @@
     }
     private void ParameterizeMainLoop() {
-      MainLoop.BestKnownQualityParameter.ActualName = Problem.BestKnownQualityParameter.Name;
-      MainLoop.MaximizationParameter.ActualName = Problem.MaximizationParameter.Name;
-      MainLoop.QualityParameter.ActualName = Problem.Evaluator.QualityParameter.ActualName;
+      if (Problem != null) {
+        MainLoop.BestKnownQualityParameter.ActualName = Problem.BestKnownQualityParameter.Name;
+        MainLoop.MaximizationParameter.ActualName = Problem.MaximizationParameter.Name;
+        MainLoop.QualityParameter.ActualName = Problem.Evaluator.QualityParameter.ActualName;
+      }
       if (MoveEvaluator != null)
         MainLoop.MoveQualityParameter.ActualName = MoveEvaluator.MoveQualityParameter.ActualName;
     }
     private void ParameterizeStochasticOperator(IOperator op) {
-      if (op is IStochasticOperator)
-        ((IStochasticOperator)op).RandomParameter.ActualName = RandomCreator.RandomParameter.ActualName;
+      if (op is IStochasticOperator) {
+        IStochasticOperator stOp = (IStochasticOperator)op;
+        stOp.RandomParameter.ActualName = RandomCreator.RandomParameter.ActualName;
+        stOp.RandomParameter.Hidden = true;
+      }
     }
     private void ParameterizeMoveEvaluators() {
       foreach (ISingleObjectiveMoveEvaluator op in Problem.Operators.OfType<ISingleObjectiveMoveEvaluator>()) {
         op.QualityParameter.ActualName = Problem.Evaluator.QualityParameter.ActualName;
+        op.QualityParameter.Hidden = true;
       }
     }
@@ -389,6 +402,11 @@
       foreach (IMoveMaker op in Problem.Operators.OfType<IMoveMaker>()) {
         op.QualityParameter.ActualName = Problem.Evaluator.QualityParameter.ActualName;
-        if (MoveEvaluator != null)
+        op.QualityParameter.Hidden = true;
+        if (MoveEvaluator != null) {
           op.MoveQualityParameter.ActualName = MoveEvaluator.MoveQualityParameter.ActualName;
+          op.MoveQualityParameter.Hidden = true;
+        } else {
+          op.MoveQualityParameter.Hidden = false;
+        }
       }
     }
@@ -396,9 +414,13 @@
       foreach (IDiscreteDoubleValueModifier op in AnnealingOperatorParameter.ValidValues) {
         op.IndexParameter.ActualName = "Iterations";
+        op.IndexParameter.Hidden = true;
         op.StartIndexParameter.Value = new IntValue(0);
         op.EndIndexParameter.ActualName = MaximumIterationsParameter.Name;
         op.ValueParameter.ActualName = "Temperature";
+        op.ValueParameter.Hidden = true;
         op.StartValueParameter.ActualName = StartTemperatureParameter.Name;
+        op.StartValueParameter.Hidden = true;
         op.EndValueParameter.ActualName = EndTemperatureParameter.Name;
+        op.EndValueParameter.Hidden = true;
         ParameterizeStochasticOperator(op);
       }
@@ -407,4 +429,5 @@
       foreach (IMultiMoveGenerator op in Problem.Operators.OfType<IMultiMoveGenerator>()) {
         op.SampleSizeParameter.ActualName = InnerIterationsParameter.Name;
+        op.SampleSizeParameter.Hidden = true;
       }
     }
@@ -413,5 +436,7 @@
         foreach (IIterationBasedOperator op in Problem.Operators.OfType<IIterationBasedOperator>()) {
           op.IterationsParameter.ActualName = "Iterations";
+          op.IterationsParameter.Hidden = true;
           op.MaximumIterationsParameter.ActualName = MaximumIterationsParameter.Name;
+          op.MaximumIterationsParameter.Hidden = true;
         }
       }
Index: /branches/histogram/HeuristicLab.Algorithms.SimulatedAnnealing/3.3/SimulatedAnnealingImprovementOperator.cs
===================================================================
--- /branches/histogram/HeuristicLab.Algorithms.SimulatedAnnealing/3.3/SimulatedAnnealingImprovementOperator.cs	(revision 6054)
+++ /branches/histogram/HeuristicLab.Algorithms.SimulatedAnnealing/3.3/SimulatedAnnealingImprovementOperator.cs	(revision 6055)
@@ -259,12 +259,26 @@
     }
 
+    private bool IsSubclassOfGeneric(Type generic, Type toCheck) {
+      while (toCheck != typeof(object)) {
+        var cur = toCheck.IsGenericType ? toCheck.GetGenericTypeDefinition() : toCheck;
+        if (generic == cur) {
+          return true;
+        }
+        toCheck = toCheck.BaseType;
+      }
+      return false;
+    }
+
     private void UpdateAnalyzers() {
       Analyzer.Operators.Clear();
       if (problem != null) {
         foreach (IAnalyzer analyzer in problem.Operators.OfType<IAnalyzer>()) {
-          IAnalyzer clone = analyzer.Clone() as IAnalyzer;
-          foreach (IScopeTreeLookupParameter param in clone.Parameters.OfType<IScopeTreeLookupParameter>())
-            param.Depth = 0;
-          Analyzer.Operators.Add(clone);
+          if (!IsSubclassOfGeneric(typeof(AlleleFrequencyAnalyzer<>), analyzer.GetType()) &&
+              !IsSubclassOfGeneric(typeof(PopulationDiversityAnalyzer<>), analyzer.GetType())) {
+            IAnalyzer clone = analyzer.Clone() as IAnalyzer;
+            foreach (IScopeTreeLookupParameter param in clone.Parameters.OfType<IScopeTreeLookupParameter>())
+              param.Depth = 0;
+            Analyzer.Operators.Add(clone);
+          }
         }
       }
Index: /branches/histogram/HeuristicLab.Algorithms.TabuSearch/3.3/TabuSearch.cs
===================================================================
--- /branches/histogram/HeuristicLab.Algorithms.TabuSearch/3.3/TabuSearch.cs	(revision 6054)
+++ /branches/histogram/HeuristicLab.Algorithms.TabuSearch/3.3/TabuSearch.cs	(revision 6055)
@@ -429,11 +429,16 @@
     }
     private void ParameterizeStochasticOperator(IOperator op) {
-      if (op is IStochasticOperator)
-        ((IStochasticOperator)op).RandomParameter.ActualName = RandomCreator.RandomParameter.ActualName;
+      if (op is IStochasticOperator) {
+        IStochasticOperator stOp = (IStochasticOperator)op;
+        stOp.RandomParameter.ActualName = RandomCreator.RandomParameter.ActualName;
+        stOp.RandomParameter.Hidden = true;
+      }
     }
     private void ParameterizeMoveGenerators() {
       if (Problem != null) {
-        foreach (IMultiMoveGenerator generator in Problem.Operators.OfType<IMultiMoveGenerator>())
+        foreach (IMultiMoveGenerator generator in Problem.Operators.OfType<IMultiMoveGenerator>()) {
           generator.SampleSizeParameter.ActualName = SampleSizeParameter.Name;
+          generator.SampleSizeParameter.Hidden = true;
+        }
       }
     }
@@ -441,4 +446,5 @@
       foreach (ISingleObjectiveMoveEvaluator op in Problem.Operators.OfType<ISingleObjectiveMoveEvaluator>()) {
         op.QualityParameter.ActualName = Problem.Evaluator.QualityParameter.ActualName;
+        op.QualityParameter.Hidden = true;
       }
     }
@@ -446,6 +452,11 @@
       foreach (IMoveMaker op in Problem.Operators.OfType<IMoveMaker>()) {
         op.QualityParameter.ActualName = Problem.Evaluator.QualityParameter.ActualName;
-        if (MoveEvaluator != null)
+        op.QualityParameter.Hidden = true;
+        if (MoveEvaluator != null) {
           op.MoveQualityParameter.ActualName = MoveEvaluator.MoveQualityParameter.ActualName;
+          op.MoveQualityParameter.Hidden = true;
+        } else {
+          op.MoveQualityParameter.Hidden = false;
+        }
       }
     }
@@ -453,27 +464,58 @@
       foreach (ITabuMaker op in Problem.Operators.OfType<ITabuMaker>()) {
         op.QualityParameter.ActualName = Problem.Evaluator.QualityParameter.ActualName;
-        if (MoveEvaluator != null)
+        op.QualityParameter.Hidden = true;
+        if (MoveEvaluator != null) {
           op.MoveQualityParameter.ActualName = MoveEvaluator.MoveQualityParameter.ActualName;
+          op.MoveQualityParameter.Hidden = true;
+        } else {
+          op.MoveQualityParameter.Hidden = false;
+        }
       }
     }
     private void ParameterizeTabuChecker() {
       foreach (ITabuChecker op in Problem.Operators.OfType<ITabuChecker>()) {
-        if (MoveEvaluator != null)
+        if (MoveEvaluator != null) {
           op.MoveQualityParameter.ActualName = MoveEvaluator.MoveQualityParameter.ActualName;
-        if (TabuChecker != null)
+          op.MoveQualityParameter.Hidden = true;
+        } else {
+          op.MoveQualityParameter.Hidden = false;
+        }
+        if (TabuChecker != null) {
           op.MoveTabuParameter.ActualName = TabuChecker.MoveTabuParameter.ActualName;
+          op.MoveTabuParameter.Hidden = true;
+        } else {
+          op.MoveTabuParameter.Hidden = false;
+        }
       }
     }
     private void ParameterizeAnalyzers() {
       moveQualityAnalyzer.ResultsParameter.ActualName = "Results";
+      moveQualityAnalyzer.ResultsParameter.Hidden = true;
       tabuNeighborhoodAnalyzer.ResultsParameter.ActualName = "Results";
+      tabuNeighborhoodAnalyzer.ResultsParameter.Hidden = true;
       tabuNeighborhoodAnalyzer.PercentTabuParameter.ActualName = "PercentTabu";
+      tabuNeighborhoodAnalyzer.PercentTabuParameter.Hidden = true;
       if (Problem != null) {
         moveQualityAnalyzer.MaximizationParameter.ActualName = Problem.MaximizationParameter.Name;
-        if (MoveEvaluator != null)
+        moveQualityAnalyzer.MaximizationParameter.Hidden = true;
+        if (MoveEvaluator != null) {
           moveQualityAnalyzer.QualityParameter.ActualName = MoveEvaluator.MoveQualityParameter.ActualName;
+          moveQualityAnalyzer.QualityParameter.Hidden = true;
+        } else {
+          moveQualityAnalyzer.QualityParameter.Hidden = false;
+        }
         moveQualityAnalyzer.BestKnownQualityParameter.ActualName = Problem.BestKnownQualityParameter.Name;
-        if (TabuChecker != null)
+        moveQualityAnalyzer.BestKnownQualityParameter.Hidden = true;
+        if (TabuChecker != null) {
           tabuNeighborhoodAnalyzer.IsTabuParameter.ActualName = TabuChecker.MoveTabuParameter.ActualName;
+          tabuNeighborhoodAnalyzer.IsTabuParameter.Hidden = true;
+        } else {
+          tabuNeighborhoodAnalyzer.IsTabuParameter.Hidden = false;
+        }
+      } else {
+        moveQualityAnalyzer.MaximizationParameter.Hidden = false;
+        moveQualityAnalyzer.QualityParameter.Hidden = false;
+        moveQualityAnalyzer.BestKnownQualityParameter.Hidden = false;
+        tabuNeighborhoodAnalyzer.IsTabuParameter.Hidden = false;
       }
     }
@@ -482,5 +524,7 @@
         foreach (IIterationBasedOperator op in Problem.Operators.OfType<IIterationBasedOperator>()) {
           op.IterationsParameter.ActualName = "Iterations";
+          op.IterationsParameter.Hidden = true;
           op.MaximumIterationsParameter.ActualName = MaximumIterationsParameter.Name;
+          op.MaximumIterationsParameter.Hidden = true;
         }
       }
Index: /branches/histogram/HeuristicLab.Algorithms.TabuSearch/3.3/TabuSelector.cs
===================================================================
--- /branches/histogram/HeuristicLab.Algorithms.TabuSearch/3.3/TabuSelector.cs	(revision 6054)
+++ /branches/histogram/HeuristicLab.Algorithms.TabuSearch/3.3/TabuSelector.cs	(revision 6055)
@@ -69,5 +69,5 @@
       get { return (ILookupParameter<ItemArray<BoolValue>>)Parameters["MoveTabu"]; }
     }
-    public IValueLookupParameter<BoolValue> CopySelectedParameter {
+    protected IValueLookupParameter<BoolValue> CopySelectedParameter {
       get { return (IValueLookupParameter<BoolValue>)Parameters["CopySelected"]; }
     }
@@ -103,4 +103,5 @@
       Parameters.Add(new ValueLookupParameter<BoolValue>("CopySelected", "True if the selected move should be copied.", new BoolValue(false)));
       Parameters.Add(new LookupParameter<BoolValue>("EmptyNeighborhood", "Will be set to true if the neighborhood didn't contain any non-tabu moves, otherwise it is set to false."));
+      CopySelectedParameter.Hidden = true;
     }
 
Index: /branches/histogram/HeuristicLab.Analysis/3.3/AlleleFrequencyAnalysis/AlleleFrequencyAnalyzer.cs
===================================================================
--- /branches/histogram/HeuristicLab.Analysis/3.3/AlleleFrequencyAnalysis/AlleleFrequencyAnalyzer.cs	(revision 6054)
+++ /branches/histogram/HeuristicLab.Analysis/3.3/AlleleFrequencyAnalysis/AlleleFrequencyAnalyzer.cs	(revision 6055)
@@ -75,4 +75,11 @@
       Parameters.Add(new ValueParameter<IntValue>("UpdateInterval", "The interval in which the allele frequency analysis should be applied.", new IntValue(1)));
       Parameters.Add(new LookupParameter<IntValue>("UpdateCounter", "The value which counts how many times the operator was called since the last update.", "AlleleFrequencyAnalyzerUpdateCounter"));
+
+      MaximizationParameter.Hidden = true;
+      SolutionParameter.Hidden = true;
+      QualityParameter.Hidden = true;
+      BestKnownSolutionParameter.Hidden = true;
+      ResultsParameter.Hidden = true;
+      UpdateCounterParameter.Hidden = true;
     }
 
Index: /branches/histogram/HeuristicLab.Analysis/3.3/PopulationDiversityAnalysis/PopulationDiversityAnalyzer.cs
===================================================================
--- /branches/histogram/HeuristicLab.Analysis/3.3/PopulationDiversityAnalysis/PopulationDiversityAnalyzer.cs	(revision 6054)
+++ /branches/histogram/HeuristicLab.Analysis/3.3/PopulationDiversityAnalysis/PopulationDiversityAnalyzer.cs	(revision 6055)
@@ -71,4 +71,10 @@
       Parameters.Add(new ValueParameter<IntValue>("UpdateInterval", "The interval in which the population diversity analysis should be applied.", new IntValue(1)));
       Parameters.Add(new LookupParameter<IntValue>("UpdateCounter", "The value which counts how many times the operator was called since the last update.", "PopulationDiversityAnalyzerUpdateCounter"));
+
+      MaximizationParameter.Hidden = true;
+      SolutionParameter.Hidden = true;
+      QualityParameter.Hidden = true;
+      ResultsParameter.Hidden = true;
+      UpdateCounterParameter.Hidden = true;
     }
 
Index: /branches/histogram/HeuristicLab.Analysis/3.3/QualityAnalysis/BestAverageWorstQualityAnalyzer.cs
===================================================================
--- /branches/histogram/HeuristicLab.Analysis/3.3/QualityAnalysis/BestAverageWorstQualityAnalyzer.cs	(revision 6054)
+++ /branches/histogram/HeuristicLab.Analysis/3.3/QualityAnalysis/BestAverageWorstQualityAnalyzer.cs	(revision 6055)
@@ -107,4 +107,12 @@
       Parameters.Add(new ValueLookupParameter<PercentValue>("RelativeDifferenceBestKnownToBest", "The relative difference of the best known quality value to the best quality value."));
       Parameters.Add(new ValueLookupParameter<ResultCollection>("Results", "The results collection where the analysis values should be stored."));
+
+      BestQualityParameter.Hidden = true;
+      CurrentBestQualityParameter.Hidden = true;
+      CurrentAverageQualityParameter.Hidden = true;
+      CurrentWorstQualityParameter.Hidden = true;
+      QualitiesParameter.Hidden = true;
+      AbsoluteDifferenceBestKnownToBestParameter.Hidden = true;
+      RelativeDifferenceBestKnownToBestParameter.Hidden = true;
       #endregion
 
Index: /branches/histogram/HeuristicLab.Analysis/3.3/QualityAnalysis/BestAverageWorstQualityCalculator.cs
===================================================================
--- /branches/histogram/HeuristicLab.Analysis/3.3/QualityAnalysis/BestAverageWorstQualityCalculator.cs	(revision 6054)
+++ /branches/histogram/HeuristicLab.Analysis/3.3/QualityAnalysis/BestAverageWorstQualityCalculator.cs	(revision 6055)
@@ -65,4 +65,8 @@
       Parameters.Add(new ValueLookupParameter<DoubleValue>("AverageQuality", "The average quality of all solutions."));
       Parameters.Add(new ValueLookupParameter<DoubleValue>("WorstQuality", "The quality value of the worst solution."));
+
+      BestQualityParameter.Hidden = true;
+      AverageQualityParameter.Hidden = true;
+      WorstQualityParameter.Hidden = true;
     }
 
Index: /branches/histogram/HeuristicLab.Operators/3.3/MultiOperator.cs
===================================================================
--- /branches/histogram/HeuristicLab.Operators/3.3/MultiOperator.cs	(revision 6054)
+++ /branches/histogram/HeuristicLab.Operators/3.3/MultiOperator.cs	(revision 6055)
@@ -87,4 +87,5 @@
       for (int i = 0; i < Operators.Count; i++) {
         IValueParameter<T> opParam = new OptionalValueParameter<T>(i.ToString(), string.Empty, Operators[i]);
+        opParam.Hidden = true;
         opParam.ValueChanged += new EventHandler(opParam_ValueChanged);
         Parameters.Add(opParam);
Index: /branches/histogram/HeuristicLab.Parameters.Views/3.3/LookupParameterView.Designer.cs
===================================================================
--- /branches/histogram/HeuristicLab.Parameters.Views/3.3/LookupParameterView.Designer.cs	(revision 6054)
+++ /branches/histogram/HeuristicLab.Parameters.Views/3.3/LookupParameterView.Designer.cs	(revision 6055)
@@ -52,4 +52,5 @@
       // dataTypeLabel
       // 
+      this.dataTypeLabel.Location = new System.Drawing.Point(3, 55);
       this.dataTypeLabel.TabIndex = 5;
       // 
@@ -98,6 +99,6 @@
       this.Name = "LookupParameterView";
       this.Size = new System.Drawing.Size(386, 76);
+      this.Controls.SetChildIndex(this.dataTypeLabel, 0);
       this.Controls.SetChildIndex(this.dataTypeTextBox, 0);
-      this.Controls.SetChildIndex(this.dataTypeLabel, 0);
       this.Controls.SetChildIndex(this.infoLabel, 0);
       this.Controls.SetChildIndex(this.actualNameLabel, 0);
Index: /branches/histogram/HeuristicLab.Parameters.Views/3.3/ScopeTreeLookupParameterView.Designer.cs
===================================================================
--- /branches/histogram/HeuristicLab.Parameters.Views/3.3/ScopeTreeLookupParameterView.Designer.cs	(revision 6054)
+++ /branches/histogram/HeuristicLab.Parameters.Views/3.3/ScopeTreeLookupParameterView.Designer.cs	(revision 6055)
@@ -54,4 +54,5 @@
       // dataTypeLabel
       // 
+      this.dataTypeLabel.Location = new System.Drawing.Point(3, 55);
       this.dataTypeLabel.TabIndex = 5;
       // 
@@ -120,15 +121,15 @@
       this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
       this.Controls.Add(this.actualNameTextBox);
-      this.Controls.Add(this.actualNameLabel);
       this.Controls.Add(this.depthLabel);
       this.Controls.Add(this.depthTextBox);
+      this.Controls.Add(this.actualNameLabel);
       this.Name = "ScopeTreeLookupParameterView";
       this.Size = new System.Drawing.Size(386, 103);
       this.Controls.SetChildIndex(this.dataTypeTextBox, 0);
+      this.Controls.SetChildIndex(this.actualNameLabel, 0);
       this.Controls.SetChildIndex(this.depthTextBox, 0);
+      this.Controls.SetChildIndex(this.dataTypeLabel, 0);
       this.Controls.SetChildIndex(this.infoLabel, 0);
       this.Controls.SetChildIndex(this.depthLabel, 0);
-      this.Controls.SetChildIndex(this.dataTypeLabel, 0);
-      this.Controls.SetChildIndex(this.actualNameLabel, 0);
       this.Controls.SetChildIndex(this.actualNameTextBox, 0);
       this.Controls.SetChildIndex(this.nameTextBox, 0);
Index: /branches/histogram/HeuristicLab.Parameters.Views/3.3/ValueLookupParameterView.Designer.cs
===================================================================
--- /branches/histogram/HeuristicLab.Parameters.Views/3.3/ValueLookupParameterView.Designer.cs	(revision 6054)
+++ /branches/histogram/HeuristicLab.Parameters.Views/3.3/ValueLookupParameterView.Designer.cs	(revision 6055)
@@ -47,4 +47,5 @@
       // dataTypeLabel
       // 
+      this.dataTypeLabel.Location = new System.Drawing.Point(3, 55);
       this.dataTypeLabel.TabIndex = 5;
       // 
Index: /branches/histogram/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Analyzers/SymbolicDataAnalysisMultiObjectiveValidationAnalyzer.cs
===================================================================
--- /branches/histogram/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Analyzers/SymbolicDataAnalysisMultiObjectiveValidationAnalyzer.cs	(revision 6054)
+++ /branches/histogram/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Analyzers/SymbolicDataAnalysisMultiObjectiveValidationAnalyzer.cs	(revision 6055)
@@ -20,4 +20,6 @@
 #endregion
 
+using System;
+using System.Collections.Generic;
 using System.Linq;
 using HeuristicLab.Common;
@@ -26,6 +28,4 @@
 using HeuristicLab.Parameters;
 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
-using System.Collections.Generic;
-using System;
 using HeuristicLab.Random;
 
Index: /branches/histogram/HeuristicLab.Problems.Knapsack/3.3/KnapsackProblem.cs
===================================================================
--- /branches/histogram/HeuristicLab.Problems.Knapsack/3.3/KnapsackProblem.cs	(revision 6054)
+++ /branches/histogram/HeuristicLab.Problems.Knapsack/3.3/KnapsackProblem.cs	(revision 6055)
@@ -287,19 +287,30 @@
           (KnapsackEvaluator)Evaluator;
         knapsackEvaluator.BinaryVectorParameter.ActualName = SolutionCreator.BinaryVectorParameter.ActualName;
+        knapsackEvaluator.BinaryVectorParameter.Hidden = true;
         knapsackEvaluator.KnapsackCapacityParameter.ActualName = KnapsackCapacityParameter.Name;
+        knapsackEvaluator.KnapsackCapacityParameter.Hidden = true;
         knapsackEvaluator.WeightsParameter.ActualName = WeightsParameter.Name;
+        knapsackEvaluator.WeightsParameter.Hidden = true;
         knapsackEvaluator.ValuesParameter.ActualName = ValuesParameter.Name;
+        knapsackEvaluator.ValuesParameter.Hidden = true;
         knapsackEvaluator.PenaltyParameter.ActualName = PenaltyParameter.Name;
+        knapsackEvaluator.PenaltyParameter.Hidden = true;
       }
     }
     private void ParameterizeAnalyzer() {
       BestKnapsackSolutionAnalyzer.MaximizationParameter.ActualName = MaximizationParameter.Name;
+      BestKnapsackSolutionAnalyzer.MaximizationParameter.Hidden = true;
       BestKnapsackSolutionAnalyzer.BestKnownQualityParameter.ActualName = BestKnownQualityParameter.Name;
+      BestKnapsackSolutionAnalyzer.BestKnownQualityParameter.Hidden = true;
       BestKnapsackSolutionAnalyzer.BestKnownSolutionParameter.ActualName = BestKnownSolutionParameter.Name;
+      BestKnapsackSolutionAnalyzer.BestKnownSolutionParameter.Hidden = true;
       BestKnapsackSolutionAnalyzer.BinaryVectorParameter.ActualName = SolutionCreator.BinaryVectorParameter.ActualName;
+      BestKnapsackSolutionAnalyzer.BinaryVectorParameter.Hidden = true;
       BestKnapsackSolutionAnalyzer.KnapsackCapacityParameter.ActualName = KnapsackCapacityParameter.Name;
+      BestKnapsackSolutionAnalyzer.KnapsackCapacityParameter.Hidden = true;
       BestKnapsackSolutionAnalyzer.WeightsParameter.ActualName = WeightsParameter.Name;
+      BestKnapsackSolutionAnalyzer.WeightsParameter.Hidden = true;
       BestKnapsackSolutionAnalyzer.ValuesParameter.ActualName = ValuesParameter.Name;
-      BestKnapsackSolutionAnalyzer.ResultsParameter.ActualName = "Results";
+      BestKnapsackSolutionAnalyzer.ValuesParameter.Hidden = true;
     }
     private void InitializeOperators() {
@@ -325,20 +336,30 @@
       foreach (IBinaryVectorCrossover op in Operators.OfType<IBinaryVectorCrossover>()) {
         op.ParentsParameter.ActualName = SolutionCreator.BinaryVectorParameter.ActualName;
+        op.ParentsParameter.Hidden = true;
         op.ChildParameter.ActualName = SolutionCreator.BinaryVectorParameter.ActualName;
+        op.ChildParameter.Hidden = true;
       }
       foreach (IBinaryVectorManipulator op in Operators.OfType<IBinaryVectorManipulator>()) {
         op.BinaryVectorParameter.ActualName = SolutionCreator.BinaryVectorParameter.ActualName;
+        op.BinaryVectorParameter.Hidden = true;
       }
       foreach (IBinaryVectorMoveOperator op in Operators.OfType<IBinaryVectorMoveOperator>()) {
         op.BinaryVectorParameter.ActualName = SolutionCreator.BinaryVectorParameter.ActualName;
+        op.BinaryVectorParameter.Hidden = true;
       }
       foreach (IKnapsackMoveEvaluator op in Operators.OfType<IKnapsackMoveEvaluator>()) {
         op.KnapsackCapacityParameter.ActualName = KnapsackCapacityParameter.Name;
+        op.KnapsackCapacityParameter.Hidden = true;
         op.PenaltyParameter.ActualName = PenaltyParameter.Name;
+        op.PenaltyParameter.Hidden = true;
         op.WeightsParameter.ActualName = WeightsParameter.Name;
+        op.WeightsParameter.Hidden = true;
         op.ValuesParameter.ActualName = ValuesParameter.Name;
-      }
-      foreach (var op in Operators.OfType<IBinaryVectorMultiNeighborhoodShakingOperator>())
+        op.ValuesParameter.Hidden = true;
+      }
+      foreach (var op in Operators.OfType<IBinaryVectorMultiNeighborhoodShakingOperator>()) {
         op.BinaryVectorParameter.ActualName = SolutionCreator.BinaryVectorParameter.ActualName;
+        op.BinaryVectorParameter.Hidden = true;
+      }
     }
     #endregion
Index: /branches/histogram/HeuristicLab.Problems.TestFunctions/3.3/Analyzers/BestSingleObjectiveTestFunctionSolutionAnalyzer.cs
===================================================================
--- /branches/histogram/HeuristicLab.Problems.TestFunctions/3.3/Analyzers/BestSingleObjectiveTestFunctionSolutionAnalyzer.cs	(revision 6054)
+++ /branches/histogram/HeuristicLab.Problems.TestFunctions/3.3/Analyzers/BestSingleObjectiveTestFunctionSolutionAnalyzer.cs	(revision 6055)
@@ -85,4 +85,14 @@
       Parameters.Add(new ValueLookupParameter<ISingleObjectiveTestFunctionProblemEvaluator>("Evaluator", "The evaluator with which the solution is evaluated."));
       Parameters.Add(new LookupParameter<DoubleMatrix>("Bounds", "The bounds of the function."));
+
+      MaximizationParameter.Hidden = true;
+      RealVectorParameter.Hidden = true;
+      QualityParameter.Hidden = true;
+      BestSolutionParameter.Hidden = true;
+      BestKnownSolutionParameter.Hidden = true;
+      BestKnownQualityParameter.Hidden = true;
+      ResultsParameter.Hidden = true;
+      EvaluatorParameter.Hidden = true;
+      BoundsParameter.Hidden = true;
     }
 
Index: /branches/histogram/HeuristicLab.Problems.TestFunctions/3.3/SingleObjectiveTestFunctionProblem.cs
===================================================================
--- /branches/histogram/HeuristicLab.Problems.TestFunctions/3.3/SingleObjectiveTestFunctionProblem.cs	(revision 6054)
+++ /branches/histogram/HeuristicLab.Problems.TestFunctions/3.3/SingleObjectiveTestFunctionProblem.cs	(revision 6055)
@@ -379,7 +379,11 @@
     private void ParameterizeSolutionCreator() {
       SolutionCreator.LengthParameter.Value = new IntValue(ProblemSize.Value);
+      SolutionCreator.LengthParameter.Hidden = true;
+      SolutionCreator.BoundsParameter.ActualName = BoundsParameter.Name;
+      SolutionCreator.BoundsParameter.Hidden = true;
     }
     private void ParameterizeEvaluator() {
       Evaluator.PointParameter.ActualName = SolutionCreator.RealVectorParameter.ActualName;
+      Evaluator.PointParameter.Hidden = true;
       BestKnownSolutionParameter.Value = Evaluator.GetBestKnownSolution(ProblemSize.Value);
     }
@@ -387,36 +391,54 @@
       foreach (IRealVectorCrossover op in Operators.OfType<IRealVectorCrossover>()) {
         op.ParentsParameter.ActualName = SolutionCreator.RealVectorParameter.ActualName;
+        op.ParentsParameter.Hidden = true;
         op.ChildParameter.ActualName = SolutionCreator.RealVectorParameter.ActualName;
+        op.ChildParameter.Hidden = true;
         op.BoundsParameter.ActualName = BoundsParameter.Name;
+        op.BoundsParameter.Hidden = true;
       }
       foreach (IRealVectorManipulator op in Operators.OfType<IRealVectorManipulator>()) {
         op.RealVectorParameter.ActualName = SolutionCreator.RealVectorParameter.ActualName;
+        op.RealVectorParameter.Hidden = true;
         op.BoundsParameter.ActualName = BoundsParameter.Name;
+        op.BoundsParameter.Hidden = true;
       }
       foreach (IRealVectorMoveOperator op in Operators.OfType<IRealVectorMoveOperator>()) {
         op.RealVectorParameter.ActualName = SolutionCreator.RealVectorParameter.ActualName;
+        op.RealVectorParameter.Hidden = true;
       }
       foreach (IRealVectorMoveGenerator op in Operators.OfType<IRealVectorMoveGenerator>()) {
         op.BoundsParameter.ActualName = BoundsParameter.Name;
+        op.BoundsParameter.Hidden = true;
       }
       foreach (ISingleObjectiveTestFunctionAdditiveMoveEvaluator op in Operators.OfType<ISingleObjectiveTestFunctionAdditiveMoveEvaluator>()) {
         op.QualityParameter.ActualName = Evaluator.QualityParameter.ActualName;
-        op.RealVectorParameter.ActualName = SolutionCreator.RealVectorParameter.ActualName;
+        op.QualityParameter.Hidden = true;
+        op.RealVectorParameter.ActualName = SolutionCreator.RealVectorParameter.ActualName;
+        op.RealVectorParameter.Hidden = true;
       }
       foreach (IRealVectorParticleCreator op in Operators.OfType<IRealVectorParticleCreator>()) {
         op.RealVectorParameter.ActualName = SolutionCreator.RealVectorParameter.ActualName;
+        op.RealVectorParameter.Hidden = true;
         op.BoundsParameter.ActualName = BoundsParameter.Name;
+        op.BoundsParameter.Hidden = true;
         op.ProblemSizeParameter.ActualName = ProblemSizeParameter.Name;
+        op.ProblemSizeParameter.Hidden = true;
       }
       foreach (IRealVectorParticleUpdater op in Operators.OfType<IRealVectorParticleUpdater>()) {
         op.RealVectorParameter.ActualName = SolutionCreator.RealVectorParameter.ActualName;
+        op.RealVectorParameter.Hidden = true;
         op.BoundsParameter.ActualName = BoundsParameter.Name;
+        op.BoundsParameter.Hidden = true;
       }
       foreach (IRealVectorSwarmUpdater op in Operators.OfType<IRealVectorSwarmUpdater>()) {
         op.RealVectorParameter.ActualName = SolutionCreator.RealVectorParameter.ActualName;
+        op.RealVectorParameter.Hidden = true;
         op.MaximizationParameter.ActualName = MaximizationParameter.Name;
-      }
-      foreach (var op in Operators.OfType<IRealVectorMultiNeighborhoodShakingOperator>())
-        op.RealVectorParameter.ActualName = SolutionCreator.RealVectorParameter.ActualName;
+        op.MaximizationParameter.Hidden = true;
+      }
+      foreach (var op in Operators.OfType<IRealVectorMultiNeighborhoodShakingOperator>()) {
+        op.RealVectorParameter.ActualName = SolutionCreator.RealVectorParameter.ActualName;
+        op.RealVectorParameter.Hidden = true;
+      }
     }
     private void UpdateStrategyVectorBounds() {
Index: /branches/histogram/HeuristicLab.Problems.TravelingSalesman/3.3/Analyzers/BestTSPSolutionAnalyzer.cs
===================================================================
--- /branches/histogram/HeuristicLab.Problems.TravelingSalesman/3.3/Analyzers/BestTSPSolutionAnalyzer.cs	(revision 6054)
+++ /branches/histogram/HeuristicLab.Problems.TravelingSalesman/3.3/Analyzers/BestTSPSolutionAnalyzer.cs	(revision 6055)
@@ -78,4 +78,13 @@
       Parameters.Add(new LookupParameter<DoubleValue>("BestKnownQuality", "The quality of the best known solution of this TSP instance."));
       Parameters.Add(new LookupParameter<Permutation>("BestKnownSolution", "The best known solution of this TSP instance."));
+
+      MaximizationParameter.Hidden = true;
+      CoordinatesParameter.Hidden = true;
+      PermutationParameter.Hidden = true;
+      QualityParameter.Hidden = true;
+      BestSolutionParameter.Hidden = true;
+      ResultsParameter.Hidden = true;
+      BestKnownQualityParameter.Hidden = true;
+      BestKnownSolutionParameter.Hidden = true;
     }
 
Index: /branches/histogram/HeuristicLab.Problems.TravelingSalesman/3.3/TravelingSalesmanProblem.cs
===================================================================
--- /branches/histogram/HeuristicLab.Problems.TravelingSalesman/3.3/TravelingSalesmanProblem.cs	(revision 6054)
+++ /branches/histogram/HeuristicLab.Problems.TravelingSalesman/3.3/TravelingSalesmanProblem.cs	(revision 6055)
@@ -163,4 +163,5 @@
       Parameters.Add(new OptionalValueParameter<Permutation>("BestKnownSolution", "The best known solution of this TSP instance."));
 
+      MaximizationParameter.Hidden = true;
       DistanceMatrixParameter.ReactOnValueToStringChangedAndValueItemImageChanged = false;
 
@@ -325,14 +326,22 @@
     private void ParameterizeSolutionCreator() {
       SolutionCreator.LengthParameter.Value = new IntValue(Coordinates.Rows);
+      SolutionCreator.LengthParameter.Hidden = true;
       SolutionCreator.PermutationTypeParameter.Value = new PermutationType(PermutationTypes.RelativeUndirected);
+      SolutionCreator.PermutationTypeParameter.Hidden = true;
     }
     private void ParameterizeEvaluator() {
-      if (Evaluator is ITSPPathEvaluator)
-        ((ITSPPathEvaluator)Evaluator).PermutationParameter.ActualName = SolutionCreator.PermutationParameter.ActualName;
+      if (Evaluator is ITSPPathEvaluator) {
+        ITSPPathEvaluator evaluator = (ITSPPathEvaluator)Evaluator;
+        evaluator.PermutationParameter.ActualName = SolutionCreator.PermutationParameter.ActualName;
+        evaluator.PermutationParameter.Hidden = true;
+      }
       if (Evaluator is ITSPCoordinatesPathEvaluator) {
         ITSPCoordinatesPathEvaluator evaluator = (ITSPCoordinatesPathEvaluator)Evaluator;
         evaluator.CoordinatesParameter.ActualName = CoordinatesParameter.Name;
+        evaluator.CoordinatesParameter.Hidden = true;
         evaluator.DistanceMatrixParameter.ActualName = DistanceMatrixParameter.Name;
+        evaluator.DistanceMatrixParameter.Hidden = true;
         evaluator.UseDistanceMatrixParameter.ActualName = UseDistanceMatrixParameter.Name;
+        evaluator.UseDistanceMatrixParameter.Hidden = true;
       }
     }
@@ -368,27 +377,42 @@
       foreach (IPermutationCrossover op in Operators.OfType<IPermutationCrossover>()) {
         op.ParentsParameter.ActualName = SolutionCreator.PermutationParameter.ActualName;
+        op.ParentsParameter.Hidden = true;
         op.ChildParameter.ActualName = SolutionCreator.PermutationParameter.ActualName;
+        op.ChildParameter.Hidden = true;
       }
       foreach (IPermutationManipulator op in Operators.OfType<IPermutationManipulator>()) {
         op.PermutationParameter.ActualName = SolutionCreator.PermutationParameter.ActualName;
+        op.PermutationParameter.Hidden = true;
       }
       foreach (IPermutationMoveOperator op in Operators.OfType<IPermutationMoveOperator>()) {
         op.PermutationParameter.ActualName = SolutionCreator.PermutationParameter.ActualName;
+        op.PermutationParameter.Hidden = true;
       }
       foreach (ITSPPathMoveEvaluator op in Operators.OfType<ITSPPathMoveEvaluator>()) {
         op.CoordinatesParameter.ActualName = CoordinatesParameter.Name;
+        op.CoordinatesParameter.Hidden = true;
         op.DistanceMatrixParameter.ActualName = DistanceMatrixParameter.Name;
+        op.DistanceMatrixParameter.Hidden = true;
         op.UseDistanceMatrixParameter.ActualName = UseDistanceMatrixParameter.Name;
+        op.UseDistanceMatrixParameter.Hidden = true;
         op.QualityParameter.ActualName = Evaluator.QualityParameter.ActualName;
+        op.QualityParameter.Hidden = true;
         op.PermutationParameter.ActualName = SolutionCreator.PermutationParameter.ActualName;
+        op.PermutationParameter.Hidden = true;
       }
       string inversionMove = Operators.OfType<IMoveGenerator>().OfType<IPermutationInversionMoveOperator>().First().InversionMoveParameter.ActualName;
-      foreach (IPermutationInversionMoveOperator op in Operators.OfType<IPermutationInversionMoveOperator>())
+      foreach (IPermutationInversionMoveOperator op in Operators.OfType<IPermutationInversionMoveOperator>()) {
         op.InversionMoveParameter.ActualName = inversionMove;
+        op.InversionMoveParameter.Hidden = true;
+      }
       string translocationMove = Operators.OfType<IMoveGenerator>().OfType<IPermutationTranslocationMoveOperator>().First().TranslocationMoveParameter.ActualName;
-      foreach (IPermutationTranslocationMoveOperator op in Operators.OfType<IPermutationTranslocationMoveOperator>())
+      foreach (IPermutationTranslocationMoveOperator op in Operators.OfType<IPermutationTranslocationMoveOperator>()) {
         op.TranslocationMoveParameter.ActualName = translocationMove;
-      foreach (IPermutationMultiNeighborhoodShakingOperator op in Operators.OfType<IPermutationMultiNeighborhoodShakingOperator>())
+        op.TranslocationMoveParameter.Hidden = true;
+      }
+      foreach (IPermutationMultiNeighborhoodShakingOperator op in Operators.OfType<IPermutationMultiNeighborhoodShakingOperator>()) {
         op.PermutationParameter.ActualName = SolutionCreator.PermutationParameter.ActualName;
+        op.PermutationParameter.Hidden = true;
+      }
     }
 
Index: /branches/histogram/HeuristicLab.Selection/3.3/ConditionalSelector.cs
===================================================================
--- /branches/histogram/HeuristicLab.Selection/3.3/ConditionalSelector.cs	(revision 6054)
+++ /branches/histogram/HeuristicLab.Selection/3.3/ConditionalSelector.cs	(revision 6055)
@@ -34,6 +34,6 @@
       get { return (ScopeTreeLookupParameter<BoolValue>)Parameters["Condition"]; }
     }
-    public ValueParameter<BoolValue> CopySelectedParameter {
-      get { return (ValueParameter<BoolValue>)Parameters["CopySelected"]; }
+    protected IValueParameter<BoolValue> CopySelectedParameter {
+      get { return (IValueParameter<BoolValue>)Parameters["CopySelected"]; }
     }
 
@@ -55,4 +55,5 @@
       Parameters.Add(new ScopeTreeLookupParameter<BoolValue>("Condition", "The boolean variable based on which the scopes are selected into a true scope-branch and a false scope-branch."));
       Parameters.Add(new ValueParameter<BoolValue>("CopySelected", "The parameter that decides whether the selected scopes should be copied or moved.", new BoolValue(true)));
+      CopySelectedParameter.Hidden = true;
     }
 
Index: /branches/histogram/HeuristicLab.Selection/3.3/CrowdedTournamentSelector.cs
===================================================================
--- /branches/histogram/HeuristicLab.Selection/3.3/CrowdedTournamentSelector.cs	(revision 6054)
+++ /branches/histogram/HeuristicLab.Selection/3.3/CrowdedTournamentSelector.cs	(revision 6055)
@@ -39,5 +39,5 @@
       get { return (IValueLookupParameter<IntValue>)Parameters["NumberOfSelectedSubScopes"]; }
     }
-    public IValueParameter<BoolValue> CopySelectedParameter {
+    protected IValueParameter<BoolValue> CopySelectedParameter {
       get { return (IValueParameter<BoolValue>)Parameters["CopySelected"]; }
     }
@@ -76,4 +76,5 @@
       Parameters.Add(new ScopeTreeLookupParameter<DoubleValue>("CrowdingDistance", "The solutions' crowding distance values."));
       Parameters.Add(new ValueLookupParameter<IntValue>("GroupSize", "The size of the group from which the best will be chosen.", new IntValue(2)));
+      CopySelectedParameter.Hidden = true;
     }
 
Index: /branches/histogram/HeuristicLab.Selection/3.3/GenderSpecificSelector.cs
===================================================================
--- /branches/histogram/HeuristicLab.Selection/3.3/GenderSpecificSelector.cs	(revision 6054)
+++ /branches/histogram/HeuristicLab.Selection/3.3/GenderSpecificSelector.cs	(revision 6055)
@@ -43,5 +43,5 @@
       get { return (IValueLookupParameter<IntValue>)Parameters["NumberOfSelectedSubScopes"]; }
     }
-    public IValueLookupParameter<BoolValue> CopySelectedParameter {
+    protected IValueLookupParameter<BoolValue> CopySelectedParameter {
       get { return (IValueLookupParameter<BoolValue>)Parameters["CopySelected"]; }
     }
@@ -97,4 +97,5 @@
       Parameters.Add(new ValueParameter<ISelector>("FemaleSelector", "The selection operator to select the first parent."));
       Parameters.Add(new ValueParameter<ISelector>("MaleSelector", "The selection operator to select the second parent."));
+      CopySelectedParameter.Hidden = true;
       #endregion
 
Index: /branches/histogram/HeuristicLab.Selection/3.3/LeftSelector.cs
===================================================================
--- /branches/histogram/HeuristicLab.Selection/3.3/LeftSelector.cs	(revision 6054)
+++ /branches/histogram/HeuristicLab.Selection/3.3/LeftSelector.cs	(revision 6055)
@@ -34,6 +34,6 @@
   [StorableClass]
   public sealed class LeftSelector : Selector {
-    private ValueParameter<BoolValue> CopySelectedParameter {
-      get { return (ValueParameter<BoolValue>)Parameters["CopySelected"]; }
+    private IValueParameter<BoolValue> CopySelectedParameter {
+      get { return (IValueParameter<BoolValue>)Parameters["CopySelected"]; }
     }
     public IValueLookupParameter<IntValue> NumberOfSelectedSubScopesParameter {
@@ -59,4 +59,5 @@
       Parameters.Add(new ValueParameter<BoolValue>("CopySelected", "True if the selected sub-scopes should be copied, otherwise false.", new BoolValue(true)));
       Parameters.Add(new ValueLookupParameter<IntValue>("NumberOfSelectedSubScopes", "The number of sub-scopes which should be selected."));
+      CopySelectedParameter.Hidden = true;
     }
 
Index: /branches/histogram/HeuristicLab.Selection/3.3/NoSameMatesSelector.cs
===================================================================
--- /branches/histogram/HeuristicLab.Selection/3.3/NoSameMatesSelector.cs	(revision 6054)
+++ /branches/histogram/HeuristicLab.Selection/3.3/NoSameMatesSelector.cs	(revision 6055)
@@ -74,5 +74,4 @@
       #endregion
 
-      CopySelectedParameter.Hidden = true;
       RegisterParameterEventHandlers();
     }
Index: /branches/histogram/HeuristicLab.Selection/3.3/RandomSelector.cs
===================================================================
--- /branches/histogram/HeuristicLab.Selection/3.3/RandomSelector.cs	(revision 6054)
+++ /branches/histogram/HeuristicLab.Selection/3.3/RandomSelector.cs	(revision 6055)
@@ -35,6 +35,6 @@
   [StorableClass]
   public sealed class RandomSelector : StochasticSelector, ISelector {
-    private ValueParameter<BoolValue> CopySelectedParameter {
-      get { return (ValueParameter<BoolValue>)Parameters["CopySelected"]; }
+    private IValueParameter<BoolValue> CopySelectedParameter {
+      get { return (IValueParameter<BoolValue>)Parameters["CopySelected"]; }
     }
     public IValueLookupParameter<IntValue> NumberOfSelectedSubScopesParameter {
@@ -59,4 +59,5 @@
       Parameters.Add(new ValueParameter<BoolValue>("CopySelected", "True if the selected sub-scopes should be copied, otherwise false.", new BoolValue(true)));
       Parameters.Add(new ValueLookupParameter<IntValue>("NumberOfSelectedSubScopes", "The number of sub-scopes which should be selected."));
+      CopySelectedParameter.Hidden = true;
     }
 
Index: /branches/histogram/HeuristicLab.Selection/3.3/RightSelector.cs
===================================================================
--- /branches/histogram/HeuristicLab.Selection/3.3/RightSelector.cs	(revision 6054)
+++ /branches/histogram/HeuristicLab.Selection/3.3/RightSelector.cs	(revision 6055)
@@ -34,6 +34,6 @@
   [StorableClass]
   public sealed class RightSelector : Selector {
-    private ValueParameter<BoolValue> CopySelectedParameter {
-      get { return (ValueParameter<BoolValue>)Parameters["CopySelected"]; }
+    private IValueParameter<BoolValue> CopySelectedParameter {
+      get { return (IValueParameter<BoolValue>)Parameters["CopySelected"]; }
     }
     public IValueLookupParameter<IntValue> NumberOfSelectedSubScopesParameter {
@@ -56,4 +56,5 @@
       Parameters.Add(new ValueParameter<BoolValue>("CopySelected", "True if the selected sub-scopes should be copied, otherwise false.", new BoolValue(true)));
       Parameters.Add(new ValueLookupParameter<IntValue>("NumberOfSelectedSubScopes", "The number of sub-scopes which should be selected."));
+      CopySelectedParameter.Hidden = true;
     }
 
Index: /branches/histogram/HeuristicLab.Selection/3.3/SingleObjectiveSelector.cs
===================================================================
--- /branches/histogram/HeuristicLab.Selection/3.3/SingleObjectiveSelector.cs	(revision 6054)
+++ /branches/histogram/HeuristicLab.Selection/3.3/SingleObjectiveSelector.cs	(revision 6055)
@@ -33,9 +33,9 @@
   [StorableClass]
   public abstract class SingleObjectiveSelector : Selector {
-    protected ValueParameter<BoolValue> CopySelectedParameter {
-      get { return (ValueParameter<BoolValue>)Parameters["CopySelected"]; }
+    protected IValueParameter<BoolValue> CopySelectedParameter {
+      get { return (IValueParameter<BoolValue>)Parameters["CopySelected"]; }
     }
     public IValueLookupParameter<IntValue> NumberOfSelectedSubScopesParameter {
-      get { return (ValueLookupParameter<IntValue>)Parameters["NumberOfSelectedSubScopes"]; }
+      get { return (IValueLookupParameter<IntValue>)Parameters["NumberOfSelectedSubScopes"]; }
     }
     public IValueLookupParameter<BoolValue> MaximizationParameter {
@@ -61,4 +61,5 @@
       Parameters.Add(new ValueLookupParameter<BoolValue>("Maximization", "True if the current problem is a maximization problem, otherwise false."));
       Parameters.Add(new ScopeTreeLookupParameter<DoubleValue>("Quality", "The quality value contained in each sub-scope which is used for selection."));
+      CopySelectedParameter.Hidden = true;
     }
   }
