Index: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/Shared/JsonItemBaseControl.Designer.cs
===================================================================
--- branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/Shared/JsonItemBaseControl.Designer.cs	(revision 17432)
+++ branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/Shared/JsonItemBaseControl.Designer.cs	(revision 17433)
@@ -30,4 +30,6 @@
       this.textBoxName = new System.Windows.Forms.TextBox();
       this.label1 = new System.Windows.Forms.Label();
+      this.labelDescription = new System.Windows.Forms.Label();
+      this.textBoxDescription = new System.Windows.Forms.TextBox();
       this.SuspendLayout();
       // 
@@ -56,5 +58,5 @@
       this.textBoxActualName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
             | System.Windows.Forms.AnchorStyles.Right)));
-      this.textBoxActualName.Location = new System.Drawing.Point(92, 49);
+      this.textBoxActualName.Location = new System.Drawing.Point(92, 75);
       this.textBoxActualName.Name = "textBoxActualName";
       this.textBoxActualName.Size = new System.Drawing.Size(404, 20);
@@ -64,5 +66,5 @@
       // 
       this.labelActualName.AutoSize = true;
-      this.labelActualName.Location = new System.Drawing.Point(6, 52);
+      this.labelActualName.Location = new System.Drawing.Point(6, 78);
       this.labelActualName.Name = "labelActualName";
       this.labelActualName.Size = new System.Drawing.Size(65, 13);
@@ -91,8 +93,28 @@
       this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
       // 
+      // labelDescription
+      // 
+      this.labelDescription.AutoSize = true;
+      this.labelDescription.Location = new System.Drawing.Point(6, 52);
+      this.labelDescription.Name = "labelDescription";
+      this.labelDescription.Size = new System.Drawing.Size(60, 13);
+      this.labelDescription.TabIndex = 13;
+      this.labelDescription.Text = "Description";
+      // 
+      // textBoxDescription
+      // 
+      this.textBoxDescription.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
+      this.textBoxDescription.Location = new System.Drawing.Point(92, 49);
+      this.textBoxDescription.Name = "textBoxDescription";
+      this.textBoxDescription.Size = new System.Drawing.Size(404, 20);
+      this.textBoxDescription.TabIndex = 14;
+      // 
       // JsonItemBaseControl
       // 
       this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
       this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+      this.Controls.Add(this.textBoxDescription);
+      this.Controls.Add(this.labelDescription);
       this.Controls.Add(this.labelEnable);
       this.Controls.Add(this.checkBoxActive);
@@ -117,4 +139,6 @@
     private System.Windows.Forms.TextBox textBoxName;
     private System.Windows.Forms.Label label1;
+    private System.Windows.Forms.Label labelDescription;
+    private System.Windows.Forms.TextBox textBoxDescription;
   }
 }
Index: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/Shared/JsonItemBaseControl.cs
===================================================================
--- branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/Shared/JsonItemBaseControl.cs	(revision 17432)
+++ branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/Shared/JsonItemBaseControl.cs	(revision 17433)
@@ -24,8 +24,7 @@
         false, DataSourceUpdateMode.OnPropertyChanged);
       textBoxName.DataBindings.Add("Text", VM, nameof(JsonItemVMBase.Name));
+      textBoxDescription.DataBindings.Add("Text", VM, nameof(JsonItemVMBase.Description));
       textBoxActualName.DataBindings.Add("Text", VM, nameof(JsonItemVMBase.ActualName));
 
-      //checkBoxActive.Checked = VM.Selected;
-      //textBoxName.Text = VM.Item.Name;
       if (string.IsNullOrWhiteSpace(VM.Item.ActualName))
         textBoxActualName.ReadOnly = true;
Index: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/ViewModels/ArrayValueVM.cs
===================================================================
--- branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/ViewModels/ArrayValueVM.cs	(revision 17432)
+++ branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/ViewModels/ArrayValueVM.cs	(revision 17433)
@@ -15,5 +15,6 @@
     protected override double MaxTypeValue => double.MaxValue;
 
