Index: /branches/DataPreprocessing/HeuristicLab.DataPreprocessing.Views/3.3/CheckedTransformationCollectionView.Designer.cs
===================================================================
--- /branches/DataPreprocessing/HeuristicLab.DataPreprocessing.Views/3.3/CheckedTransformationCollectionView.Designer.cs	(revision 10778)
+++ /branches/DataPreprocessing/HeuristicLab.DataPreprocessing.Views/3.3/CheckedTransformationCollectionView.Designer.cs	(revision 10778)
@@ -0,0 +1,53 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+namespace HeuristicLab.DataPreprocessing.Views {
+  partial class CheckedTransformationCollectionView {
+    /// <summary> 
+    /// Required designer variable.
+    /// </summary>
+    private System.ComponentModel.IContainer components = null;
+
+    /// <summary> 
+    /// Clean up any resources being used.
+    /// </summary>
+    /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+    protected override void Dispose(bool disposing) {
+      if (disposing && (components != null)) {
+        components.Dispose();
+      }
+      base.Dispose(disposing);
+    }
+
+    #region Component Designer generated code
+
+    /// <summary> 
+    /// Required method for Designer support - do not modify 
+    /// the contents of this method with the code editor.
+    /// </summary>
+    private void InitializeComponent() {
+      components = new System.ComponentModel.Container();
+      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+    }
+
+    #endregion
+  }
+}
Index: /branches/DataPreprocessing/HeuristicLab.DataPreprocessing.Views/3.3/CheckedTransformationCollectionView.cs
===================================================================
--- /branches/DataPreprocessing/HeuristicLab.DataPreprocessing.Views/3.3/CheckedTransformationCollectionView.cs	(revision 10778)
+++ /branches/DataPreprocessing/HeuristicLab.DataPreprocessing.Views/3.3/CheckedTransformationCollectionView.cs	(revision 10778)
@@ -0,0 +1,71 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Linq;
+using System.Reflection;
+using System.Windows.Forms;
+using HeuristicLab.Core;
+using HeuristicLab.Core.Views;
+using HeuristicLab.MainForm;
+using HeuristicLab.PluginInfrastructure;
+using HeuristicLab.Problems.DataAnalysis.Transformations;
+
+namespace HeuristicLab.DataPreprocessing.Views {
+  [View("CheckedTransformationCollection View")]
+  //[Content(typeof(RunCollectionConstraintCollection), true)]
+  [Content(typeof(ICheckedItemCollection<ITransformation>), false)]
+  public partial class CheckedTransformationCollectionView : CheckedItemCollectionView<ITransformation> {
+    public CheckedTransformationCollectionView() {
+      InitializeComponent();
+      itemsGroupBox.Text = "Transformations";
+    }
+
+    protected override ITransformation CreateItem() {
+      if (typeSelectorDialog == null) {
+        typeSelectorDialog = new TypeSelectorDialog();
+        typeSelectorDialog.Caption = "Select Transformation";
+        typeSelectorDialog.TypeSelector.Caption = "Available Transformations";
+        typeSelectorDialog.TypeSelector.Configure(typeof(ITransformation), showNotInstantiableTypes: true, showGenericTypes: false, typeCondition: CanInstanciateTransformation);
+      }
+
+      if (typeSelectorDialog.ShowDialog(this) == DialogResult.OK) {
+        try {
+          var columNames = new[] { "dummy", "target" }.AsEnumerable();
+          return (ITransformation)typeSelectorDialog.TypeSelector.CreateInstanceOfSelectedType(new[] { columNames });
+        } catch (Exception ex) {
+          ErrorHandling.ShowErrorDialog(this, ex);
+        }
+      }
+      return null;
+    }
+
+    private bool CanInstanciateTransformation(Type type) {
+      foreach (ConstructorInfo ctor in type.GetConstructors(BindingFlags.Public | BindingFlags.Instance)) {
+        ParameterInfo[] parameters = ctor.GetParameters();
+        if (parameters.Length == 1 && parameters[0].ParameterType == typeof(IEnumerable<string>)) return true;
+      }
+      return false;
+    }
+  }
+}
Index: /branches/DataPreprocessing/HeuristicLab.DataPreprocessing.Views/3.3/HeuristicLab.DataPreprocessing.Views-3.3.csproj
===================================================================
--- /branches/DataPreprocessing/HeuristicLab.DataPreprocessing.Views/3.3/HeuristicLab.DataPreprocessing.Views-3.3.csproj	(revision 10777)
+++ /branches/DataPreprocessing/HeuristicLab.DataPreprocessing.Views/3.3/HeuristicLab.DataPreprocessing.Views-3.3.csproj	(revision 10778)
@@ -64,4 +64,10 @@
   </ItemGroup>
   <ItemGroup>
