Index: branches/OKB/HeuristicLab.Clients.OKB-3.3/ServiceClients/ServiceClients.cs
===================================================================
--- branches/OKB/HeuristicLab.Clients.OKB-3.3/ServiceClients/ServiceClients.cs	(revision 4426)
+++ branches/OKB/HeuristicLab.Clients.OKB-3.3/ServiceClients/ServiceClients.cs	(revision 4433)
@@ -1,3 +1,3 @@
-﻿//------------------------------------------------------------------------------
+//------------------------------------------------------------------------------
 // <auto-generated>
 //     This code was generated by a tool.
@@ -9,5547 +9,5813 @@
 //------------------------------------------------------------------------------
 
-namespace HeuristicLab.Clients.OKB {
-
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "AlgorithmClass", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference = true)]
-  public partial class AlgorithmClass : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
-
-    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
-
-    private long IdField;
-
-    private string NameField;
-
-    private string DescriptionField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Algorithm> AlgorithmsField;
-
-    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
-      get {
-        return this.extensionDataField;
-      }
-      set {
-        this.extensionDataField = value;
-      }
+namespace HeuristicLab.Clients.OKB
+{
+    using System.Runtime.Serialization;
+    
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="AlgorithmClass", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference=true)]
+    public partial class AlgorithmClass : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
+    {
+        
+        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+        
+        private long IdField;
+        
+        private string NameField;
+        
+        private string DescriptionField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Algorithm> AlgorithmsField;
+        
+        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
+        {
+            get
+            {
+                return this.extensionDataField;
+            }
+            set
+            {
+                this.extensionDataField = value;
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long Id
+        {
+            get
+            {
+                return this.IdField;
+            }
+            set
+            {
+                if ((this.IdField.Equals(value) != true))
+                {
+                    this.IdField = value;
+                    this.RaisePropertyChanged("Id");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string Name
+        {
+            get
+            {
+                return this.NameField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.NameField, value) != true))
+                {
+                    this.NameField = value;
+                    this.RaisePropertyChanged("Name");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=2)]
+        public string Description
+        {
+            get
+            {
+                return this.DescriptionField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.DescriptionField, value) != true))
+                {
+                    this.DescriptionField = value;
+                    this.RaisePropertyChanged("Description");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=3)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Algorithm> Algorithms
+        {
+            get
+            {
+                return this.AlgorithmsField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.AlgorithmsField, value) != true))
+                {
+                    this.AlgorithmsField = value;
+                    this.RaisePropertyChanged("Algorithms");
+                }
+            }
+        }
+        
+        
     }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public long Id {
-      get {
-        return this.IdField;
-      }
-      set {
-        if ((this.IdField.Equals(value) != true)) {
-          this.IdField = value;
-          this.RaisePropertyChanged("Id");
-        }
-      }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="Algorithm", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference=true)]
+    public partial class Algorithm : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
+    {
+        
+        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+        
+        private long IdField;
+        
+        private long AlgorithmClassIdField;
+        
+        private long PlatformIdField;
+        
+        private string NameField;
+        
+        private string DescriptionField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Experiment> ExperimentsField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameter> AlgorithmParametersField;
+        
+        private HeuristicLab.Clients.OKB.AlgorithmData AlgorithmDataField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmUser> AlgorithmUsersField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Result> ResultsField;
+        
+        private HeuristicLab.Clients.OKB.AlgorithmClass AlgorithmClassField;
+        
+        private HeuristicLab.Clients.OKB.Platform PlatformField;
+        
+        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
+        {
+            get
+            {
+                return this.extensionDataField;
+            }
+            set
+            {
+                this.extensionDataField = value;
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long Id
+        {
+            get
+            {
+                return this.IdField;
+            }
+            set
+            {
+                if ((this.IdField.Equals(value) != true))
+                {
+                    this.IdField = value;
+                    this.RaisePropertyChanged("Id");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=1)]
+        public long AlgorithmClassId
+        {
+            get
+            {
+                return this.AlgorithmClassIdField;
+            }
+            set
+            {
+                if ((this.AlgorithmClassIdField.Equals(value) != true))
+                {
+                    this.AlgorithmClassIdField = value;
+                    this.RaisePropertyChanged("AlgorithmClassId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=2)]
+        public long PlatformId
+        {
+            get
+            {
+                return this.PlatformIdField;
+            }
+            set
+            {
+                if ((this.PlatformIdField.Equals(value) != true))
+                {
+                    this.PlatformIdField = value;
+                    this.RaisePropertyChanged("PlatformId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=3)]
+        public string Name
+        {
+            get
+            {
+                return this.NameField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.NameField, value) != true))
+                {
+                    this.NameField = value;
+                    this.RaisePropertyChanged("Name");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=4)]
+        public string Description
+        {
+            get
+            {
+                return this.DescriptionField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.DescriptionField, value) != true))
+                {
+                    this.DescriptionField = value;
+                    this.RaisePropertyChanged("Description");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=5)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Experiment> Experiments
+        {
+            get
+            {
+                return this.ExperimentsField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ExperimentsField, value) != true))
+                {
+                    this.ExperimentsField = value;
+                    this.RaisePropertyChanged("Experiments");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=6)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameter> AlgorithmParameters
+        {
+            get
+            {
+                return this.AlgorithmParametersField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.AlgorithmParametersField, value) != true))
+                {
+                    this.AlgorithmParametersField = value;
+                    this.RaisePropertyChanged("AlgorithmParameters");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=7)]
+        public HeuristicLab.Clients.OKB.AlgorithmData AlgorithmData
+        {
+            get
+            {
+                return this.AlgorithmDataField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.AlgorithmDataField, value) != true))
+                {
+                    this.AlgorithmDataField = value;
+                    this.RaisePropertyChanged("AlgorithmData");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=8)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmUser> AlgorithmUsers
+        {
+            get
+            {
+                return this.AlgorithmUsersField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.AlgorithmUsersField, value) != true))
+                {
+                    this.AlgorithmUsersField = value;
+                    this.RaisePropertyChanged("AlgorithmUsers");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=9)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Result> Results
+        {
+            get
+            {
+                return this.ResultsField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ResultsField, value) != true))
+                {
+                    this.ResultsField = value;
+                    this.RaisePropertyChanged("Results");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=10)]
+        public HeuristicLab.Clients.OKB.AlgorithmClass AlgorithmClass
+        {
+            get
+            {
+                return this.AlgorithmClassField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.AlgorithmClassField, value) != true))
+                {
+                    this.AlgorithmClassField = value;
+                    this.RaisePropertyChanged("AlgorithmClass");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=11)]
+        public HeuristicLab.Clients.OKB.Platform Platform
+        {
+            get
+            {
+                return this.PlatformField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.PlatformField, value) != true))
+                {
+                    this.PlatformField = value;
+                    this.RaisePropertyChanged("Platform");
+                }
+            }
+        }
+        
+        
     }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public string Name {
-      get {
-        return this.NameField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.NameField, value) != true)) {
-          this.NameField = value;
-          this.RaisePropertyChanged("Name");
-        }
-      }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="AlgorithmData", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference=true)]
+    public partial class AlgorithmData : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
+    {
+        
+        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+        
+        private long AlgorithmIdField;
+        
+        private HeuristicLab.Clients.OKB.Binary DataField;
+        
+        private HeuristicLab.Clients.OKB.Algorithm AlgorithmField;
+        
+        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
+        {
+            get
+            {
+                return this.extensionDataField;
+            }
+            set
+            {
+                this.extensionDataField = value;
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long AlgorithmId
+        {
+            get
+            {
+                return this.AlgorithmIdField;
+            }
+            set
+            {
+                if ((this.AlgorithmIdField.Equals(value) != true))
+                {
+                    this.AlgorithmIdField = value;
+                    this.RaisePropertyChanged("AlgorithmId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public HeuristicLab.Clients.OKB.Binary Data
+        {
+            get
+            {
+                return this.DataField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.DataField, value) != true))
+                {
+                    this.DataField = value;
+                    this.RaisePropertyChanged("Data");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=2)]
+        public HeuristicLab.Clients.OKB.Algorithm Algorithm
+        {
+            get
+            {
+                return this.AlgorithmField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.AlgorithmField, value) != true))
+                {
+                    this.AlgorithmField = value;
+                    this.RaisePropertyChanged("Algorithm");
+                }
+            }
+        }
+        
+        
     }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 2)]
-    public string Description {
-      get {
-        return this.DescriptionField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.DescriptionField, value) != true)) {
-          this.DescriptionField = value;
-          this.RaisePropertyChanged("Description");
-        }
-      }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="Platform", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference=true)]
+    public partial class Platform : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
+    {
+        
+        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+        
+        private long IdField;
+        
+        private string NameField;
+        
+        private string DescriptionField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Algorithm> AlgorithmsField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Problem> ProblemsField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.DataType> DataTypesField;
+        
+        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
+        {
+            get
+            {
+                return this.extensionDataField;
+            }
+            set
+            {
+                this.extensionDataField = value;
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long Id
+        {
+            get
+            {
+                return this.IdField;
+            }
+            set
+            {
+                if ((this.IdField.Equals(value) != true))
+                {
+                    this.IdField = value;
+                    this.RaisePropertyChanged("Id");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string Name
+        {
+            get
+            {
+                return this.NameField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.NameField, value) != true))
+                {
+                    this.NameField = value;
+                    this.RaisePropertyChanged("Name");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=2)]
+        public string Description
+        {
+            get
+            {
+                return this.DescriptionField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.DescriptionField, value) != true))
+                {
+                    this.DescriptionField = value;
+                    this.RaisePropertyChanged("Description");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=3)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Algorithm> Algorithms
+        {
+            get
+            {
+                return this.AlgorithmsField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.AlgorithmsField, value) != true))
+                {
+                    this.AlgorithmsField = value;
+                    this.RaisePropertyChanged("Algorithms");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=4)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Problem> Problems
+        {
+            get
+            {
+                return this.ProblemsField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ProblemsField, value) != true))
+                {
+                    this.ProblemsField = value;
+                    this.RaisePropertyChanged("Problems");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=5)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.DataType> DataTypes
+        {
+            get
+            {
+                return this.DataTypesField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.DataTypesField, value) != true))
+                {
+                    this.DataTypesField = value;
+                    this.RaisePropertyChanged("DataTypes");
+                }
+            }
+        }
+        
+        
     }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 3)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Algorithm> Algorithms {
-      get {
-        return this.AlgorithmsField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.AlgorithmsField, value) != true)) {
-          this.AlgorithmsField = value;
-          this.RaisePropertyChanged("Algorithms");
-        }
-      }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="Experiment", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference=true)]
+    public partial class Experiment : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
+    {
+        
+        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+        
+        private long IdField;
+        
+        private long AlgorithmIdField;
+        
+        private long ProblemIdField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Run> RunsField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameterBlobValue> AlgorithmParameterBlobValuesField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameterBoolValue> AlgorithmParameterBoolValuesField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameterFloatValue> AlgorithmParameterFloatValuesField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameterIntValue> AlgorithmParameterIntValuesField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameterStringValue> AlgorithmParameterStringValuesField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameterBlobValue> ProblemParameterBlobValuesField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameterBoolValue> ProblemParameterBoolValuesField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameterFloatValue> ProblemParameterFloatValuesField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameterIntValue> ProblemParameterIntValuesField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameterStringValue> ProblemParameterStringValuesField;
+        
+        private HeuristicLab.Clients.OKB.Problem ProblemField;
+        
+        private HeuristicLab.Clients.OKB.Algorithm AlgorithmField;
+        
+        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
+        {
+            get
+            {
+                return this.extensionDataField;
+            }
+            set
+            {
+                this.extensionDataField = value;
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long Id
+        {
+            get
+            {
+                return this.IdField;
+            }
+            set
+            {
+                if ((this.IdField.Equals(value) != true))
+                {
+                    this.IdField = value;
+                    this.RaisePropertyChanged("Id");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=1)]
+        public long AlgorithmId
+        {
+            get
+            {
+                return this.AlgorithmIdField;
+            }
+            set
+            {
+                if ((this.AlgorithmIdField.Equals(value) != true))
+                {
+                    this.AlgorithmIdField = value;
+                    this.RaisePropertyChanged("AlgorithmId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=2)]
+        public long ProblemId
+        {
+            get
+            {
+                return this.ProblemIdField;
+            }
+            set
+            {
+                if ((this.ProblemIdField.Equals(value) != true))
+                {
+                    this.ProblemIdField = value;
+                    this.RaisePropertyChanged("ProblemId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=3)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Run> Runs
+        {
+            get
+            {
+                return this.RunsField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.RunsField, value) != true))
+                {
+                    this.RunsField = value;
+                    this.RaisePropertyChanged("Runs");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=4)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameterBlobValue> AlgorithmParameterBlobValues
+        {
+            get
+            {
+                return this.AlgorithmParameterBlobValuesField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.AlgorithmParameterBlobValuesField, value) != true))
+                {
+                    this.AlgorithmParameterBlobValuesField = value;
+                    this.RaisePropertyChanged("AlgorithmParameterBlobValues");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=5)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameterBoolValue> AlgorithmParameterBoolValues
+        {
+            get
+            {
+                return this.AlgorithmParameterBoolValuesField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.AlgorithmParameterBoolValuesField, value) != true))
+                {
+                    this.AlgorithmParameterBoolValuesField = value;
+                    this.RaisePropertyChanged("AlgorithmParameterBoolValues");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=6)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameterFloatValue> AlgorithmParameterFloatValues
+        {
+            get
+            {
+                return this.AlgorithmParameterFloatValuesField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.AlgorithmParameterFloatValuesField, value) != true))
+                {
+                    this.AlgorithmParameterFloatValuesField = value;
+                    this.RaisePropertyChanged("AlgorithmParameterFloatValues");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=7)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameterIntValue> AlgorithmParameterIntValues
+        {
+            get
+            {
+                return this.AlgorithmParameterIntValuesField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.AlgorithmParameterIntValuesField, value) != true))
+                {
+                    this.AlgorithmParameterIntValuesField = value;
+                    this.RaisePropertyChanged("AlgorithmParameterIntValues");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=8)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameterStringValue> AlgorithmParameterStringValues
+        {
+            get
+            {
+                return this.AlgorithmParameterStringValuesField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.AlgorithmParameterStringValuesField, value) != true))
+                {
+                    this.AlgorithmParameterStringValuesField = value;
+                    this.RaisePropertyChanged("AlgorithmParameterStringValues");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=9)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameterBlobValue> ProblemParameterBlobValues
+        {
+            get
+            {
+                return this.ProblemParameterBlobValuesField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ProblemParameterBlobValuesField, value) != true))
+                {
+                    this.ProblemParameterBlobValuesField = value;
+                    this.RaisePropertyChanged("ProblemParameterBlobValues");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=10)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameterBoolValue> ProblemParameterBoolValues
+        {
+            get
+            {
+                return this.ProblemParameterBoolValuesField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ProblemParameterBoolValuesField, value) != true))
+                {
+                    this.ProblemParameterBoolValuesField = value;
+                    this.RaisePropertyChanged("ProblemParameterBoolValues");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=11)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameterFloatValue> ProblemParameterFloatValues
+        {
+            get
+            {
+                return this.ProblemParameterFloatValuesField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ProblemParameterFloatValuesField, value) != true))
+                {
+                    this.ProblemParameterFloatValuesField = value;
+                    this.RaisePropertyChanged("ProblemParameterFloatValues");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=12)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameterIntValue> ProblemParameterIntValues
+        {
+            get
+            {
+                return this.ProblemParameterIntValuesField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ProblemParameterIntValuesField, value) != true))
+                {
+                    this.ProblemParameterIntValuesField = value;
+                    this.RaisePropertyChanged("ProblemParameterIntValues");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=13)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameterStringValue> ProblemParameterStringValues
+        {
+            get
+            {
+                return this.ProblemParameterStringValuesField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ProblemParameterStringValuesField, value) != true))
+                {
+                    this.ProblemParameterStringValuesField = value;
+                    this.RaisePropertyChanged("ProblemParameterStringValues");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=14)]
+        public HeuristicLab.Clients.OKB.Problem Problem
+        {
+            get
+            {
+                return this.ProblemField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ProblemField, value) != true))
+                {
+                    this.ProblemField = value;
+                    this.RaisePropertyChanged("Problem");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=15)]
+        public HeuristicLab.Clients.OKB.Algorithm Algorithm
+        {
+            get
+            {
+                return this.AlgorithmField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.AlgorithmField, value) != true))
+                {
+                    this.AlgorithmField = value;
+                    this.RaisePropertyChanged("Algorithm");
+                }
+            }
+        }
+        
+        
     }
-
-
-
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "Algorithm", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference = true)]
-  public partial class Algorithm : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
-
-    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
-
-    private long IdField;
-
-    private long AlgorithmClassIdField;
-
-    private long PlatformIdField;
-
-    private string NameField;
-
-    private string DescriptionField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Experiment> ExperimentsField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameter> AlgorithmParametersField;
-
-    private HeuristicLab.Clients.OKB.AlgorithmData AlgorithmDataField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmUser> AlgorithmUsersField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Result> ResultsField;
-
-    private HeuristicLab.Clients.OKB.AlgorithmClass AlgorithmClassField;
-
-    private HeuristicLab.Clients.OKB.Platform PlatformField;
-
-    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
-      get {
-        return this.extensionDataField;
-      }
-      set {
-        this.extensionDataField = value;
-      }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="AlgorithmParameter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference=true)]
+    public partial class AlgorithmParameter : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
+    {
+        
+        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+        
+        private long IdField;
+        
+        private long AlgorithmIdField;
+        
+        private string NameField;
+        
+        private string AliasField;
+        
+        private string DescriptionField;
+        
+        private long DataTypeIdField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameterBlobValue> AlgorithmParameterBlobValuesField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameterBoolValue> AlgorithmParameterBoolValuesField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameterFloatValue> AlgorithmParameterFloatValuesField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameterIntValue> AlgorithmParameterIntValuesField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameterStringValue> AlgorithmParameterStringValuesField;
+        
+        private HeuristicLab.Clients.OKB.Algorithm AlgorithmField;
+        
+        private HeuristicLab.Clients.OKB.DataType DataTypeField;
+        
+        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
+        {
+            get
+            {
+                return this.extensionDataField;
+            }
+            set
+            {
+                this.extensionDataField = value;
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long Id
+        {
+            get
+            {
+                return this.IdField;
+            }
+            set
+            {
+                if ((this.IdField.Equals(value) != true))
+                {
+                    this.IdField = value;
+                    this.RaisePropertyChanged("Id");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=1)]
+        public long AlgorithmId
+        {
+            get
+            {
+                return this.AlgorithmIdField;
+            }
+            set
+            {
+                if ((this.AlgorithmIdField.Equals(value) != true))
+                {
+                    this.AlgorithmIdField = value;
+                    this.RaisePropertyChanged("AlgorithmId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=2)]
+        public string Name
+        {
+            get
+            {
+                return this.NameField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.NameField, value) != true))
+                {
+                    this.NameField = value;
+                    this.RaisePropertyChanged("Name");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=3)]
+        public string Alias
+        {
+            get
+            {
+                return this.AliasField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.AliasField, value) != true))
+                {
+                    this.AliasField = value;
+                    this.RaisePropertyChanged("Alias");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=4)]
+        public string Description
+        {
+            get
+            {
+                return this.DescriptionField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.DescriptionField, value) != true))
+                {
+                    this.DescriptionField = value;
+                    this.RaisePropertyChanged("Description");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=5)]
+        public long DataTypeId
+        {
+            get
+            {
+                return this.DataTypeIdField;
+            }
+            set
+            {
+                if ((this.DataTypeIdField.Equals(value) != true))
+                {
+                    this.DataTypeIdField = value;
+                    this.RaisePropertyChanged("DataTypeId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=6)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameterBlobValue> AlgorithmParameterBlobValues
+        {
+            get
+            {
+                return this.AlgorithmParameterBlobValuesField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.AlgorithmParameterBlobValuesField, value) != true))
+                {
+                    this.AlgorithmParameterBlobValuesField = value;
+                    this.RaisePropertyChanged("AlgorithmParameterBlobValues");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=7)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameterBoolValue> AlgorithmParameterBoolValues
+        {
+            get
+            {
+                return this.AlgorithmParameterBoolValuesField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.AlgorithmParameterBoolValuesField, value) != true))
+                {
+                    this.AlgorithmParameterBoolValuesField = value;
+                    this.RaisePropertyChanged("AlgorithmParameterBoolValues");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=8)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameterFloatValue> AlgorithmParameterFloatValues
+        {
+            get
+            {
+                return this.AlgorithmParameterFloatValuesField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.AlgorithmParameterFloatValuesField, value) != true))
+                {
+                    this.AlgorithmParameterFloatValuesField = value;
+                    this.RaisePropertyChanged("AlgorithmParameterFloatValues");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=9)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameterIntValue> AlgorithmParameterIntValues
+        {
+            get
+            {
+                return this.AlgorithmParameterIntValuesField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.AlgorithmParameterIntValuesField, value) != true))
+                {
+                    this.AlgorithmParameterIntValuesField = value;
+                    this.RaisePropertyChanged("AlgorithmParameterIntValues");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=10)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameterStringValue> AlgorithmParameterStringValues
+        {
+            get
+            {
+                return this.AlgorithmParameterStringValuesField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.AlgorithmParameterStringValuesField, value) != true))
+                {
+                    this.AlgorithmParameterStringValuesField = value;
+                    this.RaisePropertyChanged("AlgorithmParameterStringValues");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=11)]
+        public HeuristicLab.Clients.OKB.Algorithm Algorithm
+        {
+            get
+            {
+                return this.AlgorithmField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.AlgorithmField, value) != true))
+                {
+                    this.AlgorithmField = value;
+                    this.RaisePropertyChanged("Algorithm");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=12)]
+        public HeuristicLab.Clients.OKB.DataType DataType
+        {
+            get
+            {
+                return this.DataTypeField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.DataTypeField, value) != true))
+                {
+                    this.DataTypeField = value;
+                    this.RaisePropertyChanged("DataType");
+                }
+            }
+        }
+        
+        
     }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public long Id {
-      get {
-        return this.IdField;
-      }
-      set {
-        if ((this.IdField.Equals(value) != true)) {
-          this.IdField = value;
-          this.RaisePropertyChanged("Id");
-        }
-      }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="AlgorithmUser", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference=true)]
+    public partial class AlgorithmUser : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
+    {
+        
+        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+        
+        private long AlgorithmIdField;
+        
+        private System.Guid UserIdField;
+        
+        private HeuristicLab.Clients.OKB.Algorithm AlgorithmField;
+        
+        private HeuristicLab.Clients.OKB.User UserField;
+        
+        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
+        {
+            get
+            {
+                return this.extensionDataField;
+            }
+            set
+            {
+                this.extensionDataField = value;
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long AlgorithmId
+        {
+            get
+            {
+                return this.AlgorithmIdField;
+            }
+            set
+            {
+                if ((this.AlgorithmIdField.Equals(value) != true))
+                {
+                    this.AlgorithmIdField = value;
+                    this.RaisePropertyChanged("AlgorithmId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.Guid UserId
+        {
+            get
+            {
+                return this.UserIdField;
+            }
+            set
+            {
+                if ((this.UserIdField.Equals(value) != true))
+                {
+                    this.UserIdField = value;
+                    this.RaisePropertyChanged("UserId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=2)]
+        public HeuristicLab.Clients.OKB.Algorithm Algorithm
+        {
+            get
+            {
+                return this.AlgorithmField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.AlgorithmField, value) != true))
+                {
+                    this.AlgorithmField = value;
+                    this.RaisePropertyChanged("Algorithm");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=3)]
+        public HeuristicLab.Clients.OKB.User User
+        {
+            get
+            {
+                return this.UserField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.UserField, value) != true))
+                {
+                    this.UserField = value;
+                    this.RaisePropertyChanged("User");
+                }
+            }
+        }
+        
+        
     }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 1)]
-    public long AlgorithmClassId {
-      get {
-        return this.AlgorithmClassIdField;
-      }
-      set {
-        if ((this.AlgorithmClassIdField.Equals(value) != true)) {
-          this.AlgorithmClassIdField = value;
-          this.RaisePropertyChanged("AlgorithmClassId");
-        }
-      }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="Result", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference=true)]
+    public partial class Result : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
+    {
+        
+        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+        
+        private long IdField;
+        
+        private long AlgorithmIdField;
+        
+        private string NameField;
+        
+        private string AliasField;
+        
+        private string DescriptionField;
+        
+        private long DataTypeIdField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ResultBlobValue> ResultBlobValuesField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ResultBoolValue> ResultBoolValuesField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ResultFloatValue> ResultFloatValuesField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ResultIntValue> ResultIntValuesField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ResultStringValue> ResultStringValuesField;
+        
+        private HeuristicLab.Clients.OKB.Algorithm AlgorithmField;
+        
+        private HeuristicLab.Clients.OKB.DataType DataTypeField;
+        
+        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
+        {
+            get
+            {
+                return this.extensionDataField;
+            }
+            set
+            {
+                this.extensionDataField = value;
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long Id
+        {
+            get
+            {
+                return this.IdField;
+            }
+            set
+            {
+                if ((this.IdField.Equals(value) != true))
+                {
+                    this.IdField = value;
+                    this.RaisePropertyChanged("Id");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=1)]
+        public long AlgorithmId
+        {
+            get
+            {
+                return this.AlgorithmIdField;
+            }
+            set
+            {
+                if ((this.AlgorithmIdField.Equals(value) != true))
+                {
+                    this.AlgorithmIdField = value;
+                    this.RaisePropertyChanged("AlgorithmId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=2)]
+        public string Name
+        {
+            get
+            {
+                return this.NameField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.NameField, value) != true))
+                {
+                    this.NameField = value;
+                    this.RaisePropertyChanged("Name");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=3)]
+        public string Alias
+        {
+            get
+            {
+                return this.AliasField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.AliasField, value) != true))
+                {
+                    this.AliasField = value;
+                    this.RaisePropertyChanged("Alias");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=4)]
+        public string Description
+        {
+            get
+            {
+                return this.DescriptionField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.DescriptionField, value) != true))
+                {
+                    this.DescriptionField = value;
+                    this.RaisePropertyChanged("Description");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=5)]
+        public long DataTypeId
+        {
+            get
+            {
+                return this.DataTypeIdField;
+            }
+            set
+            {
+                if ((this.DataTypeIdField.Equals(value) != true))
+                {
+                    this.DataTypeIdField = value;
+                    this.RaisePropertyChanged("DataTypeId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=6)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ResultBlobValue> ResultBlobValues
+        {
+            get
+            {
+                return this.ResultBlobValuesField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ResultBlobValuesField, value) != true))
+                {
+                    this.ResultBlobValuesField = value;
+                    this.RaisePropertyChanged("ResultBlobValues");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=7)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ResultBoolValue> ResultBoolValues
+        {
+            get
+            {
+                return this.ResultBoolValuesField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ResultBoolValuesField, value) != true))
+                {
+                    this.ResultBoolValuesField = value;
+                    this.RaisePropertyChanged("ResultBoolValues");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=8)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ResultFloatValue> ResultFloatValues
+        {
+            get
+            {
+                return this.ResultFloatValuesField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ResultFloatValuesField, value) != true))
+                {
+                    this.ResultFloatValuesField = value;
+                    this.RaisePropertyChanged("ResultFloatValues");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=9)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ResultIntValue> ResultIntValues
+        {
+            get
+            {
+                return this.ResultIntValuesField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ResultIntValuesField, value) != true))
+                {
+                    this.ResultIntValuesField = value;
+                    this.RaisePropertyChanged("ResultIntValues");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=10)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ResultStringValue> ResultStringValues
+        {
+            get
+            {
+                return this.ResultStringValuesField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ResultStringValuesField, value) != true))
+                {
+                    this.ResultStringValuesField = value;
+                    this.RaisePropertyChanged("ResultStringValues");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=11)]
+        public HeuristicLab.Clients.OKB.Algorithm Algorithm
+        {
+            get
+            {
+                return this.AlgorithmField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.AlgorithmField, value) != true))
+                {
+                    this.AlgorithmField = value;
+                    this.RaisePropertyChanged("Algorithm");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=12)]
+        public HeuristicLab.Clients.OKB.DataType DataType
+        {
+            get
+            {
+                return this.DataTypeField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.DataTypeField, value) != true))
+                {
+                    this.DataTypeField = value;
+                    this.RaisePropertyChanged("DataType");
+                }
+            }
+        }
+        
+        
     }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 2)]
