Index: /branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/ExperimentManager/HiveJobView.designer.cs
===================================================================
--- /branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/ExperimentManager/HiveJobView.designer.cs	(revision 5796)
+++ /branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/ExperimentManager/HiveJobView.designer.cs	(revision 5797)
@@ -65,4 +65,5 @@
       this.exceptionTextBox = new System.Windows.Forms.TextBox();
       this.tabControl = new System.Windows.Forms.TabControl();
+      this.splitContainer1 = new System.Windows.Forms.SplitContainer();
       this.logTabPage.SuspendLayout();
       this.stateLogTabPage.SuspendLayout();
@@ -73,4 +74,8 @@
       this.jobStatusGroupBox.SuspendLayout();
       this.tabControl.SuspendLayout();
+      ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
+      this.splitContainer1.Panel1.SuspendLayout();
+      this.splitContainer1.Panel2.SuspendLayout();
+      this.splitContainer1.SuspendLayout();
       this.SuspendLayout();
       // 
@@ -151,16 +156,15 @@
       // detailsTabPage
       // 
+      this.detailsTabPage.Controls.Add(this.splitContainer1);
       this.detailsTabPage.Controls.Add(this.restartButton);
       this.detailsTabPage.Controls.Add(this.pauseButton);
       this.detailsTabPage.Controls.Add(this.stopButton);
       this.detailsTabPage.Controls.Add(this.optimizerGroupBox);
-      this.detailsTabPage.Controls.Add(this.configurationGroupBox);
       this.detailsTabPage.Controls.Add(this.jobIdLabel);
       this.detailsTabPage.Controls.Add(this.jobIdTextBox);
-      this.detailsTabPage.Controls.Add(this.jobStatusGroupBox);
       this.detailsTabPage.Location = new System.Drawing.Point(4, 22);
       this.detailsTabPage.Name = "detailsTabPage";
       this.detailsTabPage.Padding = new System.Windows.Forms.Padding(3);
-      this.detailsTabPage.Size = new System.Drawing.Size(611, 492);
+      this.detailsTabPage.Size = new System.Drawing.Size(563, 375);
       this.detailsTabPage.TabIndex = 0;
       this.detailsTabPage.Text = "Details";
@@ -171,5 +175,5 @@
       this.restartButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
       this.restartButton.Image = ((System.Drawing.Image)(resources.GetObject("restartButton.Image")));
-      this.restartButton.Location = new System.Drawing.Point(3, 465);
+      this.restartButton.Location = new System.Drawing.Point(3, 348);
       this.restartButton.Name = "restartButton";
       this.restartButton.Size = new System.Drawing.Size(24, 24);
@@ -183,5 +187,5 @@
       this.pauseButton.Enabled = false;
       this.pauseButton.Image = ((System.Drawing.Image)(resources.GetObject("pauseButton.Image")));
-      this.pauseButton.Location = new System.Drawing.Point(33, 465);
+      this.pauseButton.Location = new System.Drawing.Point(33, 348);
       this.pauseButton.Name = "pauseButton";
       this.pauseButton.Size = new System.Drawing.Size(24, 24);
@@ -194,5 +198,5 @@
       this.stopButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
       this.stopButton.Image = ((System.Drawing.Image)(resources.GetObject("stopButton.Image")));
-      this.stopButton.Location = new System.Drawing.Point(63, 465);
+      this.stopButton.Location = new System.Drawing.Point(63, 348);
       this.stopButton.Name = "stopButton";
       this.stopButton.Size = new System.Drawing.Size(24, 24);
@@ -211,5 +215,5 @@
       this.optimizerGroupBox.Location = new System.Drawing.Point(6, 29);
       this.optimizerGroupBox.Name = "optimizerGroupBox";
-      this.optimizerGroupBox.Size = new System.Drawing.Size(599, 129);
+      this.optimizerGroupBox.Size = new System.Drawing.Size(551, 129);
       this.optimizerGroupBox.TabIndex = 28;
       this.optimizerGroupBox.TabStop = false;
@@ -220,7 +224,7 @@
       this.showOptimizerButton.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
                   | System.Windows.Forms.AnchorStyles.Right)));
