Index: /trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4/InteractiveSymbolicDataAnalysisSolutionSimplifierView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4/InteractiveSymbolicDataAnalysisSolutionSimplifierView.cs	(revision 10520)
+++ /trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4/InteractiveSymbolicDataAnalysisSolutionSimplifierView.cs	(revision 10521)
@@ -97,6 +97,6 @@
 
     private void treeChart_SymbolicExpressionTreeNodeDoubleClicked(object sender, MouseEventArgs e) {
-      var visualNode = (VisualSymbolicExpressionTreeNode)sender;
-      var symbExprTreeNode = (SymbolicExpressionTreeNode)visualNode.SymbolicExpressionTreeNode;
+      var visualNode = (VisualTreeNode<ISymbolicExpressionTreeNode>)sender;
+      var symbExprTreeNode = (SymbolicExpressionTreeNode)visualNode.Content;
       if (symbExprTreeNode == null) return;
       var tree = Content.Model.SymbolicExpressionTree;
@@ -126,6 +126,6 @@
       double max = impacts.Max();
       double min = impacts.Min();
-      foreach (ISymbolicExpressionTreeNode treeNode in Content.Model.SymbolicExpressionTree.IterateNodesPostfix()) {
-        VisualSymbolicExpressionTreeNode visualTree = treeChart.GetVisualSymbolicExpressionTreeNode(treeNode);
+      foreach (var treeNode in Content.Model.SymbolicExpressionTree.IterateNodesPostfix()) {
+        VisualTreeNode<ISymbolicExpressionTreeNode> visualTree = treeChart.GetVisualSymbolicExpressionTreeNode(treeNode);
 
         if (!(treeNode is ConstantTreeNode) && nodeImpacts.ContainsKey(treeNode)) {
Index: /trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4/InteractiveSymbolicExpressionTreeChart.cs
===================================================================
--- /trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4/InteractiveSymbolicExpressionTreeChart.cs	(revision 10520)
+++ /trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4/InteractiveSymbolicExpressionTreeChart.cs	(revision 10521)
@@ -33,5 +33,5 @@
   internal sealed partial class InteractiveSymbolicExpressionTreeChart : SymbolicExpressionTreeChart {
     private ISymbolicExpressionTreeNode tempNode; // node in clipboard (to be cut/copy/pasted etc)
-    private VisualSymbolicExpressionTreeNode currSelected; // currently selected node
+    private VisualTreeNode<ISymbolicExpressionTreeNode> currSelected; // currently selected node
     private enum EditOp { NoOp, CopySubtree, CutSubtree }
     private EditOp lastOp = EditOp.NoOp;
@@ -65,5 +65,5 @@
         pasteToolStripMenuItem.Visible = false;
       } else {
-        var node = currSelected.SymbolicExpressionTreeNode;
+        var node = currSelected.Content;
         insertNodeToolStripMenuItem.Visible = true;
         changeNodeToolStripMenuItem.Visible = true;
@@ -77,10 +77,10 @@
         pasteToolStripMenuItem.Enabled = tempNode != null && insertNodeToolStripMenuItem.Enabled
                                                           && !(lastOp == EditOp.CutSubtree
-                                                               && tempNode.IterateNodesBreadth().Contains(currSelected.SymbolicExpressionTreeNode));
+                                                               && tempNode.IterateNodesBreadth().Contains(currSelected.Content));
       }
     }
 
     protected override void OnSymbolicExpressionTreeNodeClicked(object sender, MouseEventArgs e) {
-      currSelected = (VisualSymbolicExpressionTreeNode)sender; ;
+      currSelected = (VisualTreeNode<ISymbolicExpressionTreeNode>)sender; ;
       if (currSelected != null) {
         currSelected.LineColor = Color.FromArgb(130, currSelected.LineColor);
@@ -104,6 +104,6 @@
 
     private void insertNodeToolStripMenuItem_Click(object sender, EventArgs e) {
-      if (currSelected == null || currSelected.SymbolicExpressionTreeNode is SymbolicExpressionTreeTerminalNode) return;
-      var parent = currSelected.SymbolicExpressionTreeNode;
+      if (currSelected == null || currSelected.Content is SymbolicExpressionTreeTerminalNode) return;
+      var parent = currSelected.Content;
 
       using (var dialog = new InsertNodeDialog()) {
@@ -138,6 +138,6 @@
       if (currSelected == null) return;
 
-      var node = (ISymbolicExpressionTreeNode)currSelected.SymbolicExpressionTreeNode.Clone();
-      var originalNode = currSelected.SymbolicExpressionTreeNode;
+      var node = (ISymbolicExpressionTreeNode)currSelected.Content.Clone();
+      var originalNode = currSelected.Content;
 
       ISymbolicExpressionTreeNode newNode = null;
@@ -180,5 +180,5 @@
         }
       }
-      tempNode = currSelected.SymbolicExpressionTreeNode;
+      tempNode = currSelected.Content;
       foreach (var node in tempNode.IterateNodesPostfix()) {
         var visualNode = GetVisualSymbolicExpressionTreeNode(node);
@@ -194,5 +194,5 @@
     }
     private void removeNodeToolStripMenuItem_Click(object sender, EventArgs e) {
-      var node = currSelected.SymbolicExpressionTreeNode;
+      var node = currSelected.Content;
       if (node == tempNode) tempNode = null;
       ModifyTree(Tree, node.Parent, node, null, removeSubtree: false);
@@ -200,5 +200,5 @@
     }
     private void removeSubtreeToolStripMenuItem_Click(object sender, EventArgs e) {
-      var node = currSelected.SymbolicExpressionTreeNode;
+      var node = currSelected.Content;
       if (node.IterateNodesPostfix().Contains(tempNode)) tempNode = null;
       ModifyTree(Tree, node.Parent, node, null, removeSubtree: true);
@@ -209,5 +209,5 @@
       if (!(lastOp == EditOp.CopySubtree || lastOp == EditOp.CutSubtree)) return;
       // check if the copied/cut node (stored in the tempNode) can be inserted as a child of the current selected node
-      var node = currSelected.SymbolicExpressionTreeNode;
+      var node = currSelected.Content;
       if (node is ConstantTreeNode || node is VariableTreeNode) return;
       // check if the currently selected node can accept the copied node as a child 