-    public override JsonItemBaseControl GetControl() => new JsonItemDoubleArrayValueControl(this);
+    public override JsonItemBaseControl GetControl() => 
+      new JsonItemDoubleArrayValueControl(this);
     
     public override double[] Value {
@@ -33,5 +34,6 @@
     protected override int MaxTypeValue => int.MaxValue;
 
-    public override JsonItemBaseControl GetControl() => new JsonItemIntArrayValueControl(this);
+    public override JsonItemBaseControl GetControl() => 
+      new JsonItemIntArrayValueControl(this);
     
     public override int[] Value {
@@ -46,7 +48,5 @@
   public abstract class ArrayValueVM<T> : RangedValueBaseVM<T> {
     
-    public ArrayValueVM() {
-      //base.ItemChanged += OnItemChanged;
-    }
+    public ArrayValueVM() { }
 
     public void SetIndexValue(object obj, int index) {
Index: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/ViewModels/JsonItemVMBase.cs
===================================================================
--- branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/ViewModels/JsonItemVMBase.cs	(revision 17432)
+++ branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/ViewModels/JsonItemVMBase.cs	(revision 17433)
@@ -58,4 +58,12 @@
     }
 
+    public string Description {
+      get => Item.Description;
+      set {
+        Item.Description = value;
+        OnPropertyChange(this, nameof(Description));
+      }
+    }
+
     public string ActualName {
       get => Item.ActualName;
Index: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/ViewModels/MatrixValueVM.cs
===================================================================
--- branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/ViewModels/MatrixValueVM.cs	(revision 17432)
+++ branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/ViewModels/MatrixValueVM.cs	(revision 17433)
@@ -10,5 +10,6 @@
   public class DoubleMatrixValueVM : MatrixValueVM<double> {
     public override Type JsonItemType => typeof(DoubleMatrixJsonItem);
-    public override JsonItemBaseControl GetControl() => new JsonItemDoubleMatrixValueControl(this);
+    public override JsonItemBaseControl GetControl() => 
+      new JsonItemDoubleMatrixValueControl(this);
 
     public override double[][] Value {
Index: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/ViewModels/SingleValueVM.cs
===================================================================
--- branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/ViewModels/SingleValueVM.cs	(revision 17432)
+++ branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/ViewModels/SingleValueVM.cs	(revision 17433)
@@ -14,5 +14,5 @@
     protected override int MaxTypeValue => int.MaxValue;
 
-    public override JsonItemBaseControl GetControl() =>
+    public override JsonItemBaseControl GetControl() => 
       new JsonItemIntValueControl(this);
   }
@@ -24,5 +24,5 @@
     protected override double MaxTypeValue => double.MaxValue;
 
-    public override JsonItemBaseControl GetControl() =>
+    public override JsonItemBaseControl GetControl() => 
        new JsonItemDoubleValueControl(this);
   }
Index: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/Views/JsonItemBoolControl.Designer.cs
===================================================================
--- branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/Views/JsonItemBoolControl.Designer.cs	(revision 17432)
+++ branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/Views/JsonItemBoolControl.Designer.cs	(revision 17433)
@@ -33,5 +33,5 @@
             | System.Windows.Forms.AnchorStyles.Right)));
       this.checkBoxValue.AutoSize = true;
-      this.checkBoxValue.Location = new System.Drawing.Point(92, 75);
+      this.checkBoxValue.Location = new System.Drawing.Point(92, 101);
       this.checkBoxValue.Name = "checkBoxValue";
       this.checkBoxValue.Size = new System.Drawing.Size(15, 14);
@@ -42,5 +42,5 @@
       // 
       this.label2.AutoSize = true;
-      this.label2.Location = new System.Drawing.Point(6, 75);
+      this.label2.Location = new System.Drawing.Point(6, 101);
       this.label2.Name = "label2";
       this.label2.Size = new System.Drawing.Size(34, 13);
@@ -56,5 +56,5 @@
       this.Controls.Add(this.checkBoxValue);
       this.Name = "JsonItemBoolControl";
-      this.Size = new System.Drawing.Size(500, 105);
+      this.Size = new System.Drawing.Size(500, 140);
       this.Controls.SetChildIndex(this.checkBoxValue, 0);
       this.Controls.SetChildIndex(this.label2, 0);
Index: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/Views/JsonItemMultiValueControl.Designer.cs
===================================================================
--- branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/Views/JsonItemMultiValueControl.Designer.cs	(revision 17432)
+++ branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/Views/JsonItemMultiValueControl.Designer.cs	(revision 17433)
@@ -35,7 +35,7 @@
             | System.Windows.Forms.AnchorStyles.Right)));
       this.dataGridView.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