-    public long PlatformId {
-      get {
-        return this.PlatformIdField;
-      }
-      set {
-        if ((this.PlatformIdField.Equals(value) != true)) {
-          this.PlatformIdField = value;
-          this.RaisePropertyChanged("PlatformId");
-        }
-      }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="Problem", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference=true)]
+    public partial class Problem : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
+    {
+        
+        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+        
+        private long IdField;
+        
+        private long ProblemClassIdField;
+        
+        private long PlatformIdField;
+        
+        private long SolutionRepresentationIdField;
+        
+        private string NameField;
+        
+        private string DescriptionField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Experiment> ExperimentsField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameter> ProblemParametersField;
+        
+        private HeuristicLab.Clients.OKB.ProblemData ProblemDataField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemUser> ProblemUsersField;
+        
+        private HeuristicLab.Clients.OKB.ProblemClass ProblemClassField;
+        
+        private HeuristicLab.Clients.OKB.Platform PlatformField;
+        
+        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
+        {
+            get
+            {
+                return this.extensionDataField;
+            }
+            set
+            {
+                this.extensionDataField = value;
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long Id
+        {
+            get
+            {
+                return this.IdField;
+            }
+            set
+            {
+                if ((this.IdField.Equals(value) != true))
+                {
+                    this.IdField = value;
+                    this.RaisePropertyChanged("Id");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long ProblemClassId
+        {
+            get
+            {
+                return this.ProblemClassIdField;
+            }
+            set
+            {
+                if ((this.ProblemClassIdField.Equals(value) != true))
+                {
+                    this.ProblemClassIdField = value;
+                    this.RaisePropertyChanged("ProblemClassId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=2)]
+        public long PlatformId
+        {
+            get
+            {
+                return this.PlatformIdField;
+            }
+            set
+            {
+                if ((this.PlatformIdField.Equals(value) != true))
+                {
+                    this.PlatformIdField = value;
+                    this.RaisePropertyChanged("PlatformId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=3)]
+        public long SolutionRepresentationId
+        {
+            get
+            {
+                return this.SolutionRepresentationIdField;
+            }
+            set
+            {
+                if ((this.SolutionRepresentationIdField.Equals(value) != true))
+                {
+                    this.SolutionRepresentationIdField = value;
+                    this.RaisePropertyChanged("SolutionRepresentationId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=4)]
+        public string Name
+        {
+            get
+            {
+                return this.NameField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.NameField, value) != true))
+                {
+                    this.NameField = value;
+                    this.RaisePropertyChanged("Name");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=5)]
+        public string Description
+        {
+            get
+            {
+                return this.DescriptionField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.DescriptionField, value) != true))
+                {
+                    this.DescriptionField = value;
+                    this.RaisePropertyChanged("Description");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=6)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Experiment> Experiments
+        {
+            get
+            {
+                return this.ExperimentsField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ExperimentsField, value) != true))
+                {
+                    this.ExperimentsField = value;
+                    this.RaisePropertyChanged("Experiments");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=7)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameter> ProblemParameters
+        {
+            get
+            {
+                return this.ProblemParametersField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ProblemParametersField, value) != true))
+                {
+                    this.ProblemParametersField = value;
+                    this.RaisePropertyChanged("ProblemParameters");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=8)]
+        public HeuristicLab.Clients.OKB.ProblemData ProblemData
+        {
+            get
+            {
+                return this.ProblemDataField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ProblemDataField, value) != true))
+                {
+                    this.ProblemDataField = value;
+                    this.RaisePropertyChanged("ProblemData");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=9)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemUser> ProblemUsers
+        {
+            get
+            {
+                return this.ProblemUsersField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ProblemUsersField, value) != true))
+                {
+                    this.ProblemUsersField = value;
+                    this.RaisePropertyChanged("ProblemUsers");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=10)]
+        public HeuristicLab.Clients.OKB.ProblemClass ProblemClass
+        {
+            get
+            {
+                return this.ProblemClassField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ProblemClassField, value) != true))
+                {
+                    this.ProblemClassField = value;
+                    this.RaisePropertyChanged("ProblemClass");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=11)]
+        public HeuristicLab.Clients.OKB.Platform Platform
+        {
+            get
+            {
+                return this.PlatformField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.PlatformField, value) != true))
+                {
+                    this.PlatformField = value;
+                    this.RaisePropertyChanged("Platform");
+                }
+            }
+        }
+        
+        
     }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 3)]
-    public string Name {
-      get {
-        return this.NameField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.NameField, value) != true)) {
-          this.NameField = value;
-          this.RaisePropertyChanged("Name");
-        }
-      }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="Run", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference=true)]
+    public partial class Run : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
+    {
+        
+        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+        
+        private long IdField;
+        
+        private long ExperimentIdField;
+        
+        private int RandomSeedField;
+        
+        private System.Nullable<System.DateTime> FinishedDateField;
+        
+        private System.Guid UserIdField;
+        
+        private System.Guid ClientIdField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ResultBlobValue> ResultBlobValuesField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ResultBoolValue> ResultBoolValuesField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ResultFloatValue> ResultFloatValuesField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ResultIntValue> ResultIntValuesField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ResultStringValue> ResultStringValuesField;
+        
+        private HeuristicLab.Clients.OKB.Experiment ExperimentField;
+        
+        private HeuristicLab.Clients.OKB.User UserField;
+        
+        private HeuristicLab.Clients.OKB.Client ClientField;
+        
+        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
+        {
+            get
+            {
+                return this.extensionDataField;
+            }
+            set
+            {
+                this.extensionDataField = value;
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long Id
+        {
+            get
+            {
+                return this.IdField;
+            }
+            set
+            {
+                if ((this.IdField.Equals(value) != true))
+                {
+                    this.IdField = value;
+                    this.RaisePropertyChanged("Id");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=1)]
+        public long ExperimentId
+        {
+            get
+            {
+                return this.ExperimentIdField;
+            }
+            set
+            {
+                if ((this.ExperimentIdField.Equals(value) != true))
+                {
+                    this.ExperimentIdField = value;
+                    this.RaisePropertyChanged("ExperimentId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=2)]
+        public int RandomSeed
+        {
+            get
+            {
+                return this.RandomSeedField;
+            }
+            set
+            {
+                if ((this.RandomSeedField.Equals(value) != true))
+                {
+                    this.RandomSeedField = value;
+                    this.RaisePropertyChanged("RandomSeed");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=3)]
+        public System.Nullable<System.DateTime> FinishedDate
+        {
+            get
+            {
+                return this.FinishedDateField;
+            }
+            set
+            {
+                if ((this.FinishedDateField.Equals(value) != true))
+                {
+                    this.FinishedDateField = value;
+                    this.RaisePropertyChanged("FinishedDate");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=4)]
+        public System.Guid UserId
+        {
+            get
+            {
+                return this.UserIdField;
+            }
+            set
+            {
+                if ((this.UserIdField.Equals(value) != true))
+                {
+                    this.UserIdField = value;
+                    this.RaisePropertyChanged("UserId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=5)]
+        public System.Guid ClientId
+        {
+            get
+            {
+                return this.ClientIdField;
+            }
+            set
+            {
+                if ((this.ClientIdField.Equals(value) != true))
+                {
+                    this.ClientIdField = value;
+                    this.RaisePropertyChanged("ClientId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=6)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ResultBlobValue> ResultBlobValues
+        {
+            get
+            {
+                return this.ResultBlobValuesField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ResultBlobValuesField, value) != true))
+                {
+                    this.ResultBlobValuesField = value;
+                    this.RaisePropertyChanged("ResultBlobValues");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=7)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ResultBoolValue> ResultBoolValues
+        {
+            get
+            {
+                return this.ResultBoolValuesField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ResultBoolValuesField, value) != true))
+                {
+                    this.ResultBoolValuesField = value;
+                    this.RaisePropertyChanged("ResultBoolValues");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=8)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ResultFloatValue> ResultFloatValues
+        {
+            get
+            {
+                return this.ResultFloatValuesField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ResultFloatValuesField, value) != true))
+                {
+                    this.ResultFloatValuesField = value;
+                    this.RaisePropertyChanged("ResultFloatValues");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=9)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ResultIntValue> ResultIntValues
+        {
+            get
+            {
+                return this.ResultIntValuesField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ResultIntValuesField, value) != true))
+                {
+                    this.ResultIntValuesField = value;
+                    this.RaisePropertyChanged("ResultIntValues");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=10)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ResultStringValue> ResultStringValues
+        {
+            get
+            {
+                return this.ResultStringValuesField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ResultStringValuesField, value) != true))
+                {
+                    this.ResultStringValuesField = value;
+                    this.RaisePropertyChanged("ResultStringValues");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=11)]
+        public HeuristicLab.Clients.OKB.Experiment Experiment
+        {
+            get
+            {
+                return this.ExperimentField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ExperimentField, value) != true))
+                {
+                    this.ExperimentField = value;
+                    this.RaisePropertyChanged("Experiment");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=12)]
+        public HeuristicLab.Clients.OKB.User User
+        {
+            get
+            {
+                return this.UserField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.UserField, value) != true))
+                {
+                    this.UserField = value;
+                    this.RaisePropertyChanged("User");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=13)]
+        public HeuristicLab.Clients.OKB.Client Client
+        {
+            get
+            {
+                return this.ClientField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ClientField, value) != true))
+                {
+                    this.ClientField = value;
+                    this.RaisePropertyChanged("Client");
+                }
+            }
+        }
+        
+        
     }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 4)]
-    public string Description {
-      get {
-        return this.DescriptionField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.DescriptionField, value) != true)) {
-          this.DescriptionField = value;
-          this.RaisePropertyChanged("Description");
-        }
-      }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="AlgorithmParameterBlobValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference=true)]
+    public partial class AlgorithmParameterBlobValue : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
+    {
+        
+        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+        
+        private long AlgorithmParameterIdField;
+        
+        private long ExperimentIdField;
+        
+        private long DataTypeIdField;
+        
+        private HeuristicLab.Clients.OKB.Binary ValueField;
+        
+        private HeuristicLab.Clients.OKB.AlgorithmParameter AlgorithmParameterField;
+        
+        private HeuristicLab.Clients.OKB.Experiment ExperimentField;
+        
+        private HeuristicLab.Clients.OKB.DataType DataTypeField;
+        
+        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
+        {
+            get
+            {
+                return this.extensionDataField;
+            }
+            set
+            {
+                this.extensionDataField = value;
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long AlgorithmParameterId
+        {
+            get
+            {
+                return this.AlgorithmParameterIdField;
+            }
+            set
+            {
+                if ((this.AlgorithmParameterIdField.Equals(value) != true))
+                {
+                    this.AlgorithmParameterIdField = value;
+                    this.RaisePropertyChanged("AlgorithmParameterId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long ExperimentId
+        {
+            get
+            {
+                return this.ExperimentIdField;
+            }
+            set
+            {
+                if ((this.ExperimentIdField.Equals(value) != true))
+                {
+                    this.ExperimentIdField = value;
+                    this.RaisePropertyChanged("ExperimentId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=2)]
+        public long DataTypeId
+        {
+            get
+            {
+                return this.DataTypeIdField;
+            }
+            set
+            {
+                if ((this.DataTypeIdField.Equals(value) != true))
+                {
+                    this.DataTypeIdField = value;
+                    this.RaisePropertyChanged("DataTypeId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=3)]
+        public HeuristicLab.Clients.OKB.Binary Value
+        {
+            get
+            {
+                return this.ValueField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ValueField, value) != true))
+                {
+                    this.ValueField = value;
+                    this.RaisePropertyChanged("Value");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=4)]
+        public HeuristicLab.Clients.OKB.AlgorithmParameter AlgorithmParameter
+        {
+            get
+            {
+                return this.AlgorithmParameterField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.AlgorithmParameterField, value) != true))
+                {
+                    this.AlgorithmParameterField = value;
+                    this.RaisePropertyChanged("AlgorithmParameter");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=5)]
+        public HeuristicLab.Clients.OKB.Experiment Experiment
+        {
+            get
+            {
+                return this.ExperimentField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ExperimentField, value) != true))
+                {
+                    this.ExperimentField = value;
+                    this.RaisePropertyChanged("Experiment");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=6)]
+        public HeuristicLab.Clients.OKB.DataType DataType
+        {
+            get
+            {
+                return this.DataTypeField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.DataTypeField, value) != true))
+                {
+                    this.DataTypeField = value;
+                    this.RaisePropertyChanged("DataType");
+                }
+            }
+        }
+        
+        
     }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 5)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Experiment> Experiments {
-      get {
-        return this.ExperimentsField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ExperimentsField, value) != true)) {
-          this.ExperimentsField = value;
-          this.RaisePropertyChanged("Experiments");
-        }
-      }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="AlgorithmParameterBoolValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference=true)]
+    public partial class AlgorithmParameterBoolValue : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
+    {
+        
+        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+        
+        private long AlgorithmParameterIdField;
+        
+        private long ExperimentIdField;
+        
+        private long DataTypeIdField;
+        
+        private bool ValueField;
+        
+        private HeuristicLab.Clients.OKB.AlgorithmParameter AlgorithmParameterField;
+        
+        private HeuristicLab.Clients.OKB.DataType DataTypeField;
+        
+        private HeuristicLab.Clients.OKB.Experiment ExperimentField;
+        
+        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
+        {
+            get
+            {
+                return this.extensionDataField;
+            }
+            set
+            {
+                this.extensionDataField = value;
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long AlgorithmParameterId
+        {
+            get
+            {
+                return this.AlgorithmParameterIdField;
+            }
+            set
+            {
+                if ((this.AlgorithmParameterIdField.Equals(value) != true))
+                {
+                    this.AlgorithmParameterIdField = value;
+                    this.RaisePropertyChanged("AlgorithmParameterId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long ExperimentId
+        {
+            get
+            {
+                return this.ExperimentIdField;
+            }
+            set
+            {
+                if ((this.ExperimentIdField.Equals(value) != true))
+                {
+                    this.ExperimentIdField = value;
+                    this.RaisePropertyChanged("ExperimentId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=2)]
+        public long DataTypeId
+        {
+            get
+            {
+                return this.DataTypeIdField;
+            }
+            set
+            {
+                if ((this.DataTypeIdField.Equals(value) != true))
+                {
+                    this.DataTypeIdField = value;
+                    this.RaisePropertyChanged("DataTypeId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=3)]
+        public bool Value
+        {
+            get
+            {
+                return this.ValueField;
+            }
+            set
+            {
+                if ((this.ValueField.Equals(value) != true))
+                {
+                    this.ValueField = value;
+                    this.RaisePropertyChanged("Value");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=4)]
+        public HeuristicLab.Clients.OKB.AlgorithmParameter AlgorithmParameter
+        {
+            get
+            {
+                return this.AlgorithmParameterField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.AlgorithmParameterField, value) != true))
+                {
+                    this.AlgorithmParameterField = value;
+                    this.RaisePropertyChanged("AlgorithmParameter");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=5)]
+        public HeuristicLab.Clients.OKB.DataType DataType
+        {
+            get
+            {
+                return this.DataTypeField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.DataTypeField, value) != true))
+                {
+                    this.DataTypeField = value;
+                    this.RaisePropertyChanged("DataType");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=6)]
+        public HeuristicLab.Clients.OKB.Experiment Experiment
+        {
+            get
+            {
+                return this.ExperimentField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ExperimentField, value) != true))
+                {
+                    this.ExperimentField = value;
+                    this.RaisePropertyChanged("Experiment");
+                }
+            }
+        }
+        
+        
     }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 6)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameter> AlgorithmParameters {
-      get {
-        return this.AlgorithmParametersField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.AlgorithmParametersField, value) != true)) {
-          this.AlgorithmParametersField = value;
-          this.RaisePropertyChanged("AlgorithmParameters");
-        }
-      }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="AlgorithmParameterFloatValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference=true)]
+    public partial class AlgorithmParameterFloatValue : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
+    {
+        
+        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+        
+        private long AlgorithmParameterIdField;
+        
+        private long ExperimentIdField;
+        
+        private long DataTypeIdField;
+        
+        private double ValueField;
+        
+        private HeuristicLab.Clients.OKB.AlgorithmParameter AlgorithmParameterField;
+        
+        private HeuristicLab.Clients.OKB.DataType DataTypeField;
+        
+        private HeuristicLab.Clients.OKB.Experiment ExperimentField;
+        
+        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
+        {
+            get
+            {
+                return this.extensionDataField;
+            }
+            set
+            {
+                this.extensionDataField = value;
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long AlgorithmParameterId
+        {
+            get
+            {
+                return this.AlgorithmParameterIdField;
+            }
+            set
+            {
+                if ((this.AlgorithmParameterIdField.Equals(value) != true))
+                {
+                    this.AlgorithmParameterIdField = value;
+                    this.RaisePropertyChanged("AlgorithmParameterId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long ExperimentId
+        {
+            get
+            {
+                return this.ExperimentIdField;
+            }
+            set
+            {
+                if ((this.ExperimentIdField.Equals(value) != true))
+                {
+                    this.ExperimentIdField = value;
+                    this.RaisePropertyChanged("ExperimentId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=2)]
+        public long DataTypeId
+        {
+            get
+            {
+                return this.DataTypeIdField;
+            }
+            set
+            {
+                if ((this.DataTypeIdField.Equals(value) != true))
+                {
+                    this.DataTypeIdField = value;
+                    this.RaisePropertyChanged("DataTypeId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=3)]
+        public double Value
+        {
+            get
+            {
+                return this.ValueField;
+            }
+            set
+            {
+                if ((this.ValueField.Equals(value) != true))
+                {
+                    this.ValueField = value;
+                    this.RaisePropertyChanged("Value");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=4)]
+        public HeuristicLab.Clients.OKB.AlgorithmParameter AlgorithmParameter
+        {
+            get
+            {
+                return this.AlgorithmParameterField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.AlgorithmParameterField, value) != true))
+                {
+                    this.AlgorithmParameterField = value;
+                    this.RaisePropertyChanged("AlgorithmParameter");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=5)]
+        public HeuristicLab.Clients.OKB.DataType DataType
+        {
+            get
+            {
+                return this.DataTypeField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.DataTypeField, value) != true))
+                {
+                    this.DataTypeField = value;
+                    this.RaisePropertyChanged("DataType");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=6)]
+        public HeuristicLab.Clients.OKB.Experiment Experiment
+        {
+            get
+            {
+                return this.ExperimentField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ExperimentField, value) != true))
+                {
+                    this.ExperimentField = value;
+                    this.RaisePropertyChanged("Experiment");
+                }
+            }
+        }
+        
+        
     }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 7)]
-    public HeuristicLab.Clients.OKB.AlgorithmData AlgorithmData {
-      get {
-        return this.AlgorithmDataField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.AlgorithmDataField, value) != true)) {
-          this.AlgorithmDataField = value;
-          this.RaisePropertyChanged("AlgorithmData");
-        }
-      }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="AlgorithmParameterIntValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference=true)]
+    public partial class AlgorithmParameterIntValue : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
+    {
+        
+        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+        
+        private long AlgorithmParameterIdField;
+        
+        private long ExperimentIdField;
+        
+        private long DataTypeIdField;
+        
+        private long ValueField;
+        
+        private HeuristicLab.Clients.OKB.AlgorithmParameter AlgorithmParameterField;
+        
+        private HeuristicLab.Clients.OKB.DataType DataTypeField;
+        
+        private HeuristicLab.Clients.OKB.Experiment ExperimentField;
+        
+        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
+        {
+            get
+            {
+                return this.extensionDataField;
+            }
+            set
+            {
+                this.extensionDataField = value;
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long AlgorithmParameterId
+        {
+            get
+            {
+                return this.AlgorithmParameterIdField;
+            }
+            set
+            {
+                if ((this.AlgorithmParameterIdField.Equals(value) != true))
+                {
+                    this.AlgorithmParameterIdField = value;
+                    this.RaisePropertyChanged("AlgorithmParameterId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long ExperimentId
+        {
+            get
+            {
+                return this.ExperimentIdField;
+            }
+            set
+            {
+                if ((this.ExperimentIdField.Equals(value) != true))
+                {
+                    this.ExperimentIdField = value;
+                    this.RaisePropertyChanged("ExperimentId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=2)]
+        public long DataTypeId
+        {
+            get
+            {
+                return this.DataTypeIdField;
+            }
+            set
+            {
+                if ((this.DataTypeIdField.Equals(value) != true))
+                {
+                    this.DataTypeIdField = value;
+                    this.RaisePropertyChanged("DataTypeId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=3)]
+        public long Value
+        {
+            get
+            {
+                return this.ValueField;
+            }
+            set
+            {
+                if ((this.ValueField.Equals(value) != true))
+                {
+                    this.ValueField = value;
+                    this.RaisePropertyChanged("Value");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=4)]
+        public HeuristicLab.Clients.OKB.AlgorithmParameter AlgorithmParameter
+        {
+            get
+            {
+                return this.AlgorithmParameterField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.AlgorithmParameterField, value) != true))
+                {
+                    this.AlgorithmParameterField = value;
+                    this.RaisePropertyChanged("AlgorithmParameter");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=5)]
+        public HeuristicLab.Clients.OKB.DataType DataType
+        {
+            get
+            {
+                return this.DataTypeField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.DataTypeField, value) != true))
+                {
+                    this.DataTypeField = value;
+                    this.RaisePropertyChanged("DataType");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=6)]
+        public HeuristicLab.Clients.OKB.Experiment Experiment
+        {
+            get
+            {
+                return this.ExperimentField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ExperimentField, value) != true))
+                {
+                    this.ExperimentField = value;
+                    this.RaisePropertyChanged("Experiment");
+                }
+            }
+        }
+        
+        
     }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 8)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmUser> AlgorithmUsers {
-      get {
-        return this.AlgorithmUsersField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.AlgorithmUsersField, value) != true)) {
-          this.AlgorithmUsersField = value;
-          this.RaisePropertyChanged("AlgorithmUsers");
-        }
-      }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="AlgorithmParameterStringValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference=true)]
+    public partial class AlgorithmParameterStringValue : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
+    {
+        
+        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+        
+        private long AlgorithmParameterIdField;
+        
+        private long ExperimentIdField;
+        
+        private long DataTypeIdField;
+        
+        private string ValueField;
+        
+        private HeuristicLab.Clients.OKB.AlgorithmParameter AlgorithmParameterField;
+        
+        private HeuristicLab.Clients.OKB.DataType DataTypeField;
+        
+        private HeuristicLab.Clients.OKB.Experiment ExperimentField;
+        
+        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
+        {
+            get
+            {
+                return this.extensionDataField;
+            }
+            set
+            {
+                this.extensionDataField = value;
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long AlgorithmParameterId
+        {
+            get
+            {
+                return this.AlgorithmParameterIdField;
+            }
+            set
+            {
+                if ((this.AlgorithmParameterIdField.Equals(value) != true))
+                {
+                    this.AlgorithmParameterIdField = value;
+                    this.RaisePropertyChanged("AlgorithmParameterId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long ExperimentId
+        {
+            get
+            {
+                return this.ExperimentIdField;
+            }
+            set
+            {
+                if ((this.ExperimentIdField.Equals(value) != true))
+                {
+                    this.ExperimentIdField = value;
+                    this.RaisePropertyChanged("ExperimentId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=2)]
+        public long DataTypeId
+        {
+            get
+            {
+                return this.DataTypeIdField;
+            }
+            set
+            {
+                if ((this.DataTypeIdField.Equals(value) != true))
+                {
+                    this.DataTypeIdField = value;
+                    this.RaisePropertyChanged("DataTypeId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=3)]
+        public string Value
+        {
+            get
+            {
+                return this.ValueField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ValueField, value) != true))
+                {
+                    this.ValueField = value;
+                    this.RaisePropertyChanged("Value");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=4)]
+        public HeuristicLab.Clients.OKB.AlgorithmParameter AlgorithmParameter
+        {
+            get
+            {
+                return this.AlgorithmParameterField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.AlgorithmParameterField, value) != true))
+                {
+                    this.AlgorithmParameterField = value;
+                    this.RaisePropertyChanged("AlgorithmParameter");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=5)]
+        public HeuristicLab.Clients.OKB.DataType DataType
+        {
+            get
+            {
+                return this.DataTypeField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.DataTypeField, value) != true))
+                {
+                    this.DataTypeField = value;
+                    this.RaisePropertyChanged("DataType");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=6)]
+        public HeuristicLab.Clients.OKB.Experiment Experiment
+        {
+            get
+            {
+                return this.ExperimentField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ExperimentField, value) != true))
+                {
+                    this.ExperimentField = value;
+                    this.RaisePropertyChanged("Experiment");
+                }
+            }
+        }
+        
+        
     }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 9)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Result> Results {
-      get {
-        return this.ResultsField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ResultsField, value) != true)) {
-          this.ResultsField = value;
-          this.RaisePropertyChanged("Results");
-        }
-      }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="ProblemParameterBlobValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference=true)]
+    public partial class ProblemParameterBlobValue : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
+    {
+        
+        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+        
+        private long ProblemParameterIdField;
+        
+        private long ExperimentIdField;
+        
+        private long DataTypeIdField;
+        
+        private HeuristicLab.Clients.OKB.Binary ValueField;
+        
+        private HeuristicLab.Clients.OKB.DataType DataTypeField;
+        
+        private HeuristicLab.Clients.OKB.Experiment ExperimentField;
+        
+        private HeuristicLab.Clients.OKB.ProblemParameter ProblemParameterField;
+        
+        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
+        {
+            get
+            {
+                return this.extensionDataField;
+            }
+            set
+            {
+                this.extensionDataField = value;
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long ProblemParameterId
+        {
+            get
+            {
+                return this.ProblemParameterIdField;
+            }
+            set
+            {
+                if ((this.ProblemParameterIdField.Equals(value) != true))
+                {
+                    this.ProblemParameterIdField = value;
+                    this.RaisePropertyChanged("ProblemParameterId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=1)]
+        public long ExperimentId
+        {
+            get
+            {
+                return this.ExperimentIdField;
+            }
+            set
+            {
+                if ((this.ExperimentIdField.Equals(value) != true))
+                {
+                    this.ExperimentIdField = value;
+                    this.RaisePropertyChanged("ExperimentId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=2)]
+        public long DataTypeId
+        {
+            get
+            {
+                return this.DataTypeIdField;
+            }
+            set
+            {
+                if ((this.DataTypeIdField.Equals(value) != true))
+                {
+                    this.DataTypeIdField = value;
+                    this.RaisePropertyChanged("DataTypeId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=3)]
+        public HeuristicLab.Clients.OKB.Binary Value
+        {
+            get
+            {
+                return this.ValueField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ValueField, value) != true))
+                {
+                    this.ValueField = value;
+                    this.RaisePropertyChanged("Value");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=4)]
+        public HeuristicLab.Clients.OKB.DataType DataType
+        {
+            get
+            {
+                return this.DataTypeField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.DataTypeField, value) != true))
+                {
+                    this.DataTypeField = value;
+                    this.RaisePropertyChanged("DataType");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=5)]
+        public HeuristicLab.Clients.OKB.Experiment Experiment
+        {
+            get
+            {
+                return this.ExperimentField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ExperimentField, value) != true))
+                {
+                    this.ExperimentField = value;
+                    this.RaisePropertyChanged("Experiment");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=6)]
+        public HeuristicLab.Clients.OKB.ProblemParameter ProblemParameter
+        {
+            get
+            {
+                return this.ProblemParameterField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ProblemParameterField, value) != true))
+                {
+                    this.ProblemParameterField = value;
+                    this.RaisePropertyChanged("ProblemParameter");
+                }
+            }
+        }
+        
+        
     }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 10)]
-    public HeuristicLab.Clients.OKB.AlgorithmClass AlgorithmClass {
-      get {
-        return this.AlgorithmClassField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.AlgorithmClassField, value) != true)) {
-          this.AlgorithmClassField = value;
-          this.RaisePropertyChanged("AlgorithmClass");
-        }
-      }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="ProblemParameterBoolValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference=true)]
+    public partial class ProblemParameterBoolValue : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
+    {
+        
+        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+        
+        private long ProblemParameterIdField;
+        
+        private long ExperimentIdField;
+        
+        private long DataTypeIdField;
+        
+        private bool ValueField;
+        
+        private HeuristicLab.Clients.OKB.DataType DataTypeField;
+        
+        private HeuristicLab.Clients.OKB.Experiment ExperimentField;
+        
+        private HeuristicLab.Clients.OKB.ProblemParameter ProblemParameterField;
+        
+        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
+        {
+            get
+            {
+                return this.extensionDataField;
+            }
+            set
+            {
+                this.extensionDataField = value;
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long ProblemParameterId
+        {
+            get
+            {
+                return this.ProblemParameterIdField;
+            }
+            set
+            {
+                if ((this.ProblemParameterIdField.Equals(value) != true))
+                {
+                    this.ProblemParameterIdField = value;
+                    this.RaisePropertyChanged("ProblemParameterId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=1)]
+        public long ExperimentId
+        {
+            get
+            {
+                return this.ExperimentIdField;
+            }
+            set
+            {
+                if ((this.ExperimentIdField.Equals(value) != true))
+                {
+                    this.ExperimentIdField = value;
+                    this.RaisePropertyChanged("ExperimentId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=2)]
+        public long DataTypeId
+        {
+            get
+            {
+                return this.DataTypeIdField;
+            }
+            set
+            {
+                if ((this.DataTypeIdField.Equals(value) != true))
+                {
+                    this.DataTypeIdField = value;
+                    this.RaisePropertyChanged("DataTypeId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=3)]
+        public bool Value
+        {
+            get
+            {
+                return this.ValueField;
+            }
+            set
+            {
+                if ((this.ValueField.Equals(value) != true))
+                {
+                    this.ValueField = value;
+                    this.RaisePropertyChanged("Value");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=4)]
+        public HeuristicLab.Clients.OKB.DataType DataType
+        {
+            get
+            {
+                return this.DataTypeField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.DataTypeField, value) != true))
+                {
+                    this.DataTypeField = value;
+                    this.RaisePropertyChanged("DataType");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=5)]
+        public HeuristicLab.Clients.OKB.Experiment Experiment
+        {
+            get
+            {
+                return this.ExperimentField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ExperimentField, value) != true))
+                {
+                    this.ExperimentField = value;
+                    this.RaisePropertyChanged("Experiment");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=6)]
+        public HeuristicLab.Clients.OKB.ProblemParameter ProblemParameter
+        {
+            get
+            {
+                return this.ProblemParameterField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ProblemParameterField, value) != true))
+                {
+                    this.ProblemParameterField = value;
+                    this.RaisePropertyChanged("ProblemParameter");
+                }
+            }
+        }
+        
+        
     }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 11)]
-    public HeuristicLab.Clients.OKB.Platform Platform {
-      get {
-        return this.PlatformField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.PlatformField, value) != true)) {
-          this.PlatformField = value;
-          this.RaisePropertyChanged("Platform");
-        }
-      }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="ProblemParameterFloatValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference=true)]
+    public partial class ProblemParameterFloatValue : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
+    {
+        
+        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+        
+        private long ProblemParameterIdField;
+        
+        private long ExperimentIdField;
+        
+        private long DataTypeIdField;
+        
+        private double ValueField;
+        
+        private HeuristicLab.Clients.OKB.DataType DataTypeField;
+        
+        private HeuristicLab.Clients.OKB.Experiment ExperimentField;
+        
+        private HeuristicLab.Clients.OKB.ProblemParameter ProblemParameterField;
+        
+        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
+        {
+            get
+            {
+                return this.extensionDataField;
+            }
+            set
+            {
+                this.extensionDataField = value;
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long ProblemParameterId
+        {
+            get
+            {
+                return this.ProblemParameterIdField;
+            }
+            set
+            {
+                if ((this.ProblemParameterIdField.Equals(value) != true))
+                {
+                    this.ProblemParameterIdField = value;
+                    this.RaisePropertyChanged("ProblemParameterId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=1)]
+        public long ExperimentId
+        {
+            get
+            {
+                return this.ExperimentIdField;
+            }
+            set
+            {
+                if ((this.ExperimentIdField.Equals(value) != true))
+                {
+                    this.ExperimentIdField = value;
+                    this.RaisePropertyChanged("ExperimentId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=2)]
+        public long DataTypeId
+        {
+            get
+            {
+                return this.DataTypeIdField;
+            }
+            set
+            {
+                if ((this.DataTypeIdField.Equals(value) != true))
+                {
+                    this.DataTypeIdField = value;
+                    this.RaisePropertyChanged("DataTypeId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=3)]
+        public double Value
+        {
+            get
+            {
+                return this.ValueField;
+            }
+            set
+            {
+                if ((this.ValueField.Equals(value) != true))
+                {
+                    this.ValueField = value;
+                    this.RaisePropertyChanged("Value");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=4)]
+        public HeuristicLab.Clients.OKB.DataType DataType
+        {
+            get
+            {
+                return this.DataTypeField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.DataTypeField, value) != true))
+                {
+                    this.DataTypeField = value;
+                    this.RaisePropertyChanged("DataType");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=5)]
+        public HeuristicLab.Clients.OKB.Experiment Experiment
+        {
+            get
+            {
+                return this.ExperimentField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ExperimentField, value) != true))
+                {
+                    this.ExperimentField = value;
+                    this.RaisePropertyChanged("Experiment");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=6)]
+        public HeuristicLab.Clients.OKB.ProblemParameter ProblemParameter
+        {
+            get
+            {
+                return this.ProblemParameterField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ProblemParameterField, value) != true))
+                {
+                    this.ProblemParameterField = value;
+                    this.RaisePropertyChanged("ProblemParameter");
+                }
+            }
+        }
+        
+        
     }
-
-
-
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "AlgorithmData", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference = true)]
-  public partial class AlgorithmData : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
-
-    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
-
-    private long AlgorithmIdField;
-
-    private HeuristicLab.Clients.OKB.Binary DataField;
-
-    private HeuristicLab.Clients.OKB.Algorithm AlgorithmField;
-
-    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
-      get {
-        return this.extensionDataField;
-      }
-      set {
-        this.extensionDataField = value;
-      }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="ProblemParameterIntValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference=true)]
+    public partial class ProblemParameterIntValue : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
+    {
+        
+        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+        
+        private long ProblemParameterIdField;
+        
+        private long ExperimentIdField;
+        
+        private long DataTypeIdField;
+        
+        private long ValueField;
+        
+        private HeuristicLab.Clients.OKB.DataType DataTypeField;
+        
+        private HeuristicLab.Clients.OKB.Experiment ExperimentField;
+        
+        private HeuristicLab.Clients.OKB.ProblemParameter ProblemParameterField;
+        
+        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
+        {
+            get
+            {
+                return this.extensionDataField;
+            }
+            set
+            {
+                this.extensionDataField = value;
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long ProblemParameterId
+        {
+            get
+            {
+                return this.ProblemParameterIdField;
+            }
+            set
+            {
+                if ((this.ProblemParameterIdField.Equals(value) != true))
+                {
+                    this.ProblemParameterIdField = value;
+                    this.RaisePropertyChanged("ProblemParameterId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=1)]
+        public long ExperimentId
+        {
+            get
+            {
+                return this.ExperimentIdField;
+            }
+            set
+            {
+                if ((this.ExperimentIdField.Equals(value) != true))
+                {
+                    this.ExperimentIdField = value;
+                    this.RaisePropertyChanged("ExperimentId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=2)]
+        public long DataTypeId
+        {
+            get
+            {
+                return this.DataTypeIdField;
+            }
+            set
+            {
+                if ((this.DataTypeIdField.Equals(value) != true))
+                {
+                    this.DataTypeIdField = value;
+                    this.RaisePropertyChanged("DataTypeId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=3)]
+        public long Value
+        {
+            get
+            {
+                return this.ValueField;
+            }
+            set
+            {
+                if ((this.ValueField.Equals(value) != true))
+                {
+                    this.ValueField = value;
+                    this.RaisePropertyChanged("Value");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=4)]
+        public HeuristicLab.Clients.OKB.DataType DataType
+        {
+            get
+            {
+                return this.DataTypeField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.DataTypeField, value) != true))
+                {
+                    this.DataTypeField = value;
+                    this.RaisePropertyChanged("DataType");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=5)]
+        public HeuristicLab.Clients.OKB.Experiment Experiment
+        {
+            get
+            {
+                return this.ExperimentField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ExperimentField, value) != true))
+                {
+                    this.ExperimentField = value;
+                    this.RaisePropertyChanged("Experiment");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=6)]
+        public HeuristicLab.Clients.OKB.ProblemParameter ProblemParameter
+        {
+            get
+            {
+                return this.ProblemParameterField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ProblemParameterField, value) != true))
+                {
+                    this.ProblemParameterField = value;
+                    this.RaisePropertyChanged("ProblemParameter");
+                }
+            }
+        }
+        
+        
     }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public long AlgorithmId {
-      get {
-        return this.AlgorithmIdField;
-      }
-      set {
-        if ((this.AlgorithmIdField.Equals(value) != true)) {
-          this.AlgorithmIdField = value;
-          this.RaisePropertyChanged("AlgorithmId");
-        }
-      }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="ProblemParameterStringValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference=true)]
+    public partial class ProblemParameterStringValue : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
+    {
+        
+        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+        
+        private long ProblemParameterIdField;
+        
+        private long ExperimentIdField;
+        
+        private long DataTypeIdField;
+        
+        private string ValueField;
+        
+        private HeuristicLab.Clients.OKB.DataType DataTypeField;
+        
+        private HeuristicLab.Clients.OKB.Experiment ExperimentField;
+        
+        private HeuristicLab.Clients.OKB.ProblemParameter ProblemParameterField;
+        
+        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
+        {
+            get
+            {
+                return this.extensionDataField;
+            }
+            set
+            {
+                this.extensionDataField = value;
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long ProblemParameterId
+        {
+            get
+            {
+                return this.ProblemParameterIdField;
+            }
+            set
+            {
+                if ((this.ProblemParameterIdField.Equals(value) != true))
+                {
+                    this.ProblemParameterIdField = value;
+                    this.RaisePropertyChanged("ProblemParameterId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=1)]
+        public long ExperimentId
+        {
+            get
+            {
+                return this.ExperimentIdField;
+            }
+            set
+            {
+                if ((this.ExperimentIdField.Equals(value) != true))
+                {
+                    this.ExperimentIdField = value;
+                    this.RaisePropertyChanged("ExperimentId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=2)]
+        public long DataTypeId
+        {
+            get
+            {
+                return this.DataTypeIdField;
+            }
+            set
+            {
+                if ((this.DataTypeIdField.Equals(value) != true))
+                {
+                    this.DataTypeIdField = value;
+                    this.RaisePropertyChanged("DataTypeId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=3)]
+        public string Value
+        {
+            get
+            {
+                return this.ValueField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ValueField, value) != true))
+                {
+                    this.ValueField = value;
+                    this.RaisePropertyChanged("Value");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=4)]
+        public HeuristicLab.Clients.OKB.DataType DataType
+        {
+            get
+            {
+                return this.DataTypeField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.DataTypeField, value) != true))
+                {
+                    this.DataTypeField = value;
+                    this.RaisePropertyChanged("DataType");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=5)]
+        public HeuristicLab.Clients.OKB.Experiment Experiment
+        {
+            get
+            {
+                return this.ExperimentField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ExperimentField, value) != true))
+                {
+                    this.ExperimentField = value;
+                    this.RaisePropertyChanged("Experiment");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=6)]
+        public HeuristicLab.Clients.OKB.ProblemParameter ProblemParameter
+        {
+            get
+            {
+                return this.ProblemParameterField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ProblemParameterField, value) != true))
+                {
+                    this.ProblemParameterField = value;
+                    this.RaisePropertyChanged("ProblemParameter");
+                }
+            }
+        }
+        
+        
     }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public HeuristicLab.Clients.OKB.Binary Data {
-      get {
-        return this.DataField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.DataField, value) != true)) {
-          this.DataField = value;
-          this.RaisePropertyChanged("Data");
-        }
-      }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="User", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference=true)]
+    public partial class User : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
+    {
+        
+        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+        
+        private System.Guid IdField;
+        
+        private string NameField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmUser> AlgorithmUsersField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemUser> ProblemUsersField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Run> RunsField;
+        
+        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
+        {
+            get
+            {
+                return this.extensionDataField;
+            }
+            set
+            {
+                this.extensionDataField = value;
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.Guid Id
+        {
+            get
+            {
+                return this.IdField;
+            }
+            set
+            {
+                if ((this.IdField.Equals(value) != true))
+                {
+                    this.IdField = value;
+                    this.RaisePropertyChanged("Id");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string Name
+        {
+            get
+            {
+                return this.NameField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.NameField, value) != true))
+                {
+                    this.NameField = value;
+                    this.RaisePropertyChanged("Name");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=2)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmUser> AlgorithmUsers
+        {
+            get
+            {
+                return this.AlgorithmUsersField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.AlgorithmUsersField, value) != true))
+                {
+                    this.AlgorithmUsersField = value;
+                    this.RaisePropertyChanged("AlgorithmUsers");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=3)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemUser> ProblemUsers
+        {
+            get
+            {
+                return this.ProblemUsersField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ProblemUsersField, value) != true))
+                {
+                    this.ProblemUsersField = value;
+                    this.RaisePropertyChanged("ProblemUsers");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=4)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Run> Runs
+        {
+            get
+            {
+                return this.RunsField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.RunsField, value) != true))
+                {
+                    this.RunsField = value;
+                    this.RaisePropertyChanged("Runs");
+                }
+            }
+        }
+        
+        
     }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 2)]
-    public HeuristicLab.Clients.OKB.Algorithm Algorithm {
-      get {
-        return this.AlgorithmField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.AlgorithmField, value) != true)) {
-          this.AlgorithmField = value;
-          this.RaisePropertyChanged("Algorithm");
-        }
-      }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="Client", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference=true)]
+    public partial class Client : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
+    {
+        
+        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+        
+        private System.Guid IdField;
+        
+        private string NameField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Run> RunsField;
+        
+        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
+        {
+            get
+            {
+                return this.extensionDataField;
+            }
+            set
+            {
+                this.extensionDataField = value;
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.Guid Id
+        {
+            get
+            {
+                return this.IdField;
+            }
+            set
+            {
+                if ((this.IdField.Equals(value) != true))
+                {
+                    this.IdField = value;
+                    this.RaisePropertyChanged("Id");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string Name
+        {
+            get
+            {
+                return this.NameField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.NameField, value) != true))
+                {
+                    this.NameField = value;
+                    this.RaisePropertyChanged("Name");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Run> Runs
+        {
+            get
+            {
+                return this.RunsField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.RunsField, value) != true))
+                {
+                    this.RunsField = value;
+                    this.RaisePropertyChanged("Runs");
+                }
+            }
+        }
+        
+        
     }
-
-
-
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "Platform", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference = true)]
-  public partial class Platform : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
-
-    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
-
-    private long IdField;
-
-    private string NameField;
-
-    private string DescriptionField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Algorithm> AlgorithmsField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Problem> ProblemsField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.DataType> DataTypesField;
-
-    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
-      get {
-        return this.extensionDataField;
-      }
-      set {
-        this.extensionDataField = value;
-      }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="ResultBlobValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference=true)]
+    public partial class ResultBlobValue : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
+    {
+        
+        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+        
+        private long ResultIdField;
+        
+        private long RunIdField;
+        
+        private long DataTypeIdField;
+        
+        private HeuristicLab.Clients.OKB.Binary ValueField;
+        
+        private HeuristicLab.Clients.OKB.DataType DataTypeField;
+        
+        private HeuristicLab.Clients.OKB.Result ResultField;
+        
+        private HeuristicLab.Clients.OKB.Run RunField;
+        
+        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
+        {
+            get
+            {
+                return this.extensionDataField;
+            }
+            set
+            {
+                this.extensionDataField = value;
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long ResultId
+        {
+            get
+            {
+                return this.ResultIdField;
+            }
+            set
+            {
+                if ((this.ResultIdField.Equals(value) != true))
+                {
+                    this.ResultIdField = value;
+                    this.RaisePropertyChanged("ResultId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long RunId
+        {
+            get
+            {
+                return this.RunIdField;
+            }
+            set
+            {
+                if ((this.RunIdField.Equals(value) != true))
+                {
+                    this.RunIdField = value;
+                    this.RaisePropertyChanged("RunId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=2)]
+        public long DataTypeId
+        {
+            get
+            {
+                return this.DataTypeIdField;
+            }
+            set
+            {
+                if ((this.DataTypeIdField.Equals(value) != true))
+                {
+                    this.DataTypeIdField = value;
+                    this.RaisePropertyChanged("DataTypeId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=3)]
+        public HeuristicLab.Clients.OKB.Binary Value
+        {
+            get
+            {
+                return this.ValueField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ValueField, value) != true))
+                {
+                    this.ValueField = value;
+                    this.RaisePropertyChanged("Value");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=4)]
+        public HeuristicLab.Clients.OKB.DataType DataType
+        {
+            get
+            {
+                return this.DataTypeField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.DataTypeField, value) != true))
+                {
+                    this.DataTypeField = value;
+                    this.RaisePropertyChanged("DataType");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=5)]
+        public HeuristicLab.Clients.OKB.Result Result
+        {
+            get
+            {
+                return this.ResultField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ResultField, value) != true))
+                {
+                    this.ResultField = value;
+                    this.RaisePropertyChanged("Result");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=6)]
+        public HeuristicLab.Clients.OKB.Run Run
+        {
+            get
+            {
+                return this.RunField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.RunField, value) != true))
+                {
+                    this.RunField = value;
+                    this.RaisePropertyChanged("Run");
+                }
+            }
+        }
+        
+        
     }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public long Id {
-      get {
-        return this.IdField;
-      }
-      set {
-        if ((this.IdField.Equals(value) != true)) {
-          this.IdField = value;
-          this.RaisePropertyChanged("Id");
-        }
-      }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="ResultBoolValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference=true)]
+    public partial class ResultBoolValue : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
+    {
+        
+        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+        
+        private long ResultIdField;
+        
+        private long RunIdField;
+        
+        private long DataTypeIdField;
+        
+        private bool ValueField;
+        
+        private HeuristicLab.Clients.OKB.DataType DataTypeField;
+        
+        private HeuristicLab.Clients.OKB.Result ResultField;
+        
+        private HeuristicLab.Clients.OKB.Run RunField;
+        
+        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
+        {
+            get
+            {
+                return this.extensionDataField;
+            }
+            set
+            {
+                this.extensionDataField = value;
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long ResultId
+        {
+            get
+            {
+                return this.ResultIdField;
+            }
+            set
+            {
+                if ((this.ResultIdField.Equals(value) != true))
+                {
+                    this.ResultIdField = value;
+                    this.RaisePropertyChanged("ResultId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long RunId
+        {
+            get
+            {
+                return this.RunIdField;
+            }
+            set
+            {
+                if ((this.RunIdField.Equals(value) != true))
+                {
+                    this.RunIdField = value;
+                    this.RaisePropertyChanged("RunId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=2)]
+        public long DataTypeId
+        {
+            get
+            {
+                return this.DataTypeIdField;
+            }
+            set
+            {
+                if ((this.DataTypeIdField.Equals(value) != true))
+                {
+                    this.DataTypeIdField = value;
+                    this.RaisePropertyChanged("DataTypeId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=3)]
+        public bool Value
+        {
+            get
+            {
+                return this.ValueField;
+            }
+            set
+            {
+                if ((this.ValueField.Equals(value) != true))
+                {
+                    this.ValueField = value;
+                    this.RaisePropertyChanged("Value");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=4)]
+        public HeuristicLab.Clients.OKB.DataType DataType
+        {
+            get
+            {
+                return this.DataTypeField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.DataTypeField, value) != true))
+                {
+                    this.DataTypeField = value;
+                    this.RaisePropertyChanged("DataType");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=5)]
+        public HeuristicLab.Clients.OKB.Result Result
+        {
+            get
+            {
+                return this.ResultField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ResultField, value) != true))
+                {
+                    this.ResultField = value;
+                    this.RaisePropertyChanged("Result");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=6)]
+        public HeuristicLab.Clients.OKB.Run Run
+        {
+            get
+            {
+                return this.RunField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.RunField, value) != true))
+                {
+                    this.RunField = value;
+                    this.RaisePropertyChanged("Run");
+                }
+            }
+        }
+        
+        
     }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public string Name {
-      get {
-        return this.NameField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.NameField, value) != true)) {
-          this.NameField = value;
-          this.RaisePropertyChanged("Name");
-        }
-      }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="ResultFloatValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference=true)]
+    public partial class ResultFloatValue : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
+    {
+        
+        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+        
+        private long ResultIdField;
+        
+        private long RunIdField;
+        
+        private long DataTypeIdField;
+        
+        private double ValueField;
+        
+        private HeuristicLab.Clients.OKB.DataType DataTypeField;
+        
+        private HeuristicLab.Clients.OKB.Result ResultField;
+        
+        private HeuristicLab.Clients.OKB.Run RunField;
+        
+        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
+        {
+            get
+            {
+                return this.extensionDataField;
+            }
+            set
+            {
+                this.extensionDataField = value;
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long ResultId
+        {
+            get
+            {
+                return this.ResultIdField;
+            }
+            set
+            {
+                if ((this.ResultIdField.Equals(value) != true))
+                {
+                    this.ResultIdField = value;
+                    this.RaisePropertyChanged("ResultId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long RunId
+        {
+            get
+            {
+                return this.RunIdField;
+            }
+            set
+            {
+                if ((this.RunIdField.Equals(value) != true))
+                {
+                    this.RunIdField = value;
+                    this.RaisePropertyChanged("RunId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=2)]
+        public long DataTypeId
+        {
+            get
+            {
+                return this.DataTypeIdField;
+            }
+            set
+            {
+                if ((this.DataTypeIdField.Equals(value) != true))
+                {
+                    this.DataTypeIdField = value;
+                    this.RaisePropertyChanged("DataTypeId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=3)]
+        public double Value
+        {
+            get
+            {
+                return this.ValueField;
+            }
+            set
+            {
+                if ((this.ValueField.Equals(value) != true))
+                {
+                    this.ValueField = value;
+                    this.RaisePropertyChanged("Value");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=4)]
+        public HeuristicLab.Clients.OKB.DataType DataType
+        {
+            get
+            {
+                return this.DataTypeField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.DataTypeField, value) != true))
+                {
+                    this.DataTypeField = value;
+                    this.RaisePropertyChanged("DataType");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=5)]
+        public HeuristicLab.Clients.OKB.Result Result
+        {
+            get
+            {
+                return this.ResultField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ResultField, value) != true))
+                {
+                    this.ResultField = value;
+                    this.RaisePropertyChanged("Result");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=6)]
+        public HeuristicLab.Clients.OKB.Run Run
+        {
+            get
+            {
+                return this.RunField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.RunField, value) != true))
+                {
+                    this.RunField = value;
+                    this.RaisePropertyChanged("Run");
+                }
+            }
+        }
+        
+        
     }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 2)]
-    public string Description {
-      get {
-        return this.DescriptionField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.DescriptionField, value) != true)) {
-          this.DescriptionField = value;
-          this.RaisePropertyChanged("Description");
-        }
-      }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="ResultIntValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference=true)]
+    public partial class ResultIntValue : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
+    {
+        
+        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+        
+        private long ResultIdField;
+        
+        private long RunIdField;
+        
+        private long DataTypeIdField;
+        
+        private long ValueField;
+        
+        private HeuristicLab.Clients.OKB.DataType DataTypeField;
+        
+        private HeuristicLab.Clients.OKB.Result ResultField;
+        
+        private HeuristicLab.Clients.OKB.Run RunField;
+        
+        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
+        {
+            get
+            {
+                return this.extensionDataField;
+            }
+            set
+            {
+                this.extensionDataField = value;
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long ResultId
+        {
+            get
+            {
+                return this.ResultIdField;
+            }
+            set
+            {
+                if ((this.ResultIdField.Equals(value) != true))
+                {
+                    this.ResultIdField = value;
+                    this.RaisePropertyChanged("ResultId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long RunId
+        {
+            get
+            {
+                return this.RunIdField;
+            }
+            set
+            {
+                if ((this.RunIdField.Equals(value) != true))
+                {
+                    this.RunIdField = value;
+                    this.RaisePropertyChanged("RunId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=2)]
+        public long DataTypeId
+        {
+            get
+            {
+                return this.DataTypeIdField;
+            }
+            set
+            {
+                if ((this.DataTypeIdField.Equals(value) != true))
+                {
+                    this.DataTypeIdField = value;
+                    this.RaisePropertyChanged("DataTypeId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=3)]
+        public long Value
+        {
+            get
+            {
+                return this.ValueField;
+            }
+            set
+            {
+                if ((this.ValueField.Equals(value) != true))
+                {
+                    this.ValueField = value;
+                    this.RaisePropertyChanged("Value");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=4)]
+        public HeuristicLab.Clients.OKB.DataType DataType
+        {
+            get
+            {
+                return this.DataTypeField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.DataTypeField, value) != true))
+                {
+                    this.DataTypeField = value;
+                    this.RaisePropertyChanged("DataType");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=5)]
+        public HeuristicLab.Clients.OKB.Result Result
+        {
+            get
+            {
+                return this.ResultField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ResultField, value) != true))
+                {
+                    this.ResultField = value;
+                    this.RaisePropertyChanged("Result");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=6)]
+        public HeuristicLab.Clients.OKB.Run Run
+        {
+            get
+            {
+                return this.RunField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.RunField, value) != true))
+                {
+                    this.RunField = value;
+                    this.RaisePropertyChanged("Run");
+                }
+            }
+        }
+        
+        
     }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 3)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Algorithm> Algorithms {
-      get {
-        return this.AlgorithmsField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.AlgorithmsField, value) != true)) {
-          this.AlgorithmsField = value;
-          this.RaisePropertyChanged("Algorithms");
-        }
-      }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="ResultStringValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference=true)]
+    public partial class ResultStringValue : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
+    {
+        
+        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+        
+        private long ResultIdField;
+        
+        private long RunIdField;
+        
+        private long DataTypeIdField;
+        
+        private string ValueField;
+        
+        private HeuristicLab.Clients.OKB.DataType DataTypeField;
+        
+        private HeuristicLab.Clients.OKB.Result ResultField;
+        
+        private HeuristicLab.Clients.OKB.Run RunField;
+        
+        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
+        {
+            get
+            {
+                return this.extensionDataField;
+            }
+            set
+            {
+                this.extensionDataField = value;
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long ResultId
+        {
+            get
+            {
+                return this.ResultIdField;
+            }
+            set
+            {
+                if ((this.ResultIdField.Equals(value) != true))
+                {
+                    this.ResultIdField = value;
+                    this.RaisePropertyChanged("ResultId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long RunId
+        {
+            get
+            {
+                return this.RunIdField;
+            }
+            set
+            {
+                if ((this.RunIdField.Equals(value) != true))
+                {
+                    this.RunIdField = value;
+                    this.RaisePropertyChanged("RunId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=2)]
+        public long DataTypeId
+        {
+            get
+            {
+                return this.DataTypeIdField;
+            }
+            set
+            {
+                if ((this.DataTypeIdField.Equals(value) != true))
+                {
+                    this.DataTypeIdField = value;
+                    this.RaisePropertyChanged("DataTypeId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=3)]
+        public string Value
+        {
+            get
+            {
+                return this.ValueField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ValueField, value) != true))
+                {
+                    this.ValueField = value;
+                    this.RaisePropertyChanged("Value");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=4)]
+        public HeuristicLab.Clients.OKB.DataType DataType
+        {
+            get
+            {
+                return this.DataTypeField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.DataTypeField, value) != true))
+                {
+                    this.DataTypeField = value;
+                    this.RaisePropertyChanged("DataType");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=5)]
+        public HeuristicLab.Clients.OKB.Result Result
+        {
+            get
+            {
+                return this.ResultField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ResultField, value) != true))
+                {
+                    this.ResultField = value;
+                    this.RaisePropertyChanged("Result");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=6)]
+        public HeuristicLab.Clients.OKB.Run Run
+        {
+            get
+            {
+                return this.RunField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.RunField, value) != true))
+                {
+                    this.RunField = value;
+                    this.RaisePropertyChanged("Run");
+                }
+            }
+        }
+        
+        
     }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 4)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Problem> Problems {
-      get {
-        return this.ProblemsField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ProblemsField, value) != true)) {
-          this.ProblemsField = value;
-          this.RaisePropertyChanged("Problems");
-        }
-      }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="Binary", Namespace="http://schemas.datacontract.org/2004/07/System.Data.Linq")]
+    public partial class Binary : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
+    {
+        
+        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+        
+        private byte[] BytesField;
+        
+        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
+        {
+            get
+            {
+                return this.extensionDataField;
+            }
+            set
+            {
+                this.extensionDataField = value;
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public byte[] Bytes
+        {
+            get
+            {
+                return this.BytesField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.BytesField, value) != true))
+                {
+                    this.BytesField = value;
+                    this.RaisePropertyChanged("Bytes");
+                }
+            }
+        }
+        
+        
     }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 5)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.DataType> DataTypes {
-      get {
-        return this.DataTypesField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.DataTypesField, value) != true)) {
-          this.DataTypesField = value;
-          this.RaisePropertyChanged("DataTypes");
-        }
-      }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="DataType", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference=true)]
+    public partial class DataType : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
+    {
+        
+        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+        
+        private long IdField;
+        
+        private long PlatformIdField;
+        
+        private string NameField;
+        
+        private string SqlNameField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameter> AlgorithmParametersField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameter> ProblemParametersField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Result> ResultsField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameterBlobValue> AlgorithmParameterBlobValuesField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameterBoolValue> AlgorithmParameterBoolValuesField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameterFloatValue> AlgorithmParameterFloatValuesField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameterIntValue> AlgorithmParameterIntValuesField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameterStringValue> AlgorithmParameterStringValuesField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameterBlobValue> ProblemParameterBlobValuesField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameterBoolValue> ProblemParameterBoolValuesField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameterFloatValue> ProblemParameterFloatValuesField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameterIntValue> ProblemParameterIntValuesField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameterStringValue> ProblemParameterStringValuesField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ResultBlobValue> ResultBlobValuesField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ResultBoolValue> ResultBoolValuesField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ResultFloatValue> ResultFloatValuesField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ResultIntValue> ResultIntValuesField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ResultStringValue> ResultStringValuesField;
+        
+        private HeuristicLab.Clients.OKB.Platform PlatformField;
+        
+        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
+        {
+            get
+            {
+                return this.extensionDataField;
+            }
+            set
+            {
+                this.extensionDataField = value;
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long Id
+        {
+            get
+            {
+                return this.IdField;
+            }
+            set
+            {
+                if ((this.IdField.Equals(value) != true))
+                {
+                    this.IdField = value;
+                    this.RaisePropertyChanged("Id");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long PlatformId
+        {
+            get
+            {
+                return this.PlatformIdField;
+            }
+            set
+            {
+                if ((this.PlatformIdField.Equals(value) != true))
+                {
+                    this.PlatformIdField = value;
+                    this.RaisePropertyChanged("PlatformId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=2)]
+        public string Name
+        {
+            get
+            {
+                return this.NameField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.NameField, value) != true))
+                {
+                    this.NameField = value;
+                    this.RaisePropertyChanged("Name");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=3)]
+        public string SqlName
+        {
+            get
+            {
+                return this.SqlNameField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.SqlNameField, value) != true))
+                {
+                    this.SqlNameField = value;
+                    this.RaisePropertyChanged("SqlName");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=4)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameter> AlgorithmParameters
+        {
+            get
+            {
+                return this.AlgorithmParametersField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.AlgorithmParametersField, value) != true))
+                {
+                    this.AlgorithmParametersField = value;
+                    this.RaisePropertyChanged("AlgorithmParameters");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=5)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameter> ProblemParameters
+        {
+            get
+            {
+                return this.ProblemParametersField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ProblemParametersField, value) != true))
+                {
+                    this.ProblemParametersField = value;
+                    this.RaisePropertyChanged("ProblemParameters");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=6)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Result> Results
+        {
+            get
+            {
+                return this.ResultsField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ResultsField, value) != true))
+                {
+                    this.ResultsField = value;
+                    this.RaisePropertyChanged("Results");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=7)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameterBlobValue> AlgorithmParameterBlobValues
+        {
+            get
+            {
+                return this.AlgorithmParameterBlobValuesField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.AlgorithmParameterBlobValuesField, value) != true))
+                {
+                    this.AlgorithmParameterBlobValuesField = value;
+                    this.RaisePropertyChanged("AlgorithmParameterBlobValues");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=8)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameterBoolValue> AlgorithmParameterBoolValues
+        {
+            get
+            {
+                return this.AlgorithmParameterBoolValuesField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.AlgorithmParameterBoolValuesField, value) != true))
+                {
+                    this.AlgorithmParameterBoolValuesField = value;
+                    this.RaisePropertyChanged("AlgorithmParameterBoolValues");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=9)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameterFloatValue> AlgorithmParameterFloatValues
+        {
+            get
+            {
+                return this.AlgorithmParameterFloatValuesField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.AlgorithmParameterFloatValuesField, value) != true))
+                {
+                    this.AlgorithmParameterFloatValuesField = value;
+                    this.RaisePropertyChanged("AlgorithmParameterFloatValues");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=10)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameterIntValue> AlgorithmParameterIntValues
+        {
+            get
+            {
+                return this.AlgorithmParameterIntValuesField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.AlgorithmParameterIntValuesField, value) != true))
+                {
+                    this.AlgorithmParameterIntValuesField = value;
+                    this.RaisePropertyChanged("AlgorithmParameterIntValues");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=11)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameterStringValue> AlgorithmParameterStringValues
+        {
+            get
+            {
+                return this.AlgorithmParameterStringValuesField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.AlgorithmParameterStringValuesField, value) != true))
+                {
+                    this.AlgorithmParameterStringValuesField = value;
+                    this.RaisePropertyChanged("AlgorithmParameterStringValues");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=12)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameterBlobValue> ProblemParameterBlobValues
+        {
+            get
+            {
+                return this.ProblemParameterBlobValuesField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ProblemParameterBlobValuesField, value) != true))
+                {
+                    this.ProblemParameterBlobValuesField = value;
+                    this.RaisePropertyChanged("ProblemParameterBlobValues");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=13)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameterBoolValue> ProblemParameterBoolValues
+        {
+            get
+            {
+                return this.ProblemParameterBoolValuesField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ProblemParameterBoolValuesField, value) != true))
+                {
+                    this.ProblemParameterBoolValuesField = value;
+                    this.RaisePropertyChanged("ProblemParameterBoolValues");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=14)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameterFloatValue> ProblemParameterFloatValues
+        {
+            get
+            {
+                return this.ProblemParameterFloatValuesField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ProblemParameterFloatValuesField, value) != true))
+                {
+                    this.ProblemParameterFloatValuesField = value;
+                    this.RaisePropertyChanged("ProblemParameterFloatValues");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=15)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameterIntValue> ProblemParameterIntValues
+        {
+            get
+            {
+                return this.ProblemParameterIntValuesField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ProblemParameterIntValuesField, value) != true))
+                {
+                    this.ProblemParameterIntValuesField = value;
+                    this.RaisePropertyChanged("ProblemParameterIntValues");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=16)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameterStringValue> ProblemParameterStringValues
+        {
+            get
+            {
+                return this.ProblemParameterStringValuesField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ProblemParameterStringValuesField, value) != true))
+                {
+                    this.ProblemParameterStringValuesField = value;
+                    this.RaisePropertyChanged("ProblemParameterStringValues");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=17)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ResultBlobValue> ResultBlobValues
+        {
+            get
+            {
+                return this.ResultBlobValuesField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ResultBlobValuesField, value) != true))
+                {
+                    this.ResultBlobValuesField = value;
+                    this.RaisePropertyChanged("ResultBlobValues");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=18)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ResultBoolValue> ResultBoolValues
+        {
+            get
+            {
+                return this.ResultBoolValuesField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ResultBoolValuesField, value) != true))
+                {
+                    this.ResultBoolValuesField = value;
+                    this.RaisePropertyChanged("ResultBoolValues");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=19)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ResultFloatValue> ResultFloatValues
+        {
+            get
+            {
+                return this.ResultFloatValuesField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ResultFloatValuesField, value) != true))
+                {
+                    this.ResultFloatValuesField = value;
+                    this.RaisePropertyChanged("ResultFloatValues");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=20)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ResultIntValue> ResultIntValues
+        {
+            get
+            {
+                return this.ResultIntValuesField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ResultIntValuesField, value) != true))
+                {
+                    this.ResultIntValuesField = value;
+                    this.RaisePropertyChanged("ResultIntValues");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=21)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ResultStringValue> ResultStringValues
+        {
+            get
+            {
+                return this.ResultStringValuesField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ResultStringValuesField, value) != true))
+                {
+                    this.ResultStringValuesField = value;
+                    this.RaisePropertyChanged("ResultStringValues");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=22)]
+        public HeuristicLab.Clients.OKB.Platform Platform
+        {
+            get
+            {
+                return this.PlatformField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.PlatformField, value) != true))
+                {
+                    this.PlatformField = value;
+                    this.RaisePropertyChanged("Platform");
+                }
+            }
+        }
+        
+        
     }
-
-
-
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "Experiment", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference = true)]
-  public partial class Experiment : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
-
-    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
-
-    private long IdField;
-
-    private long AlgorithmIdField;
-
-    private long ProblemIdField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Run> RunsField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameterBlobValue> AlgorithmParameterBlobValuesField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameterBoolValue> AlgorithmParameterBoolValuesField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameterFloatValue> AlgorithmParameterFloatValuesField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameterIntValue> AlgorithmParameterIntValuesField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameterStringValue> AlgorithmParameterStringValuesField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameterBlobValue> ProblemParameterBlobValuesField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameterBoolValue> ProblemParameterBoolValuesField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameterFloatValue> ProblemParameterFloatValuesField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameterIntValue> ProblemParameterIntValuesField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameterStringValue> ProblemParameterStringValuesField;
-
-    private HeuristicLab.Clients.OKB.Problem ProblemField;
-
-    private HeuristicLab.Clients.OKB.Algorithm AlgorithmField;
-
-    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
-      get {
-        return this.extensionDataField;
-      }
-      set {
-        this.extensionDataField = value;
-      }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="ProblemParameter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference=true)]
+    public partial class ProblemParameter : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
+    {
+        
+        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+        
+        private long IdField;
+        
+        private long ProblemIdField;
+        
+        private string NameField;
+        
+        private string AliasField;
+        
+        private string DescriptionField;
+        
+        private long DataTypeIdField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameterBlobValue> ProblemParameterBlobValuesField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameterBoolValue> ProblemParameterBoolValuesField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameterFloatValue> ProblemParameterFloatValuesField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameterIntValue> ProblemParameterIntValuesField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameterStringValue> ProblemParameterStringValuesField;
+        
+        private HeuristicLab.Clients.OKB.Problem ProblemField;
+        
+        private HeuristicLab.Clients.OKB.DataType DataTypeField;
+        
+        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
+        {
+            get
+            {
+                return this.extensionDataField;
+            }
+            set
+            {
+                this.extensionDataField = value;
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long Id
+        {
+            get
+            {
+                return this.IdField;
+            }
+            set
+            {
+                if ((this.IdField.Equals(value) != true))
+                {
+                    this.IdField = value;
+                    this.RaisePropertyChanged("Id");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long ProblemId
+        {
+            get
+            {
+                return this.ProblemIdField;
+            }
+            set
+            {
+                if ((this.ProblemIdField.Equals(value) != true))
+                {
+                    this.ProblemIdField = value;
+                    this.RaisePropertyChanged("ProblemId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=2)]
+        public string Name
+        {
+            get
+            {
+                return this.NameField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.NameField, value) != true))
+                {
+                    this.NameField = value;
+                    this.RaisePropertyChanged("Name");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=3)]
+        public string Alias
+        {
+            get
+            {
+                return this.AliasField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.AliasField, value) != true))
+                {
+                    this.AliasField = value;
+                    this.RaisePropertyChanged("Alias");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=4)]
+        public string Description
+        {
+            get
+            {
+                return this.DescriptionField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.DescriptionField, value) != true))
+                {
+                    this.DescriptionField = value;
+                    this.RaisePropertyChanged("Description");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=5)]
+        public long DataTypeId
+        {
+            get
+            {
+                return this.DataTypeIdField;
+            }
+            set
+            {
+                if ((this.DataTypeIdField.Equals(value) != true))
+                {
+                    this.DataTypeIdField = value;
+                    this.RaisePropertyChanged("DataTypeId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=6)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameterBlobValue> ProblemParameterBlobValues
+        {
+            get
+            {
+                return this.ProblemParameterBlobValuesField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ProblemParameterBlobValuesField, value) != true))
+                {
+                    this.ProblemParameterBlobValuesField = value;
+                    this.RaisePropertyChanged("ProblemParameterBlobValues");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=7)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameterBoolValue> ProblemParameterBoolValues
+        {
+            get
+            {
+                return this.ProblemParameterBoolValuesField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ProblemParameterBoolValuesField, value) != true))
+                {
+                    this.ProblemParameterBoolValuesField = value;
+                    this.RaisePropertyChanged("ProblemParameterBoolValues");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=8)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameterFloatValue> ProblemParameterFloatValues
+        {
+            get
+            {
+                return this.ProblemParameterFloatValuesField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ProblemParameterFloatValuesField, value) != true))
+                {
+                    this.ProblemParameterFloatValuesField = value;
+                    this.RaisePropertyChanged("ProblemParameterFloatValues");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=9)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameterIntValue> ProblemParameterIntValues
+        {
+            get
+            {
+                return this.ProblemParameterIntValuesField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ProblemParameterIntValuesField, value) != true))
+                {
+                    this.ProblemParameterIntValuesField = value;
+                    this.RaisePropertyChanged("ProblemParameterIntValues");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=10)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameterStringValue> ProblemParameterStringValues
+        {
+            get
+            {
+                return this.ProblemParameterStringValuesField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ProblemParameterStringValuesField, value) != true))
+                {
+                    this.ProblemParameterStringValuesField = value;
+                    this.RaisePropertyChanged("ProblemParameterStringValues");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=11)]
+        public HeuristicLab.Clients.OKB.Problem Problem
+        {
+            get
+            {
+                return this.ProblemField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ProblemField, value) != true))
+                {
+                    this.ProblemField = value;
+                    this.RaisePropertyChanged("Problem");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=12)]
+        public HeuristicLab.Clients.OKB.DataType DataType
+        {
+            get
+            {
+                return this.DataTypeField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.DataTypeField, value) != true))
+                {
+                    this.DataTypeField = value;
+                    this.RaisePropertyChanged("DataType");
+                }
+            }
+        }
+        
+        
     }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public long Id {
-      get {
-        return this.IdField;
-      }
-      set {
-        if ((this.IdField.Equals(value) != true)) {
-          this.IdField = value;
-          this.RaisePropertyChanged("Id");
-        }
-      }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="ProblemData", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference=true)]
+    public partial class ProblemData : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
+    {
+        
+        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+        
+        private long ProblemIdField;
+        
+        private HeuristicLab.Clients.OKB.Binary DataField;
+        
+        private HeuristicLab.Clients.OKB.Problem ProblemField;
+        
+        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
+        {
+            get
+            {
+                return this.extensionDataField;
+            }
+            set
+            {
+                this.extensionDataField = value;
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long ProblemId
+        {
+            get
+            {
+                return this.ProblemIdField;
+            }
+            set
+            {
+                if ((this.ProblemIdField.Equals(value) != true))
+                {
+                    this.ProblemIdField = value;
+                    this.RaisePropertyChanged("ProblemId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=1)]
+        public HeuristicLab.Clients.OKB.Binary Data
+        {
+            get
+            {
+                return this.DataField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.DataField, value) != true))
+                {
+                    this.DataField = value;
+                    this.RaisePropertyChanged("Data");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=2)]
+        public HeuristicLab.Clients.OKB.Problem Problem
+        {
+            get
+            {
+                return this.ProblemField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ProblemField, value) != true))
+                {
+                    this.ProblemField = value;
+                    this.RaisePropertyChanged("Problem");
+                }
+            }
+        }
+        
+        
     }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 1)]
-    public long AlgorithmId {
-      get {
-        return this.AlgorithmIdField;
-      }
-      set {
-        if ((this.AlgorithmIdField.Equals(value) != true)) {
-          this.AlgorithmIdField = value;
-          this.RaisePropertyChanged("AlgorithmId");
-        }
-      }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="ProblemClass", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference=true)]
+    public partial class ProblemClass : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
+    {
+        
+        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+        
+        private long IdField;
+        
+        private string NameField;
+        
+        private string DescriptionField;
+        
+        private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Problem> ProblemsField;
+        
+        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
+        {
+            get
+            {
+                return this.extensionDataField;
+            }
+            set
+            {
+                this.extensionDataField = value;
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long Id
+        {
+            get
+            {
+                return this.IdField;
+            }
+            set
+            {
+                if ((this.IdField.Equals(value) != true))
+                {
+                    this.IdField = value;
+                    this.RaisePropertyChanged("Id");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string Name
+        {
+            get
+            {
+                return this.NameField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.NameField, value) != true))
+                {
+                    this.NameField = value;
+                    this.RaisePropertyChanged("Name");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Order=2)]
+        public string Description
+        {
+            get
+            {
+                return this.DescriptionField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.DescriptionField, value) != true))
+                {
+                    this.DescriptionField = value;
+                    this.RaisePropertyChanged("Description");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=3)]
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Problem> Problems
+        {
+            get
+            {
+                return this.ProblemsField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ProblemsField, value) != true))
+                {
+                    this.ProblemsField = value;
+                    this.RaisePropertyChanged("Problems");
+                }
+            }
+        }
+        
+        
     }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 2)]
-    public long ProblemId {
-      get {
-        return this.ProblemIdField;
-      }
-      set {
-        if ((this.ProblemIdField.Equals(value) != true)) {
-          this.ProblemIdField = value;
-          this.RaisePropertyChanged("ProblemId");
-        }
-      }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="ProblemUser", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference=true)]
+    public partial class ProblemUser : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
+    {
+        
+        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+        
+        private long ProblemIdField;
+        
+        private System.Guid UserIdField;
+        
+        private HeuristicLab.Clients.OKB.Problem ProblemField;
+        
+        private HeuristicLab.Clients.OKB.User UserField;
+        
+        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
+        {
+            get
+            {
+                return this.extensionDataField;
+            }
+            set
+            {
+                this.extensionDataField = value;
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long ProblemId
+        {
+            get
+            {
+                return this.ProblemIdField;
+            }
+            set
+            {
+                if ((this.ProblemIdField.Equals(value) != true))
+                {
+                    this.ProblemIdField = value;
+                    this.RaisePropertyChanged("ProblemId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.Guid UserId
+        {
+            get
+            {
+                return this.UserIdField;
+            }
+            set
+            {
+                if ((this.UserIdField.Equals(value) != true))
+                {
+                    this.UserIdField = value;
+                    this.RaisePropertyChanged("UserId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=2)]
+        public HeuristicLab.Clients.OKB.Problem Problem
+        {
+            get
+            {
+                return this.ProblemField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ProblemField, value) != true))
+                {
+                    this.ProblemField = value;
+                    this.RaisePropertyChanged("Problem");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=3)]
+        public HeuristicLab.Clients.OKB.User User
+        {
+            get
+            {
+                return this.UserField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.UserField, value) != true))
+                {
+                    this.UserField = value;
+                    this.RaisePropertyChanged("User");
+                }
+            }
+        }
+        
+        
     }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 3)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Run> Runs {
-      get {
-        return this.RunsField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.RunsField, value) != true)) {
-          this.RunsField = value;
-          this.RaisePropertyChanged("Runs");
-        }
-      }
+    
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+    [System.ServiceModel.ServiceContractAttribute(ConfigurationName="HeuristicLab.Clients.OKB.IAdminService")]
+    public interface IAdminService
+    {
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdminService/GetAlgorithmClass", ReplyAction="http://tempuri.org/IAdminService/GetAlgorithmClassResponse")]
+        HeuristicLab.Clients.OKB.AlgorithmClass GetAlgorithmClass(long algorithmClassId);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdminService/GetAlgorithmClasses", ReplyAction="http://tempuri.org/IAdminService/GetAlgorithmClassesResponse")]
+        HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmClass> GetAlgorithmClasses();
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdminService/StoreAlgorithmClass", ReplyAction="http://tempuri.org/IAdminService/StoreAlgorithmClassResponse")]
+        void StoreAlgorithmClass(HeuristicLab.Clients.OKB.AlgorithmClass algorithmClass);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdminService/DeleteAlgorithmClass", ReplyAction="http://tempuri.org/IAdminService/DeleteAlgorithmClassResponse")]
+        void DeleteAlgorithmClass(long algorithmClassId);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdminService/GetAlgorithm", ReplyAction="http://tempuri.org/IAdminService/GetAlgorithmResponse")]
+        HeuristicLab.Clients.OKB.Algorithm GetAlgorithm(long algorithmId);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdminService/GetAlgorithms", ReplyAction="http://tempuri.org/IAdminService/GetAlgorithmsResponse")]
+        HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Algorithm> GetAlgorithms();
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdminService/StoreAlgorithm", ReplyAction="http://tempuri.org/IAdminService/StoreAlgorithmResponse")]
+        void StoreAlgorithm(HeuristicLab.Clients.OKB.Algorithm algorithm);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdminService/DeleteAlgorithm", ReplyAction="http://tempuri.org/IAdminService/DeleteAlgorithmResponse")]
+        void DeleteAlgorithm(long algorithmId);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdminService/GetPlatforms", ReplyAction="http://tempuri.org/IAdminService/GetPlatformsResponse")]
+        HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Platform> GetPlatforms();
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdminService/GetCompleteAlgorithm", ReplyAction="http://tempuri.org/IAdminService/GetCompleteAlgorithmResponse")]
+        HeuristicLab.Clients.OKB.Algorithm GetCompleteAlgorithm(int id);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdminService/GetCompleteProblem", ReplyAction="http://tempuri.org/IAdminService/GetCompleteProblemResponse")]
+        HeuristicLab.Clients.OKB.Problem GetCompleteProblem(int id);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdminService/UpdateCompleteAlgorithm", ReplyAction="http://tempuri.org/IAdminService/UpdateCompleteAlgorithmResponse")]
+        void UpdateCompleteAlgorithm(HeuristicLab.Clients.OKB.Algorithm algorithm);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdminService/UpdateCompleteProblem", ReplyAction="http://tempuri.org/IAdminService/UpdateCompleteProblemResponse")]
+        void UpdateCompleteProblem(HeuristicLab.Clients.OKB.Problem problem);
     }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 4)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameterBlobValue> AlgorithmParameterBlobValues {
-      get {
-        return this.AlgorithmParameterBlobValuesField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.AlgorithmParameterBlobValuesField, value) != true)) {
-          this.AlgorithmParameterBlobValuesField = value;
-          this.RaisePropertyChanged("AlgorithmParameterBlobValues");
-        }
-      }
+    
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+    public interface IAdminServiceChannel : HeuristicLab.Clients.OKB.IAdminService, System.ServiceModel.IClientChannel
+    {
     }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 5)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameterBoolValue> AlgorithmParameterBoolValues {
-      get {
-        return this.AlgorithmParameterBoolValuesField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.AlgorithmParameterBoolValuesField, value) != true)) {
-          this.AlgorithmParameterBoolValuesField = value;
-          this.RaisePropertyChanged("AlgorithmParameterBoolValues");
-        }
-      }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+    public partial class AdminServiceClient : System.ServiceModel.ClientBase<HeuristicLab.Clients.OKB.IAdminService>, HeuristicLab.Clients.OKB.IAdminService
+    {
+        
+        public AdminServiceClient()
+        {
+        }
+        
+        public AdminServiceClient(string endpointConfigurationName) : 
+                base(endpointConfigurationName)
+        {
+        }
+        
+        public AdminServiceClient(string endpointConfigurationName, string remoteAddress) : 
+                base(endpointConfigurationName, remoteAddress)
+        {
+        }
+        
+        public AdminServiceClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) : 
+                base(endpointConfigurationName, remoteAddress)
+        {
+        }
+        
+        public AdminServiceClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) : 
+                base(binding, remoteAddress)
+        {
+        }
+        
+        public HeuristicLab.Clients.OKB.AlgorithmClass GetAlgorithmClass(long algorithmClassId)
+        {
+            return base.Channel.GetAlgorithmClass(algorithmClassId);
+        }
+        
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmClass> GetAlgorithmClasses()
+        {
+            return base.Channel.GetAlgorithmClasses();
+        }
+        
+        public void StoreAlgorithmClass(HeuristicLab.Clients.OKB.AlgorithmClass algorithmClass)
+        {
+            base.Channel.StoreAlgorithmClass(algorithmClass);
+        }
+        
+        public void DeleteAlgorithmClass(long algorithmClassId)
+        {
+            base.Channel.DeleteAlgorithmClass(algorithmClassId);
+        }
+        
+        public HeuristicLab.Clients.OKB.Algorithm GetAlgorithm(long algorithmId)
+        {
+            return base.Channel.GetAlgorithm(algorithmId);
+        }
+        
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Algorithm> GetAlgorithms()
+        {
+            return base.Channel.GetAlgorithms();
+        }
+        
+        public void StoreAlgorithm(HeuristicLab.Clients.OKB.Algorithm algorithm)
+        {
+            base.Channel.StoreAlgorithm(algorithm);
+        }
+        
+        public void DeleteAlgorithm(long algorithmId)
+        {
+            base.Channel.DeleteAlgorithm(algorithmId);
+        }
+        
+        public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Platform> GetPlatforms()
+        {
+            return base.Channel.GetPlatforms();
+        }
+        
+        public HeuristicLab.Clients.OKB.Algorithm GetCompleteAlgorithm(int id)
+        {
+            return base.Channel.GetCompleteAlgorithm(id);
+        }
+        
+        public HeuristicLab.Clients.OKB.Problem GetCompleteProblem(int id)
+        {
+            return base.Channel.GetCompleteProblem(id);
+        }
+        
+        public void UpdateCompleteAlgorithm(HeuristicLab.Clients.OKB.Algorithm algorithm)
+        {
+            base.Channel.UpdateCompleteAlgorithm(algorithm);
+        }
+        
+        public void UpdateCompleteProblem(HeuristicLab.Clients.OKB.Problem problem)
+        {
+            base.Channel.UpdateCompleteProblem(problem);
+        }
     }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 6)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameterFloatValue> AlgorithmParameterFloatValues {
-      get {
-        return this.AlgorithmParameterFloatValuesField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.AlgorithmParameterFloatValuesField, value) != true)) {
-          this.AlgorithmParameterFloatValuesField = value;
-          this.RaisePropertyChanged("AlgorithmParameterFloatValues");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 7)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameterIntValue> AlgorithmParameterIntValues {
-      get {
-        return this.AlgorithmParameterIntValuesField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.AlgorithmParameterIntValuesField, value) != true)) {
-          this.AlgorithmParameterIntValuesField = value;
-          this.RaisePropertyChanged("AlgorithmParameterIntValues");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 8)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameterStringValue> AlgorithmParameterStringValues {
-      get {
-        return this.AlgorithmParameterStringValuesField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.AlgorithmParameterStringValuesField, value) != true)) {
-          this.AlgorithmParameterStringValuesField = value;
-          this.RaisePropertyChanged("AlgorithmParameterStringValues");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 9)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameterBlobValue> ProblemParameterBlobValues {
-      get {
-        return this.ProblemParameterBlobValuesField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ProblemParameterBlobValuesField, value) != true)) {
-          this.ProblemParameterBlobValuesField = value;
-          this.RaisePropertyChanged("ProblemParameterBlobValues");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 10)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameterBoolValue> ProblemParameterBoolValues {
-      get {
-        return this.ProblemParameterBoolValuesField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ProblemParameterBoolValuesField, value) != true)) {
-          this.ProblemParameterBoolValuesField = value;
-          this.RaisePropertyChanged("ProblemParameterBoolValues");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 11)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameterFloatValue> ProblemParameterFloatValues {
-      get {
-        return this.ProblemParameterFloatValuesField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ProblemParameterFloatValuesField, value) != true)) {
-          this.ProblemParameterFloatValuesField = value;
-          this.RaisePropertyChanged("ProblemParameterFloatValues");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 12)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameterIntValue> ProblemParameterIntValues {
-      get {
-        return this.ProblemParameterIntValuesField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ProblemParameterIntValuesField, value) != true)) {
-          this.ProblemParameterIntValuesField = value;
-          this.RaisePropertyChanged("ProblemParameterIntValues");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 13)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameterStringValue> ProblemParameterStringValues {
-      get {
-        return this.ProblemParameterStringValuesField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ProblemParameterStringValuesField, value) != true)) {
-          this.ProblemParameterStringValuesField = value;
-          this.RaisePropertyChanged("ProblemParameterStringValues");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 14)]
-    public HeuristicLab.Clients.OKB.Problem Problem {
-      get {
-        return this.ProblemField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ProblemField, value) != true)) {
-          this.ProblemField = value;
-          this.RaisePropertyChanged("Problem");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 15)]
-    public HeuristicLab.Clients.OKB.Algorithm Algorithm {
-      get {
-        return this.AlgorithmField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.AlgorithmField, value) != true)) {
-          this.AlgorithmField = value;
-          this.RaisePropertyChanged("Algorithm");
-        }
-      }
-    }
-
-
-
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "AlgorithmParameter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference = true)]
-  public partial class AlgorithmParameter : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
-
-    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
-
-    private long IdField;
-
-    private long AlgorithmIdField;
-
-    private string NameField;
-
-    private string AliasField;
-
-    private string DescriptionField;
-
-    private long DataTypeIdField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameterBlobValue> AlgorithmParameterBlobValuesField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameterBoolValue> AlgorithmParameterBoolValuesField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameterFloatValue> AlgorithmParameterFloatValuesField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameterIntValue> AlgorithmParameterIntValuesField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameterStringValue> AlgorithmParameterStringValuesField;
-
-    private HeuristicLab.Clients.OKB.Algorithm AlgorithmField;
-
-    private HeuristicLab.Clients.OKB.DataType DataTypeField;
-
-    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
-      get {
-        return this.extensionDataField;
-      }
-      set {
-        this.extensionDataField = value;
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public long Id {
-      get {
-        return this.IdField;
-      }
-      set {
-        if ((this.IdField.Equals(value) != true)) {
-          this.IdField = value;
-          this.RaisePropertyChanged("Id");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 1)]
-    public long AlgorithmId {
-      get {
-        return this.AlgorithmIdField;
-      }
-      set {
-        if ((this.AlgorithmIdField.Equals(value) != true)) {
-          this.AlgorithmIdField = value;
-          this.RaisePropertyChanged("AlgorithmId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 2)]
-    public string Name {
-      get {
-        return this.NameField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.NameField, value) != true)) {
-          this.NameField = value;
-          this.RaisePropertyChanged("Name");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 3)]
-    public string Alias {
-      get {
-        return this.AliasField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.AliasField, value) != true)) {
-          this.AliasField = value;
-          this.RaisePropertyChanged("Alias");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 4)]
-    public string Description {
-      get {
-        return this.DescriptionField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.DescriptionField, value) != true)) {
-          this.DescriptionField = value;
-          this.RaisePropertyChanged("Description");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 5)]
-    public long DataTypeId {
-      get {
-        return this.DataTypeIdField;
-      }
-      set {
-        if ((this.DataTypeIdField.Equals(value) != true)) {
-          this.DataTypeIdField = value;
-          this.RaisePropertyChanged("DataTypeId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 6)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameterBlobValue> AlgorithmParameterBlobValues {
-      get {
-        return this.AlgorithmParameterBlobValuesField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.AlgorithmParameterBlobValuesField, value) != true)) {
-          this.AlgorithmParameterBlobValuesField = value;
-          this.RaisePropertyChanged("AlgorithmParameterBlobValues");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 7)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameterBoolValue> AlgorithmParameterBoolValues {
-      get {
-        return this.AlgorithmParameterBoolValuesField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.AlgorithmParameterBoolValuesField, value) != true)) {
-          this.AlgorithmParameterBoolValuesField = value;
-          this.RaisePropertyChanged("AlgorithmParameterBoolValues");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 8)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameterFloatValue> AlgorithmParameterFloatValues {
-      get {
-        return this.AlgorithmParameterFloatValuesField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.AlgorithmParameterFloatValuesField, value) != true)) {
-          this.AlgorithmParameterFloatValuesField = value;
-          this.RaisePropertyChanged("AlgorithmParameterFloatValues");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 9)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameterIntValue> AlgorithmParameterIntValues {
-      get {
-        return this.AlgorithmParameterIntValuesField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.AlgorithmParameterIntValuesField, value) != true)) {
-          this.AlgorithmParameterIntValuesField = value;
-          this.RaisePropertyChanged("AlgorithmParameterIntValues");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 10)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameterStringValue> AlgorithmParameterStringValues {
-      get {
-        return this.AlgorithmParameterStringValuesField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.AlgorithmParameterStringValuesField, value) != true)) {
-          this.AlgorithmParameterStringValuesField = value;
-          this.RaisePropertyChanged("AlgorithmParameterStringValues");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 11)]
-    public HeuristicLab.Clients.OKB.Algorithm Algorithm {
-      get {
-        return this.AlgorithmField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.AlgorithmField, value) != true)) {
-          this.AlgorithmField = value;
-          this.RaisePropertyChanged("Algorithm");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 12)]
-    public HeuristicLab.Clients.OKB.DataType DataType {
-      get {
-        return this.DataTypeField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.DataTypeField, value) != true)) {
-          this.DataTypeField = value;
-          this.RaisePropertyChanged("DataType");
-        }
-      }
-    }
-
-
-
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "AlgorithmUser", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference = true)]
-  public partial class AlgorithmUser : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
-
-    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
-
-    private long AlgorithmIdField;
-
-    private System.Guid UserIdField;
-
-    private HeuristicLab.Clients.OKB.Algorithm AlgorithmField;
-
-    private HeuristicLab.Clients.OKB.User UserField;
-
-    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
-      get {
-        return this.extensionDataField;
-      }
-      set {
-        this.extensionDataField = value;
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public long AlgorithmId {
-      get {
-        return this.AlgorithmIdField;
-      }
-      set {
-        if ((this.AlgorithmIdField.Equals(value) != true)) {
-          this.AlgorithmIdField = value;
-          this.RaisePropertyChanged("AlgorithmId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public System.Guid UserId {
-      get {
-        return this.UserIdField;
-      }
-      set {
-        if ((this.UserIdField.Equals(value) != true)) {
-          this.UserIdField = value;
-          this.RaisePropertyChanged("UserId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 2)]
-    public HeuristicLab.Clients.OKB.Algorithm Algorithm {
-      get {
-        return this.AlgorithmField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.AlgorithmField, value) != true)) {
-          this.AlgorithmField = value;
-          this.RaisePropertyChanged("Algorithm");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 3)]
-    public HeuristicLab.Clients.OKB.User User {
-      get {
-        return this.UserField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.UserField, value) != true)) {
-          this.UserField = value;
-          this.RaisePropertyChanged("User");
-        }
-      }
-    }
-
-
-
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "Result", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference = true)]
-  public partial class Result : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
-
-    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
-
-    private long IdField;
-
-    private long AlgorithmIdField;
-
-    private string NameField;
-
-    private string AliasField;
-
-    private string DescriptionField;
-
-    private long DataTypeIdField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ResultBlobValue> ResultBlobValuesField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ResultBoolValue> ResultBoolValuesField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ResultFloatValue> ResultFloatValuesField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ResultIntValue> ResultIntValuesField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ResultStringValue> ResultStringValuesField;
-
-    private HeuristicLab.Clients.OKB.Algorithm AlgorithmField;
-
-    private HeuristicLab.Clients.OKB.DataType DataTypeField;
-
-    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
-      get {
-        return this.extensionDataField;
-      }
-      set {
-        this.extensionDataField = value;
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public long Id {
-      get {
-        return this.IdField;
-      }
-      set {
-        if ((this.IdField.Equals(value) != true)) {
-          this.IdField = value;
-          this.RaisePropertyChanged("Id");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 1)]
-    public long AlgorithmId {
-      get {
-        return this.AlgorithmIdField;
-      }
-      set {
-        if ((this.AlgorithmIdField.Equals(value) != true)) {
-          this.AlgorithmIdField = value;
-          this.RaisePropertyChanged("AlgorithmId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 2)]
-    public string Name {
-      get {
-        return this.NameField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.NameField, value) != true)) {
-          this.NameField = value;
-          this.RaisePropertyChanged("Name");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 3)]
-    public string Alias {
-      get {
-        return this.AliasField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.AliasField, value) != true)) {
-          this.AliasField = value;
-          this.RaisePropertyChanged("Alias");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 4)]
-    public string Description {
-      get {
-        return this.DescriptionField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.DescriptionField, value) != true)) {
-          this.DescriptionField = value;
-          this.RaisePropertyChanged("Description");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 5)]
-    public long DataTypeId {
-      get {
-        return this.DataTypeIdField;
-      }
-      set {
-        if ((this.DataTypeIdField.Equals(value) != true)) {
-          this.DataTypeIdField = value;
-          this.RaisePropertyChanged("DataTypeId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 6)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ResultBlobValue> ResultBlobValues {
-      get {
-        return this.ResultBlobValuesField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ResultBlobValuesField, value) != true)) {
-          this.ResultBlobValuesField = value;
-          this.RaisePropertyChanged("ResultBlobValues");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 7)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ResultBoolValue> ResultBoolValues {
-      get {
-        return this.ResultBoolValuesField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ResultBoolValuesField, value) != true)) {
-          this.ResultBoolValuesField = value;
-          this.RaisePropertyChanged("ResultBoolValues");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 8)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ResultFloatValue> ResultFloatValues {
-      get {
-        return this.ResultFloatValuesField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ResultFloatValuesField, value) != true)) {
-          this.ResultFloatValuesField = value;
-          this.RaisePropertyChanged("ResultFloatValues");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 9)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ResultIntValue> ResultIntValues {
-      get {
-        return this.ResultIntValuesField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ResultIntValuesField, value) != true)) {
-          this.ResultIntValuesField = value;
-          this.RaisePropertyChanged("ResultIntValues");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 10)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ResultStringValue> ResultStringValues {
-      get {
-        return this.ResultStringValuesField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ResultStringValuesField, value) != true)) {
-          this.ResultStringValuesField = value;
-          this.RaisePropertyChanged("ResultStringValues");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 11)]
-    public HeuristicLab.Clients.OKB.Algorithm Algorithm {
-      get {
-        return this.AlgorithmField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.AlgorithmField, value) != true)) {
-          this.AlgorithmField = value;
-          this.RaisePropertyChanged("Algorithm");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 12)]
-    public HeuristicLab.Clients.OKB.DataType DataType {
-      get {
-        return this.DataTypeField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.DataTypeField, value) != true)) {
-          this.DataTypeField = value;
-          this.RaisePropertyChanged("DataType");
-        }
-      }
-    }
-
-
-
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "Problem", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference = true)]
-  public partial class Problem : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
-
-    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
-
-    private long IdField;
-
-    private long ProblemClassIdField;
-
-    private long PlatformIdField;
-
-    private long SolutionRepresentationIdField;
-
-    private string NameField;
-
-    private string DescriptionField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Experiment> ExperimentsField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameter> ProblemParametersField;
-
-    private HeuristicLab.Clients.OKB.ProblemData ProblemDataField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemUser> ProblemUsersField;
-
-    private HeuristicLab.Clients.OKB.ProblemClass ProblemClassField;
-
-    private HeuristicLab.Clients.OKB.Platform PlatformField;
-
-    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
-      get {
-        return this.extensionDataField;
-      }
-      set {
-        this.extensionDataField = value;
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public long Id {
-      get {
-        return this.IdField;
-      }
-      set {
-        if ((this.IdField.Equals(value) != true)) {
-          this.IdField = value;
-          this.RaisePropertyChanged("Id");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public long ProblemClassId {
-      get {
-        return this.ProblemClassIdField;
-      }
-      set {
-        if ((this.ProblemClassIdField.Equals(value) != true)) {
-          this.ProblemClassIdField = value;
-          this.RaisePropertyChanged("ProblemClassId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 2)]
-    public long PlatformId {
-      get {
-        return this.PlatformIdField;
-      }
-      set {
-        if ((this.PlatformIdField.Equals(value) != true)) {
-          this.PlatformIdField = value;
-          this.RaisePropertyChanged("PlatformId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 3)]
-    public long SolutionRepresentationId {
-      get {
-        return this.SolutionRepresentationIdField;
-      }
-      set {
-        if ((this.SolutionRepresentationIdField.Equals(value) != true)) {
-          this.SolutionRepresentationIdField = value;
-          this.RaisePropertyChanged("SolutionRepresentationId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 4)]
-    public string Name {
-      get {
-        return this.NameField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.NameField, value) != true)) {
-          this.NameField = value;
-          this.RaisePropertyChanged("Name");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 5)]
-    public string Description {
-      get {
-        return this.DescriptionField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.DescriptionField, value) != true)) {
-          this.DescriptionField = value;
-          this.RaisePropertyChanged("Description");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 6)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Experiment> Experiments {
-      get {
-        return this.ExperimentsField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ExperimentsField, value) != true)) {
-          this.ExperimentsField = value;
-          this.RaisePropertyChanged("Experiments");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 7)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameter> ProblemParameters {
-      get {
-        return this.ProblemParametersField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ProblemParametersField, value) != true)) {
-          this.ProblemParametersField = value;
-          this.RaisePropertyChanged("ProblemParameters");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 8)]
-    public HeuristicLab.Clients.OKB.ProblemData ProblemData {
-      get {
-        return this.ProblemDataField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ProblemDataField, value) != true)) {
-          this.ProblemDataField = value;
-          this.RaisePropertyChanged("ProblemData");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 9)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemUser> ProblemUsers {
-      get {
-        return this.ProblemUsersField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ProblemUsersField, value) != true)) {
-          this.ProblemUsersField = value;
-          this.RaisePropertyChanged("ProblemUsers");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 10)]
-    public HeuristicLab.Clients.OKB.ProblemClass ProblemClass {
-      get {
-        return this.ProblemClassField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ProblemClassField, value) != true)) {
-          this.ProblemClassField = value;
-          this.RaisePropertyChanged("ProblemClass");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 11)]
-    public HeuristicLab.Clients.OKB.Platform Platform {
-      get {
-        return this.PlatformField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.PlatformField, value) != true)) {
-          this.PlatformField = value;
-          this.RaisePropertyChanged("Platform");
-        }
-      }
-    }
-
-
-
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "Run", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference = true)]
-  public partial class Run : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
-
-    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
-
-    private long IdField;
-
-    private long ExperimentIdField;
-
-    private int RandomSeedField;
-
-    private System.Nullable<System.DateTime> FinishedDateField;
-
-    private System.Guid UserIdField;
-
-    private System.Guid ClientIdField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ResultBlobValue> ResultBlobValuesField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ResultBoolValue> ResultBoolValuesField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ResultFloatValue> ResultFloatValuesField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ResultIntValue> ResultIntValuesField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ResultStringValue> ResultStringValuesField;
-
-    private HeuristicLab.Clients.OKB.Experiment ExperimentField;
-
-    private HeuristicLab.Clients.OKB.User UserField;
-
-    private HeuristicLab.Clients.OKB.Client ClientField;
-
-    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
-      get {
-        return this.extensionDataField;
-      }
-      set {
-        this.extensionDataField = value;
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public long Id {
-      get {
-        return this.IdField;
-      }
-      set {
-        if ((this.IdField.Equals(value) != true)) {
-          this.IdField = value;
-          this.RaisePropertyChanged("Id");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 1)]
-    public long ExperimentId {
-      get {
-        return this.ExperimentIdField;
-      }
-      set {
-        if ((this.ExperimentIdField.Equals(value) != true)) {
-          this.ExperimentIdField = value;
-          this.RaisePropertyChanged("ExperimentId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 2)]
-    public int RandomSeed {
-      get {
-        return this.RandomSeedField;
-      }
-      set {
-        if ((this.RandomSeedField.Equals(value) != true)) {
-          this.RandomSeedField = value;
-          this.RaisePropertyChanged("RandomSeed");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 3)]
-    public System.Nullable<System.DateTime> FinishedDate {
-      get {
-        return this.FinishedDateField;
-      }
-      set {
-        if ((this.FinishedDateField.Equals(value) != true)) {
-          this.FinishedDateField = value;
-          this.RaisePropertyChanged("FinishedDate");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 4)]
-    public System.Guid UserId {
-      get {
-        return this.UserIdField;
-      }
-      set {
-        if ((this.UserIdField.Equals(value) != true)) {
-          this.UserIdField = value;
-          this.RaisePropertyChanged("UserId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 5)]
-    public System.Guid ClientId {
-      get {
-        return this.ClientIdField;
-      }
-      set {
-        if ((this.ClientIdField.Equals(value) != true)) {
-          this.ClientIdField = value;
-          this.RaisePropertyChanged("ClientId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 6)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ResultBlobValue> ResultBlobValues {
-      get {
-        return this.ResultBlobValuesField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ResultBlobValuesField, value) != true)) {
-          this.ResultBlobValuesField = value;
-          this.RaisePropertyChanged("ResultBlobValues");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 7)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ResultBoolValue> ResultBoolValues {
-      get {
-        return this.ResultBoolValuesField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ResultBoolValuesField, value) != true)) {
-          this.ResultBoolValuesField = value;
-          this.RaisePropertyChanged("ResultBoolValues");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 8)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ResultFloatValue> ResultFloatValues {
-      get {
-        return this.ResultFloatValuesField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ResultFloatValuesField, value) != true)) {
-          this.ResultFloatValuesField = value;
-          this.RaisePropertyChanged("ResultFloatValues");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 9)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ResultIntValue> ResultIntValues {
-      get {
-        return this.ResultIntValuesField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ResultIntValuesField, value) != true)) {
-          this.ResultIntValuesField = value;
-          this.RaisePropertyChanged("ResultIntValues");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 10)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ResultStringValue> ResultStringValues {
-      get {
-        return this.ResultStringValuesField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ResultStringValuesField, value) != true)) {
-          this.ResultStringValuesField = value;
-          this.RaisePropertyChanged("ResultStringValues");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 11)]
-    public HeuristicLab.Clients.OKB.Experiment Experiment {
-      get {
-        return this.ExperimentField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ExperimentField, value) != true)) {
-          this.ExperimentField = value;
-          this.RaisePropertyChanged("Experiment");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 12)]
-    public HeuristicLab.Clients.OKB.User User {
-      get {
-        return this.UserField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.UserField, value) != true)) {
-          this.UserField = value;
-          this.RaisePropertyChanged("User");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 13)]
-    public HeuristicLab.Clients.OKB.Client Client {
-      get {
-        return this.ClientField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ClientField, value) != true)) {
-          this.ClientField = value;
-          this.RaisePropertyChanged("Client");
-        }
-      }
-    }
-
-
-
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "AlgorithmParameterBlobValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference = true)]
-  public partial class AlgorithmParameterBlobValue : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
-
-    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
-
-    private long AlgorithmParameterIdField;
-
-    private long ExperimentIdField;
-
-    private long DataTypeIdField;
-
-    private HeuristicLab.Clients.OKB.Binary ValueField;
-
-    private HeuristicLab.Clients.OKB.AlgorithmParameter AlgorithmParameterField;
-
-    private HeuristicLab.Clients.OKB.Experiment ExperimentField;
-
-    private HeuristicLab.Clients.OKB.DataType DataTypeField;
-
-    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
-      get {
-        return this.extensionDataField;
-      }
-      set {
-        this.extensionDataField = value;
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public long AlgorithmParameterId {
-      get {
-        return this.AlgorithmParameterIdField;
-      }
-      set {
-        if ((this.AlgorithmParameterIdField.Equals(value) != true)) {
-          this.AlgorithmParameterIdField = value;
-          this.RaisePropertyChanged("AlgorithmParameterId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public long ExperimentId {
-      get {
-        return this.ExperimentIdField;
-      }
-      set {
-        if ((this.ExperimentIdField.Equals(value) != true)) {
-          this.ExperimentIdField = value;
-          this.RaisePropertyChanged("ExperimentId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 2)]
-    public long DataTypeId {
-      get {
-        return this.DataTypeIdField;
-      }
-      set {
-        if ((this.DataTypeIdField.Equals(value) != true)) {
-          this.DataTypeIdField = value;
-          this.RaisePropertyChanged("DataTypeId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 3)]
-    public HeuristicLab.Clients.OKB.Binary Value {
-      get {
-        return this.ValueField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ValueField, value) != true)) {
-          this.ValueField = value;
-          this.RaisePropertyChanged("Value");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 4)]
-    public HeuristicLab.Clients.OKB.AlgorithmParameter AlgorithmParameter {
-      get {
-        return this.AlgorithmParameterField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.AlgorithmParameterField, value) != true)) {
-          this.AlgorithmParameterField = value;
-          this.RaisePropertyChanged("AlgorithmParameter");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 5)]
-    public HeuristicLab.Clients.OKB.Experiment Experiment {
-      get {
-        return this.ExperimentField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ExperimentField, value) != true)) {
-          this.ExperimentField = value;
-          this.RaisePropertyChanged("Experiment");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 6)]
-    public HeuristicLab.Clients.OKB.DataType DataType {
-      get {
-        return this.DataTypeField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.DataTypeField, value) != true)) {
-          this.DataTypeField = value;
-          this.RaisePropertyChanged("DataType");
-        }
-      }
-    }
-
-
-
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "AlgorithmParameterBoolValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference = true)]
-  public partial class AlgorithmParameterBoolValue : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
-
-    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
-
-    private long AlgorithmParameterIdField;
-
-    private long ExperimentIdField;
-
-    private long DataTypeIdField;
-
-    private bool ValueField;
-
-    private HeuristicLab.Clients.OKB.AlgorithmParameter AlgorithmParameterField;
-
-    private HeuristicLab.Clients.OKB.DataType DataTypeField;
-
-    private HeuristicLab.Clients.OKB.Experiment ExperimentField;
-
-    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
-      get {
-        return this.extensionDataField;
-      }
-      set {
-        this.extensionDataField = value;
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public long AlgorithmParameterId {
-      get {
-        return this.AlgorithmParameterIdField;
-      }
-      set {
-        if ((this.AlgorithmParameterIdField.Equals(value) != true)) {
-          this.AlgorithmParameterIdField = value;
-          this.RaisePropertyChanged("AlgorithmParameterId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public long ExperimentId {
-      get {
-        return this.ExperimentIdField;
-      }
-      set {
-        if ((this.ExperimentIdField.Equals(value) != true)) {
-          this.ExperimentIdField = value;
-          this.RaisePropertyChanged("ExperimentId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 2)]
-    public long DataTypeId {
-      get {
-        return this.DataTypeIdField;
-      }
-      set {
-        if ((this.DataTypeIdField.Equals(value) != true)) {
-          this.DataTypeIdField = value;
-          this.RaisePropertyChanged("DataTypeId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 3)]
-    public bool Value {
-      get {
-        return this.ValueField;
-      }
-      set {
-        if ((this.ValueField.Equals(value) != true)) {
-          this.ValueField = value;
-          this.RaisePropertyChanged("Value");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 4)]
-    public HeuristicLab.Clients.OKB.AlgorithmParameter AlgorithmParameter {
-      get {
-        return this.AlgorithmParameterField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.AlgorithmParameterField, value) != true)) {
-          this.AlgorithmParameterField = value;
-          this.RaisePropertyChanged("AlgorithmParameter");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 5)]
-    public HeuristicLab.Clients.OKB.DataType DataType {
-      get {
-        return this.DataTypeField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.DataTypeField, value) != true)) {
-          this.DataTypeField = value;
-          this.RaisePropertyChanged("DataType");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 6)]
-    public HeuristicLab.Clients.OKB.Experiment Experiment {
-      get {
-        return this.ExperimentField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ExperimentField, value) != true)) {
-          this.ExperimentField = value;
-          this.RaisePropertyChanged("Experiment");
-        }
-      }
-    }
-
-
-
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "AlgorithmParameterFloatValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference = true)]
-  public partial class AlgorithmParameterFloatValue : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
-
-    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
-
-    private long AlgorithmParameterIdField;
-
-    private long ExperimentIdField;
-
-    private long DataTypeIdField;
-
-    private double ValueField;
-
-    private HeuristicLab.Clients.OKB.AlgorithmParameter AlgorithmParameterField;
-
-    private HeuristicLab.Clients.OKB.DataType DataTypeField;
-
-    private HeuristicLab.Clients.OKB.Experiment ExperimentField;
-
-    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
-      get {
-        return this.extensionDataField;
-      }
-      set {
-        this.extensionDataField = value;
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public long AlgorithmParameterId {
-      get {
-        return this.AlgorithmParameterIdField;
-      }
-      set {
-        if ((this.AlgorithmParameterIdField.Equals(value) != true)) {
-          this.AlgorithmParameterIdField = value;
-          this.RaisePropertyChanged("AlgorithmParameterId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public long ExperimentId {
-      get {
-        return this.ExperimentIdField;
-      }
-      set {
-        if ((this.ExperimentIdField.Equals(value) != true)) {
-          this.ExperimentIdField = value;
-          this.RaisePropertyChanged("ExperimentId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 2)]
-    public long DataTypeId {
-      get {
-        return this.DataTypeIdField;
-      }
-      set {
-        if ((this.DataTypeIdField.Equals(value) != true)) {
-          this.DataTypeIdField = value;
-          this.RaisePropertyChanged("DataTypeId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 3)]
-    public double Value {
-      get {
-        return this.ValueField;
-      }
-      set {
-        if ((this.ValueField.Equals(value) != true)) {
-          this.ValueField = value;
-          this.RaisePropertyChanged("Value");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 4)]
-    public HeuristicLab.Clients.OKB.AlgorithmParameter AlgorithmParameter {
-      get {
-        return this.AlgorithmParameterField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.AlgorithmParameterField, value) != true)) {
-          this.AlgorithmParameterField = value;
-          this.RaisePropertyChanged("AlgorithmParameter");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 5)]
-    public HeuristicLab.Clients.OKB.DataType DataType {
-      get {
-        return this.DataTypeField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.DataTypeField, value) != true)) {
-          this.DataTypeField = value;
-          this.RaisePropertyChanged("DataType");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 6)]
-    public HeuristicLab.Clients.OKB.Experiment Experiment {
-      get {
-        return this.ExperimentField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ExperimentField, value) != true)) {
-          this.ExperimentField = value;
-          this.RaisePropertyChanged("Experiment");
-        }
-      }
-    }
-
-
-
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "AlgorithmParameterIntValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference = true)]
-  public partial class AlgorithmParameterIntValue : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
-
-    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
-
-    private long AlgorithmParameterIdField;
-
-    private long ExperimentIdField;
-
-    private long DataTypeIdField;
-
-    private long ValueField;
-
-    private HeuristicLab.Clients.OKB.AlgorithmParameter AlgorithmParameterField;
-
-    private HeuristicLab.Clients.OKB.DataType DataTypeField;
-
-    private HeuristicLab.Clients.OKB.Experiment ExperimentField;
-
-    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
-      get {
-        return this.extensionDataField;
-      }
-      set {
-        this.extensionDataField = value;
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public long AlgorithmParameterId {
-      get {
-        return this.AlgorithmParameterIdField;
-      }
-      set {
-        if ((this.AlgorithmParameterIdField.Equals(value) != true)) {
-          this.AlgorithmParameterIdField = value;
-          this.RaisePropertyChanged("AlgorithmParameterId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public long ExperimentId {
-      get {
-        return this.ExperimentIdField;
-      }
-      set {
-        if ((this.ExperimentIdField.Equals(value) != true)) {
-          this.ExperimentIdField = value;
-          this.RaisePropertyChanged("ExperimentId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 2)]
-    public long DataTypeId {
-      get {
-        return this.DataTypeIdField;
-      }
-      set {
-        if ((this.DataTypeIdField.Equals(value) != true)) {
-          this.DataTypeIdField = value;
-          this.RaisePropertyChanged("DataTypeId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 3)]
-    public long Value {
-      get {
-        return this.ValueField;
-      }
-      set {
-        if ((this.ValueField.Equals(value) != true)) {
-          this.ValueField = value;
-          this.RaisePropertyChanged("Value");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 4)]
-    public HeuristicLab.Clients.OKB.AlgorithmParameter AlgorithmParameter {
-      get {
-        return this.AlgorithmParameterField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.AlgorithmParameterField, value) != true)) {
-          this.AlgorithmParameterField = value;
-          this.RaisePropertyChanged("AlgorithmParameter");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 5)]
-    public HeuristicLab.Clients.OKB.DataType DataType {
-      get {
-        return this.DataTypeField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.DataTypeField, value) != true)) {
-          this.DataTypeField = value;
-          this.RaisePropertyChanged("DataType");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 6)]
-    public HeuristicLab.Clients.OKB.Experiment Experiment {
-      get {
-        return this.ExperimentField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ExperimentField, value) != true)) {
-          this.ExperimentField = value;
-          this.RaisePropertyChanged("Experiment");
-        }
-      }
-    }
-
-
-
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "AlgorithmParameterStringValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference = true)]
-  public partial class AlgorithmParameterStringValue : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
-
-    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
-
-    private long AlgorithmParameterIdField;
-
-    private long ExperimentIdField;
-
-    private long DataTypeIdField;
-
-    private string ValueField;
-
-    private HeuristicLab.Clients.OKB.AlgorithmParameter AlgorithmParameterField;
-
-    private HeuristicLab.Clients.OKB.DataType DataTypeField;
-
-    private HeuristicLab.Clients.OKB.Experiment ExperimentField;
-
-    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
-      get {
-        return this.extensionDataField;
-      }
-      set {
-        this.extensionDataField = value;
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public long AlgorithmParameterId {
-      get {
-        return this.AlgorithmParameterIdField;
-      }
-      set {
-        if ((this.AlgorithmParameterIdField.Equals(value) != true)) {
-          this.AlgorithmParameterIdField = value;
-          this.RaisePropertyChanged("AlgorithmParameterId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public long ExperimentId {
-      get {
-        return this.ExperimentIdField;
-      }
-      set {
-        if ((this.ExperimentIdField.Equals(value) != true)) {
-          this.ExperimentIdField = value;
-          this.RaisePropertyChanged("ExperimentId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 2)]
-    public long DataTypeId {
-      get {
-        return this.DataTypeIdField;
-      }
-      set {
-        if ((this.DataTypeIdField.Equals(value) != true)) {
-          this.DataTypeIdField = value;
-          this.RaisePropertyChanged("DataTypeId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 3)]
-    public string Value {
-      get {
-        return this.ValueField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ValueField, value) != true)) {
-          this.ValueField = value;
-          this.RaisePropertyChanged("Value");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 4)]
-    public HeuristicLab.Clients.OKB.AlgorithmParameter AlgorithmParameter {
-      get {
-        return this.AlgorithmParameterField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.AlgorithmParameterField, value) != true)) {
-          this.AlgorithmParameterField = value;
-          this.RaisePropertyChanged("AlgorithmParameter");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 5)]
-    public HeuristicLab.Clients.OKB.DataType DataType {
-      get {
-        return this.DataTypeField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.DataTypeField, value) != true)) {
-          this.DataTypeField = value;
-          this.RaisePropertyChanged("DataType");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 6)]
-    public HeuristicLab.Clients.OKB.Experiment Experiment {
-      get {
-        return this.ExperimentField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ExperimentField, value) != true)) {
-          this.ExperimentField = value;
-          this.RaisePropertyChanged("Experiment");
-        }
-      }
-    }
-
-
-
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "ProblemParameterBlobValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference = true)]
-  public partial class ProblemParameterBlobValue : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
-
-    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
-
-    private long ProblemParameterIdField;
-
-    private long ExperimentIdField;
-
-    private long DataTypeIdField;
-
-    private HeuristicLab.Clients.OKB.Binary ValueField;
-
-    private HeuristicLab.Clients.OKB.DataType DataTypeField;
-
-    private HeuristicLab.Clients.OKB.Experiment ExperimentField;
-
-    private HeuristicLab.Clients.OKB.ProblemParameter ProblemParameterField;
-
-    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
-      get {
-        return this.extensionDataField;
-      }
-      set {
-        this.extensionDataField = value;
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public long ProblemParameterId {
-      get {
-        return this.ProblemParameterIdField;
-      }
-      set {
-        if ((this.ProblemParameterIdField.Equals(value) != true)) {
-          this.ProblemParameterIdField = value;
-          this.RaisePropertyChanged("ProblemParameterId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 1)]
-    public long ExperimentId {
-      get {
-        return this.ExperimentIdField;
-      }
-      set {
-        if ((this.ExperimentIdField.Equals(value) != true)) {
-          this.ExperimentIdField = value;
-          this.RaisePropertyChanged("ExperimentId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 2)]
-    public long DataTypeId {
-      get {
-        return this.DataTypeIdField;
-      }
-      set {
-        if ((this.DataTypeIdField.Equals(value) != true)) {
-          this.DataTypeIdField = value;
-          this.RaisePropertyChanged("DataTypeId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 3)]
-    public HeuristicLab.Clients.OKB.Binary Value {
-      get {
-        return this.ValueField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ValueField, value) != true)) {
-          this.ValueField = value;
-          this.RaisePropertyChanged("Value");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 4)]
-    public HeuristicLab.Clients.OKB.DataType DataType {
-      get {
-        return this.DataTypeField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.DataTypeField, value) != true)) {
-          this.DataTypeField = value;
-          this.RaisePropertyChanged("DataType");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 5)]
-    public HeuristicLab.Clients.OKB.Experiment Experiment {
-      get {
-        return this.ExperimentField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ExperimentField, value) != true)) {
-          this.ExperimentField = value;
-          this.RaisePropertyChanged("Experiment");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 6)]
-    public HeuristicLab.Clients.OKB.ProblemParameter ProblemParameter {
-      get {
-        return this.ProblemParameterField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ProblemParameterField, value) != true)) {
-          this.ProblemParameterField = value;
-          this.RaisePropertyChanged("ProblemParameter");
-        }
-      }
-    }
-
-
-
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "ProblemParameterBoolValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference = true)]
-  public partial class ProblemParameterBoolValue : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
-
-    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
-
-    private long ProblemParameterIdField;
-
-    private long ExperimentIdField;
-
-    private long DataTypeIdField;
-
-    private bool ValueField;
-
-    private HeuristicLab.Clients.OKB.DataType DataTypeField;
-
-    private HeuristicLab.Clients.OKB.Experiment ExperimentField;
-
-    private HeuristicLab.Clients.OKB.ProblemParameter ProblemParameterField;
-
-    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
-      get {
-        return this.extensionDataField;
-      }
-      set {
-        this.extensionDataField = value;
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public long ProblemParameterId {
-      get {
-        return this.ProblemParameterIdField;
-      }
-      set {
-        if ((this.ProblemParameterIdField.Equals(value) != true)) {
-          this.ProblemParameterIdField = value;
-          this.RaisePropertyChanged("ProblemParameterId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 1)]
-    public long ExperimentId {
-      get {
-        return this.ExperimentIdField;
-      }
-      set {
-        if ((this.ExperimentIdField.Equals(value) != true)) {
-          this.ExperimentIdField = value;
-          this.RaisePropertyChanged("ExperimentId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 2)]
-    public long DataTypeId {
-      get {
-        return this.DataTypeIdField;
-      }
-      set {
-        if ((this.DataTypeIdField.Equals(value) != true)) {
-          this.DataTypeIdField = value;
-          this.RaisePropertyChanged("DataTypeId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 3)]
-    public bool Value {
-      get {
-        return this.ValueField;
-      }
-      set {
-        if ((this.ValueField.Equals(value) != true)) {
-          this.ValueField = value;
-          this.RaisePropertyChanged("Value");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 4)]
-    public HeuristicLab.Clients.OKB.DataType DataType {
-      get {
-        return this.DataTypeField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.DataTypeField, value) != true)) {
-          this.DataTypeField = value;
-          this.RaisePropertyChanged("DataType");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 5)]
-    public HeuristicLab.Clients.OKB.Experiment Experiment {
-      get {
-        return this.ExperimentField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ExperimentField, value) != true)) {
-          this.ExperimentField = value;
-          this.RaisePropertyChanged("Experiment");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 6)]
-    public HeuristicLab.Clients.OKB.ProblemParameter ProblemParameter {
-      get {
-        return this.ProblemParameterField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ProblemParameterField, value) != true)) {
-          this.ProblemParameterField = value;
-          this.RaisePropertyChanged("ProblemParameter");
-        }
-      }
-    }
-
-
-
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "ProblemParameterFloatValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference = true)]
-  public partial class ProblemParameterFloatValue : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
-
-    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
-
-    private long ProblemParameterIdField;
-
-    private long ExperimentIdField;
-
-    private long DataTypeIdField;
-
-    private double ValueField;
-
-    private HeuristicLab.Clients.OKB.DataType DataTypeField;
-
-    private HeuristicLab.Clients.OKB.Experiment ExperimentField;
-
-    private HeuristicLab.Clients.OKB.ProblemParameter ProblemParameterField;
-
-    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
-      get {
-        return this.extensionDataField;
-      }
-      set {
-        this.extensionDataField = value;
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public long ProblemParameterId {
-      get {
-        return this.ProblemParameterIdField;
-      }
-      set {
-        if ((this.ProblemParameterIdField.Equals(value) != true)) {
-          this.ProblemParameterIdField = value;
-          this.RaisePropertyChanged("ProblemParameterId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 1)]
-    public long ExperimentId {
-      get {
-        return this.ExperimentIdField;
-      }
-      set {
-        if ((this.ExperimentIdField.Equals(value) != true)) {
-          this.ExperimentIdField = value;
-          this.RaisePropertyChanged("ExperimentId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 2)]
-    public long DataTypeId {
-      get {
-        return this.DataTypeIdField;
-      }
-      set {
-        if ((this.DataTypeIdField.Equals(value) != true)) {
-          this.DataTypeIdField = value;
-          this.RaisePropertyChanged("DataTypeId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 3)]
-    public double Value {
-      get {
-        return this.ValueField;
-      }
-      set {
-        if ((this.ValueField.Equals(value) != true)) {
-          this.ValueField = value;
-          this.RaisePropertyChanged("Value");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 4)]
-    public HeuristicLab.Clients.OKB.DataType DataType {
-      get {
-        return this.DataTypeField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.DataTypeField, value) != true)) {
-          this.DataTypeField = value;
-          this.RaisePropertyChanged("DataType");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 5)]
-    public HeuristicLab.Clients.OKB.Experiment Experiment {
-      get {
-        return this.ExperimentField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ExperimentField, value) != true)) {
-          this.ExperimentField = value;
-          this.RaisePropertyChanged("Experiment");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 6)]
-    public HeuristicLab.Clients.OKB.ProblemParameter ProblemParameter {
-      get {
-        return this.ProblemParameterField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ProblemParameterField, value) != true)) {
-          this.ProblemParameterField = value;
-          this.RaisePropertyChanged("ProblemParameter");
-        }
-      }
-    }
-
-
-
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "ProblemParameterIntValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference = true)]
-  public partial class ProblemParameterIntValue : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
-
-    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
-
-    private long ProblemParameterIdField;
-
-    private long ExperimentIdField;
-
-    private long DataTypeIdField;
-
-    private long ValueField;
-
-    private HeuristicLab.Clients.OKB.DataType DataTypeField;
-
-    private HeuristicLab.Clients.OKB.Experiment ExperimentField;
-
-    private HeuristicLab.Clients.OKB.ProblemParameter ProblemParameterField;
-
-    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
-      get {
-        return this.extensionDataField;
-      }
-      set {
-        this.extensionDataField = value;
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public long ProblemParameterId {
-      get {
-        return this.ProblemParameterIdField;
-      }
-      set {
-        if ((this.ProblemParameterIdField.Equals(value) != true)) {
-          this.ProblemParameterIdField = value;
-          this.RaisePropertyChanged("ProblemParameterId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 1)]
-    public long ExperimentId {
-      get {
-        return this.ExperimentIdField;
-      }
-      set {
-        if ((this.ExperimentIdField.Equals(value) != true)) {
-          this.ExperimentIdField = value;
-          this.RaisePropertyChanged("ExperimentId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 2)]
-    public long DataTypeId {
-      get {
-        return this.DataTypeIdField;
-      }
-      set {
-        if ((this.DataTypeIdField.Equals(value) != true)) {
-          this.DataTypeIdField = value;
-          this.RaisePropertyChanged("DataTypeId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 3)]
-    public long Value {
-      get {
-        return this.ValueField;
-      }
-      set {
-        if ((this.ValueField.Equals(value) != true)) {
-          this.ValueField = value;
-          this.RaisePropertyChanged("Value");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 4)]
-    public HeuristicLab.Clients.OKB.DataType DataType {
-      get {
-        return this.DataTypeField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.DataTypeField, value) != true)) {
-          this.DataTypeField = value;
-          this.RaisePropertyChanged("DataType");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 5)]
-    public HeuristicLab.Clients.OKB.Experiment Experiment {
-      get {
-        return this.ExperimentField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ExperimentField, value) != true)) {
-          this.ExperimentField = value;
-          this.RaisePropertyChanged("Experiment");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 6)]
-    public HeuristicLab.Clients.OKB.ProblemParameter ProblemParameter {
-      get {
-        return this.ProblemParameterField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ProblemParameterField, value) != true)) {
-          this.ProblemParameterField = value;
-          this.RaisePropertyChanged("ProblemParameter");
-        }
-      }
-    }
-
-
-
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "ProblemParameterStringValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference = true)]
-  public partial class ProblemParameterStringValue : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
-
-    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
-
-    private long ProblemParameterIdField;
-
-    private long ExperimentIdField;
-
-    private long DataTypeIdField;
-
-    private string ValueField;
-
-    private HeuristicLab.Clients.OKB.DataType DataTypeField;
-
-    private HeuristicLab.Clients.OKB.Experiment ExperimentField;
-
-    private HeuristicLab.Clients.OKB.ProblemParameter ProblemParameterField;
-
-    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
-      get {
-        return this.extensionDataField;
-      }
-      set {
-        this.extensionDataField = value;
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public long ProblemParameterId {
-      get {
-        return this.ProblemParameterIdField;
-      }
-      set {
-        if ((this.ProblemParameterIdField.Equals(value) != true)) {
-          this.ProblemParameterIdField = value;
-          this.RaisePropertyChanged("ProblemParameterId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 1)]
-    public long ExperimentId {
-      get {
-        return this.ExperimentIdField;
-      }
-      set {
-        if ((this.ExperimentIdField.Equals(value) != true)) {
-          this.ExperimentIdField = value;
-          this.RaisePropertyChanged("ExperimentId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 2)]
-    public long DataTypeId {
-      get {
-        return this.DataTypeIdField;
-      }
-      set {
-        if ((this.DataTypeIdField.Equals(value) != true)) {
-          this.DataTypeIdField = value;
-          this.RaisePropertyChanged("DataTypeId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 3)]
-    public string Value {
-      get {
-        return this.ValueField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ValueField, value) != true)) {
-          this.ValueField = value;
-          this.RaisePropertyChanged("Value");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 4)]
-    public HeuristicLab.Clients.OKB.DataType DataType {
-      get {
-        return this.DataTypeField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.DataTypeField, value) != true)) {
-          this.DataTypeField = value;
-          this.RaisePropertyChanged("DataType");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 5)]
-    public HeuristicLab.Clients.OKB.Experiment Experiment {
-      get {
-        return this.ExperimentField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ExperimentField, value) != true)) {
-          this.ExperimentField = value;
-          this.RaisePropertyChanged("Experiment");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 6)]
-    public HeuristicLab.Clients.OKB.ProblemParameter ProblemParameter {
-      get {
-        return this.ProblemParameterField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ProblemParameterField, value) != true)) {
-          this.ProblemParameterField = value;
-          this.RaisePropertyChanged("ProblemParameter");
-        }
-      }
-    }
-
-
-
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "User", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference = true)]
-  public partial class User : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
-
-    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
-
-    private System.Guid IdField;
-
-    private string NameField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmUser> AlgorithmUsersField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemUser> ProblemUsersField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Run> RunsField;
-
-    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
-      get {
-        return this.extensionDataField;
-      }
-      set {
-        this.extensionDataField = value;
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public System.Guid Id {
-      get {
-        return this.IdField;
-      }
-      set {
-        if ((this.IdField.Equals(value) != true)) {
-          this.IdField = value;
-          this.RaisePropertyChanged("Id");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public string Name {
-      get {
-        return this.NameField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.NameField, value) != true)) {
-          this.NameField = value;
-          this.RaisePropertyChanged("Name");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 2)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmUser> AlgorithmUsers {
-      get {
-        return this.AlgorithmUsersField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.AlgorithmUsersField, value) != true)) {
-          this.AlgorithmUsersField = value;
-          this.RaisePropertyChanged("AlgorithmUsers");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 3)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemUser> ProblemUsers {
-      get {
-        return this.ProblemUsersField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ProblemUsersField, value) != true)) {
-          this.ProblemUsersField = value;
-          this.RaisePropertyChanged("ProblemUsers");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 4)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Run> Runs {
-      get {
-        return this.RunsField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.RunsField, value) != true)) {
-          this.RunsField = value;
-          this.RaisePropertyChanged("Runs");
-        }
-      }
-    }
-
-
-
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "Client", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference = true)]
-  public partial class Client : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
-
-    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
-
-    private System.Guid IdField;
-
-    private string NameField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Run> RunsField;
-
-    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
-      get {
-        return this.extensionDataField;
-      }
-      set {
-        this.extensionDataField = value;
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public System.Guid Id {
-      get {
-        return this.IdField;
-      }
-      set {
-        if ((this.IdField.Equals(value) != true)) {
-          this.IdField = value;
-          this.RaisePropertyChanged("Id");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public string Name {
-      get {
-        return this.NameField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.NameField, value) != true)) {
-          this.NameField = value;
-          this.RaisePropertyChanged("Name");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Run> Runs {
-      get {
-        return this.RunsField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.RunsField, value) != true)) {
-          this.RunsField = value;
-          this.RaisePropertyChanged("Runs");
-        }
-      }
-    }
-
-
-
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "ResultBlobValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference = true)]
-  public partial class ResultBlobValue : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
-
-    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
-
-    private long ResultIdField;
-
-    private long RunIdField;
-
-    private long DataTypeIdField;
-
-    private HeuristicLab.Clients.OKB.Binary ValueField;
-
-    private HeuristicLab.Clients.OKB.DataType DataTypeField;
-
-    private HeuristicLab.Clients.OKB.Result ResultField;
-
-    private HeuristicLab.Clients.OKB.Run RunField;
-
-    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
-      get {
-        return this.extensionDataField;
-      }
-      set {
-        this.extensionDataField = value;
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public long ResultId {
-      get {
-        return this.ResultIdField;
-      }
-      set {
-        if ((this.ResultIdField.Equals(value) != true)) {
-          this.ResultIdField = value;
-          this.RaisePropertyChanged("ResultId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public long RunId {
-      get {
-        return this.RunIdField;
-      }
-      set {
-        if ((this.RunIdField.Equals(value) != true)) {
-          this.RunIdField = value;
-          this.RaisePropertyChanged("RunId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 2)]
-    public long DataTypeId {
-      get {
-        return this.DataTypeIdField;
-      }
-      set {
-        if ((this.DataTypeIdField.Equals(value) != true)) {
-          this.DataTypeIdField = value;
-          this.RaisePropertyChanged("DataTypeId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 3)]
-    public HeuristicLab.Clients.OKB.Binary Value {
-      get {
-        return this.ValueField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ValueField, value) != true)) {
-          this.ValueField = value;
-          this.RaisePropertyChanged("Value");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 4)]
-    public HeuristicLab.Clients.OKB.DataType DataType {
-      get {
-        return this.DataTypeField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.DataTypeField, value) != true)) {
-          this.DataTypeField = value;
-          this.RaisePropertyChanged("DataType");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 5)]
-    public HeuristicLab.Clients.OKB.Result Result {
-      get {
-        return this.ResultField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ResultField, value) != true)) {
-          this.ResultField = value;
-          this.RaisePropertyChanged("Result");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 6)]
-    public HeuristicLab.Clients.OKB.Run Run {
-      get {
-        return this.RunField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.RunField, value) != true)) {
-          this.RunField = value;
-          this.RaisePropertyChanged("Run");
-        }
-      }
-    }
-
-
-
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "ResultBoolValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference = true)]
-  public partial class ResultBoolValue : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
-
-    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
-
-    private long ResultIdField;
-
-    private long RunIdField;
-
-    private long DataTypeIdField;
-
-    private bool ValueField;
-
-    private HeuristicLab.Clients.OKB.DataType DataTypeField;
-
-    private HeuristicLab.Clients.OKB.Result ResultField;
-
-    private HeuristicLab.Clients.OKB.Run RunField;
-
-    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
-      get {
-        return this.extensionDataField;
-      }
-      set {
-        this.extensionDataField = value;
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public long ResultId {
-      get {
-        return this.ResultIdField;
-      }
-      set {
-        if ((this.ResultIdField.Equals(value) != true)) {
-          this.ResultIdField = value;
-          this.RaisePropertyChanged("ResultId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public long RunId {
-      get {
-        return this.RunIdField;
-      }
-      set {
-        if ((this.RunIdField.Equals(value) != true)) {
-          this.RunIdField = value;
-          this.RaisePropertyChanged("RunId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 2)]
-    public long DataTypeId {
-      get {
-        return this.DataTypeIdField;
-      }
-      set {
-        if ((this.DataTypeIdField.Equals(value) != true)) {
-          this.DataTypeIdField = value;
-          this.RaisePropertyChanged("DataTypeId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 3)]
-    public bool Value {
-      get {
-        return this.ValueField;
-      }
-      set {
-        if ((this.ValueField.Equals(value) != true)) {
-          this.ValueField = value;
-          this.RaisePropertyChanged("Value");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 4)]
-    public HeuristicLab.Clients.OKB.DataType DataType {
-      get {
-        return this.DataTypeField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.DataTypeField, value) != true)) {
-          this.DataTypeField = value;
-          this.RaisePropertyChanged("DataType");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 5)]
-    public HeuristicLab.Clients.OKB.Result Result {
-      get {
-        return this.ResultField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ResultField, value) != true)) {
-          this.ResultField = value;
-          this.RaisePropertyChanged("Result");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 6)]
-    public HeuristicLab.Clients.OKB.Run Run {
-      get {
-        return this.RunField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.RunField, value) != true)) {
-          this.RunField = value;
-          this.RaisePropertyChanged("Run");
-        }
-      }
-    }
-
-
-
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "ResultFloatValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference = true)]
-  public partial class ResultFloatValue : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
-
-    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
-
-    private long ResultIdField;
-
-    private long RunIdField;
-
-    private long DataTypeIdField;
-
-    private double ValueField;
-
-    private HeuristicLab.Clients.OKB.DataType DataTypeField;
-
-    private HeuristicLab.Clients.OKB.Result ResultField;
-
-    private HeuristicLab.Clients.OKB.Run RunField;
-
-    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
-      get {
-        return this.extensionDataField;
-      }
-      set {
-        this.extensionDataField = value;
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public long ResultId {
-      get {
-        return this.ResultIdField;
-      }
-      set {
-        if ((this.ResultIdField.Equals(value) != true)) {
-          this.ResultIdField = value;
-          this.RaisePropertyChanged("ResultId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public long RunId {
-      get {
-        return this.RunIdField;
-      }
-      set {
-        if ((this.RunIdField.Equals(value) != true)) {
-          this.RunIdField = value;
-          this.RaisePropertyChanged("RunId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 2)]
-    public long DataTypeId {
-      get {
-        return this.DataTypeIdField;
-      }
-      set {
-        if ((this.DataTypeIdField.Equals(value) != true)) {
-          this.DataTypeIdField = value;
-          this.RaisePropertyChanged("DataTypeId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 3)]
-    public double Value {
-      get {
-        return this.ValueField;
-      }
-      set {
-        if ((this.ValueField.Equals(value) != true)) {
-          this.ValueField = value;
-          this.RaisePropertyChanged("Value");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 4)]
-    public HeuristicLab.Clients.OKB.DataType DataType {
-      get {
-        return this.DataTypeField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.DataTypeField, value) != true)) {
-          this.DataTypeField = value;
-          this.RaisePropertyChanged("DataType");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 5)]
-    public HeuristicLab.Clients.OKB.Result Result {
-      get {
-        return this.ResultField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ResultField, value) != true)) {
-          this.ResultField = value;
-          this.RaisePropertyChanged("Result");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 6)]
-    public HeuristicLab.Clients.OKB.Run Run {
-      get {
-        return this.RunField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.RunField, value) != true)) {
-          this.RunField = value;
-          this.RaisePropertyChanged("Run");
-        }
-      }
-    }
-
-
-
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "ResultIntValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference = true)]
-  public partial class ResultIntValue : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
-
-    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
-
-    private long ResultIdField;
-
-    private long RunIdField;
-
-    private long DataTypeIdField;
-
-    private long ValueField;
-
-    private HeuristicLab.Clients.OKB.DataType DataTypeField;
-
-    private HeuristicLab.Clients.OKB.Result ResultField;
-
-    private HeuristicLab.Clients.OKB.Run RunField;
-
-    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
-      get {
-        return this.extensionDataField;
-      }
-      set {
-        this.extensionDataField = value;
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public long ResultId {
-      get {
-        return this.ResultIdField;
-      }
-      set {
-        if ((this.ResultIdField.Equals(value) != true)) {
-          this.ResultIdField = value;
-          this.RaisePropertyChanged("ResultId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public long RunId {
-      get {
-        return this.RunIdField;
-      }
-      set {
-        if ((this.RunIdField.Equals(value) != true)) {
-          this.RunIdField = value;
-          this.RaisePropertyChanged("RunId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 2)]
-    public long DataTypeId {
-      get {
-        return this.DataTypeIdField;
-      }
-      set {
-        if ((this.DataTypeIdField.Equals(value) != true)) {
-          this.DataTypeIdField = value;
-          this.RaisePropertyChanged("DataTypeId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 3)]
-    public long Value {
-      get {
-        return this.ValueField;
-      }
-      set {
-        if ((this.ValueField.Equals(value) != true)) {
-          this.ValueField = value;
-          this.RaisePropertyChanged("Value");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 4)]
-    public HeuristicLab.Clients.OKB.DataType DataType {
-      get {
-        return this.DataTypeField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.DataTypeField, value) != true)) {
-          this.DataTypeField = value;
-          this.RaisePropertyChanged("DataType");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 5)]
-    public HeuristicLab.Clients.OKB.Result Result {
-      get {
-        return this.ResultField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ResultField, value) != true)) {
-          this.ResultField = value;
-          this.RaisePropertyChanged("Result");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 6)]
-    public HeuristicLab.Clients.OKB.Run Run {
-      get {
-        return this.RunField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.RunField, value) != true)) {
-          this.RunField = value;
-          this.RaisePropertyChanged("Run");
-        }
-      }
-    }
-
-
-
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "ResultStringValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference = true)]
-  public partial class ResultStringValue : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
-
-    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
-
-    private long ResultIdField;
-
-    private long RunIdField;
-
-    private long DataTypeIdField;
-
-    private string ValueField;
-
-    private HeuristicLab.Clients.OKB.DataType DataTypeField;
-
-    private HeuristicLab.Clients.OKB.Result ResultField;
-
-    private HeuristicLab.Clients.OKB.Run RunField;
-
-    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
-      get {
-        return this.extensionDataField;
-      }
-      set {
-        this.extensionDataField = value;
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public long ResultId {
-      get {
-        return this.ResultIdField;
-      }
-      set {
-        if ((this.ResultIdField.Equals(value) != true)) {
-          this.ResultIdField = value;
-          this.RaisePropertyChanged("ResultId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public long RunId {
-      get {
-        return this.RunIdField;
-      }
-      set {
-        if ((this.RunIdField.Equals(value) != true)) {
-          this.RunIdField = value;
-          this.RaisePropertyChanged("RunId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 2)]
-    public long DataTypeId {
-      get {
-        return this.DataTypeIdField;
-      }
-      set {
-        if ((this.DataTypeIdField.Equals(value) != true)) {
-          this.DataTypeIdField = value;
-          this.RaisePropertyChanged("DataTypeId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 3)]
-    public string Value {
-      get {
-        return this.ValueField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ValueField, value) != true)) {
-          this.ValueField = value;
-          this.RaisePropertyChanged("Value");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 4)]
-    public HeuristicLab.Clients.OKB.DataType DataType {
-      get {
-        return this.DataTypeField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.DataTypeField, value) != true)) {
-          this.DataTypeField = value;
-          this.RaisePropertyChanged("DataType");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 5)]
-    public HeuristicLab.Clients.OKB.Result Result {
-      get {
-        return this.ResultField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ResultField, value) != true)) {
-          this.ResultField = value;
-          this.RaisePropertyChanged("Result");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 6)]
-    public HeuristicLab.Clients.OKB.Run Run {
-      get {
-        return this.RunField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.RunField, value) != true)) {
-          this.RunField = value;
-          this.RaisePropertyChanged("Run");
-        }
-      }
-    }
-
-
-
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "Binary", Namespace = "http://schemas.datacontract.org/2004/07/System.Data.Linq")]
-  public partial class Binary : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
-
-    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
-
-    private byte[] BytesField;
-
-    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
-      get {
-        return this.extensionDataField;
-      }
-      set {
-        this.extensionDataField = value;
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public byte[] Bytes {
-      get {
-        return this.BytesField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.BytesField, value) != true)) {
-          this.BytesField = value;
-          this.RaisePropertyChanged("Bytes");
-        }
-      }
-    }
-
-
-
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "DataType", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference = true)]
-  public partial class DataType : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
-
-    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
-
-    private long IdField;
-
-    private long PlatformIdField;
-
-    private string NameField;
-
-    private string SqlNameField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameter> AlgorithmParametersField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameter> ProblemParametersField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Result> ResultsField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameterBlobValue> AlgorithmParameterBlobValuesField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameterBoolValue> AlgorithmParameterBoolValuesField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameterFloatValue> AlgorithmParameterFloatValuesField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameterIntValue> AlgorithmParameterIntValuesField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameterStringValue> AlgorithmParameterStringValuesField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameterBlobValue> ProblemParameterBlobValuesField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameterBoolValue> ProblemParameterBoolValuesField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameterFloatValue> ProblemParameterFloatValuesField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameterIntValue> ProblemParameterIntValuesField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameterStringValue> ProblemParameterStringValuesField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ResultBlobValue> ResultBlobValuesField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ResultBoolValue> ResultBoolValuesField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ResultFloatValue> ResultFloatValuesField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ResultIntValue> ResultIntValuesField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ResultStringValue> ResultStringValuesField;
-
-    private HeuristicLab.Clients.OKB.Platform PlatformField;
-
-    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
-      get {
-        return this.extensionDataField;
-      }
-      set {
-        this.extensionDataField = value;
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public long Id {
-      get {
-        return this.IdField;
-      }
-      set {
-        if ((this.IdField.Equals(value) != true)) {
-          this.IdField = value;
-          this.RaisePropertyChanged("Id");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public long PlatformId {
-      get {
-        return this.PlatformIdField;
-      }
-      set {
-        if ((this.PlatformIdField.Equals(value) != true)) {
-          this.PlatformIdField = value;
-          this.RaisePropertyChanged("PlatformId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 2)]
-    public string Name {
-      get {
-        return this.NameField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.NameField, value) != true)) {
-          this.NameField = value;
-          this.RaisePropertyChanged("Name");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 3)]
-    public string SqlName {
-      get {
-        return this.SqlNameField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.SqlNameField, value) != true)) {
-          this.SqlNameField = value;
-          this.RaisePropertyChanged("SqlName");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 4)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameter> AlgorithmParameters {
-      get {
-        return this.AlgorithmParametersField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.AlgorithmParametersField, value) != true)) {
-          this.AlgorithmParametersField = value;
-          this.RaisePropertyChanged("AlgorithmParameters");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 5)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameter> ProblemParameters {
-      get {
-        return this.ProblemParametersField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ProblemParametersField, value) != true)) {
-          this.ProblemParametersField = value;
-          this.RaisePropertyChanged("ProblemParameters");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 6)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Result> Results {
-      get {
-        return this.ResultsField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ResultsField, value) != true)) {
-          this.ResultsField = value;
-          this.RaisePropertyChanged("Results");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 7)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameterBlobValue> AlgorithmParameterBlobValues {
-      get {
-        return this.AlgorithmParameterBlobValuesField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.AlgorithmParameterBlobValuesField, value) != true)) {
-          this.AlgorithmParameterBlobValuesField = value;
-          this.RaisePropertyChanged("AlgorithmParameterBlobValues");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 8)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameterBoolValue> AlgorithmParameterBoolValues {
-      get {
-        return this.AlgorithmParameterBoolValuesField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.AlgorithmParameterBoolValuesField, value) != true)) {
-          this.AlgorithmParameterBoolValuesField = value;
-          this.RaisePropertyChanged("AlgorithmParameterBoolValues");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 9)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameterFloatValue> AlgorithmParameterFloatValues {
-      get {
-        return this.AlgorithmParameterFloatValuesField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.AlgorithmParameterFloatValuesField, value) != true)) {
-          this.AlgorithmParameterFloatValuesField = value;
-          this.RaisePropertyChanged("AlgorithmParameterFloatValues");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 10)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameterIntValue> AlgorithmParameterIntValues {
-      get {
-        return this.AlgorithmParameterIntValuesField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.AlgorithmParameterIntValuesField, value) != true)) {
-          this.AlgorithmParameterIntValuesField = value;
-          this.RaisePropertyChanged("AlgorithmParameterIntValues");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 11)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmParameterStringValue> AlgorithmParameterStringValues {
-      get {
-        return this.AlgorithmParameterStringValuesField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.AlgorithmParameterStringValuesField, value) != true)) {
-          this.AlgorithmParameterStringValuesField = value;
-          this.RaisePropertyChanged("AlgorithmParameterStringValues");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 12)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameterBlobValue> ProblemParameterBlobValues {
-      get {
-        return this.ProblemParameterBlobValuesField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ProblemParameterBlobValuesField, value) != true)) {
-          this.ProblemParameterBlobValuesField = value;
-          this.RaisePropertyChanged("ProblemParameterBlobValues");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 13)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameterBoolValue> ProblemParameterBoolValues {
-      get {
-        return this.ProblemParameterBoolValuesField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ProblemParameterBoolValuesField, value) != true)) {
-          this.ProblemParameterBoolValuesField = value;
-          this.RaisePropertyChanged("ProblemParameterBoolValues");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 14)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameterFloatValue> ProblemParameterFloatValues {
-      get {
-        return this.ProblemParameterFloatValuesField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ProblemParameterFloatValuesField, value) != true)) {
-          this.ProblemParameterFloatValuesField = value;
-          this.RaisePropertyChanged("ProblemParameterFloatValues");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 15)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameterIntValue> ProblemParameterIntValues {
-      get {
-        return this.ProblemParameterIntValuesField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ProblemParameterIntValuesField, value) != true)) {
-          this.ProblemParameterIntValuesField = value;
-          this.RaisePropertyChanged("ProblemParameterIntValues");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 16)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameterStringValue> ProblemParameterStringValues {
-      get {
-        return this.ProblemParameterStringValuesField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ProblemParameterStringValuesField, value) != true)) {
-          this.ProblemParameterStringValuesField = value;
-          this.RaisePropertyChanged("ProblemParameterStringValues");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 17)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ResultBlobValue> ResultBlobValues {
-      get {
-        return this.ResultBlobValuesField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ResultBlobValuesField, value) != true)) {
-          this.ResultBlobValuesField = value;
-          this.RaisePropertyChanged("ResultBlobValues");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 18)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ResultBoolValue> ResultBoolValues {
-      get {
-        return this.ResultBoolValuesField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ResultBoolValuesField, value) != true)) {
-          this.ResultBoolValuesField = value;
-          this.RaisePropertyChanged("ResultBoolValues");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 19)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ResultFloatValue> ResultFloatValues {
-      get {
-        return this.ResultFloatValuesField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ResultFloatValuesField, value) != true)) {
-          this.ResultFloatValuesField = value;
-          this.RaisePropertyChanged("ResultFloatValues");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 20)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ResultIntValue> ResultIntValues {
-      get {
-        return this.ResultIntValuesField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ResultIntValuesField, value) != true)) {
-          this.ResultIntValuesField = value;
-          this.RaisePropertyChanged("ResultIntValues");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 21)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ResultStringValue> ResultStringValues {
-      get {
-        return this.ResultStringValuesField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ResultStringValuesField, value) != true)) {
-          this.ResultStringValuesField = value;
-          this.RaisePropertyChanged("ResultStringValues");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 22)]
-    public HeuristicLab.Clients.OKB.Platform Platform {
-      get {
-        return this.PlatformField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.PlatformField, value) != true)) {
-          this.PlatformField = value;
-          this.RaisePropertyChanged("Platform");
-        }
-      }
-    }
-
-
-
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "ProblemParameter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference = true)]
-  public partial class ProblemParameter : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
-
-    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
-
-    private long IdField;
-
-    private long ProblemIdField;
-
-    private string NameField;
-
-    private string AliasField;
-
-    private string DescriptionField;
-
-    private long DataTypeIdField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameterBlobValue> ProblemParameterBlobValuesField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameterBoolValue> ProblemParameterBoolValuesField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameterFloatValue> ProblemParameterFloatValuesField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameterIntValue> ProblemParameterIntValuesField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameterStringValue> ProblemParameterStringValuesField;
-
-    private HeuristicLab.Clients.OKB.Problem ProblemField;
-
-    private HeuristicLab.Clients.OKB.DataType DataTypeField;
-
-    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
-      get {
-        return this.extensionDataField;
-      }
-      set {
-        this.extensionDataField = value;
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public long Id {
-      get {
-        return this.IdField;
-      }
-      set {
-        if ((this.IdField.Equals(value) != true)) {
-          this.IdField = value;
-          this.RaisePropertyChanged("Id");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public long ProblemId {
-      get {
-        return this.ProblemIdField;
-      }
-      set {
-        if ((this.ProblemIdField.Equals(value) != true)) {
-          this.ProblemIdField = value;
-          this.RaisePropertyChanged("ProblemId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 2)]
-    public string Name {
-      get {
-        return this.NameField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.NameField, value) != true)) {
-          this.NameField = value;
-          this.RaisePropertyChanged("Name");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 3)]
-    public string Alias {
-      get {
-        return this.AliasField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.AliasField, value) != true)) {
-          this.AliasField = value;
-          this.RaisePropertyChanged("Alias");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 4)]
-    public string Description {
-      get {
-        return this.DescriptionField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.DescriptionField, value) != true)) {
-          this.DescriptionField = value;
-          this.RaisePropertyChanged("Description");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 5)]
-    public long DataTypeId {
-      get {
-        return this.DataTypeIdField;
-      }
-      set {
-        if ((this.DataTypeIdField.Equals(value) != true)) {
-          this.DataTypeIdField = value;
-          this.RaisePropertyChanged("DataTypeId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 6)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameterBlobValue> ProblemParameterBlobValues {
-      get {
-        return this.ProblemParameterBlobValuesField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ProblemParameterBlobValuesField, value) != true)) {
-          this.ProblemParameterBlobValuesField = value;
-          this.RaisePropertyChanged("ProblemParameterBlobValues");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 7)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameterBoolValue> ProblemParameterBoolValues {
-      get {
-        return this.ProblemParameterBoolValuesField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ProblemParameterBoolValuesField, value) != true)) {
-          this.ProblemParameterBoolValuesField = value;
-          this.RaisePropertyChanged("ProblemParameterBoolValues");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 8)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameterFloatValue> ProblemParameterFloatValues {
-      get {
-        return this.ProblemParameterFloatValuesField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ProblemParameterFloatValuesField, value) != true)) {
-          this.ProblemParameterFloatValuesField = value;
-          this.RaisePropertyChanged("ProblemParameterFloatValues");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 9)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameterIntValue> ProblemParameterIntValues {
-      get {
-        return this.ProblemParameterIntValuesField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ProblemParameterIntValuesField, value) != true)) {
-          this.ProblemParameterIntValuesField = value;
-          this.RaisePropertyChanged("ProblemParameterIntValues");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 10)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.ProblemParameterStringValue> ProblemParameterStringValues {
-      get {
-        return this.ProblemParameterStringValuesField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ProblemParameterStringValuesField, value) != true)) {
-          this.ProblemParameterStringValuesField = value;
-          this.RaisePropertyChanged("ProblemParameterStringValues");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 11)]
-    public HeuristicLab.Clients.OKB.Problem Problem {
-      get {
-        return this.ProblemField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ProblemField, value) != true)) {
-          this.ProblemField = value;
-          this.RaisePropertyChanged("Problem");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 12)]
-    public HeuristicLab.Clients.OKB.DataType DataType {
-      get {
-        return this.DataTypeField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.DataTypeField, value) != true)) {
-          this.DataTypeField = value;
-          this.RaisePropertyChanged("DataType");
-        }
-      }
-    }
-
-
-
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "ProblemData", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference = true)]
-  public partial class ProblemData : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
-
-    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
-
-    private long ProblemIdField;
-
-    private HeuristicLab.Clients.OKB.Binary DataField;
-
-    private HeuristicLab.Clients.OKB.Problem ProblemField;
-
-    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
-      get {
-        return this.extensionDataField;
-      }
-      set {
-        this.extensionDataField = value;
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public long ProblemId {
-      get {
-        return this.ProblemIdField;
-      }
-      set {
-        if ((this.ProblemIdField.Equals(value) != true)) {
-          this.ProblemIdField = value;
-          this.RaisePropertyChanged("ProblemId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 1)]
-    public HeuristicLab.Clients.OKB.Binary Data {
-      get {
-        return this.DataField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.DataField, value) != true)) {
-          this.DataField = value;
-          this.RaisePropertyChanged("Data");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 2)]
-    public HeuristicLab.Clients.OKB.Problem Problem {
-      get {
-        return this.ProblemField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ProblemField, value) != true)) {
-          this.ProblemField = value;
-          this.RaisePropertyChanged("Problem");
-        }
-      }
-    }
-
-
-
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "ProblemClass", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference = true)]
-  public partial class ProblemClass : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
-
-    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
-
-    private long IdField;
-
-    private string NameField;
-
-    private string DescriptionField;
-
-    private HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Problem> ProblemsField;
-
-    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
-      get {
-        return this.extensionDataField;
-      }
-      set {
-        this.extensionDataField = value;
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public long Id {
-      get {
-        return this.IdField;
-      }
-      set {
-        if ((this.IdField.Equals(value) != true)) {
-          this.IdField = value;
-          this.RaisePropertyChanged("Id");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public string Name {
-      get {
-        return this.NameField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.NameField, value) != true)) {
-          this.NameField = value;
-          this.RaisePropertyChanged("Name");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(Order = 2)]
-    public string Description {
-      get {
-        return this.DescriptionField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.DescriptionField, value) != true)) {
-          this.DescriptionField = value;
-          this.RaisePropertyChanged("Description");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 3)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Problem> Problems {
-      get {
-        return this.ProblemsField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ProblemsField, value) != true)) {
-          this.ProblemsField = value;
-          this.RaisePropertyChanged("Problems");
-        }
-      }
-    }
-
-
-
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "ProblemUser", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataAccess", IsReference = true)]
-  public partial class ProblemUser : OKBItem, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
-
-    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
-
-    private long ProblemIdField;
-
-    private System.Guid UserIdField;
-
-    private HeuristicLab.Clients.OKB.Problem ProblemField;
-
-    private HeuristicLab.Clients.OKB.User UserField;
-
-    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
-      get {
-        return this.extensionDataField;
-      }
-      set {
-        this.extensionDataField = value;
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public long ProblemId {
-      get {
-        return this.ProblemIdField;
-      }
-      set {
-        if ((this.ProblemIdField.Equals(value) != true)) {
-          this.ProblemIdField = value;
-          this.RaisePropertyChanged("ProblemId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public System.Guid UserId {
-      get {
-        return this.UserIdField;
-      }
-      set {
-        if ((this.UserIdField.Equals(value) != true)) {
-          this.UserIdField = value;
-          this.RaisePropertyChanged("UserId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 2)]
-    public HeuristicLab.Clients.OKB.Problem Problem {
-      get {
-        return this.ProblemField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ProblemField, value) != true)) {
-          this.ProblemField = value;
-          this.RaisePropertyChanged("Problem");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 3)]
-    public HeuristicLab.Clients.OKB.User User {
-      get {
-        return this.UserField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.UserField, value) != true)) {
-          this.UserField = value;
-          this.RaisePropertyChanged("User");
-        }
-      }
-    }
-
-
-
-  }
-
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
-  [System.ServiceModel.ServiceContractAttribute(ConfigurationName = "HeuristicLab.Clients.OKB.IAdminService")]
-  public interface IAdminService {
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdminService/GetAlgorithmClass", ReplyAction = "http://tempuri.org/IAdminService/GetAlgorithmClassResponse")]
-    HeuristicLab.Clients.OKB.AlgorithmClass GetAlgorithmClass(long algorithmClassId);
-
-    [System.ServiceModel.OperationContractAttribute(AsyncPattern = true, Action = "http://tempuri.org/IAdminService/GetAlgorithmClass", ReplyAction = "http://tempuri.org/IAdminService/GetAlgorithmClassResponse")]
-    System.IAsyncResult BeginGetAlgorithmClass(long algorithmClassId, System.AsyncCallback callback, object asyncState);
-
-    HeuristicLab.Clients.OKB.AlgorithmClass EndGetAlgorithmClass(System.IAsyncResult result);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdminService/GetAlgorithmClasses", ReplyAction = "http://tempuri.org/IAdminService/GetAlgorithmClassesResponse")]
-    HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmClass> GetAlgorithmClasses();
-
-    [System.ServiceModel.OperationContractAttribute(AsyncPattern = true, Action = "http://tempuri.org/IAdminService/GetAlgorithmClasses", ReplyAction = "http://tempuri.org/IAdminService/GetAlgorithmClassesResponse")]
-    System.IAsyncResult BeginGetAlgorithmClasses(System.AsyncCallback callback, object asyncState);
-
-    HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmClass> EndGetAlgorithmClasses(System.IAsyncResult result);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdminService/StoreAlgorithmClass", ReplyAction = "http://tempuri.org/IAdminService/StoreAlgorithmClassResponse")]
-    void StoreAlgorithmClass(HeuristicLab.Clients.OKB.AlgorithmClass algorithmClass);
-
-    [System.ServiceModel.OperationContractAttribute(AsyncPattern = true, Action = "http://tempuri.org/IAdminService/StoreAlgorithmClass", ReplyAction = "http://tempuri.org/IAdminService/StoreAlgorithmClassResponse")]
-    System.IAsyncResult BeginStoreAlgorithmClass(HeuristicLab.Clients.OKB.AlgorithmClass algorithmClass, System.AsyncCallback callback, object asyncState);
-
-    void EndStoreAlgorithmClass(System.IAsyncResult result);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdminService/DeleteAlgorithmClass", ReplyAction = "http://tempuri.org/IAdminService/DeleteAlgorithmClassResponse")]
-    void DeleteAlgorithmClass(long algorithmClassId);
-
-    [System.ServiceModel.OperationContractAttribute(AsyncPattern = true, Action = "http://tempuri.org/IAdminService/DeleteAlgorithmClass", ReplyAction = "http://tempuri.org/IAdminService/DeleteAlgorithmClassResponse")]
-    System.IAsyncResult BeginDeleteAlgorithmClass(long algorithmClassId, System.AsyncCallback callback, object asyncState);
-
-    void EndDeleteAlgorithmClass(System.IAsyncResult result);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdminService/GetAlgorithm", ReplyAction = "http://tempuri.org/IAdminService/GetAlgorithmResponse")]
-    HeuristicLab.Clients.OKB.Algorithm GetAlgorithm(long algorithmId);
-
-    [System.ServiceModel.OperationContractAttribute(AsyncPattern = true, Action = "http://tempuri.org/IAdminService/GetAlgorithm", ReplyAction = "http://tempuri.org/IAdminService/GetAlgorithmResponse")]
-    System.IAsyncResult BeginGetAlgorithm(long algorithmId, System.AsyncCallback callback, object asyncState);
-
-    HeuristicLab.Clients.OKB.Algorithm EndGetAlgorithm(System.IAsyncResult result);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdminService/GetAlgorithms", ReplyAction = "http://tempuri.org/IAdminService/GetAlgorithmsResponse")]
-    HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Algorithm> GetAlgorithms();
-
-    [System.ServiceModel.OperationContractAttribute(AsyncPattern = true, Action = "http://tempuri.org/IAdminService/GetAlgorithms", ReplyAction = "http://tempuri.org/IAdminService/GetAlgorithmsResponse")]
-    System.IAsyncResult BeginGetAlgorithms(System.AsyncCallback callback, object asyncState);
-
-    HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Algorithm> EndGetAlgorithms(System.IAsyncResult result);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdminService/StoreAlgorithm", ReplyAction = "http://tempuri.org/IAdminService/StoreAlgorithmResponse")]
-    void StoreAlgorithm(HeuristicLab.Clients.OKB.Algorithm algorithm);
-
-    [System.ServiceModel.OperationContractAttribute(AsyncPattern = true, Action = "http://tempuri.org/IAdminService/StoreAlgorithm", ReplyAction = "http://tempuri.org/IAdminService/StoreAlgorithmResponse")]
-    System.IAsyncResult BeginStoreAlgorithm(HeuristicLab.Clients.OKB.Algorithm algorithm, System.AsyncCallback callback, object asyncState);
-
-    void EndStoreAlgorithm(System.IAsyncResult result);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdminService/DeleteAlgorithm", ReplyAction = "http://tempuri.org/IAdminService/DeleteAlgorithmResponse")]
-    void DeleteAlgorithm(long algorithmId);
-
-    [System.ServiceModel.OperationContractAttribute(AsyncPattern = true, Action = "http://tempuri.org/IAdminService/DeleteAlgorithm", ReplyAction = "http://tempuri.org/IAdminService/DeleteAlgorithmResponse")]
-    System.IAsyncResult BeginDeleteAlgorithm(long algorithmId, System.AsyncCallback callback, object asyncState);
-
-    void EndDeleteAlgorithm(System.IAsyncResult result);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdminService/GetPlatforms", ReplyAction = "http://tempuri.org/IAdminService/GetPlatformsResponse")]
-    HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Platform> GetPlatforms();
-
-    [System.ServiceModel.OperationContractAttribute(AsyncPattern = true, Action = "http://tempuri.org/IAdminService/GetPlatforms", ReplyAction = "http://tempuri.org/IAdminService/GetPlatformsResponse")]
-    System.IAsyncResult BeginGetPlatforms(System.AsyncCallback callback, object asyncState);
-
-    HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Platform> EndGetPlatforms(System.IAsyncResult result);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdminService/GetCompleteAlgorithm", ReplyAction = "http://tempuri.org/IAdminService/GetCompleteAlgorithmResponse")]
-    HeuristicLab.Clients.OKB.Algorithm GetCompleteAlgorithm(int id);
-
-    [System.ServiceModel.OperationContractAttribute(AsyncPattern = true, Action = "http://tempuri.org/IAdminService/GetCompleteAlgorithm", ReplyAction = "http://tempuri.org/IAdminService/GetCompleteAlgorithmResponse")]
-    System.IAsyncResult BeginGetCompleteAlgorithm(int id, System.AsyncCallback callback, object asyncState);
-
-    HeuristicLab.Clients.OKB.Algorithm EndGetCompleteAlgorithm(System.IAsyncResult result);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdminService/GetCompleteProblem", ReplyAction = "http://tempuri.org/IAdminService/GetCompleteProblemResponse")]
-    HeuristicLab.Clients.OKB.Problem GetCompleteProblem(int id);
-
-    [System.ServiceModel.OperationContractAttribute(AsyncPattern = true, Action = "http://tempuri.org/IAdminService/GetCompleteProblem", ReplyAction = "http://tempuri.org/IAdminService/GetCompleteProblemResponse")]
-    System.IAsyncResult BeginGetCompleteProblem(int id, System.AsyncCallback callback, object asyncState);
-
-    HeuristicLab.Clients.OKB.Problem EndGetCompleteProblem(System.IAsyncResult result);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdminService/UpdateCompleteAlgorithm", ReplyAction = "http://tempuri.org/IAdminService/UpdateCompleteAlgorithmResponse")]
-    void UpdateCompleteAlgorithm(HeuristicLab.Clients.OKB.Algorithm algorithm);
-
-    [System.ServiceModel.OperationContractAttribute(AsyncPattern = true, Action = "http://tempuri.org/IAdminService/UpdateCompleteAlgorithm", ReplyAction = "http://tempuri.org/IAdminService/UpdateCompleteAlgorithmResponse")]
-    System.IAsyncResult BeginUpdateCompleteAlgorithm(HeuristicLab.Clients.OKB.Algorithm algorithm, System.AsyncCallback callback, object asyncState);
-
-    void EndUpdateCompleteAlgorithm(System.IAsyncResult result);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdminService/UpdateCompleteProblem", ReplyAction = "http://tempuri.org/IAdminService/UpdateCompleteProblemResponse")]
-    void UpdateCompleteProblem(HeuristicLab.Clients.OKB.Problem problem);
-
-    [System.ServiceModel.OperationContractAttribute(AsyncPattern = true, Action = "http://tempuri.org/IAdminService/UpdateCompleteProblem", ReplyAction = "http://tempuri.org/IAdminService/UpdateCompleteProblemResponse")]
-    System.IAsyncResult BeginUpdateCompleteProblem(HeuristicLab.Clients.OKB.Problem problem, System.AsyncCallback callback, object asyncState);
-
-    void EndUpdateCompleteProblem(System.IAsyncResult result);
-  }
-
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
-  public interface IAdminServiceChannel : HeuristicLab.Clients.OKB.IAdminService, System.ServiceModel.IClientChannel {
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
-  public partial class GetAlgorithmClassCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
-
-    private object[] results;
-
-    public GetAlgorithmClassCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
-      base(exception, cancelled, userState) {
-      this.results = results;
-    }
-
-    public HeuristicLab.Clients.OKB.AlgorithmClass Result {
-      get {
-        base.RaiseExceptionIfNecessary();
-        return ((HeuristicLab.Clients.OKB.AlgorithmClass)(this.results[0]));
-      }
-    }
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
-  public partial class GetAlgorithmClassesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
-
-    private object[] results;
-
-    public GetAlgorithmClassesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
-      base(exception, cancelled, userState) {
-      this.results = results;
-    }
-
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmClass> Result {
-      get {
-        base.RaiseExceptionIfNecessary();
-        return ((HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmClass>)(this.results[0]));
-      }
-    }
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
-  public partial class GetAlgorithmCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
-
-    private object[] results;
-
-    public GetAlgorithmCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
-      base(exception, cancelled, userState) {
-      this.results = results;
-    }
-
-    public HeuristicLab.Clients.OKB.Algorithm Result {
-      get {
-        base.RaiseExceptionIfNecessary();
-        return ((HeuristicLab.Clients.OKB.Algorithm)(this.results[0]));
-      }
-    }
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
-  public partial class GetAlgorithmsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
-
-    private object[] results;
-
-    public GetAlgorithmsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
-      base(exception, cancelled, userState) {
-      this.results = results;
-    }
-
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Algorithm> Result {
-      get {
-        base.RaiseExceptionIfNecessary();
-        return ((HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Algorithm>)(this.results[0]));
-      }
-    }
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
-  public partial class GetPlatformsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
-
-    private object[] results;
-
-    public GetPlatformsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
-      base(exception, cancelled, userState) {
-      this.results = results;
-    }
-
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Platform> Result {
-      get {
-        base.RaiseExceptionIfNecessary();
-        return ((HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Platform>)(this.results[0]));
-      }
-    }
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
-  public partial class GetCompleteAlgorithmCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
-
-    private object[] results;
-
-    public GetCompleteAlgorithmCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
-      base(exception, cancelled, userState) {
-      this.results = results;
-    }
-
-    public HeuristicLab.Clients.OKB.Algorithm Result {
-      get {
-        base.RaiseExceptionIfNecessary();
-        return ((HeuristicLab.Clients.OKB.Algorithm)(this.results[0]));
-      }
-    }
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
-  public partial class GetCompleteProblemCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
-
-    private object[] results;
-
-    public GetCompleteProblemCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
-      base(exception, cancelled, userState) {
-      this.results = results;
-    }
-
-    public HeuristicLab.Clients.OKB.Problem Result {
-      get {
-        base.RaiseExceptionIfNecessary();
-        return ((HeuristicLab.Clients.OKB.Problem)(this.results[0]));
-      }
-    }
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
-  public partial class AdminServiceClient : System.ServiceModel.ClientBase<HeuristicLab.Clients.OKB.IAdminService>, HeuristicLab.Clients.OKB.IAdminService {
-
-    private BeginOperationDelegate onBeginGetAlgorithmClassDelegate;
-
-    private EndOperationDelegate onEndGetAlgorithmClassDelegate;
-
-    private System.Threading.SendOrPostCallback onGetAlgorithmClassCompletedDelegate;
-
-    private BeginOperationDelegate onBeginGetAlgorithmClassesDelegate;
-
-    private EndOperationDelegate onEndGetAlgorithmClassesDelegate;
-
-    private System.Threading.SendOrPostCallback onGetAlgorithmClassesCompletedDelegate;
-
-    private BeginOperationDelegate onBeginStoreAlgorithmClassDelegate;
-
-    private EndOperationDelegate onEndStoreAlgorithmClassDelegate;
-
-    private System.Threading.SendOrPostCallback onStoreAlgorithmClassCompletedDelegate;
-
-    private BeginOperationDelegate onBeginDeleteAlgorithmClassDelegate;
-
-    private EndOperationDelegate onEndDeleteAlgorithmClassDelegate;
-
-    private System.Threading.SendOrPostCallback onDeleteAlgorithmClassCompletedDelegate;
-
-    private BeginOperationDelegate onBeginGetAlgorithmDelegate;
-
-    private EndOperationDelegate onEndGetAlgorithmDelegate;
-
-    private System.Threading.SendOrPostCallback onGetAlgorithmCompletedDelegate;
-
-    private BeginOperationDelegate onBeginGetAlgorithmsDelegate;
-
-    private EndOperationDelegate onEndGetAlgorithmsDelegate;
-
-    private System.Threading.SendOrPostCallback onGetAlgorithmsCompletedDelegate;
-
-    private BeginOperationDelegate onBeginStoreAlgorithmDelegate;
-
-    private EndOperationDelegate onEndStoreAlgorithmDelegate;
-
-    private System.Threading.SendOrPostCallback onStoreAlgorithmCompletedDelegate;
-
-    private BeginOperationDelegate onBeginDeleteAlgorithmDelegate;
-
-    private EndOperationDelegate onEndDeleteAlgorithmDelegate;
-
-    private System.Threading.SendOrPostCallback onDeleteAlgorithmCompletedDelegate;
-
-    private BeginOperationDelegate onBeginGetPlatformsDelegate;
-
-    private EndOperationDelegate onEndGetPlatformsDelegate;
-
-    private System.Threading.SendOrPostCallback onGetPlatformsCompletedDelegate;
-
-    private BeginOperationDelegate onBeginGetCompleteAlgorithmDelegate;
-
-    private EndOperationDelegate onEndGetCompleteAlgorithmDelegate;
-
-    private System.Threading.SendOrPostCallback onGetCompleteAlgorithmCompletedDelegate;
-
-    private BeginOperationDelegate onBeginGetCompleteProblemDelegate;
-
-    private EndOperationDelegate onEndGetCompleteProblemDelegate;
-
-    private System.Threading.SendOrPostCallback onGetCompleteProblemCompletedDelegate;
-
-    private BeginOperationDelegate onBeginUpdateCompleteAlgorithmDelegate;
-
-    private EndOperationDelegate onEndUpdateCompleteAlgorithmDelegate;
-
-    private System.Threading.SendOrPostCallback onUpdateCompleteAlgorithmCompletedDelegate;
-
-    private BeginOperationDelegate onBeginUpdateCompleteProblemDelegate;
-
-    private EndOperationDelegate onEndUpdateCompleteProblemDelegate;
-
-    private System.Threading.SendOrPostCallback onUpdateCompleteProblemCompletedDelegate;
-
-    public AdminServiceClient() {
-    }
-
-    public AdminServiceClient(string endpointConfigurationName) :
-      base(endpointConfigurationName) {
-    }
-
-    public AdminServiceClient(string endpointConfigurationName, string remoteAddress) :
-      base(endpointConfigurationName, remoteAddress) {
-    }
-
-    public AdminServiceClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) :
-      base(endpointConfigurationName, remoteAddress) {
-    }
-
-    public AdminServiceClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) :
-      base(binding, remoteAddress) {
-    }
-
-    public event System.EventHandler<GetAlgorithmClassCompletedEventArgs> GetAlgorithmClassCompleted;
-
-    public event System.EventHandler<GetAlgorithmClassesCompletedEventArgs> GetAlgorithmClassesCompleted;
-
-    public event System.EventHandler<System.ComponentModel.AsyncCompletedEventArgs> StoreAlgorithmClassCompleted;
-
-    public event System.EventHandler<System.ComponentModel.AsyncCompletedEventArgs> DeleteAlgorithmClassCompleted;
-
-    public event System.EventHandler<GetAlgorithmCompletedEventArgs> GetAlgorithmCompleted;
-
-    public event System.EventHandler<GetAlgorithmsCompletedEventArgs> GetAlgorithmsCompleted;
-
-    public event System.EventHandler<System.ComponentModel.AsyncCompletedEventArgs> StoreAlgorithmCompleted;
-
-    public event System.EventHandler<System.ComponentModel.AsyncCompletedEventArgs> DeleteAlgorithmCompleted;
-
-    public event System.EventHandler<GetPlatformsCompletedEventArgs> GetPlatformsCompleted;
-
-    public event System.EventHandler<GetCompleteAlgorithmCompletedEventArgs> GetCompleteAlgorithmCompleted;
-
-    public event System.EventHandler<GetCompleteProblemCompletedEventArgs> GetCompleteProblemCompleted;
-
-    public event System.EventHandler<System.ComponentModel.AsyncCompletedEventArgs> UpdateCompleteAlgorithmCompleted;
-
-    public event System.EventHandler<System.ComponentModel.AsyncCompletedEventArgs> UpdateCompleteProblemCompleted;
-
-    public HeuristicLab.Clients.OKB.AlgorithmClass GetAlgorithmClass(long algorithmClassId) {
-      return base.Channel.GetAlgorithmClass(algorithmClassId);
-    }
-
-    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
-    public System.IAsyncResult BeginGetAlgorithmClass(long algorithmClassId, System.AsyncCallback callback, object asyncState) {
-      return base.Channel.BeginGetAlgorithmClass(algorithmClassId, callback, asyncState);
-    }
-
-    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
-    public HeuristicLab.Clients.OKB.AlgorithmClass EndGetAlgorithmClass(System.IAsyncResult result) {
-      return base.Channel.EndGetAlgorithmClass(result);
-    }
-
-    private System.IAsyncResult OnBeginGetAlgorithmClass(object[] inValues, System.AsyncCallback callback, object asyncState) {
-      long algorithmClassId = ((long)(inValues[0]));
-      return this.BeginGetAlgorithmClass(algorithmClassId, callback, asyncState);
-    }
-
-    private object[] OnEndGetAlgorithmClass(System.IAsyncResult result) {
-      HeuristicLab.Clients.OKB.AlgorithmClass retVal = this.EndGetAlgorithmClass(result);
-      return new object[] {
-                    retVal};
-    }
-
-    private void OnGetAlgorithmClassCompleted(object state) {
-      if ((this.GetAlgorithmClassCompleted != null)) {
-        InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
-        this.GetAlgorithmClassCompleted(this, new GetAlgorithmClassCompletedEventArgs(e.Results, e.Error, e.Cancelled, e.UserState));
-      }
-    }
-
-    public void GetAlgorithmClassAsync(long algorithmClassId) {
-      this.GetAlgorithmClassAsync(algorithmClassId, null);
-    }
-
-    public void GetAlgorithmClassAsync(long algorithmClassId, object userState) {
-      if ((this.onBeginGetAlgorithmClassDelegate == null)) {
-        this.onBeginGetAlgorithmClassDelegate = new BeginOperationDelegate(this.OnBeginGetAlgorithmClass);
-      }
-      if ((this.onEndGetAlgorithmClassDelegate == null)) {
-        this.onEndGetAlgorithmClassDelegate = new EndOperationDelegate(this.OnEndGetAlgorithmClass);
-      }
-      if ((this.onGetAlgorithmClassCompletedDelegate == null)) {
-        this.onGetAlgorithmClassCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnGetAlgorithmClassCompleted);
-      }
-      base.InvokeAsync(this.onBeginGetAlgorithmClassDelegate, new object[] {
-                        algorithmClassId}, this.onEndGetAlgorithmClassDelegate, this.onGetAlgorithmClassCompletedDelegate, userState);
-    }
-
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmClass> GetAlgorithmClasses() {
-      return base.Channel.GetAlgorithmClasses();
-    }
-
-    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
-    public System.IAsyncResult BeginGetAlgorithmClasses(System.AsyncCallback callback, object asyncState) {
-      return base.Channel.BeginGetAlgorithmClasses(callback, asyncState);
-    }
-
-    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmClass> EndGetAlgorithmClasses(System.IAsyncResult result) {
-      return base.Channel.EndGetAlgorithmClasses(result);
-    }
-
-    private System.IAsyncResult OnBeginGetAlgorithmClasses(object[] inValues, System.AsyncCallback callback, object asyncState) {
-      return this.BeginGetAlgorithmClasses(callback, asyncState);
-    }
-
-    private object[] OnEndGetAlgorithmClasses(System.IAsyncResult result) {
-      HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.AlgorithmClass> retVal = this.EndGetAlgorithmClasses(result);
-      return new object[] {
-                    retVal};
-    }
-
-    private void OnGetAlgorithmClassesCompleted(object state) {
-      if ((this.GetAlgorithmClassesCompleted != null)) {
-        InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
-        this.GetAlgorithmClassesCompleted(this, new GetAlgorithmClassesCompletedEventArgs(e.Results, e.Error, e.Cancelled, e.UserState));
-      }
-    }
-
-    public void GetAlgorithmClassesAsync() {
-      this.GetAlgorithmClassesAsync(null);
-    }
-
-    public void GetAlgorithmClassesAsync(object userState) {
-      if ((this.onBeginGetAlgorithmClassesDelegate == null)) {
-        this.onBeginGetAlgorithmClassesDelegate = new BeginOperationDelegate(this.OnBeginGetAlgorithmClasses);
-      }
-      if ((this.onEndGetAlgorithmClassesDelegate == null)) {
-        this.onEndGetAlgorithmClassesDelegate = new EndOperationDelegate(this.OnEndGetAlgorithmClasses);
-      }
-      if ((this.onGetAlgorithmClassesCompletedDelegate == null)) {
-        this.onGetAlgorithmClassesCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnGetAlgorithmClassesCompleted);
-      }
-      base.InvokeAsync(this.onBeginGetAlgorithmClassesDelegate, null, this.onEndGetAlgorithmClassesDelegate, this.onGetAlgorithmClassesCompletedDelegate, userState);
-    }
-
-    public void StoreAlgorithmClass(HeuristicLab.Clients.OKB.AlgorithmClass algorithmClass) {
-      base.Channel.StoreAlgorithmClass(algorithmClass);
-    }
-
-    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
-    public System.IAsyncResult BeginStoreAlgorithmClass(HeuristicLab.Clients.OKB.AlgorithmClass algorithmClass, System.AsyncCallback callback, object asyncState) {
-      return base.Channel.BeginStoreAlgorithmClass(algorithmClass, callback, asyncState);
-    }
-
-    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
-    public void EndStoreAlgorithmClass(System.IAsyncResult result) {
-      base.Channel.EndStoreAlgorithmClass(result);
-    }
-
-    private System.IAsyncResult OnBeginStoreAlgorithmClass(object[] inValues, System.AsyncCallback callback, object asyncState) {
-      HeuristicLab.Clients.OKB.AlgorithmClass algorithmClass = ((HeuristicLab.Clients.OKB.AlgorithmClass)(inValues[0]));
-      return this.BeginStoreAlgorithmClass(algorithmClass, callback, asyncState);
-    }
-
-    private object[] OnEndStoreAlgorithmClass(System.IAsyncResult result) {
-      this.EndStoreAlgorithmClass(result);
-      return null;
-    }
-
-    private void OnStoreAlgorithmClassCompleted(object state) {
-      if ((this.StoreAlgorithmClassCompleted != null)) {
-        InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
-        this.StoreAlgorithmClassCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(e.Error, e.Cancelled, e.UserState));
-      }
-    }
-
-    public void StoreAlgorithmClassAsync(HeuristicLab.Clients.OKB.AlgorithmClass algorithmClass) {
-      this.StoreAlgorithmClassAsync(algorithmClass, null);
-    }
-
-    public void StoreAlgorithmClassAsync(HeuristicLab.Clients.OKB.AlgorithmClass algorithmClass, object userState) {
-      if ((this.onBeginStoreAlgorithmClassDelegate == null)) {
-        this.onBeginStoreAlgorithmClassDelegate = new BeginOperationDelegate(this.OnBeginStoreAlgorithmClass);
-      }
-      if ((this.onEndStoreAlgorithmClassDelegate == null)) {
-        this.onEndStoreAlgorithmClassDelegate = new EndOperationDelegate(this.OnEndStoreAlgorithmClass);
-      }
-      if ((this.onStoreAlgorithmClassCompletedDelegate == null)) {
-        this.onStoreAlgorithmClassCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnStoreAlgorithmClassCompleted);
-      }
-      base.InvokeAsync(this.onBeginStoreAlgorithmClassDelegate, new object[] {
-                        algorithmClass}, this.onEndStoreAlgorithmClassDelegate, this.onStoreAlgorithmClassCompletedDelegate, userState);
-    }
-
-    public void DeleteAlgorithmClass(long algorithmClassId) {
-      base.Channel.DeleteAlgorithmClass(algorithmClassId);
-    }
-
-    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
-    public System.IAsyncResult BeginDeleteAlgorithmClass(long algorithmClassId, System.AsyncCallback callback, object asyncState) {
-      return base.Channel.BeginDeleteAlgorithmClass(algorithmClassId, callback, asyncState);
-    }
-
-    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
-    public void EndDeleteAlgorithmClass(System.IAsyncResult result) {
-      base.Channel.EndDeleteAlgorithmClass(result);
-    }
-
-    private System.IAsyncResult OnBeginDeleteAlgorithmClass(object[] inValues, System.AsyncCallback callback, object asyncState) {
-      long algorithmClassId = ((long)(inValues[0]));
-      return this.BeginDeleteAlgorithmClass(algorithmClassId, callback, asyncState);
-    }
-
-    private object[] OnEndDeleteAlgorithmClass(System.IAsyncResult result) {
-      this.EndDeleteAlgorithmClass(result);
-      return null;
-    }
-
-    private void OnDeleteAlgorithmClassCompleted(object state) {
-      if ((this.DeleteAlgorithmClassCompleted != null)) {
-        InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
-        this.DeleteAlgorithmClassCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(e.Error, e.Cancelled, e.UserState));
-      }
-    }
-
-    public void DeleteAlgorithmClassAsync(long algorithmClassId) {
-      this.DeleteAlgorithmClassAsync(algorithmClassId, null);
-    }
-
-    public void DeleteAlgorithmClassAsync(long algorithmClassId, object userState) {
-      if ((this.onBeginDeleteAlgorithmClassDelegate == null)) {
-        this.onBeginDeleteAlgorithmClassDelegate = new BeginOperationDelegate(this.OnBeginDeleteAlgorithmClass);
-      }
-      if ((this.onEndDeleteAlgorithmClassDelegate == null)) {
-        this.onEndDeleteAlgorithmClassDelegate = new EndOperationDelegate(this.OnEndDeleteAlgorithmClass);
-      }
-      if ((this.onDeleteAlgorithmClassCompletedDelegate == null)) {
-        this.onDeleteAlgorithmClassCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnDeleteAlgorithmClassCompleted);
-      }
-      base.InvokeAsync(this.onBeginDeleteAlgorithmClassDelegate, new object[] {
-                        algorithmClassId}, this.onEndDeleteAlgorithmClassDelegate, this.onDeleteAlgorithmClassCompletedDelegate, userState);
-    }
-
-    public HeuristicLab.Clients.OKB.Algorithm GetAlgorithm(long algorithmId) {
-      return base.Channel.GetAlgorithm(algorithmId);
-    }
-
-    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
-    public System.IAsyncResult BeginGetAlgorithm(long algorithmId, System.AsyncCallback callback, object asyncState) {
-      return base.Channel.BeginGetAlgorithm(algorithmId, callback, asyncState);
-    }
-
-    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
-    public HeuristicLab.Clients.OKB.Algorithm EndGetAlgorithm(System.IAsyncResult result) {
-      return base.Channel.EndGetAlgorithm(result);
-    }
-
-    private System.IAsyncResult OnBeginGetAlgorithm(object[] inValues, System.AsyncCallback callback, object asyncState) {
-      long algorithmId = ((long)(inValues[0]));
-      return this.BeginGetAlgorithm(algorithmId, callback, asyncState);
-    }
-
-    private object[] OnEndGetAlgorithm(System.IAsyncResult result) {
-      HeuristicLab.Clients.OKB.Algorithm retVal = this.EndGetAlgorithm(result);
-      return new object[] {
-                    retVal};
-    }
-
-    private void OnGetAlgorithmCompleted(object state) {
-      if ((this.GetAlgorithmCompleted != null)) {
-        InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
-        this.GetAlgorithmCompleted(this, new GetAlgorithmCompletedEventArgs(e.Results, e.Error, e.Cancelled, e.UserState));
-      }
-    }
-
-    public void GetAlgorithmAsync(long algorithmId) {
-      this.GetAlgorithmAsync(algorithmId, null);
-    }
-
-    public void GetAlgorithmAsync(long algorithmId, object userState) {
-      if ((this.onBeginGetAlgorithmDelegate == null)) {
-        this.onBeginGetAlgorithmDelegate = new BeginOperationDelegate(this.OnBeginGetAlgorithm);
-      }
-      if ((this.onEndGetAlgorithmDelegate == null)) {
-        this.onEndGetAlgorithmDelegate = new EndOperationDelegate(this.OnEndGetAlgorithm);
-      }
-      if ((this.onGetAlgorithmCompletedDelegate == null)) {
-        this.onGetAlgorithmCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnGetAlgorithmCompleted);
-      }
-      base.InvokeAsync(this.onBeginGetAlgorithmDelegate, new object[] {
-                        algorithmId}, this.onEndGetAlgorithmDelegate, this.onGetAlgorithmCompletedDelegate, userState);
-    }
-
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Algorithm> GetAlgorithms() {
-      return base.Channel.GetAlgorithms();
-    }
-
-    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
-    public System.IAsyncResult BeginGetAlgorithms(System.AsyncCallback callback, object asyncState) {
-      return base.Channel.BeginGetAlgorithms(callback, asyncState);
-    }
-
-    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Algorithm> EndGetAlgorithms(System.IAsyncResult result) {
-      return base.Channel.EndGetAlgorithms(result);
-    }
-
-    private System.IAsyncResult OnBeginGetAlgorithms(object[] inValues, System.AsyncCallback callback, object asyncState) {
-      return this.BeginGetAlgorithms(callback, asyncState);
-    }
-
-    private object[] OnEndGetAlgorithms(System.IAsyncResult result) {
-      HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Algorithm> retVal = this.EndGetAlgorithms(result);
-      return new object[] {
-                    retVal};
-    }
-
-    private void OnGetAlgorithmsCompleted(object state) {
-      if ((this.GetAlgorithmsCompleted != null)) {
-        InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
-        this.GetAlgorithmsCompleted(this, new GetAlgorithmsCompletedEventArgs(e.Results, e.Error, e.Cancelled, e.UserState));
-      }
-    }
-
-    public void GetAlgorithmsAsync() {
-      this.GetAlgorithmsAsync(null);
-    }
-
-    public void GetAlgorithmsAsync(object userState) {
-      if ((this.onBeginGetAlgorithmsDelegate == null)) {
-        this.onBeginGetAlgorithmsDelegate = new BeginOperationDelegate(this.OnBeginGetAlgorithms);
-      }
-      if ((this.onEndGetAlgorithmsDelegate == null)) {
-        this.onEndGetAlgorithmsDelegate = new EndOperationDelegate(this.OnEndGetAlgorithms);
-      }
-      if ((this.onGetAlgorithmsCompletedDelegate == null)) {
-        this.onGetAlgorithmsCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnGetAlgorithmsCompleted);
-      }
-      base.InvokeAsync(this.onBeginGetAlgorithmsDelegate, null, this.onEndGetAlgorithmsDelegate, this.onGetAlgorithmsCompletedDelegate, userState);
-    }
-
-    public void StoreAlgorithm(HeuristicLab.Clients.OKB.Algorithm algorithm) {
-      base.Channel.StoreAlgorithm(algorithm);
-    }
-
-    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
-    public System.IAsyncResult BeginStoreAlgorithm(HeuristicLab.Clients.OKB.Algorithm algorithm, System.AsyncCallback callback, object asyncState) {
-      return base.Channel.BeginStoreAlgorithm(algorithm, callback, asyncState);
-    }
-
-    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
-    public void EndStoreAlgorithm(System.IAsyncResult result) {
-      base.Channel.EndStoreAlgorithm(result);
-    }
-
-    private System.IAsyncResult OnBeginStoreAlgorithm(object[] inValues, System.AsyncCallback callback, object asyncState) {
-      HeuristicLab.Clients.OKB.Algorithm algorithm = ((HeuristicLab.Clients.OKB.Algorithm)(inValues[0]));
-      return this.BeginStoreAlgorithm(algorithm, callback, asyncState);
-    }
-
-    private object[] OnEndStoreAlgorithm(System.IAsyncResult result) {
-      this.EndStoreAlgorithm(result);
-      return null;
-    }
-
-    private void OnStoreAlgorithmCompleted(object state) {
-      if ((this.StoreAlgorithmCompleted != null)) {
-        InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
-        this.StoreAlgorithmCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(e.Error, e.Cancelled, e.UserState));
-      }
-    }
-
-    public void StoreAlgorithmAsync(HeuristicLab.Clients.OKB.Algorithm algorithm) {
-      this.StoreAlgorithmAsync(algorithm, null);
-    }
-
-    public void StoreAlgorithmAsync(HeuristicLab.Clients.OKB.Algorithm algorithm, object userState) {
-      if ((this.onBeginStoreAlgorithmDelegate == null)) {
-        this.onBeginStoreAlgorithmDelegate = new BeginOperationDelegate(this.OnBeginStoreAlgorithm);
-      }
-      if ((this.onEndStoreAlgorithmDelegate == null)) {
-        this.onEndStoreAlgorithmDelegate = new EndOperationDelegate(this.OnEndStoreAlgorithm);
-      }
-      if ((this.onStoreAlgorithmCompletedDelegate == null)) {
-        this.onStoreAlgorithmCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnStoreAlgorithmCompleted);
-      }
-      base.InvokeAsync(this.onBeginStoreAlgorithmDelegate, new object[] {
-                        algorithm}, this.onEndStoreAlgorithmDelegate, this.onStoreAlgorithmCompletedDelegate, userState);
-    }
-
-    public void DeleteAlgorithm(long algorithmId) {
-      base.Channel.DeleteAlgorithm(algorithmId);
-    }
-
-    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
-    public System.IAsyncResult BeginDeleteAlgorithm(long algorithmId, System.AsyncCallback callback, object asyncState) {
-      return base.Channel.BeginDeleteAlgorithm(algorithmId, callback, asyncState);
-    }
-
-    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
-    public void EndDeleteAlgorithm(System.IAsyncResult result) {
-      base.Channel.EndDeleteAlgorithm(result);
-    }
-
-    private System.IAsyncResult OnBeginDeleteAlgorithm(object[] inValues, System.AsyncCallback callback, object asyncState) {
-      long algorithmId = ((long)(inValues[0]));
-      return this.BeginDeleteAlgorithm(algorithmId, callback, asyncState);
-    }
-
-    private object[] OnEndDeleteAlgorithm(System.IAsyncResult result) {
-      this.EndDeleteAlgorithm(result);
-      return null;
-    }
-
-    private void OnDeleteAlgorithmCompleted(object state) {
-      if ((this.DeleteAlgorithmCompleted != null)) {
-        InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
-        this.DeleteAlgorithmCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(e.Error, e.Cancelled, e.UserState));
-      }
-    }
-
-    public void DeleteAlgorithmAsync(long algorithmId) {
-      this.DeleteAlgorithmAsync(algorithmId, null);
-    }
-
-    public void DeleteAlgorithmAsync(long algorithmId, object userState) {
-      if ((this.onBeginDeleteAlgorithmDelegate == null)) {
-        this.onBeginDeleteAlgorithmDelegate = new BeginOperationDelegate(this.OnBeginDeleteAlgorithm);
-      }
-      if ((this.onEndDeleteAlgorithmDelegate == null)) {
-        this.onEndDeleteAlgorithmDelegate = new EndOperationDelegate(this.OnEndDeleteAlgorithm);
-      }
-      if ((this.onDeleteAlgorithmCompletedDelegate == null)) {
-        this.onDeleteAlgorithmCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnDeleteAlgorithmCompleted);
-      }
-      base.InvokeAsync(this.onBeginDeleteAlgorithmDelegate, new object[] {
-                        algorithmId}, this.onEndDeleteAlgorithmDelegate, this.onDeleteAlgorithmCompletedDelegate, userState);
-    }
-
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Platform> GetPlatforms() {
-      return base.Channel.GetPlatforms();
-    }
-
-    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
-    public System.IAsyncResult BeginGetPlatforms(System.AsyncCallback callback, object asyncState) {
-      return base.Channel.BeginGetPlatforms(callback, asyncState);
-    }
-
-    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
-    public HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Platform> EndGetPlatforms(System.IAsyncResult result) {
-      return base.Channel.EndGetPlatforms(result);
-    }
-
-    private System.IAsyncResult OnBeginGetPlatforms(object[] inValues, System.AsyncCallback callback, object asyncState) {
-      return this.BeginGetPlatforms(callback, asyncState);
-    }
-
-    private object[] OnEndGetPlatforms(System.IAsyncResult result) {
-      HeuristicLab.Core.ItemCollection<HeuristicLab.Clients.OKB.Platform> retVal = this.EndGetPlatforms(result);
-      return new object[] {
-                    retVal};
-    }
-
-    private void OnGetPlatformsCompleted(object state) {
-      if ((this.GetPlatformsCompleted != null)) {
-        InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
-        this.GetPlatformsCompleted(this, new GetPlatformsCompletedEventArgs(e.Results, e.Error, e.Cancelled, e.UserState));
-      }
-    }
-
-    public void GetPlatformsAsync() {
-      this.GetPlatformsAsync(null);
-    }
-
-    public void GetPlatformsAsync(object userState) {
-      if ((this.onBeginGetPlatformsDelegate == null)) {
-        this.onBeginGetPlatformsDelegate = new BeginOperationDelegate(this.OnBeginGetPlatforms);
-      }
-      if ((this.onEndGetPlatformsDelegate == null)) {
-        this.onEndGetPlatformsDelegate = new EndOperationDelegate(this.OnEndGetPlatforms);
-      }
-      if ((this.onGetPlatformsCompletedDelegate == null)) {
-        this.onGetPlatformsCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnGetPlatformsCompleted);
-      }
-      base.InvokeAsync(this.onBeginGetPlatformsDelegate, null, this.onEndGetPlatformsDelegate, this.onGetPlatformsCompletedDelegate, userState);
-    }
-
-    public HeuristicLab.Clients.OKB.Algorithm GetCompleteAlgorithm(int id) {
-      return base.Channel.GetCompleteAlgorithm(id);
-    }
-
-    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
-    public System.IAsyncResult BeginGetCompleteAlgorithm(int id, System.AsyncCallback callback, object asyncState) {
-      return base.Channel.BeginGetCompleteAlgorithm(id, callback, asyncState);
-    }
-
-    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
-    public HeuristicLab.Clients.OKB.Algorithm EndGetCompleteAlgorithm(System.IAsyncResult result) {
-      return base.Channel.EndGetCompleteAlgorithm(result);
-    }
-
-    private System.IAsyncResult OnBeginGetCompleteAlgorithm(object[] inValues, System.AsyncCallback callback, object asyncState) {
-      int id = ((int)(inValues[0]));
-      return this.BeginGetCompleteAlgorithm(id, callback, asyncState);
-    }
-
-    private object[] OnEndGetCompleteAlgorithm(System.IAsyncResult result) {
-      HeuristicLab.Clients.OKB.Algorithm retVal = this.EndGetCompleteAlgorithm(result);
-      return new object[] {
-                    retVal};
-    }
-
-    private void OnGetCompleteAlgorithmCompleted(object state) {
-      if ((this.GetCompleteAlgorithmCompleted != null)) {
-        InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
-        this.GetCompleteAlgorithmCompleted(this, new GetCompleteAlgorithmCompletedEventArgs(e.Results, e.Error, e.Cancelled, e.UserState));
-      }
-    }
-
-    public void GetCompleteAlgorithmAsync(int id) {
-      this.GetCompleteAlgorithmAsync(id, null);
-    }
-
-    public void GetCompleteAlgorithmAsync(int id, object userState) {
-      if ((this.onBeginGetCompleteAlgorithmDelegate == null)) {
-        this.onBeginGetCompleteAlgorithmDelegate = new BeginOperationDelegate(this.OnBeginGetCompleteAlgorithm);
-      }
-      if ((this.onEndGetCompleteAlgorithmDelegate == null)) {
-        this.onEndGetCompleteAlgorithmDelegate = new EndOperationDelegate(this.OnEndGetCompleteAlgorithm);
-      }
-      if ((this.onGetCompleteAlgorithmCompletedDelegate == null)) {
-        this.onGetCompleteAlgorithmCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnGetCompleteAlgorithmCompleted);
-      }
-      base.InvokeAsync(this.onBeginGetCompleteAlgorithmDelegate, new object[] {
-                        id}, this.onEndGetCompleteAlgorithmDelegate, this.onGetCompleteAlgorithmCompletedDelegate, userState);
-    }
-
-    public HeuristicLab.Clients.OKB.Problem GetCompleteProblem(int id) {
-      return base.Channel.GetCompleteProblem(id);
-    }
-
-    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
-    public System.IAsyncResult BeginGetCompleteProblem(int id, System.AsyncCallback callback, object asyncState) {
-      return base.Channel.BeginGetCompleteProblem(id, callback, asyncState);
-    }
-
-    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
-    public HeuristicLab.Clients.OKB.Problem EndGetCompleteProblem(System.IAsyncResult result) {
-      return base.Channel.EndGetCompleteProblem(result);
-    }
-
-    private System.IAsyncResult OnBeginGetCompleteProblem(object[] inValues, System.AsyncCallback callback, object asyncState) {
-      int id = ((int)(inValues[0]));
-      return this.BeginGetCompleteProblem(id, callback, asyncState);
-    }
-
-    private object[] OnEndGetCompleteProblem(System.IAsyncResult result) {
-      HeuristicLab.Clients.OKB.Problem retVal = this.EndGetCompleteProblem(result);
-      return new object[] {
-                    retVal};
-    }
-
-    private void OnGetCompleteProblemCompleted(object state) {
-      if ((this.GetCompleteProblemCompleted != null)) {
-        InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
-        this.GetCompleteProblemCompleted(this, new GetCompleteProblemCompletedEventArgs(e.Results, e.Error, e.Cancelled, e.UserState));
-      }
-    }
-
-    public void GetCompleteProblemAsync(int id) {
-      this.GetCompleteProblemAsync(id, null);
-    }
-
-    public void GetCompleteProblemAsync(int id, object userState) {
-      if ((this.onBeginGetCompleteProblemDelegate == null)) {
-        this.onBeginGetCompleteProblemDelegate = new BeginOperationDelegate(this.OnBeginGetCompleteProblem);
-      }
-      if ((this.onEndGetCompleteProblemDelegate == null)) {
-        this.onEndGetCompleteProblemDelegate = new EndOperationDelegate(this.OnEndGetCompleteProblem);
-      }
-      if ((this.onGetCompleteProblemCompletedDelegate == null)) {
-        this.onGetCompleteProblemCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnGetCompleteProblemCompleted);
-      }
-      base.InvokeAsync(this.onBeginGetCompleteProblemDelegate, new object[] {
-                        id}, this.onEndGetCompleteProblemDelegate, this.onGetCompleteProblemCompletedDelegate, userState);
-    }
-
-    public void UpdateCompleteAlgorithm(HeuristicLab.Clients.OKB.Algorithm algorithm) {
-      base.Channel.UpdateCompleteAlgorithm(algorithm);
-    }
-
-    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
-    public System.IAsyncResult BeginUpdateCompleteAlgorithm(HeuristicLab.Clients.OKB.Algorithm algorithm, System.AsyncCallback callback, object asyncState) {
-      return base.Channel.BeginUpdateCompleteAlgorithm(algorithm, callback, asyncState);
-    }
-
-    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
-    public void EndUpdateCompleteAlgorithm(System.IAsyncResult result) {
-      base.Channel.EndUpdateCompleteAlgorithm(result);
-    }
-
-    private System.IAsyncResult OnBeginUpdateCompleteAlgorithm(object[] inValues, System.AsyncCallback callback, object asyncState) {
-      HeuristicLab.Clients.OKB.Algorithm algorithm = ((HeuristicLab.Clients.OKB.Algorithm)(inValues[0]));
-      return this.BeginUpdateCompleteAlgorithm(algorithm, callback, asyncState);
-    }
-
-    private object[] OnEndUpdateCompleteAlgorithm(System.IAsyncResult result) {
-      this.EndUpdateCompleteAlgorithm(result);
-      return null;
-    }
-
-    private void OnUpdateCompleteAlgorithmCompleted(object state) {
-      if ((this.UpdateCompleteAlgorithmCompleted != null)) {
-        InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
-        this.UpdateCompleteAlgorithmCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(e.Error, e.Cancelled, e.UserState));
-      }
-    }
-
-    public void UpdateCompleteAlgorithmAsync(HeuristicLab.Clients.OKB.Algorithm algorithm) {
-      this.UpdateCompleteAlgorithmAsync(algorithm, null);
-    }
-
-    public void UpdateCompleteAlgorithmAsync(HeuristicLab.Clients.OKB.Algorithm algorithm, object userState) {
-      if ((this.onBeginUpdateCompleteAlgorithmDelegate == null)) {
-        this.onBeginUpdateCompleteAlgorithmDelegate = new BeginOperationDelegate(this.OnBeginUpdateCompleteAlgorithm);
-      }
-      if ((this.onEndUpdateCompleteAlgorithmDelegate == null)) {
-        this.onEndUpdateCompleteAlgorithmDelegate = new EndOperationDelegate(this.OnEndUpdateCompleteAlgorithm);
-      }
-      if ((this.onUpdateCompleteAlgorithmCompletedDelegate == null)) {
-        this.onUpdateCompleteAlgorithmCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnUpdateCompleteAlgorithmCompleted);
-      }
-      base.InvokeAsync(this.onBeginUpdateCompleteAlgorithmDelegate, new object[] {
-                        algorithm}, this.onEndUpdateCompleteAlgorithmDelegate, this.onUpdateCompleteAlgorithmCompletedDelegate, userState);
-    }
-
-    public void UpdateCompleteProblem(HeuristicLab.Clients.OKB.Problem problem) {
-      base.Channel.UpdateCompleteProblem(problem);
-    }
-
-    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
-    public System.IAsyncResult BeginUpdateCompleteProblem(HeuristicLab.Clients.OKB.Problem problem, System.AsyncCallback callback, object asyncState) {
-      return base.Channel.BeginUpdateCompleteProblem(problem, callback, asyncState);
-    }
-
-    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
-    public void EndUpdateCompleteProblem(System.IAsyncResult result) {
-      base.Channel.EndUpdateCompleteProblem(result);
-    }
-
-    private System.IAsyncResult OnBeginUpdateCompleteProblem(object[] inValues, System.AsyncCallback callback, object asyncState) {
-      HeuristicLab.Clients.OKB.Problem problem = ((HeuristicLab.Clients.OKB.Problem)(inValues[0]));
-      return this.BeginUpdateCompleteProblem(problem, callback, asyncState);
-    }
-
-    private object[] OnEndUpdateCompleteProblem(System.IAsyncResult result) {
-      this.EndUpdateCompleteProblem(result);
-      return null;
-    }
-
-    private void OnUpdateCompleteProblemCompleted(object state) {
-      if ((this.UpdateCompleteProblemCompleted != null)) {
-        InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
-        this.UpdateCompleteProblemCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(e.Error, e.Cancelled, e.UserState));
-      }
-    }
-
-    public void UpdateCompleteProblemAsync(HeuristicLab.Clients.OKB.Problem problem) {
-      this.UpdateCompleteProblemAsync(problem, null);
-    }
-
-    public void UpdateCompleteProblemAsync(HeuristicLab.Clients.OKB.Problem problem, object userState) {
-      if ((this.onBeginUpdateCompleteProblemDelegate == null)) {
-        this.onBeginUpdateCompleteProblemDelegate = new BeginOperationDelegate(this.OnBeginUpdateCompleteProblem);
-      }
-      if ((this.onEndUpdateCompleteProblemDelegate == null)) {
-        this.onEndUpdateCompleteProblemDelegate = new EndOperationDelegate(this.OnEndUpdateCompleteProblem);
-      }
-      if ((this.onUpdateCompleteProblemCompletedDelegate == null)) {
-        this.onUpdateCompleteProblemCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnUpdateCompleteProblemCompleted);
-      }
-      base.InvokeAsync(this.onBeginUpdateCompleteProblemDelegate, new object[] {
-                        problem}, this.onEndUpdateCompleteProblemDelegate, this.onUpdateCompleteProblemCompletedDelegate, userState);
-    }
-  }
 }