-      this.showOptimizerButton.Location = new System.Drawing.Point(12, 99);
+      this.showOptimizerButton.Location = new System.Drawing.Point(78, 99);
       this.showOptimizerButton.Name = "showOptimizerButton";
-      this.showOptimizerButton.Size = new System.Drawing.Size(581, 23);
+      this.showOptimizerButton.Size = new System.Drawing.Size(467, 23);
       this.showOptimizerButton.TabIndex = 3;
       this.showOptimizerButton.Text = "Show Optimizer";
@@ -234,5 +238,5 @@
       this.lastUpdatedTextBox.Location = new System.Drawing.Point(78, 73);
       this.lastUpdatedTextBox.Name = "lastUpdatedTextBox";
-      this.lastUpdatedTextBox.Size = new System.Drawing.Size(515, 20);
+      this.lastUpdatedTextBox.Size = new System.Drawing.Size(467, 20);
       this.lastUpdatedTextBox.TabIndex = 2;
       // 
@@ -255,11 +259,9 @@
       this.optimizerNamedItemView.Name = "optimizerNamedItemView";
       this.optimizerNamedItemView.ReadOnly = false;
-      this.optimizerNamedItemView.Size = new System.Drawing.Size(587, 51);
+      this.optimizerNamedItemView.Size = new System.Drawing.Size(539, 51);
       this.optimizerNamedItemView.TabIndex = 0;
       // 
       // configurationGroupBox
       // 
-      this.configurationGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
-                  | System.Windows.Forms.AnchorStyles.Right)));
       this.configurationGroupBox.Controls.Add(this.priorityTextBox);
       this.configurationGroupBox.Controls.Add(this.priorityLabel);
@@ -270,7 +272,8 @@
       this.configurationGroupBox.Controls.Add(this.computeInParallelLabel);
       this.configurationGroupBox.Controls.Add(this.computeInParallelCheckBox);
-      this.configurationGroupBox.Location = new System.Drawing.Point(6, 164);
+      this.configurationGroupBox.Dock = System.Windows.Forms.DockStyle.Fill;
+      this.configurationGroupBox.Location = new System.Drawing.Point(0, 0);
       this.configurationGroupBox.Name = "configurationGroupBox";
-      this.configurationGroupBox.Size = new System.Drawing.Size(599, 119);
+      this.configurationGroupBox.Size = new System.Drawing.Size(275, 155);
       this.configurationGroupBox.TabIndex = 27;
       this.configurationGroupBox.TabStop = false;
@@ -283,5 +286,5 @@
       this.priorityTextBox.Location = new System.Drawing.Point(108, 66);
       this.priorityTextBox.Name = "priorityTextBox";
-      this.priorityTextBox.Size = new System.Drawing.Size(485, 20);
+      this.priorityTextBox.Size = new System.Drawing.Size(161, 20);
       this.priorityTextBox.TabIndex = 41;
       // 
@@ -301,5 +304,5 @@
       this.coresNeededTextBox.Location = new System.Drawing.Point(108, 20);
       this.coresNeededTextBox.Name = "coresNeededTextBox";
-      this.coresNeededTextBox.Size = new System.Drawing.Size(485, 20);
+      this.coresNeededTextBox.Size = new System.Drawing.Size(161, 20);
       this.coresNeededTextBox.TabIndex = 37;
       // 
@@ -310,5 +313,5 @@
       this.memoryNeededTextBox.Location = new System.Drawing.Point(108, 42);
       this.memoryNeededTextBox.Name = "memoryNeededTextBox";
-      this.memoryNeededTextBox.Size = new System.Drawing.Size(485, 20);
+      this.memoryNeededTextBox.Size = new System.Drawing.Size(161, 20);
       this.memoryNeededTextBox.TabIndex = 38;
       // 
@@ -365,11 +368,9 @@
       this.jobIdTextBox.Location = new System.Drawing.Point(91, 6);
       this.jobIdTextBox.Name = "jobIdTextBox";
-      this.jobIdTextBox.Size = new System.Drawing.Size(514, 20);
+      this.jobIdTextBox.Size = new System.Drawing.Size(466, 20);
       this.jobIdTextBox.TabIndex = 26;
       // 
       // jobStatusGroupBox
       // 