-      this.dataGridView.Location = new System.Drawing.Point(9, 75);
+      this.dataGridView.Location = new System.Drawing.Point(9, 101);
       this.dataGridView.Name = "dataGridView";
-      this.dataGridView.Size = new System.Drawing.Size(487, 171);
+      this.dataGridView.Size = new System.Drawing.Size(487, 208);
       this.dataGridView.TabIndex = 13;
       // 
@@ -44,10 +44,10 @@
       this.numericRangeControl1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) 
             | System.Windows.Forms.AnchorStyles.Right)));
-      this.numericRangeControl1.Location = new System.Drawing.Point(9, 252);
+      this.numericRangeControl1.Location = new System.Drawing.Point(9, 315);
       this.numericRangeControl1.Name = "numericRangeControl1";
       this.numericRangeControl1.Size = new System.Drawing.Size(487, 128);
       this.numericRangeControl1.TabIndex = 14;
       // 
-      // JsonItemArrayValueControl
+      // JsonItemMultiValueControl
       // 
       this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
@@ -55,6 +55,6 @@
       this.Controls.Add(this.numericRangeControl1);
       this.Controls.Add(this.dataGridView);
-      this.Name = "JsonItemArrayValueControl";
-      this.Size = new System.Drawing.Size(502, 386);
+      this.Name = "JsonItemMultiValueControl";
+      this.Size = new System.Drawing.Size(502, 449);
       this.Controls.SetChildIndex(this.dataGridView, 0);
       this.Controls.SetChildIndex(this.numericRangeControl1, 0);
Index: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/Views/JsonItemMultiValueControl.cs
===================================================================
--- branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/Views/JsonItemMultiValueControl.cs	(revision 17432)
+++ branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/Views/JsonItemMultiValueControl.cs	(revision 17433)
@@ -10,5 +10,5 @@
 
 namespace HeuristicLab.JsonInterface.OptimizerIntegration {
-
+  
   public class JsonItemDoubleMatrixValueControl : JsonItemMultiValueControl<double> {
 
@@ -81,12 +81,4 @@
     protected abstract void SaveCellData(object data, int col, int row);
 
-    /*
-public JsonItemMultiValueControl(JsonItemVMBase vm, object dataSource) : base(vm) {
- InitializeComponent();
- dataGridView.DataSource = dataSource;
-
- InitRangeBinding();
-}
-*/
     private void InitRangeBinding() {
       NumericRangeControl = numericRangeControl1;
Index: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/Views/JsonItemRangeControl.Designer.cs
===================================================================
--- branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/Views/JsonItemRangeControl.Designer.cs	(revision 17432)
+++ branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/Views/JsonItemRangeControl.Designer.cs	(revision 17433)
@@ -41,5 +41,5 @@
       this.groupBox1.Controls.Add(this.label4);
       this.groupBox1.Controls.Add(this.label2);
-      this.groupBox1.Location = new System.Drawing.Point(9, 75);
+      this.groupBox1.Location = new System.Drawing.Point(9, 101);
       this.groupBox1.Name = "groupBox1";
       this.groupBox1.Size = new System.Drawing.Size(487, 64);
@@ -90,5 +90,5 @@
       this.numericRangeControl1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
             | System.Windows.Forms.AnchorStyles.Right)));
-      this.numericRangeControl1.Location = new System.Drawing.Point(9, 145);
+      this.numericRangeControl1.Location = new System.Drawing.Point(9, 171);
       this.numericRangeControl1.Name = "numericRangeControl1";
       this.numericRangeControl1.Size = new System.Drawing.Size(487, 112);
@@ -102,5 +102,5 @@
       this.Controls.Add(this.groupBox1);
       this.Name = "JsonItemRangeControl";
-      this.Size = new System.Drawing.Size(500, 262);
+      this.Size = new System.Drawing.Size(500, 301);
       this.Controls.SetChildIndex(this.groupBox1, 0);
       this.Controls.SetChildIndex(this.numericRangeControl1, 0);