+    <Compile Include="CheckedTransformationCollectionView.cs">
+      <SubType>UserControl</SubType>
+    </Compile>
+    <Compile Include="CheckedTransformationCollectionView.Designer.cs">
+      <DependentUpon>CheckedTransformationCollectionView.cs</DependentUpon>
+    </Compile>
     <Compile Include="ComparisonFilterView.cs">
       <SubType>UserControl</SubType>
Index: /branches/DataPreprocessing/HeuristicLab.DataPreprocessing.Views/3.3/TransformationView.Designer.cs
===================================================================
--- /branches/DataPreprocessing/HeuristicLab.DataPreprocessing.Views/3.3/TransformationView.Designer.cs	(revision 10777)
+++ /branches/DataPreprocessing/HeuristicLab.DataPreprocessing.Views/3.3/TransformationView.Designer.cs	(revision 10778)
@@ -48,5 +48,5 @@
     private void InitializeComponent() {
       components = new System.ComponentModel.Container();
-      this.transformationCollectionView = new HeuristicLab.Core.Views.CheckedItemCollectionView<ITransformation>();
+      this.transformationCollectionView = new CheckedTransformationCollectionView();
       // transformationCollectionView
       // 
@@ -71,5 +71,5 @@
 
     #endregion
-    private Core.Views.CheckedItemCollectionView<ITransformation> transformationCollectionView;
+    private CheckedTransformationCollectionView transformationCollectionView;
   }
 }
Index: /branches/DataPreprocessing/HeuristicLab.Problems.DataAnalysis.Transformations/3.3/CopyColumnTransformation.cs
===================================================================
--- /branches/DataPreprocessing/HeuristicLab.Problems.DataAnalysis.Transformations/3.3/CopyColumnTransformation.cs	(revision 10777)
+++ /branches/DataPreprocessing/HeuristicLab.Problems.DataAnalysis.Transformations/3.3/CopyColumnTransformation.cs	(revision 10778)
@@ -50,6 +50,4 @@
       : base(original, cloner) {
     }
-    protected CopyColumnTransformation() {
-    }
     public CopyColumnTransformation(IEnumerable<string> allowedColumns)
       : base(allowedColumns) {
Index: /branches/DataPreprocessing/HeuristicLab.Problems.DataAnalysis.Transformations/3.3/LinearTransformation.cs
===================================================================
--- /branches/DataPreprocessing/HeuristicLab.Problems.DataAnalysis.Transformations/3.3/LinearTransformation.cs	(revision 10777)
+++ /branches/DataPreprocessing/HeuristicLab.Problems.DataAnalysis.Transformations/3.3/LinearTransformation.cs	(revision 10778)
@@ -67,6 +67,4 @@
       : base(original, cloner) {
     }
-    protected LinearTransformation() {
-    }
     public LinearTransformation(IEnumerable<string> allowedColumns)
       : base(allowedColumns) {
Index: /branches/DataPreprocessing/HeuristicLab.Problems.DataAnalysis.Transformations/3.3/ShiftDataToRangeTransformation.cs
===================================================================
--- /branches/DataPreprocessing/HeuristicLab.Problems.DataAnalysis.Transformations/3.3/ShiftDataToRangeTransformation.cs	(revision 10777)
+++ /branches/DataPreprocessing/HeuristicLab.Problems.DataAnalysis.Transformations/3.3/ShiftDataToRangeTransformation.cs	(revision 10778)
@@ -28,7 +28,4 @@
     protected ShiftDataToRangeTransformation(Transformation<double> original, Cloner cloner)
       : base(original, cloner) {
-    }
-    protected ShiftDataToRangeTransformation()
-      : base() {
     }
     public ShiftDataToRangeTransformation(IEnumerable<string> allowedColumns)
Index: /branches/DataPreprocessing/HeuristicLab.Problems.DataAnalysis.Transformations/3.3/Transformation.cs
===================================================================
--- /branches/DataPreprocessing/HeuristicLab.Problems.DataAnalysis.Transformations/3.3/Transformation.cs	(revision 10777)
+++ /branches/DataPreprocessing/HeuristicLab.Problems.DataAnalysis.Transformations/3.3/Transformation.cs	(revision 10778)
@@ -48,5 +48,4 @@
     protected Transformation(bool deserializing) : base(deserializing) { }
     protected Transformation(Transformation<T> original, Cloner cloner) : base(original, cloner) { }
-    protected Transformation() { }
     protected Transformation(IEnumerable<string> allowedColumns) {
       var allowed = new ItemSet<StringValue>(allowedColumns.Select(e => new StringValue(e)));
