Index: branches/HeuristicLab.EvolutionTracking/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Tracking/SymbolicDataAnalysisExpressionAfterCrossoverOperator.cs
===================================================================
--- branches/HeuristicLab.EvolutionTracking/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Tracking/SymbolicDataAnalysisExpressionAfterCrossoverOperator.cs	(revision 10674)
+++ branches/HeuristicLab.EvolutionTracking/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Tracking/SymbolicDataAnalysisExpressionAfterCrossoverOperator.cs	(revision 10677)
@@ -10,9 +10,8 @@
     public override IOperation Apply() {
       var child = ChildParameter.ActualValue;
-      var childVertex = GenealogyGraph[child].Last();
-      var arc0 = (IGenealogyGraphArc)childVertex.InArcs[0];
-      var arc1 = (IGenealogyGraphArc)childVertex.InArcs[1];
-      var nodes0 = (List<ISymbolicExpressionTreeNode>)arc0.Data;
-      var nodes1 = (List<ISymbolicExpressionTreeNode>)arc1.Data;
+      var childVertex = (IGenealogyGraphNode)GenealogyGraph[child].Last();
+      var arcs = childVertex.InArcs.ToList();
+      var nodes0 = (List<ISymbolicExpressionTreeNode>)arcs[0].Data;
+      var nodes1 = (List<ISymbolicExpressionTreeNode>)arcs[1].Data;
       var childNodes = child.IterateNodesPrefix().ToList();
       IFragment<ISymbolicExpressionTreeNode> fragment = null;
@@ -28,6 +27,6 @@
       if (fragment == null) throw new Exception("Could not determine fragment!");
 
-      arc0.Data = null;
-      arc1.Data = fragment;
+      arcs[0].Data = null;
+      arcs[1].Data = fragment;
 
       return base.Apply();
Index: branches/HeuristicLab.EvolutionTracking/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Tracking/SymbolicDataAnalysisExpressionAfterManipulatorOperator.cs
===================================================================
--- branches/HeuristicLab.EvolutionTracking/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Tracking/SymbolicDataAnalysisExpressionAfterManipulatorOperator.cs	(revision 10674)
+++ branches/HeuristicLab.EvolutionTracking/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Tracking/SymbolicDataAnalysisExpressionAfterManipulatorOperator.cs	(revision 10677)
@@ -20,5 +20,5 @@
     public override IOperation Apply() {
       var vChild = (IGenealogyGraphNode<ISymbolicExpressionTree>)GenealogyGraph[ChildParameter.ActualValue].First();
-      var nodesBefore = (List<ISymbolicExpressionTreeNode>)vChild.InArcs[0].Data;
+      var nodesBefore = (List<ISymbolicExpressionTreeNode>)vChild.InArcs.First().Data;
       var nodesAfter = ChildParameter.ActualValue.IterateNodesBreadth().ToList();
       IFragment<ISymbolicExpressionTreeNode> fragment = null;
@@ -32,5 +32,5 @@
       }
 
-      vChild.InArcs[0].Data = fragment;
+      vChild.InArcs.First().Data = fragment;
       return base.Apply();
     }
Index: branches/HeuristicLab.EvolutionTracking/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Tracking/SymbolicDataAnalysisExpressionBeforeCrossoverOperator.cs
===================================================================
--- branches/HeuristicLab.EvolutionTracking/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Tracking/SymbolicDataAnalysisExpressionBeforeCrossoverOperator.cs	(revision 10674)
+++ branches/HeuristicLab.EvolutionTracking/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Tracking/SymbolicDataAnalysisExpressionBeforeCrossoverOperator.cs	(revision 10677)
@@ -32,9 +32,9 @@
       var parents = ParentsParameter.ActualValue.ToList();
       var childVertex = (IGenealogyGraphNode<ISymbolicExpressionTree>)GenealogyGraph[parents[0]].Last(); // use the parent since it is actually the child before crossover (and the ChildParameter doesn't have a value yet)
+      var arcs = childVertex.InArcs.ToList();
 
       for (int i = 0; i < parents.Count; ++i) {
         var nodes = parents[i].IterateNodesPrefix().ToList();
-        var arc = childVertex.InArcs[i];
-        arc.Data = nodes;
+        arcs[i].Data = nodes;
       }
       var parentVertices = childVertex.InArcs.Select(x => (IGenealogyGraphNode<ISymbolicExpressionTree>)x.Source).ToList();
Index: branches/HeuristicLab.EvolutionTracking/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Tracking/SymbolicDataAnalysisExpressionBeforeManipulatorOperator.cs
===================================================================
--- branches/HeuristicLab.EvolutionTracking/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Tracking/SymbolicDataAnalysisExpressionBeforeManipulatorOperator.cs	(revision 10674)
+++ branches/HeuristicLab.EvolutionTracking/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Tracking/SymbolicDataAnalysisExpressionBeforeManipulatorOperator.cs	(revision 10677)
@@ -10,5 +10,5 @@
 
       var vChild = (IGenealogyGraphNode<ISymbolicExpressionTree>)GenealogyGraph[ChildParameter.ActualValue].Last();
-      vChild.InArcs[0].Data = vChild.Content.IterateNodesBreadth().ToList();
+      vChild.InArcs.First().Data = vChild.Content.IterateNodesBreadth().ToList();
 
       return result;