Index: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/Views/JsonItemValidValuesControl.Designer.cs
===================================================================
--- branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/Views/JsonItemValidValuesControl.Designer.cs	(revision 17432)
+++ branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/Views/JsonItemValidValuesControl.Designer.cs	(revision 17433)
@@ -44,5 +44,5 @@
       this.tableOptions.RowCount = 1;
       this.tableOptions.RowStyles.Add(new System.Windows.Forms.RowStyle());
-      this.tableOptions.Size = new System.Drawing.Size(478, 137);
+      this.tableOptions.Size = new System.Drawing.Size(478, 417);
       this.tableOptions.TabIndex = 12;
       // 
@@ -54,7 +54,7 @@
       this.groupBoxRange.AutoSize = true;
       this.groupBoxRange.Controls.Add(this.tableOptions);
-      this.groupBoxRange.Location = new System.Drawing.Point(6, 108);
+      this.groupBoxRange.Location = new System.Drawing.Point(6, 128);
       this.groupBoxRange.Name = "groupBoxRange";
-      this.groupBoxRange.Size = new System.Drawing.Size(490, 162);
+      this.groupBoxRange.Size = new System.Drawing.Size(490, 442);
       this.groupBoxRange.TabIndex = 14;
       this.groupBoxRange.TabStop = false;
@@ -67,5 +67,5 @@
       this.comboBoxValues.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
       this.comboBoxValues.FormattingEnabled = true;
-      this.comboBoxValues.Location = new System.Drawing.Point(92, 75);
+      this.comboBoxValues.Location = new System.Drawing.Point(92, 101);
       this.comboBoxValues.Name = "comboBoxValues";
       this.comboBoxValues.Size = new System.Drawing.Size(404, 21);
@@ -75,5 +75,5 @@
       // 
       this.label2.AutoSize = true;
-      this.label2.Location = new System.Drawing.Point(6, 78);
+      this.label2.Location = new System.Drawing.Point(6, 104);
       this.label2.Name = "label2";
       this.label2.Size = new System.Drawing.Size(34, 13);
@@ -91,5 +91,5 @@
       this.ForeColor = System.Drawing.Color.Black;
       this.Name = "JsonItemValidValuesControl";
-      this.Size = new System.Drawing.Size(500, 276);
+      this.Size = new System.Drawing.Size(500, 576);
       this.Controls.SetChildIndex(this.groupBoxRange, 0);
       this.Controls.SetChildIndex(this.comboBoxValues, 0);
Index: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/Views/JsonItemValueControl.Designer.cs
===================================================================
--- branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/Views/JsonItemValueControl.Designer.cs	(revision 17432)
+++ branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/Views/JsonItemValueControl.Designer.cs	(revision 17433)
@@ -33,5 +33,5 @@
       this.textBoxValue.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
             | System.Windows.Forms.AnchorStyles.Right)));
-      this.textBoxValue.Location = new System.Drawing.Point(92, 75);
+      this.textBoxValue.Location = new System.Drawing.Point(92, 101);
       this.textBoxValue.Name = "textBoxValue";
       this.textBoxValue.Size = new System.Drawing.Size(404, 20);
@@ -41,5 +41,5 @@
       // 
       this.label2.AutoSize = true;
-      this.label2.Location = new System.Drawing.Point(6, 78);
+      this.label2.Location = new System.Drawing.Point(6, 104);
       this.label2.Name = "label2";
       this.label2.Size = new System.Drawing.Size(34, 13);
@@ -49,6 +49,7 @@
       // numericRangeControl1
       // 
-      this.numericRangeControl1.Location = new System.Drawing.Point(9, 101);
-      this.numericRangeControl1.Anchor = System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right;
+      this.numericRangeControl1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
+      this.numericRangeControl1.Location = new System.Drawing.Point(9, 127);
       this.numericRangeControl1.Name = "numericRangeControl1";
       this.numericRangeControl1.Size = new System.Drawing.Size(487, 112);
@@ -63,5 +64,5 @@
       this.Controls.Add(this.textBoxValue);
       this.Name = "JsonItemValueControl";
-      this.Size = new System.Drawing.Size(500, 220);
+      this.Size = new System.Drawing.Size(500, 247);
       this.Controls.SetChildIndex(this.textBoxValue, 0);
       this.Controls.SetChildIndex(this.label2, 0);
