Index: branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing/3.4/Content/HistogramContent.cs
===================================================================
--- branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing/3.4/Content/HistogramContent.cs	(revision 14579)
+++ branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing/3.4/Content/HistogramContent.cs	(revision 14581)
@@ -20,8 +20,5 @@
 #endregion
 
-using System;
-using System.Collections.Generic;
 using System.Drawing;
-using System.Linq;
 using HeuristicLab.Common;
 using HeuristicLab.Core;
@@ -30,10 +27,7 @@
   [Item("Histogram", "Represents the histogram grid.")]
   public class HistogramContent : PreprocessingChartContent {
-
     public static new Image StaticItemImage {
       get { return HeuristicLab.Common.Resources.VSImageLibrary.Statistics; }
     }
-
-    private const int MAX_DISTINCT_VALUES_FOR_GROUPING = 20;
 
     public string GroupingVariableName { get; set; }
@@ -55,21 +49,5 @@
     }
 
-    public IEnumerable<string> GetVariableNamesForGrouping() {
-      var variableNames = new List<string>();
 
-      for (int i = 0; i < PreprocessingData.Columns; ++i) {
-        int distinctValues = int.MaxValue;
-        if (PreprocessingData.VariableHasType<double>(i))
-          distinctValues = PreprocessingData.GetValues<double>(i).GroupBy(x => x).Count();
-        else if (PreprocessingData.VariableHasType<string>(i))
-          distinctValues = PreprocessingData.GetValues<string>(i).GroupBy(x => x).Count();
-        else if (PreprocessingData.VariableHasType<DateTime>(i))
-          distinctValues = PreprocessingData.GetValues<DateTime>(i).GroupBy(x => x).Count();
-
-        if (distinctValues <= MAX_DISTINCT_VALUES_FOR_GROUPING)
-          variableNames.Add(PreprocessingData.GetVariableName(i));
-      }
-      return variableNames;
-    }
   }
 }
Index: branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing/3.4/Content/PreprocessingChartContent.cs
===================================================================
--- branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing/3.4/Content/PreprocessingChartContent.cs	(revision 14579)
+++ branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing/3.4/Content/PreprocessingChartContent.cs	(revision 14581)
@@ -20,8 +20,11 @@
 #endregion
 
+using System;
 using System.Collections.Generic;
 using System.Drawing;
+using System.Linq;
 using HeuristicLab.Analysis;
 using HeuristicLab.Common;
+using HeuristicLab.Common.Resources;
 using HeuristicLab.Core;
 using HeuristicLab.Data;
@@ -31,5 +34,5 @@
   public class PreprocessingChartContent : Item, IViewShortcut {
     public static new Image StaticItemImage {
-      get { return HeuristicLab.Common.Resources.VSImageLibrary.PieChart; }
+      get { return VSImageLibrary.PieChart; }
     }
 
@@ -38,11 +41,14 @@
       get {
         if (variableItemList == null)
-          variableItemList = CreateVariableItemList();
+          variableItemList = CreateVariableItemList(PreprocessingData);
         return this.variableItemList;
       }
-      //set { this.variableItemList = value; }
     }
 
     public IFilteredPreprocessingData PreprocessingData { get; private set; }
+    public event DataPreprocessingChangedEventHandler Changed {
+      add { PreprocessingData.Changed += value; }
+      remove { PreprocessingData.Changed -= value; }
+    }
 
     public PreprocessingChartContent(IFilteredPreprocessingData preprocessingData) {
@@ -66,22 +72,13 @@
     }
 
-
-
-
-    public ICheckedItemList<StringValue> CreateVariableItemList() {
+    private static ICheckedItemList<StringValue> CreateVariableItemList(IPreprocessingData preprocessingData) {
       ICheckedItemList<StringValue> itemList = new CheckedItemList<StringValue>();
-      foreach (string name in PreprocessingData.GetDoubleVariableNames()) {
+      foreach (string name in preprocessingData.GetDoubleVariableNames()) {
         var n = new StringValue(name);
-        bool isInputTarget = PreprocessingData.InputVariables.Contains(name) || PreprocessingData.TargetVariable == name;
+        bool isInputTarget = preprocessingData.InputVariables.Contains(name) || preprocessingData.TargetVariable == name;
         itemList.Add(n, isInputTarget);
       }
       return new ReadOnlyCheckedItemList<StringValue>(itemList);
     }
-
-    public event DataPreprocessingChangedEventHandler Changed {
-      add { PreprocessingData.Changed += value; }
-      remove { PreprocessingData.Changed -= value; }
-    }
-
   }
 }
