Index: branches/2971_named_intervals/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/SymbolicRegressionSolution.cs
===================================================================
--- branches/2971_named_intervals/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/SymbolicRegressionSolution.cs	(revision 17563)
+++ branches/2971_named_intervals/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/SymbolicRegressionSolution.cs	(revision 17564)
@@ -200,5 +200,5 @@
       var problemData = solution.ProblemData;
       var model = solution.Model;
-      var variableRanges = problemData.VariableRanges.GetIntervals();
+      var variableRanges = problemData.VariableRanges.GetReadonlyDictionary();
 
       intervalEvaluation.AddInterval($"Target {problemData.TargetVariable}", new Interval(variableRanges[problemData.TargetVariable].LowerBound, variableRanges[problemData.TargetVariable].UpperBound));
Index: branches/2971_named_intervals/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4/InteractiveSymbolicDataAnalysisSolutionSimplifierView.cs
===================================================================
--- branches/2971_named_intervals/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4/InteractiveSymbolicDataAnalysisSolutionSimplifierView.cs	(revision 17563)
+++ branches/2971_named_intervals/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4/InteractiveSymbolicDataAnalysisSolutionSimplifierView.cs	(revision 17564)
@@ -215,5 +215,5 @@
           if (regressionProblemData != null) {
             var interpreter = new IntervalInterpreter();
-            var variableRanges = regressionProblemData.VariableRanges.GetIntervals();
+            var variableRanges = regressionProblemData.VariableRanges.GetReadonlyDictionary();
             IDictionary<ISymbolicExpressionTreeNode, Interval> intervals;
             interpreter.GetSymbolicExpressionTreeIntervals(tree, variableRanges, out intervals);
Index: branches/2971_named_intervals/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interpreter/IntervalInterpreter.cs
===================================================================
--- branches/2971_named_intervals/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interpreter/IntervalInterpreter.cs	(revision 17563)
+++ branches/2971_named_intervals/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interpreter/IntervalInterpreter.cs	(revision 17564)
@@ -80,5 +80,5 @@
     }
 
-    public Interval GetSymbolicExpressionTreeInterval(ISymbolicExpressionTree tree, IDictionary<string, Interval> variableRanges) {
+    public Interval GetSymbolicExpressionTreeInterval(ISymbolicExpressionTree tree, IReadOnlyDictionary<string, Interval> variableRanges) {
       lock (syncRoot) {
         EvaluatedSolutions++;
@@ -97,5 +97,5 @@
 
     public Interval GetSymbolicExpressionTreeIntervals(ISymbolicExpressionTree tree,
-      IDictionary<string, Interval> variableRanges, out IDictionary<ISymbolicExpressionTreeNode, Interval> nodeIntervals) {
+      IReadOnlyDictionary<string, Interval> variableRanges, out IDictionary<ISymbolicExpressionTreeNode, Interval> nodeIntervals) {
       lock (syncRoot) {
         EvaluatedSolutions++;
@@ -124,5 +124,5 @@
 
 
-    private static Instruction[] PrepareInterpreterState(ISymbolicExpressionTree tree, IDictionary<string, Interval> variableRanges) {
+    private static Instruction[] PrepareInterpreterState(ISymbolicExpressionTree tree, IReadOnlyDictionary<string, Interval> variableRanges) {
       if (variableRanges == null)
         throw new ArgumentNullException("No variablew ranges are present!", nameof(variableRanges));
Index: branches/2971_named_intervals/HeuristicLab.Problems.DataAnalysis.Views/3.4/IntervalCollectionView.cs
===================================================================
--- branches/2971_named_intervals/HeuristicLab.Problems.DataAnalysis.Views/3.4/IntervalCollectionView.cs	(revision 17563)
+++ branches/2971_named_intervals/HeuristicLab.Problems.DataAnalysis.Views/3.4/IntervalCollectionView.cs	(revision 17564)
@@ -21,5 +21,4 @@
 
 
-using System.Linq;
 using System.Windows.Forms;
 using HeuristicLab.MainForm;
@@ -69,5 +68,5 @@
 
 
-      var variablesCount = Content.GetIntervals().Count;
+      var variablesCount = Content.Count;
 
       DataGridViewRow[] rows = new DataGridViewRow[variablesCount];
@@ -78,6 +77,11 @@
       dataGridView.Rows.AddRange(rows);
 
-      SetRowsHeader();
-      FillRows();
+      int j = 0;
+      foreach (var variableInterval in Content.GetVariableIntervals()) {
+        dataGridView.Rows[j].HeaderCell.Value = variableInterval.Item1;
+        dataGridView.Rows[j].Cells[0].Value = variableInterval.Item2.LowerBound;
+        dataGridView.Rows[j].Cells[1].Value = variableInterval.Item2.UpperBound;
+        j++;
+      }
 
       dataGridView.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
@@ -87,19 +91,4 @@
       foreach (DataGridViewColumn column in dataGridView.Columns) {
         column.SortMode = DataGridViewColumnSortMode.NotSortable;
-      }
-    }
-
-    private void FillRows() {
-      for (var i = 0; i < dataGridView.RowCount; ++i) {
-        var key = (string)dataGridView.Rows[i].HeaderCell.Value;
-        dataGridView.Rows[i].Cells[0].Value = Content.GetInterval(key).LowerBound;
-        dataGridView.Rows[i].Cells[1].Value = Content.GetInterval(key).UpperBound;
-      }
-    }
-
-    private void SetRowsHeader() {
-      for (var i = 0; i < Content.GetIntervals().Count; ++i) {
-        var item = Content.GetIntervals().ElementAt(i);
-        dataGridView.Rows[i].HeaderCell.Value = item.Key;
       }
     }
Index: branches/2971_named_intervals/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Interval/IntervalCollection.cs
===================================================================
--- branches/2971_named_intervals/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Interval/IntervalCollection.cs	(revision 17563)
+++ branches/2971_named_intervals/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Interval/IntervalCollection.cs	(revision 17564)
@@ -22,4 +22,5 @@
 using System;
 using System.Collections.Generic;
+using System.Linq;
 using HEAL.Attic;
 using HeuristicLab.Common;
@@ -51,4 +52,6 @@
       }
     }
+
+    public int Count => intervals.Count;
 
     public IntervalCollection() : base() { }
@@ -87,6 +90,11 @@
     }
 
-    public IDictionary<string, Interval> GetIntervals() {
-      return intervals;
+    public IReadOnlyDictionary<string, Interval> GetReadonlyDictionary() {
+      return intervals.ToDictionary(pair => pair.Key, pair => pair.Value);
+    }
+
+    public IEnumerable<Tuple<string, Interval>> GetVariableIntervals() {
+      foreach (var variableInterval in intervals)
+        yield return Tuple.Create(variableInterval.Key, variableInterval.Value);
     }
   }