Index: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/Views/JsonItemValueControl.cs
===================================================================
--- branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/Views/JsonItemValueControl.cs	(revision 17432)
+++ branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/Views/JsonItemValueControl.cs	(revision 17433)
@@ -11,5 +11,5 @@
 
 namespace HeuristicLab.JsonInterface.OptimizerIntegration {
-
+  
   public class JsonItemIntValueControl : JsonItemValueControl {
 
@@ -21,5 +21,4 @@
       Init();
     }
-
   }
 
@@ -33,7 +32,6 @@
       Init();
     }
-
   }
-
+  
   public abstract partial class JsonItemValueControl : JsonItemBaseControl {
     #region Protected Properties
Index: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/AlgorithmConverter.cs
===================================================================
--- branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/AlgorithmConverter.cs	(revision 17432)
+++ branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/AlgorithmConverter.cs	(revision 17433)
@@ -27,4 +27,5 @@
         item.AddChildren(new ResultItem() {
           Name = res.Name,
+          Description = value.ItemDescription,
           Value = true,
           Range = new object[] { true, false }
Index: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/BaseConverter.cs
===================================================================
--- branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/BaseConverter.cs	(revision 17432)
+++ branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/BaseConverter.cs	(revision 17433)
@@ -29,9 +29,7 @@
       (IItem)Activator.CreateInstance(type,args);
 
-    protected T Instantiate<T>(params object[] args) => (T)Instantiate(typeof(T), args);
-
+    
     protected object GetMaxValue(Type t) {
       TypeCode typeCode = Type.GetTypeCode(t);
-
 
       if (t.IsEqualTo(typeof(PercentValue)))
Index: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/ConstrainedValueParameterConverter.cs
===================================================================
--- branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/ConstrainedValueParameterConverter.cs	(revision 17432)
+++ branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/ConstrainedValueParameterConverter.cs	(revision 17433)
@@ -32,4 +32,5 @@
       IJsonItem item = new StringJsonItem() {
         Name = parameter.Name,
+        Description = value.ItemDescription,
         Value = parameter.ActualValue?.ToString(),
         Range = GetValidValues(parameter).Select(x => x.ToString())
Index: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/EnumTypeConverter.cs
===================================================================
--- branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/EnumTypeConverter.cs	(revision 17432)
+++ branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/EnumTypeConverter.cs	(revision 17433)
@@ -22,4 +22,5 @@
       return new StringJsonItem() { 
         Name = value.ItemName,
+        Description = value.ItemDescription,
         Value = Enum.GetName(enumType, val),
         Range = Enum.GetNames(enumType)
Index: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/LookupParameterConverter.cs
===================================================================
--- branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/LookupParameterConverter.cs	(revision 17432)
+++ branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/LookupParameterConverter.cs	(revision 17433)
@@ -19,4 +19,5 @@
       IJsonItem item = new JsonItem() {
         Name = parameter.Name,
+        Description = parameter.Description,
         ActualName = ((ILookupParameter)parameter).ActualName
       };
Index: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/MultiCheckedOperatorConverter.cs
===================================================================
--- branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/MultiCheckedOperatorConverter.cs	(revision 17432)
+++ branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/MultiCheckedOperatorConverter.cs	(revision 17433)
@@ -26,4 +26,5 @@
         item.AddChildren(new BoolJsonItem() {
           Name = op.Name,
+          Description = op.Description,
           Value = val.Operators.ItemChecked(op),
           Range = new bool[] { false, true }
Index: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/ParameterizedItemConverter.cs
===================================================================
--- branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/ParameterizedItemConverter.cs	(revision 17432)
+++ branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/ParameterizedItemConverter.cs	(revision 17433)
@@ -22,7 +22,11 @@
 
     public override IJsonItem Extract(IItem value, IJsonItemConverter root) {
-      IJsonItem item = new JsonItem() { Name = value.ItemName };
+      var parameterizedItem = value as IParameterizedItem;
 
-      var parameterizedItem = value as IParameterizedItem;
+      IJsonItem item = new JsonItem() { 
+        Name = value.ItemName,
+        Description = value.ItemDescription
+      };
+
       foreach (var param in parameterizedItem.Parameters) {
         if (!param.Hidden) {
Index: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/RegressionProblemDataConverter.cs
===================================================================
--- branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/RegressionProblemDataConverter.cs	(revision 17432)
+++ branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/RegressionProblemDataConverter.cs	(revision 17433)
@@ -20,5 +20,8 @@
 
     public override IJsonItem Extract(IItem value, IJsonItemConverter root) {
-      IJsonItem item = new JsonItem() { Name = value.ItemName };
+      IJsonItem item = new JsonItem() { 
+        Name = value.ItemName,
+        Description = value.ItemDescription
+      };
 
       dynamic val = (dynamic)value;
Index: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/StringValueConverter.cs
===================================================================
--- branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/StringValueConverter.cs	(revision 17432)
+++ branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/StringValueConverter.cs	(revision 17433)
@@ -18,4 +18,5 @@
       new StringJsonItem() {
         Name = value.ItemName,
+        Description = value.ItemDescription,
         Value = ((StringValue)value).Value
       };
Index: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/ValueLookupParameterConverter.cs
===================================================================
--- branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/ValueLookupParameterConverter.cs	(revision 17432)
+++ branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/ValueLookupParameterConverter.cs	(revision 17433)
@@ -25,8 +25,4 @@
       if (param.Value != null) {
         IJsonItem tmp = root.Extract(param.Value, root);
-        /*tmp.Parent = item;
-        actualValue = tmp.Value;
-        actualRange = tmp.Range;
-        */
         item = tmp;
       } else {
@@ -34,4 +30,5 @@
       }
       item.Name = param.Name;
+      item.Description = param.Description;
       item.ActualName = param.ActualName;
       return item;
Index: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/ValueParameterConverter.cs
===================================================================
--- branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/ValueParameterConverter.cs	(revision 17432)
+++ branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/ValueParameterConverter.cs	(revision 17433)
@@ -23,5 +23,6 @@
 
       IJsonItem item = new JsonItem() {
-        Name = parameter.Name
+        Name = parameter.Name,
+        Description = parameter.Description
       };
 
@@ -31,4 +32,5 @@
           if (tmp.Name == "[OverridableParamName]") {
             tmp.Name = parameter.Name;
+            tmp.Description = parameter.Description;
             item = tmp;
             //JsonItem.Merge(item as JsonItem, tmp as JsonItem);
Index: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/ValueRangeConverter.cs
===================================================================
--- branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/ValueRangeConverter.cs	(revision 17432)
+++ branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/ValueRangeConverter.cs	(revision 17433)
@@ -26,4 +26,5 @@
       return new IntRangeJsonItem() {
         Name = "[OverridableParamName]",
+        Description = value.ItemDescription,
         Value = new int[] { range.Start, range.End },
         Range = new int[] { int.MinValue, int.MaxValue }
@@ -47,4 +48,5 @@
       return new DoubleRangeJsonItem() {
         Name = "[OverridableParamName]",
+        Description = value.ItemDescription,
         Value = new double[] { range.Start, range.End },
         Range = new double[] { double.MinValue, double.MaxValue }
Index: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/ValueTypeArrayConverter.cs
===================================================================
--- branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/ValueTypeArrayConverter.cs	(revision 17432)
+++ branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/ValueTypeArrayConverter.cs	(revision 17433)
@@ -28,4 +28,5 @@
       new IntArrayJsonItem() {
         Name = "[OverridableParamName]",
+        Description = value.ItemDescription,
         Value = ((IntArray)value).CloneAsArray(),
         Range = new int[] { int.MinValue, int.MaxValue }
@@ -51,4 +52,5 @@
       new DoubleArrayJsonItem() {
         Name = "[OverridableParamName]",
+        Description = value.ItemDescription,
         Value = ((DoubleArray)value).CloneAsArray(),
         Range = new double[] { double.MinValue, double.MaxValue }
@@ -74,4 +76,5 @@
       new DoubleArrayJsonItem() {
         Name = "[OverridableParamName]",
+        Description = value.ItemDescription,
         Value = ((PercentArray)value).CloneAsArray(),
         Range = new double[] { 0.0d, 1.0d }
@@ -97,4 +100,5 @@
       new BoolArrayJsonItem() {
         Name = "[OverridableParamName]",
+        Description = value.ItemDescription,
         Value = ((BoolArray)value).CloneAsArray(),
         Range = new bool[] { false, true }
Index: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/ValueTypeMatrixConverter.cs
===================================================================
--- branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/ValueTypeMatrixConverter.cs	(revision 17432)
+++ branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/ValueTypeMatrixConverter.cs	(revision 17433)
@@ -21,4 +21,5 @@
       new IntMatrixJsonItem() {
         Name = "[OverridableParamName]",
+        Description = value.ItemDescription,
         Value = Transform((IntMatrix)value),
         Range = new int[] { int.MinValue, int.MaxValue }
@@ -39,4 +40,5 @@
       new DoubleMatrixJsonItem() {
         Name = "[OverridableParamName]",
+        Description = value.ItemDescription,
         Value = Transform((DoubleMatrix)value),
         Range = new double[] { double.MinValue, double.MaxValue }
@@ -57,4 +59,5 @@
       new DoubleMatrixJsonItem() {
         Name = "[OverridableParamName]",
+        Description = value.ItemDescription,
         Value = Transform((PercentMatrix)value),
         Range = new double[] { 0.0d, 1.0d }
@@ -75,4 +78,5 @@
       new BoolMatrixJsonItem() {
         Name = "[OverridableParamName]",
+        Description = value.ItemDescription,
         Value = Transform((BoolMatrix)value),
         Range = new bool[] { false, true }
Index: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/ValueTypeValueConverter.cs
===================================================================
--- branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/ValueTypeValueConverter.cs	(revision 17432)
+++ branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/ValueTypeValueConverter.cs	(revision 17433)
@@ -19,4 +19,5 @@
       new IntJsonItem() {
         Name = "[OverridableParamName]",
+        Description = value.ItemDescription,
         Value = ((IntValue)value).Value,
         Range = new int[] { int.MinValue, int.MaxValue }
@@ -34,4 +35,5 @@
       new DoubleJsonItem() {
         Name = "[OverridableParamName]",
+        Description = value.ItemDescription,
         Value = ((DoubleValue)value).Value,
         Range = new double[] { double.MinValue, double.MaxValue }
@@ -49,4 +51,5 @@
       new DoubleJsonItem() {
         Name = "[OverridableParamName]",
+        Description = value.ItemDescription,
         Value = ((PercentValue)value).Value,
         Range = new double[] { double.MinValue, double.MaxValue }
@@ -64,4 +67,5 @@
       new BoolJsonItem() {
         Name = "[OverridableParamName]",
+        Description = value.ItemDescription,
         Value = ((BoolValue)value).Value,
         Range = new bool[] { false, true }
@@ -79,4 +83,5 @@
       new DateTimeJsonItem() {
         Name = "[OverridableParamName]",
+        Description = value.ItemDescription,
         Value = ((DateTimeValue)value).Value,
         Range = new DateTime[] { DateTime.MinValue, DateTime.MaxValue }
Index: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Interfaces/IJsonItem.cs
===================================================================
--- branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Interfaces/IJsonItem.cs	(revision 17432)
+++ branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Interfaces/IJsonItem.cs	(revision 17433)
@@ -9,4 +9,6 @@
   public interface IJsonItem {
     string Name { get; set; }
+
+    string Description { get; set; }
 
     string Path {
Index: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Models/JsonItem.cs
===================================================================
--- branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Models/JsonItem.cs	(revision 17432)
+++ branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Models/JsonItem.cs	(revision 17433)
@@ -41,4 +41,6 @@
 
     public virtual string Name { get; set; }
+
+    public virtual string Description { get; set; }
 
     public virtual string Path {
Index: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Models/UnsupportedJsonItem.cs
===================================================================
--- branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Models/UnsupportedJsonItem.cs	(revision 17432)
+++ branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Models/UnsupportedJsonItem.cs	(revision 17433)
@@ -9,4 +9,9 @@
   public class UnsupportedJsonItem : JsonItem {
     public override string Name {
+      get => throw new NotSupportedException();
+      set => throw new NotSupportedException();
+    }
+
+    public override string Description {
       get => throw new NotSupportedException();
       set => throw new NotSupportedException();