-      this.jobStatusGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
-                  | System.Windows.Forms.AnchorStyles.Right)));
       this.jobStatusGroupBox.Controls.Add(this.stateTextBox);
       this.jobStatusGroupBox.Controls.Add(this.dateCalculatedLabel);
@@ -384,7 +385,8 @@
       this.jobStatusGroupBox.Controls.Add(this.dateFinishedLabel);
       this.jobStatusGroupBox.Controls.Add(this.exceptionTextBox);
-      this.jobStatusGroupBox.Location = new System.Drawing.Point(6, 289);
+      this.jobStatusGroupBox.Dock = System.Windows.Forms.DockStyle.Fill;
+      this.jobStatusGroupBox.Location = new System.Drawing.Point(0, 0);
       this.jobStatusGroupBox.Name = "jobStatusGroupBox";
-      this.jobStatusGroupBox.Size = new System.Drawing.Size(599, 162);
+      this.jobStatusGroupBox.Size = new System.Drawing.Size(272, 155);
       this.jobStatusGroupBox.TabIndex = 24;
       this.jobStatusGroupBox.TabStop = false;
@@ -397,5 +399,5 @@
       this.stateTextBox.Location = new System.Drawing.Point(95, 19);
       this.stateTextBox.Name = "stateTextBox";
-      this.stateTextBox.Size = new System.Drawing.Size(498, 20);
+      this.stateTextBox.Size = new System.Drawing.Size(171, 20);
       this.stateTextBox.TabIndex = 2;
       // 
@@ -424,5 +426,5 @@
       this.dateCalculatedText.Location = new System.Drawing.Point(95, 85);
       this.dateCalculatedText.Name = "dateCalculatedText";
-      this.dateCalculatedText.Size = new System.Drawing.Size(498, 20);
+      this.dateCalculatedText.Size = new System.Drawing.Size(171, 20);
       this.dateCalculatedText.TabIndex = 22;
       // 
@@ -433,5 +435,5 @@
       this.dateFinishedTextBox.Location = new System.Drawing.Point(95, 107);
       this.dateFinishedTextBox.Name = "dateFinishedTextBox";
-      this.dateFinishedTextBox.Size = new System.Drawing.Size(498, 20);
+      this.dateFinishedTextBox.Size = new System.Drawing.Size(171, 20);
       this.dateFinishedTextBox.TabIndex = 6;
       // 
@@ -442,5 +444,5 @@
       this.executionTimeTextBox.Location = new System.Drawing.Point(95, 41);
       this.executionTimeTextBox.Name = "executionTimeTextBox";
-      this.executionTimeTextBox.Size = new System.Drawing.Size(498, 20);
+      this.executionTimeTextBox.Size = new System.Drawing.Size(171, 20);
       this.executionTimeTextBox.TabIndex = 4;
       // 
@@ -451,5 +453,5 @@
       this.dateCreatedTextBox.Location = new System.Drawing.Point(95, 63);
       this.dateCreatedTextBox.Name = "dateCreatedTextBox";
-      this.dateCreatedTextBox.Size = new System.Drawing.Size(498, 20);
+      this.dateCreatedTextBox.Size = new System.Drawing.Size(171, 20);
       this.dateCreatedTextBox.TabIndex = 5;
       // 
@@ -496,5 +498,5 @@
       this.exceptionTextBox.Location = new System.Drawing.Point(95, 129);
       this.exceptionTextBox.Name = "exceptionTextBox";
-      this.exceptionTextBox.Size = new System.Drawing.Size(498, 20);
+      this.exceptionTextBox.Size = new System.Drawing.Size(171, 20);
       this.exceptionTextBox.TabIndex = 10;
       this.exceptionTextBox.DoubleClick += new System.EventHandler(this.exceptionTextBox_DoubleClick);
@@ -512,6 +514,24 @@
       this.tabControl.Name = "tabControl";
       this.tabControl.SelectedIndex = 0;
-      this.tabControl.Size = new System.Drawing.Size(619, 518);
+      this.tabControl.Size = new System.Drawing.Size(571, 401);
       this.tabControl.TabIndex = 25;
+      // 
+      // splitContainer1
+      // 
+      this.splitContainer1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+                  | System.Windows.Forms.AnchorStyles.Right)));
+      this.splitContainer1.Location = new System.Drawing.Point(6, 164);
+      this.splitContainer1.Name = "splitContainer1";
+      // 
+      // splitContainer1.Panel1
+      // 
+      this.splitContainer1.Panel1.Controls.Add(this.configurationGroupBox);
+      // 
+      // splitContainer1.Panel2
+      // 
+      this.splitContainer1.Panel2.Controls.Add(this.jobStatusGroupBox);
+      this.splitContainer1.Size = new System.Drawing.Size(551, 155);
+      this.splitContainer1.SplitterDistance = 275;
+      this.splitContainer1.TabIndex = 33;
       // 
       // HiveJobView
@@ -521,5 +541,5 @@
       this.Controls.Add(this.tabControl);
       this.Name = "HiveJobView";
-      this.Size = new System.Drawing.Size(625, 524);
+      this.Size = new System.Drawing.Size(577, 407);
       this.logTabPage.ResumeLayout(false);
       this.stateLogTabPage.ResumeLayout(false);
@@ -534,4 +554,8 @@
       this.jobStatusGroupBox.PerformLayout();
       this.tabControl.ResumeLayout(false);
+      this.splitContainer1.Panel1.ResumeLayout(false);
+      this.splitContainer1.Panel2.ResumeLayout(false);
+      ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
+      this.splitContainer1.ResumeLayout(false);
       this.ResumeLayout(false);
 
@@ -580,4 +604,5 @@
     private System.Windows.Forms.TextBox dateCreatedTextBox;
     private System.Windows.Forms.Label dateCreatedLabel;
+    private System.Windows.Forms.SplitContainer splitContainer1;
 
   }
Index: /branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/ExperimentManager/ItemTreeView.cs
===================================================================
--- /branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/ExperimentManager/ItemTreeView.cs	(revision 5796)
+++ /branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/ExperimentManager/ItemTreeView.cs	(revision 5797)
@@ -83,8 +83,10 @@
       } else {
         TreeNode node = GetNodeByItem(sender as IItemTree);
-        foreach (IItemTree item in e.Items) {
-          AddChildNodes(item, node.Nodes, true);
-          node.ExpandAll();
-          UpdateNodeItemImage(node);
+        if (node != null) {
+          foreach (IItemTree item in e.Items) {
+            AddChildNodes(item, node.Nodes, true);
+            node.ExpandAll();
+            UpdateNodeItemImage(node);
+          }
         }
       }
@@ -96,8 +98,10 @@
       } else {
         TreeNode node = GetNodeByItem(sender as IItemTree);
-        foreach (IItemTree item in e.Items) {
-          RemoveChildNodes(item, node.Nodes);
-        }
-        RebuildImageList();
+        if (node != null) {
+          foreach (IItemTree item in e.Items) {
+            RemoveChildNodes(item, node.Nodes);
+          }
+          RebuildImageList();
+        }
       }
     }
@@ -108,10 +112,12 @@
       } else {
         TreeNode node = GetNodeByItem(sender as IItemTree);
-        foreach (IItemTree item in e.OldItems) {
-          RemoveChildNodes(item, node.Nodes);
-        }
-        RebuildImageList();
-        foreach (IItemTree item in e.Items) {
-          AddChildNodes(item, node.Nodes, true);
+        if (node != null) {
+          foreach (IItemTree item in e.OldItems) {
+            RemoveChildNodes(item, node.Nodes);
+          }
+          RebuildImageList();
+          foreach (IItemTree item in e.Items) {
+            AddChildNodes(item, node.Nodes, true);
+          }
         }
       }
@@ -124,5 +130,6 @@
         var item = sender as IItemTree;
         TreeNode node = GetNodeByItem(item);
-        node.Text = item.ToString();
+        if(node != null)
+          node.Text = item.ToString();
       }
     }
@@ -134,5 +141,6 @@
         var item = sender as IItemTree;
         TreeNode node = GetNodeByItem(item);
-        UpdateNodeItemImage(node);
+        if(node != null)
+          UpdateNodeItemImage(node);
       }
     }
