Index: branches/OKB (trunk integration)/HeuristicLab.Clients.OKB/3.3/ServiceClients/GenerateServiceClients.cmd
===================================================================
--- branches/OKB (trunk integration)/HeuristicLab.Clients.OKB/3.3/ServiceClients/GenerateServiceClients.cmd	(revision 5298)
+++ branches/OKB (trunk integration)/HeuristicLab.Clients.OKB/3.3/ServiceClients/GenerateServiceClients.cmd	(revision 5299)
@@ -3,5 +3,5 @@
 echo.
 echo *******************************************************************************************
-echo Generating OKBService client
+echo Generating OKB service clients
 echo.
 
@@ -9,6 +9,7 @@
 
 svcutil.exe ^
-  http://localhost:8732/Design_Time_Addresses/OKB-3.3/OKBService/mex ^
-  /out:OKBServiceClient ^
+  http://localhost:8732/Design_Time_Addresses/OKB-3.3/AdministrationService/mex ^
+  http://localhost:8732/Design_Time_Addresses/OKB-3.3/QueryService/mex ^
+  /out:OKBServiceClients ^
   /namespace:*,HeuristicLab.Clients.OKB ^
   /collectionType:System.Collections.Generic.List`1 ^
@@ -27,5 +28,5 @@
 echo ---------------------------------------------------------------------------------------
 echo.
-echo Generation of OKBService client finished.
+echo Generation of OKB service clients finished.
 echo *******************************************************************************************
 echo.
Index: branches/OKB (trunk integration)/HeuristicLab.Clients.OKB/3.3/ServiceClients/OKBServiceClient.cs
===================================================================
--- branches/OKB (trunk integration)/HeuristicLab.Clients.OKB/3.3/ServiceClients/OKBServiceClient.cs	(revision 5298)
+++ 	(revision )
@@ -1,2258 +1,0 @@
-﻿//------------------------------------------------------------------------------
-// <auto-generated>
-//     This code was generated by a tool.
-//     Runtime Version:4.0.30319.1
-//
-//     Changes to this file may cause incorrect behavior and will be lost if
-//     the code is regenerated.
-// </auto-generated>
-//------------------------------------------------------------------------------
-
-namespace HeuristicLab.Clients.OKB {
-
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "OKBItem", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Experiment))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Run))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.DataType))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NamedOKBItem))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.AlgorithmParameter))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ProblemClass))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Problem))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ProblemParameter))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Platform))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.AlgorithmClass))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Algorithm))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Result))]
-  public partial class OKBItem : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
-
-    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
-
-    private long IdField;
-
-    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");
-        }
-      }
-    }
-
-    public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
-  }
-
-  [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.DataTransfer")]
-  public partial class Experiment : HeuristicLab.Clients.OKB.OKBItem {
-
-    private long AlgorithmIdField;
-
-    private System.Collections.Generic.List<HeuristicLab.Clients.OKB.AlgorithmParameterValue> AlgorithmParameterValuesField;
-
-    private long ProblemIdField;
-
-    private System.Collections.Generic.List<HeuristicLab.Clients.OKB.ProblemParameterValue> ProblemParameterValuesField;
-
-    [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.Collections.Generic.List<HeuristicLab.Clients.OKB.AlgorithmParameterValue> AlgorithmParameterValues {
-      get {
-        return this.AlgorithmParameterValuesField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.AlgorithmParameterValuesField, value) != true)) {
-          this.AlgorithmParameterValuesField = value;
-          this.RaisePropertyChanged("AlgorithmParameterValues");
-        }
-      }
-    }
-
-    [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.Collections.Generic.List<HeuristicLab.Clients.OKB.ProblemParameterValue> ProblemParameterValues {
-      get {
-        return this.ProblemParameterValuesField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ProblemParameterValuesField, value) != true)) {
-          this.ProblemParameterValuesField = value;
-          this.RaisePropertyChanged("ProblemParameterValues");
-        }
-      }
-    }
-  }
-
-  [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.DataTransfer")]
-  public partial class Run : HeuristicLab.Clients.OKB.OKBItem {
-
-    private System.Guid ClientIdField;
-
-    private System.DateTime CreatedDateField;
-
-    private long ExperimentIdField;
-
-    private long RandomSeedField;
-
-    private System.Collections.Generic.List<HeuristicLab.Clients.OKB.ResultValue> ResultValuesField;
-
-    private System.Guid UserIdField;
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    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()]
-    public System.DateTime CreatedDate {
-      get {
-        return this.CreatedDateField;
-      }
-      set {
-        if ((this.CreatedDateField.Equals(value) != true)) {
-          this.CreatedDateField = value;
-          this.RaisePropertyChanged("CreatedDate");
-        }
-      }
-    }
-
-    [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()]
-    public long RandomSeed {
-      get {
-        return this.RandomSeedField;
-      }
-      set {
-        if ((this.RandomSeedField.Equals(value) != true)) {
-          this.RandomSeedField = value;
-          this.RaisePropertyChanged("RandomSeed");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public System.Collections.Generic.List<HeuristicLab.Clients.OKB.ResultValue> ResultValues {
-      get {
-        return this.ResultValuesField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ResultValuesField, value) != true)) {
-          this.ResultValuesField = value;
-          this.RaisePropertyChanged("ResultValues");
-        }
-      }
-    }
-
-    [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.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.DataTransfer")]
-  public partial class DataType : HeuristicLab.Clients.OKB.OKBItem {
-
-    private string NameField;
-
-    private long PlatformIdField;
-
-    private string SqlNameField;
-
-    private string TypeNameField;
-
-    [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()]
-    public long PlatformId {
-      get {
-        return this.PlatformIdField;
-      }
-      set {
-        if ((this.PlatformIdField.Equals(value) != true)) {
-          this.PlatformIdField = value;
-          this.RaisePropertyChanged("PlatformId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    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()]
-    public string TypeName {
-      get {
-        return this.TypeNameField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.TypeNameField, value) != true)) {
-          this.TypeNameField = value;
-          this.RaisePropertyChanged("TypeName");
-        }
-      }
-    }
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "NamedOKBItem", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.AlgorithmParameter))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ProblemClass))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Problem))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ProblemParameter))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Platform))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.AlgorithmClass))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Algorithm))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Result))]
-  public partial class NamedOKBItem : HeuristicLab.Clients.OKB.OKBItem {
-
-    private string DescriptionField;
-
-    private string NameField;
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    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()]
-    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 = "AlgorithmParameter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
-  public partial class AlgorithmParameter : HeuristicLab.Clients.OKB.NamedOKBItem {
-
-    private long AlgorithmIdField;
-
-    private string AliasField;
-
-    private long DataTypeIdField;
-
-    [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 string Alias {
-      get {
-        return this.AliasField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.AliasField, value) != true)) {
-          this.AliasField = value;
-          this.RaisePropertyChanged("Alias");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public long DataTypeId {
-      get {
-        return this.DataTypeIdField;
-      }
-      set {
-        if ((this.DataTypeIdField.Equals(value) != true)) {
-          this.DataTypeIdField = value;
-          this.RaisePropertyChanged("DataTypeId");
-        }
-      }
-    }
-  }
-
-  [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.DataTransfer")]
-  public partial class ProblemClass : HeuristicLab.Clients.OKB.NamedOKBItem {
-  }
-
-  [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.DataTransfer")]
-  public partial class Problem : HeuristicLab.Clients.OKB.NamedOKBItem {
-
-    private long PlatformIdField;
-
-    private long ProblemClassIdField;
-
-    [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()]
-    public long ProblemClassId {
-      get {
-        return this.ProblemClassIdField;
-      }
-      set {
-        if ((this.ProblemClassIdField.Equals(value) != true)) {
-          this.ProblemClassIdField = value;
-          this.RaisePropertyChanged("ProblemClassId");
-        }
-      }
-    }
-  }
-
-  [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.DataTransfer")]
-  public partial class ProblemParameter : HeuristicLab.Clients.OKB.NamedOKBItem {
-
-    private string AliasField;
-
-    private long DataTypeIdField;
-
-    private long ProblemIdField;
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    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()]
-    public long DataTypeId {
-      get {
-        return this.DataTypeIdField;
-      }
-      set {
-        if ((this.DataTypeIdField.Equals(value) != true)) {
-          this.DataTypeIdField = value;
-          this.RaisePropertyChanged("DataTypeId");
-        }
-      }
-    }
-
-    [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.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.DataTransfer")]
-  public partial class Platform : HeuristicLab.Clients.OKB.NamedOKBItem {
-  }
-
-  [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.DataTransfer")]
-  public partial class AlgorithmClass : HeuristicLab.Clients.OKB.NamedOKBItem {
-  }
-
-  [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.DataTransfer")]
-  public partial class Algorithm : HeuristicLab.Clients.OKB.NamedOKBItem {
-
-    private long AlgorithmClassIdField;
-
-    private long PlatformIdField;
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public long AlgorithmClassId {
-      get {
-        return this.AlgorithmClassIdField;
-      }
-      set {
-        if ((this.AlgorithmClassIdField.Equals(value) != true)) {
-          this.AlgorithmClassIdField = value;
-          this.RaisePropertyChanged("AlgorithmClassId");
-        }
-      }
-    }
-
-    [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.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.DataTransfer")]
-  public partial class Result : HeuristicLab.Clients.OKB.NamedOKBItem {
-
-    private long AlgorithmIdField;
-
-    private string AliasField;
-
-    private long DataTypeIdField;
-
-    [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 string Alias {
-      get {
-        return this.AliasField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.AliasField, value) != true)) {
-          this.AliasField = value;
-          this.RaisePropertyChanged("Alias");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public long DataTypeId {
-      get {
-        return this.DataTypeIdField;
-      }
-      set {
-        if ((this.DataTypeIdField.Equals(value) != true)) {
-          this.DataTypeIdField = value;
-          this.RaisePropertyChanged("DataTypeId");
-        }
-      }
-    }
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "AlgorithmParameterValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.AlgorithmParameterBoolValue))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.AlgorithmParameterBlobValue))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.AlgorithmParameterStringValue))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.AlgorithmParameterFloatValue))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.AlgorithmParameterIntValue))]
-  public partial class AlgorithmParameterValue : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
-
-    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
-
-    private long AlgorithmParameterIdField;
-
-    private long DataTypeIdField;
-
-    private long ExperimentIdField;
-
-    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 DataTypeId {
-      get {
-        return this.DataTypeIdField;
-      }
-      set {
-        if ((this.DataTypeIdField.Equals(value) != true)) {
-          this.DataTypeIdField = value;
-          this.RaisePropertyChanged("DataTypeId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public long ExperimentId {
-      get {
-        return this.ExperimentIdField;
-      }
-      set {
-        if ((this.ExperimentIdField.Equals(value) != true)) {
-          this.ExperimentIdField = value;
-          this.RaisePropertyChanged("ExperimentId");
-        }
-      }
-    }
-
-    public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
-
-    protected void RaisePropertyChanged(string propertyName) {
-      System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
-      if ((propertyChanged != null)) {
-        propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
-      }
-    }
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "ProblemParameterValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ProblemParameterBoolValue))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ProblemParameterBlobValue))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ProblemParameterFloatValue))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ProblemParameterStringValue))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ProblemParameterIntValue))]
-  public partial class ProblemParameterValue : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
-
-    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
-
-    private long DataTypeIdField;
-
-    private long ExperimentIdField;
-
-    private long ProblemParameterIdField;
-
-    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
-      get {
-        return this.extensionDataField;
-      }
-      set {
-        this.extensionDataField = value;
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public long DataTypeId {
-      get {
-        return this.DataTypeIdField;
-      }
-      set {
-        if ((this.DataTypeIdField.Equals(value) != true)) {
-          this.DataTypeIdField = value;
-          this.RaisePropertyChanged("DataTypeId");
-        }
-      }
-    }
-
-    [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()]
-    public long ProblemParameterId {
-      get {
-        return this.ProblemParameterIdField;
-      }
-      set {
-        if ((this.ProblemParameterIdField.Equals(value) != true)) {
-          this.ProblemParameterIdField = value;
-          this.RaisePropertyChanged("ProblemParameterId");
-        }
-      }
-    }
-
-    public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
-
-    protected void RaisePropertyChanged(string propertyName) {
-      System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
-      if ((propertyChanged != null)) {
-        propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
-      }
-    }
-  }
-
-  [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.DataTransfer")]
-  public partial class AlgorithmParameterBoolValue : HeuristicLab.Clients.OKB.AlgorithmParameterValue {
-
-    private bool ValueField;
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public bool Value {
-      get {
-        return this.ValueField;
-      }
-      set {
-        if ((this.ValueField.Equals(value) != true)) {
-          this.ValueField = value;
-          this.RaisePropertyChanged("Value");
-        }
-      }
-    }
-  }
-
-  [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.DataTransfer")]
-  public partial class AlgorithmParameterBlobValue : HeuristicLab.Clients.OKB.AlgorithmParameterValue {
-
-    private byte[] ValueField;
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public byte[] Value {
-      get {
-        return this.ValueField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ValueField, value) != true)) {
-          this.ValueField = value;
-          this.RaisePropertyChanged("Value");
-        }
-      }
-    }
-  }
-
-  [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.DataTransfer")]
-  public partial class AlgorithmParameterStringValue : HeuristicLab.Clients.OKB.AlgorithmParameterValue {
-
-    private string ValueField;
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public string Value {
-      get {
-        return this.ValueField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ValueField, value) != true)) {
-          this.ValueField = value;
-          this.RaisePropertyChanged("Value");
-        }
-      }
-    }
-  }
-
-  [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.DataTransfer")]
-  public partial class AlgorithmParameterFloatValue : HeuristicLab.Clients.OKB.AlgorithmParameterValue {
-
-    private double ValueField;
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public double Value {
-      get {
-        return this.ValueField;
-      }
-      set {
-        if ((this.ValueField.Equals(value) != true)) {
-          this.ValueField = value;
-          this.RaisePropertyChanged("Value");
-        }
-      }
-    }
-  }
-
-  [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.DataTransfer")]
-  public partial class AlgorithmParameterIntValue : HeuristicLab.Clients.OKB.AlgorithmParameterValue {
-
-    private long ValueField;
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public long Value {
-      get {
-        return this.ValueField;
-      }
-      set {
-        if ((this.ValueField.Equals(value) != true)) {
-          this.ValueField = value;
-          this.RaisePropertyChanged("Value");
-        }
-      }
-    }
-  }
-
-  [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.DataTransfer")]
-  public partial class ProblemParameterBoolValue : HeuristicLab.Clients.OKB.ProblemParameterValue {
-
-    private bool ValueField;
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public bool Value {
-      get {
-        return this.ValueField;
-      }
-      set {
-        if ((this.ValueField.Equals(value) != true)) {
-          this.ValueField = value;
-          this.RaisePropertyChanged("Value");
-        }
-      }
-    }
-  }
-
-  [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.DataTransfer")]
-  public partial class ProblemParameterBlobValue : HeuristicLab.Clients.OKB.ProblemParameterValue {
-
-    private byte[] ValueField;
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public byte[] Value {
-      get {
-        return this.ValueField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ValueField, value) != true)) {
-          this.ValueField = value;
-          this.RaisePropertyChanged("Value");
-        }
-      }
-    }
-  }
-
-  [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.DataTransfer")]
-  public partial class ProblemParameterFloatValue : HeuristicLab.Clients.OKB.ProblemParameterValue {
-
-    private double ValueField;
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public double Value {
-      get {
-        return this.ValueField;
-      }
-      set {
-        if ((this.ValueField.Equals(value) != true)) {
-          this.ValueField = value;
-          this.RaisePropertyChanged("Value");
-        }
-      }
-    }
-  }
-
-  [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.DataTransfer")]
-  public partial class ProblemParameterStringValue : HeuristicLab.Clients.OKB.ProblemParameterValue {
-
-    private string ValueField;
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public string Value {
-      get {
-        return this.ValueField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ValueField, value) != true)) {
-          this.ValueField = value;
-          this.RaisePropertyChanged("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.DataTransfer")]
-  public partial class ProblemParameterIntValue : HeuristicLab.Clients.OKB.ProblemParameterValue {
-
-    private long ValueField;
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public long Value {
-      get {
-        return this.ValueField;
-      }
-      set {
-        if ((this.ValueField.Equals(value) != true)) {
-          this.ValueField = value;
-          this.RaisePropertyChanged("Value");
-        }
-      }
-    }
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "ResultValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ResultStringValue))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ResultFloatValue))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ResultBlobValue))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ResultBoolValue))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ResultIntValue))]
-  public partial class ResultValue : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
-
-    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
-
-    private long DataTypeIdField;
-
-    private long ResultIdField;
-
-    private long RunIdField;
-
-    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
-      get {
-        return this.extensionDataField;
-      }
-      set {
-        this.extensionDataField = value;
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public long DataTypeId {
-      get {
-        return this.DataTypeIdField;
-      }
-      set {
-        if ((this.DataTypeIdField.Equals(value) != true)) {
-          this.DataTypeIdField = value;
-          this.RaisePropertyChanged("DataTypeId");
-        }
-      }
-    }
-
-    [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");
-        }
-      }
-    }
-
-    public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
-
-    protected void RaisePropertyChanged(string propertyName) {
-      System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
-      if ((propertyChanged != null)) {
-        propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
-      }
-    }
-  }
-
-  [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.DataTransfer")]
-  public partial class ResultStringValue : HeuristicLab.Clients.OKB.ResultValue {
-
-    private string ValueField;
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public string Value {
-      get {
-        return this.ValueField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ValueField, value) != true)) {
-          this.ValueField = value;
-          this.RaisePropertyChanged("Value");
-        }
-      }
-    }
-  }
-
-  [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.DataTransfer")]
-  public partial class ResultFloatValue : HeuristicLab.Clients.OKB.ResultValue {
-
-    private double ValueField;
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public double Value {
-      get {
-        return this.ValueField;
-      }
-      set {
-        if ((this.ValueField.Equals(value) != true)) {
-          this.ValueField = value;
-          this.RaisePropertyChanged("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.DataTransfer")]
-  public partial class ResultBlobValue : HeuristicLab.Clients.OKB.ResultValue {
-
-    private byte[] ValueField;
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public byte[] Value {
-      get {
-        return this.ValueField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ValueField, value) != true)) {
-          this.ValueField = value;
-          this.RaisePropertyChanged("Value");
-        }
-      }
-    }
-  }
-
-  [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.DataTransfer")]
-  public partial class ResultBoolValue : HeuristicLab.Clients.OKB.ResultValue {
-
-    private bool ValueField;
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public bool Value {
-      get {
-        return this.ValueField;
-      }
-      set {
-        if ((this.ValueField.Equals(value) != true)) {
-          this.ValueField = value;
-          this.RaisePropertyChanged("Value");
-        }
-      }
-    }
-  }
-
-  [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.DataTransfer")]
-  public partial class ResultIntValue : HeuristicLab.Clients.OKB.ResultValue {
-
-    private long ValueField;
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public long Value {
-      get {
-        return this.ValueField;
-      }
-      set {
-        if ((this.ValueField.Equals(value) != true)) {
-          this.ValueField = value;
-          this.RaisePropertyChanged("Value");
-        }
-      }
-    }
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "Filter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.SetComparisonFilter))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NameSetComparisonStringFilter))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NameSetComparisonStringAvailableValuesFilter))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.SetComparisonStringFilter))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.SetComparisonStringAvailableValuesFilter))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.EqualityComparisonFilter))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NameEqualityComparisonByteArrayFilter))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NameEqualityComparisonBoolFilter))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.OrdinalComparisonFilter))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NameOrdinalComparisonDoubleFilter))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.OrdinalComparisonDateTimeFilter))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NameOrdinalComparisonLongFilter))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.OrdinalComparisonLongFilter))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.CombinedFilter))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.OrFilter))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.AndFilter))]
-  public partial class Filter : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
-
-    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
-
-    private string FilterTypeNameField;
-
-    private string LabelField;
-
-    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
-      get {
-        return this.extensionDataField;
-      }
-      set {
-        this.extensionDataField = value;
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public string FilterTypeName {
-      get {
-        return this.FilterTypeNameField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.FilterTypeNameField, value) != true)) {
-          this.FilterTypeNameField = value;
-          this.RaisePropertyChanged("FilterTypeName");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public string Label {
-      get {
-        return this.LabelField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.LabelField, value) != true)) {
-          this.LabelField = value;
-          this.RaisePropertyChanged("Label");
-        }
-      }
-    }
-
-    public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
-
-    protected void RaisePropertyChanged(string propertyName) {
-      System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
-      if ((propertyChanged != null)) {
-        propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
-      }
-    }
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "SetComparisonFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NameSetComparisonStringFilter))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NameSetComparisonStringAvailableValuesFilter))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.SetComparisonStringFilter))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.SetComparisonStringAvailableValuesFilter))]
-  public partial class SetComparisonFilter : HeuristicLab.Clients.OKB.Filter {
-
-    private HeuristicLab.Clients.OKB.SetComparison ComparisonField;
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public HeuristicLab.Clients.OKB.SetComparison Comparison {
-      get {
-        return this.ComparisonField;
-      }
-      set {
-        if ((this.ComparisonField.Equals(value) != true)) {
-          this.ComparisonField = value;
-          this.RaisePropertyChanged("Comparison");
-        }
-      }
-    }
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "NameSetComparisonStringFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NameSetComparisonStringAvailableValuesFilter))]
-  public partial class NameSetComparisonStringFilter : HeuristicLab.Clients.OKB.SetComparisonFilter {
-
-    private string NameField;
-
-    private string ValueField;
-
-    [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()]
-    public string Value {
-      get {
-        return this.ValueField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ValueField, value) != true)) {
-          this.ValueField = value;
-          this.RaisePropertyChanged("Value");
-        }
-      }
-    }
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "NameSetComparisonStringAvailableValuesFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
-  public partial class NameSetComparisonStringAvailableValuesFilter : HeuristicLab.Clients.OKB.NameSetComparisonStringFilter {
-
-    private System.Collections.Generic.List<string> AvailableValuesField;
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public System.Collections.Generic.List<string> AvailableValues {
-      get {
-        return this.AvailableValuesField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.AvailableValuesField, value) != true)) {
-          this.AvailableValuesField = value;
-          this.RaisePropertyChanged("AvailableValues");
-        }
-      }
-    }
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "SetComparisonStringFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.SetComparisonStringAvailableValuesFilter))]
-  public partial class SetComparisonStringFilter : HeuristicLab.Clients.OKB.SetComparisonFilter {
-
-    private string ValueField;
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public string Value {
-      get {
-        return this.ValueField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ValueField, value) != true)) {
-          this.ValueField = value;
-          this.RaisePropertyChanged("Value");
-        }
-      }
-    }
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "SetComparisonStringAvailableValuesFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
-  public partial class SetComparisonStringAvailableValuesFilter : HeuristicLab.Clients.OKB.SetComparisonStringFilter {
-
-    private System.Collections.Generic.List<string> AvailableValuesField;
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public System.Collections.Generic.List<string> AvailableValues {
-      get {
-        return this.AvailableValuesField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.AvailableValuesField, value) != true)) {
-          this.AvailableValuesField = value;
-          this.RaisePropertyChanged("AvailableValues");
-        }
-      }
-    }
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "EqualityComparisonFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NameEqualityComparisonByteArrayFilter))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NameEqualityComparisonBoolFilter))]
-  public partial class EqualityComparisonFilter : HeuristicLab.Clients.OKB.Filter {
-
-    private HeuristicLab.Clients.OKB.EqualityComparison ComparisonField;
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public HeuristicLab.Clients.OKB.EqualityComparison Comparison {
-      get {
-        return this.ComparisonField;
-      }
-      set {
-        if ((this.ComparisonField.Equals(value) != true)) {
-          this.ComparisonField = value;
-          this.RaisePropertyChanged("Comparison");
-        }
-      }
-    }
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "NameEqualityComparisonByteArrayFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
-  public partial class NameEqualityComparisonByteArrayFilter : HeuristicLab.Clients.OKB.EqualityComparisonFilter {
-
-    private string NameField;
-
-    private byte[] ValueField;
-
-    [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()]
-    public byte[] Value {
-      get {
-        return this.ValueField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ValueField, value) != true)) {
-          this.ValueField = value;
-          this.RaisePropertyChanged("Value");
-        }
-      }
-    }
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "NameEqualityComparisonBoolFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
-  public partial class NameEqualityComparisonBoolFilter : HeuristicLab.Clients.OKB.EqualityComparisonFilter {
-
-    private string NameField;
-
-    private bool ValueField;
-
-    [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()]
-    public bool Value {
-      get {
-        return this.ValueField;
-      }
-      set {
-        if ((this.ValueField.Equals(value) != true)) {
-          this.ValueField = value;
-          this.RaisePropertyChanged("Value");
-        }
-      }
-    }
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "OrdinalComparisonFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NameOrdinalComparisonDoubleFilter))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.OrdinalComparisonDateTimeFilter))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NameOrdinalComparisonLongFilter))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.OrdinalComparisonLongFilter))]
-  public partial class OrdinalComparisonFilter : HeuristicLab.Clients.OKB.Filter {
-
-    private HeuristicLab.Clients.OKB.OrdinalComparison ComparisonField;
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public HeuristicLab.Clients.OKB.OrdinalComparison Comparison {
-      get {
-        return this.ComparisonField;
-      }
-      set {
-        if ((this.ComparisonField.Equals(value) != true)) {
-          this.ComparisonField = value;
-          this.RaisePropertyChanged("Comparison");
-        }
-      }
-    }
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "NameOrdinalComparisonDoubleFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
-  public partial class NameOrdinalComparisonDoubleFilter : HeuristicLab.Clients.OKB.OrdinalComparisonFilter {
-
-    private string NameField;
-
-    private double ValueField;
-
-    [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()]
-    public double Value {
-      get {
-        return this.ValueField;
-      }
-      set {
-        if ((this.ValueField.Equals(value) != true)) {
-          this.ValueField = value;
-          this.RaisePropertyChanged("Value");
-        }
-      }
-    }
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "OrdinalComparisonDateTimeFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
-  public partial class OrdinalComparisonDateTimeFilter : HeuristicLab.Clients.OKB.OrdinalComparisonFilter {
-
-    private System.DateTime ValueField;
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public System.DateTime Value {
-      get {
-        return this.ValueField;
-      }
-      set {
-        if ((this.ValueField.Equals(value) != true)) {
-          this.ValueField = value;
-          this.RaisePropertyChanged("Value");
-        }
-      }
-    }
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "NameOrdinalComparisonLongFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
-  public partial class NameOrdinalComparisonLongFilter : HeuristicLab.Clients.OKB.OrdinalComparisonFilter {
-
-    private string NameField;
-
-    private long ValueField;
-
-    [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()]
-    public long Value {
-      get {
-        return this.ValueField;
-      }
-      set {
-        if ((this.ValueField.Equals(value) != true)) {
-          this.ValueField = value;
-          this.RaisePropertyChanged("Value");
-        }
-      }
-    }
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "OrdinalComparisonLongFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
-  public partial class OrdinalComparisonLongFilter : HeuristicLab.Clients.OKB.OrdinalComparisonFilter {
-
-    private long ValueField;
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public long Value {
-      get {
-        return this.ValueField;
-      }
-      set {
-        if ((this.ValueField.Equals(value) != true)) {
-          this.ValueField = value;
-          this.RaisePropertyChanged("Value");
-        }
-      }
-    }
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "CombinedFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.OrFilter))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.AndFilter))]
-  public partial class CombinedFilter : HeuristicLab.Clients.OKB.Filter {
-
-    private System.Collections.Generic.List<HeuristicLab.Clients.OKB.Filter> FiltersField;
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public System.Collections.Generic.List<HeuristicLab.Clients.OKB.Filter> Filters {
-      get {
-        return this.FiltersField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.FiltersField, value) != true)) {
-          this.FiltersField = value;
-          this.RaisePropertyChanged("Filters");
-        }
-      }
-    }
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "OrFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
-  public partial class OrFilter : HeuristicLab.Clients.OKB.CombinedFilter {
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "AndFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
-  public partial class AndFilter : HeuristicLab.Clients.OKB.CombinedFilter {
-  }
-
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "SetComparison", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
-  public enum SetComparison : int {
-
-    [System.Runtime.Serialization.EnumMemberAttribute()]
-    Equal = 0,
-
-    [System.Runtime.Serialization.EnumMemberAttribute()]
-    NotEqual = 1,
-
-    [System.Runtime.Serialization.EnumMemberAttribute()]
-    Contains = 2,
-
-    [System.Runtime.Serialization.EnumMemberAttribute()]
-    NotContains = 3,
-  }
-
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "EqualityComparison", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
-  public enum EqualityComparison : int {
-
-    [System.Runtime.Serialization.EnumMemberAttribute()]
-    Equal = 0,
-
-    [System.Runtime.Serialization.EnumMemberAttribute()]
-    NotEqual = 1,
-  }
-
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "OrdinalComparison", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
-  public enum OrdinalComparison : int {
-
-    [System.Runtime.Serialization.EnumMemberAttribute()]
-    Less = 0,
-
-    [System.Runtime.Serialization.EnumMemberAttribute()]
-    LessOrEqual = 1,
-
-    [System.Runtime.Serialization.EnumMemberAttribute()]
-    Equal = 2,
-
-    [System.Runtime.Serialization.EnumMemberAttribute()]
-    GreaterOrEqual = 3,
-
-    [System.Runtime.Serialization.EnumMemberAttribute()]
-    Greater = 4,
-
-    [System.Runtime.Serialization.EnumMemberAttribute()]
-    NotEqual = 5,
-  }
-
-  [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.DataTransfer")]
-  public partial class ProblemData : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
-
-    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
-
-    private byte[] DataField;
-
-    private long DataTypeIdField;
-
-    private long ProblemIdField;
-
-    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
-      get {
-        return this.extensionDataField;
-      }
-      set {
-        this.extensionDataField = value;
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public byte[] Data {
-      get {
-        return this.DataField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.DataField, value) != true)) {
-          this.DataField = value;
-          this.RaisePropertyChanged("Data");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public long DataTypeId {
-      get {
-        return this.DataTypeIdField;
-      }
-      set {
-        if ((this.DataTypeIdField.Equals(value) != true)) {
-          this.DataTypeIdField = value;
-          this.RaisePropertyChanged("DataTypeId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public long ProblemId {
-      get {
-        return this.ProblemIdField;
-      }
-      set {
-        if ((this.ProblemIdField.Equals(value) != true)) {
-          this.ProblemIdField = value;
-          this.RaisePropertyChanged("ProblemId");
-        }
-      }
-    }
-
-    public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
-
-    protected void RaisePropertyChanged(string propertyName) {
-      System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
-      if ((propertyChanged != null)) {
-        propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
-      }
-    }
-  }
-
-  [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.DataTransfer")]
-  public partial class AlgorithmData : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
-
-    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
-
-    private long AlgorithmIdField;
-
-    private byte[] DataField;
-
-    private long DataTypeIdField;
-
-    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 byte[] Data {
-      get {
-        return this.DataField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.DataField, value) != true)) {
-          this.DataField = value;
-          this.RaisePropertyChanged("Data");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public long DataTypeId {
-      get {
-        return this.DataTypeIdField;
-      }
-      set {
-        if ((this.DataTypeIdField.Equals(value) != true)) {
-          this.DataTypeIdField = value;
-          this.RaisePropertyChanged("DataTypeId");
-        }
-      }
-    }
-
-    public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
-
-    protected void RaisePropertyChanged(string propertyName) {
-      System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
-      if ((propertyChanged != null)) {
-        propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
-      }
-    }
-  }
-
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
-  [System.ServiceModel.ServiceContractAttribute(ConfigurationName = "HeuristicLab.Clients.OKB.IOKBService")]
-  public interface IOKBService {
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/AddResult", ReplyAction = "http://tempuri.org/IOKBService/AddResultResponse")]
-    long AddResult(HeuristicLab.Clients.OKB.Result dto);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/UpdateResult", ReplyAction = "http://tempuri.org/IOKBService/UpdateResultResponse")]
-    void UpdateResult(HeuristicLab.Clients.OKB.Result dto);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/DeleteResult", ReplyAction = "http://tempuri.org/IOKBService/DeleteResultResponse")]
-    void DeleteResult(long id);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/GetExperiment", ReplyAction = "http://tempuri.org/IOKBService/GetExperimentResponse")]
-    HeuristicLab.Clients.OKB.Experiment GetExperiment(long id);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/GetExperiments", ReplyAction = "http://tempuri.org/IOKBService/GetExperimentsResponse")]
-    System.Collections.Generic.List<HeuristicLab.Clients.OKB.Experiment> GetExperiments(long algorithmId, long problemId);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/AddExperiment", ReplyAction = "http://tempuri.org/IOKBService/AddExperimentResponse")]
-    long AddExperiment(HeuristicLab.Clients.OKB.Experiment dto);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/DeleteExperiment", ReplyAction = "http://tempuri.org/IOKBService/DeleteExperimentResponse")]
-    void DeleteExperiment(long id);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/GetRun", ReplyAction = "http://tempuri.org/IOKBService/GetRunResponse")]
-    HeuristicLab.Clients.OKB.Run GetRun(long id);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/GetRuns", ReplyAction = "http://tempuri.org/IOKBService/GetRunsResponse")]
-    System.Collections.Generic.List<HeuristicLab.Clients.OKB.Run> GetRuns(long experimentId);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/AddRun", ReplyAction = "http://tempuri.org/IOKBService/AddRunResponse")]
-    long AddRun(HeuristicLab.Clients.OKB.Run dto);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/DeleteRun", ReplyAction = "http://tempuri.org/IOKBService/DeleteRunResponse")]
-    void DeleteRun(long id);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/GetFilters", ReplyAction = "http://tempuri.org/IOKBService/GetFiltersResponse")]
-    System.Collections.Generic.List<HeuristicLab.Clients.OKB.Filter> GetFilters();
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/QueryNumberOfRuns", ReplyAction = "http://tempuri.org/IOKBService/QueryNumberOfRunsResponse")]
-    long QueryNumberOfRuns(HeuristicLab.Clients.OKB.Filter filter);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/QueryRuns", ReplyAction = "http://tempuri.org/IOKBService/QueryRunsResponse")]
-    System.Collections.Generic.List<HeuristicLab.Clients.OKB.Run> QueryRuns(HeuristicLab.Clients.OKB.Filter filter);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/GetAlgorithmParameters", ReplyAction = "http://tempuri.org/IOKBService/GetAlgorithmParametersResponse")]
-    System.Collections.Generic.List<HeuristicLab.Clients.OKB.AlgorithmParameter> GetAlgorithmParameters(long algorithmId);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/AddAlgorithmParameter", ReplyAction = "http://tempuri.org/IOKBService/AddAlgorithmParameterResponse")]
-    long AddAlgorithmParameter(HeuristicLab.Clients.OKB.AlgorithmParameter dto);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/UpdateAlgorithmParameter", ReplyAction = "http://tempuri.org/IOKBService/UpdateAlgorithmParameterResponse")]
-    void UpdateAlgorithmParameter(HeuristicLab.Clients.OKB.AlgorithmParameter dto);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/DeleteAlgorithmParameter", ReplyAction = "http://tempuri.org/IOKBService/DeleteAlgorithmParameterResponse")]
-    void DeleteAlgorithmParameter(long id);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/GetProblemClass", ReplyAction = "http://tempuri.org/IOKBService/GetProblemClassResponse")]
-    HeuristicLab.Clients.OKB.ProblemClass GetProblemClass(long id);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/GetProblemClasses", ReplyAction = "http://tempuri.org/IOKBService/GetProblemClassesResponse")]
-    System.Collections.Generic.List<HeuristicLab.Clients.OKB.ProblemClass> GetProblemClasses();
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/AddProblemClass", ReplyAction = "http://tempuri.org/IOKBService/AddProblemClassResponse")]
-    long AddProblemClass(HeuristicLab.Clients.OKB.ProblemClass dto);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/UpdateProblemClass", ReplyAction = "http://tempuri.org/IOKBService/UpdateProblemClassResponse")]
-    void UpdateProblemClass(HeuristicLab.Clients.OKB.ProblemClass dto);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/DeleteProblemClass", ReplyAction = "http://tempuri.org/IOKBService/DeleteProblemClassResponse")]
-    void DeleteProblemClass(long id);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/GetProblem", ReplyAction = "http://tempuri.org/IOKBService/GetProblemResponse")]
-    HeuristicLab.Clients.OKB.Problem GetProblem(long id);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/GetProblems", ReplyAction = "http://tempuri.org/IOKBService/GetProblemsResponse")]
-    System.Collections.Generic.List<HeuristicLab.Clients.OKB.Problem> GetProblems();
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/AddProblem", ReplyAction = "http://tempuri.org/IOKBService/AddProblemResponse")]
-    long AddProblem(HeuristicLab.Clients.OKB.Problem dto);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/UpdateProblem", ReplyAction = "http://tempuri.org/IOKBService/UpdateProblemResponse")]
-    void UpdateProblem(HeuristicLab.Clients.OKB.Problem dto);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/DeleteProblem", ReplyAction = "http://tempuri.org/IOKBService/DeleteProblemResponse")]
-    void DeleteProblem(long id);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/GetProblemUsers", ReplyAction = "http://tempuri.org/IOKBService/GetProblemUsersResponse")]
-    System.Collections.Generic.List<System.Guid> GetProblemUsers(long problemId);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/UpdateProblemUsers", ReplyAction = "http://tempuri.org/IOKBService/UpdateProblemUsersResponse")]
-    void UpdateProblemUsers(long problemId, System.Collections.Generic.List<System.Guid> users);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/GetProblemData", ReplyAction = "http://tempuri.org/IOKBService/GetProblemDataResponse")]
-    HeuristicLab.Clients.OKB.ProblemData GetProblemData(long problemId);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/UpdateProblemData", ReplyAction = "http://tempuri.org/IOKBService/UpdateProblemDataResponse")]
-    void UpdateProblemData(HeuristicLab.Clients.OKB.ProblemData dto);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/GetProblemParameter", ReplyAction = "http://tempuri.org/IOKBService/GetProblemParameterResponse")]
-    HeuristicLab.Clients.OKB.ProblemParameter GetProblemParameter(long id);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/GetProblemParameters", ReplyAction = "http://tempuri.org/IOKBService/GetProblemParametersResponse")]
-    System.Collections.Generic.List<HeuristicLab.Clients.OKB.ProblemParameter> GetProblemParameters(long problemId);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/AddProblemParameter", ReplyAction = "http://tempuri.org/IOKBService/AddProblemParameterResponse")]
-    long AddProblemParameter(HeuristicLab.Clients.OKB.ProblemParameter dto);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/UpdateProblemParameter", ReplyAction = "http://tempuri.org/IOKBService/UpdateProblemParameterResponse")]
-    void UpdateProblemParameter(HeuristicLab.Clients.OKB.ProblemParameter dto);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/DeleteProblemParameter", ReplyAction = "http://tempuri.org/IOKBService/DeleteProblemParameterResponse")]
-    void DeleteProblemParameter(long id);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/GetResult", ReplyAction = "http://tempuri.org/IOKBService/GetResultResponse")]
-    HeuristicLab.Clients.OKB.Result GetResult(long id);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/GetResults", ReplyAction = "http://tempuri.org/IOKBService/GetResultsResponse")]
-    System.Collections.Generic.List<HeuristicLab.Clients.OKB.Result> GetResults(long algorithmId);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/GetPlatform", ReplyAction = "http://tempuri.org/IOKBService/GetPlatformResponse")]
-    HeuristicLab.Clients.OKB.Platform GetPlatform(long id);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/GetPlatforms", ReplyAction = "http://tempuri.org/IOKBService/GetPlatformsResponse")]
-    System.Collections.Generic.List<HeuristicLab.Clients.OKB.Platform> GetPlatforms();
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/AddPlatform", ReplyAction = "http://tempuri.org/IOKBService/AddPlatformResponse")]
-    long AddPlatform(HeuristicLab.Clients.OKB.Platform dto);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/UpdatePlatform", ReplyAction = "http://tempuri.org/IOKBService/UpdatePlatformResponse")]
-    void UpdatePlatform(HeuristicLab.Clients.OKB.Platform dto);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/DeletePlatform", ReplyAction = "http://tempuri.org/IOKBService/DeletePlatformResponse")]
-    void DeletePlatform(long id);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/GetDataType", ReplyAction = "http://tempuri.org/IOKBService/GetDataTypeResponse")]
-    HeuristicLab.Clients.OKB.DataType GetDataType(long id);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/GetDataTypes", ReplyAction = "http://tempuri.org/IOKBService/GetDataTypesResponse")]
-    System.Collections.Generic.List<HeuristicLab.Clients.OKB.DataType> GetDataTypes();
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/AddDataType", ReplyAction = "http://tempuri.org/IOKBService/AddDataTypeResponse")]
-    long AddDataType(HeuristicLab.Clients.OKB.DataType dto);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/UpdateDataType", ReplyAction = "http://tempuri.org/IOKBService/UpdateDataTypeResponse")]
-    void UpdateDataType(HeuristicLab.Clients.OKB.DataType dto);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/DeleteDataType", ReplyAction = "http://tempuri.org/IOKBService/DeleteDataTypeResponse")]
-    void DeleteDataType(long id);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/GetAlgorithmClass", ReplyAction = "http://tempuri.org/IOKBService/GetAlgorithmClassResponse")]
-    HeuristicLab.Clients.OKB.AlgorithmClass GetAlgorithmClass(long id);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/GetAlgorithmClasses", ReplyAction = "http://tempuri.org/IOKBService/GetAlgorithmClassesResponse")]
-    System.Collections.Generic.List<HeuristicLab.Clients.OKB.AlgorithmClass> GetAlgorithmClasses();
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/AddAlgorithmClass", ReplyAction = "http://tempuri.org/IOKBService/AddAlgorithmClassResponse")]
-    long AddAlgorithmClass(HeuristicLab.Clients.OKB.AlgorithmClass dto);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/UpdateAlgorithmClass", ReplyAction = "http://tempuri.org/IOKBService/UpdateAlgorithmClassResponse")]
-    void UpdateAlgorithmClass(HeuristicLab.Clients.OKB.AlgorithmClass dto);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/DeleteAlgorithmClass", ReplyAction = "http://tempuri.org/IOKBService/DeleteAlgorithmClassResponse")]
-    void DeleteAlgorithmClass(long id);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/GetAlgorithm", ReplyAction = "http://tempuri.org/IOKBService/GetAlgorithmResponse")]
-    HeuristicLab.Clients.OKB.Algorithm GetAlgorithm(long id);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/GetAlgorithms", ReplyAction = "http://tempuri.org/IOKBService/GetAlgorithmsResponse")]
-    System.Collections.Generic.List<HeuristicLab.Clients.OKB.Algorithm> GetAlgorithms();
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/AddAlgorithm", ReplyAction = "http://tempuri.org/IOKBService/AddAlgorithmResponse")]
-    long AddAlgorithm(HeuristicLab.Clients.OKB.Algorithm dto);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/UpdateAlgorithm", ReplyAction = "http://tempuri.org/IOKBService/UpdateAlgorithmResponse")]
-    void UpdateAlgorithm(HeuristicLab.Clients.OKB.Algorithm dto);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/DeleteAlgorithm", ReplyAction = "http://tempuri.org/IOKBService/DeleteAlgorithmResponse")]
-    void DeleteAlgorithm(long id);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/GetAlgorithmUsers", ReplyAction = "http://tempuri.org/IOKBService/GetAlgorithmUsersResponse")]
-    System.Collections.Generic.List<System.Guid> GetAlgorithmUsers(long algorithmId);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/UpdateAlgorithmUsers", ReplyAction = "http://tempuri.org/IOKBService/UpdateAlgorithmUsersResponse")]
-    void UpdateAlgorithmUsers(long algorithmId, System.Collections.Generic.List<System.Guid> users);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/GetAlgorithmData", ReplyAction = "http://tempuri.org/IOKBService/GetAlgorithmDataResponse")]
-    HeuristicLab.Clients.OKB.AlgorithmData GetAlgorithmData(long algorithmId);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/UpdateAlgorithmData", ReplyAction = "http://tempuri.org/IOKBService/UpdateAlgorithmDataResponse")]
-    void UpdateAlgorithmData(HeuristicLab.Clients.OKB.AlgorithmData dto);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/GetAlgorithmParameter", ReplyAction = "http://tempuri.org/IOKBService/GetAlgorithmParameterResponse")]
-    HeuristicLab.Clients.OKB.AlgorithmParameter GetAlgorithmParameter(long id);
-  }
-
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
-  public interface IOKBServiceChannel : HeuristicLab.Clients.OKB.IOKBService, System.ServiceModel.IClientChannel {
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
-  public partial class OKBServiceClient : System.ServiceModel.ClientBase<HeuristicLab.Clients.OKB.IOKBService>, HeuristicLab.Clients.OKB.IOKBService {
-
-    public OKBServiceClient() {
-    }
-
-    public OKBServiceClient(string endpointConfigurationName) :
-      base(endpointConfigurationName) {
-    }
-
-    public OKBServiceClient(string endpointConfigurationName, string remoteAddress) :
-      base(endpointConfigurationName, remoteAddress) {
-    }
-
-    public OKBServiceClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) :
-      base(endpointConfigurationName, remoteAddress) {
-    }
-
-    public OKBServiceClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) :
-      base(binding, remoteAddress) {
-    }
-
-    public long AddResult(HeuristicLab.Clients.OKB.Result dto) {
-      return base.Channel.AddResult(dto);
-    }
-
-    public void UpdateResult(HeuristicLab.Clients.OKB.Result dto) {
-      base.Channel.UpdateResult(dto);
-    }
-
-    public void DeleteResult(long id) {
-      base.Channel.DeleteResult(id);
-    }
-
-    public HeuristicLab.Clients.OKB.Experiment GetExperiment(long id) {
-      return base.Channel.GetExperiment(id);
-    }
-
-    public System.Collections.Generic.List<HeuristicLab.Clients.OKB.Experiment> GetExperiments(long algorithmId, long problemId) {
-      return base.Channel.GetExperiments(algorithmId, problemId);
-    }
-
-    public long AddExperiment(HeuristicLab.Clients.OKB.Experiment dto) {
-      return base.Channel.AddExperiment(dto);
-    }
-
-    public void DeleteExperiment(long id) {
-      base.Channel.DeleteExperiment(id);
-    }
-
-    public HeuristicLab.Clients.OKB.Run GetRun(long id) {
-      return base.Channel.GetRun(id);
-    }
-
-    public System.Collections.Generic.List<HeuristicLab.Clients.OKB.Run> GetRuns(long experimentId) {
-      return base.Channel.GetRuns(experimentId);
-    }
-
-    public long AddRun(HeuristicLab.Clients.OKB.Run dto) {
-      return base.Channel.AddRun(dto);
-    }
-
-    public void DeleteRun(long id) {
-      base.Channel.DeleteRun(id);
-    }
-
-    public System.Collections.Generic.List<HeuristicLab.Clients.OKB.Filter> GetFilters() {
-      return base.Channel.GetFilters();
-    }
-
-    public long QueryNumberOfRuns(HeuristicLab.Clients.OKB.Filter filter) {
-      return base.Channel.QueryNumberOfRuns(filter);
-    }
-
-    public System.Collections.Generic.List<HeuristicLab.Clients.OKB.Run> QueryRuns(HeuristicLab.Clients.OKB.Filter filter) {
-      return base.Channel.QueryRuns(filter);
-    }
-
-    public System.Collections.Generic.List<HeuristicLab.Clients.OKB.AlgorithmParameter> GetAlgorithmParameters(long algorithmId) {
-      return base.Channel.GetAlgorithmParameters(algorithmId);
-    }
-
-    public long AddAlgorithmParameter(HeuristicLab.Clients.OKB.AlgorithmParameter dto) {
-      return base.Channel.AddAlgorithmParameter(dto);
-    }
-
-    public void UpdateAlgorithmParameter(HeuristicLab.Clients.OKB.AlgorithmParameter dto) {
-      base.Channel.UpdateAlgorithmParameter(dto);
-    }
-
-    public void DeleteAlgorithmParameter(long id) {
-      base.Channel.DeleteAlgorithmParameter(id);
-    }
-
-    public HeuristicLab.Clients.OKB.ProblemClass GetProblemClass(long id) {
-      return base.Channel.GetProblemClass(id);
-    }
-
-    public System.Collections.Generic.List<HeuristicLab.Clients.OKB.ProblemClass> GetProblemClasses() {
-      return base.Channel.GetProblemClasses();
-    }
-
-    public long AddProblemClass(HeuristicLab.Clients.OKB.ProblemClass dto) {
-      return base.Channel.AddProblemClass(dto);
-    }
-
-    public void UpdateProblemClass(HeuristicLab.Clients.OKB.ProblemClass dto) {
-      base.Channel.UpdateProblemClass(dto);
-    }
-
-    public void DeleteProblemClass(long id) {
-      base.Channel.DeleteProblemClass(id);
-    }
-
-    public HeuristicLab.Clients.OKB.Problem GetProblem(long id) {
-      return base.Channel.GetProblem(id);
-    }
-
-    public System.Collections.Generic.List<HeuristicLab.Clients.OKB.Problem> GetProblems() {
-      return base.Channel.GetProblems();
-    }
-
-    public long AddProblem(HeuristicLab.Clients.OKB.Problem dto) {
-      return base.Channel.AddProblem(dto);
-    }
-
-    public void UpdateProblem(HeuristicLab.Clients.OKB.Problem dto) {
-      base.Channel.UpdateProblem(dto);
-    }
-
-    public void DeleteProblem(long id) {
-      base.Channel.DeleteProblem(id);
-    }
-
-    public System.Collections.Generic.List<System.Guid> GetProblemUsers(long problemId) {
-      return base.Channel.GetProblemUsers(problemId);
-    }
-
-    public void UpdateProblemUsers(long problemId, System.Collections.Generic.List<System.Guid> users) {
-      base.Channel.UpdateProblemUsers(problemId, users);
-    }
-
-    public HeuristicLab.Clients.OKB.ProblemData GetProblemData(long problemId) {
-      return base.Channel.GetProblemData(problemId);
-    }
-
-    public void UpdateProblemData(HeuristicLab.Clients.OKB.ProblemData dto) {
-      base.Channel.UpdateProblemData(dto);
-    }
-
-    public HeuristicLab.Clients.OKB.ProblemParameter GetProblemParameter(long id) {
-      return base.Channel.GetProblemParameter(id);
-    }
-
-    public System.Collections.Generic.List<HeuristicLab.Clients.OKB.ProblemParameter> GetProblemParameters(long problemId) {
-      return base.Channel.GetProblemParameters(problemId);
-    }
-
-    public long AddProblemParameter(HeuristicLab.Clients.OKB.ProblemParameter dto) {
-      return base.Channel.AddProblemParameter(dto);
-    }
-
-    public void UpdateProblemParameter(HeuristicLab.Clients.OKB.ProblemParameter dto) {
-      base.Channel.UpdateProblemParameter(dto);
-    }
-
-    public void DeleteProblemParameter(long id) {
-      base.Channel.DeleteProblemParameter(id);
-    }
-
-    public HeuristicLab.Clients.OKB.Result GetResult(long id) {
-      return base.Channel.GetResult(id);
-    }
-
-    public System.Collections.Generic.List<HeuristicLab.Clients.OKB.Result> GetResults(long algorithmId) {
-      return base.Channel.GetResults(algorithmId);
-    }
-
-    public HeuristicLab.Clients.OKB.Platform GetPlatform(long id) {
-      return base.Channel.GetPlatform(id);
-    }
-
-    public System.Collections.Generic.List<HeuristicLab.Clients.OKB.Platform> GetPlatforms() {
-      return base.Channel.GetPlatforms();
-    }
-
-    public long AddPlatform(HeuristicLab.Clients.OKB.Platform dto) {
-      return base.Channel.AddPlatform(dto);
-    }
-
-    public void UpdatePlatform(HeuristicLab.Clients.OKB.Platform dto) {
-      base.Channel.UpdatePlatform(dto);
-    }
-
-    public void DeletePlatform(long id) {
-      base.Channel.DeletePlatform(id);
-    }
-
-    public HeuristicLab.Clients.OKB.DataType GetDataType(long id) {
-      return base.Channel.GetDataType(id);
-    }
-
-    public System.Collections.Generic.List<HeuristicLab.Clients.OKB.DataType> GetDataTypes() {
-      return base.Channel.GetDataTypes();
-    }
-
-    public long AddDataType(HeuristicLab.Clients.OKB.DataType dto) {
-      return base.Channel.AddDataType(dto);
-    }
-
-    public void UpdateDataType(HeuristicLab.Clients.OKB.DataType dto) {
-      base.Channel.UpdateDataType(dto);
-    }
-
-    public void DeleteDataType(long id) {
-      base.Channel.DeleteDataType(id);
-    }
-
-    public HeuristicLab.Clients.OKB.AlgorithmClass GetAlgorithmClass(long id) {
-      return base.Channel.GetAlgorithmClass(id);
-    }
-
-    public System.Collections.Generic.List<HeuristicLab.Clients.OKB.AlgorithmClass> GetAlgorithmClasses() {
-      return base.Channel.GetAlgorithmClasses();
-    }
-
-    public long AddAlgorithmClass(HeuristicLab.Clients.OKB.AlgorithmClass dto) {
-      return base.Channel.AddAlgorithmClass(dto);
-    }
-
-    public void UpdateAlgorithmClass(HeuristicLab.Clients.OKB.AlgorithmClass dto) {
-      base.Channel.UpdateAlgorithmClass(dto);
-    }
-
-    public void DeleteAlgorithmClass(long id) {
-      base.Channel.DeleteAlgorithmClass(id);
-    }
-
-    public HeuristicLab.Clients.OKB.Algorithm GetAlgorithm(long id) {
-      return base.Channel.GetAlgorithm(id);
-    }
-
-    public System.Collections.Generic.List<HeuristicLab.Clients.OKB.Algorithm> GetAlgorithms() {
-      return base.Channel.GetAlgorithms();
-    }
-
-    public long AddAlgorithm(HeuristicLab.Clients.OKB.Algorithm dto) {
-      return base.Channel.AddAlgorithm(dto);
-    }
-
-    public void UpdateAlgorithm(HeuristicLab.Clients.OKB.Algorithm dto) {
-      base.Channel.UpdateAlgorithm(dto);
-    }
-
-    public void DeleteAlgorithm(long id) {
-      base.Channel.DeleteAlgorithm(id);
-    }
-
-    public System.Collections.Generic.List<System.Guid> GetAlgorithmUsers(long algorithmId) {
-      return base.Channel.GetAlgorithmUsers(algorithmId);
-    }
-
-    public void UpdateAlgorithmUsers(long algorithmId, System.Collections.Generic.List<System.Guid> users) {
-      base.Channel.UpdateAlgorithmUsers(algorithmId, users);
-    }
-
-    public HeuristicLab.Clients.OKB.AlgorithmData GetAlgorithmData(long algorithmId) {
-      return base.Channel.GetAlgorithmData(algorithmId);
-    }
-
-    public void UpdateAlgorithmData(HeuristicLab.Clients.OKB.AlgorithmData dto) {
-      base.Channel.UpdateAlgorithmData(dto);
-    }
-
-    public HeuristicLab.Clients.OKB.AlgorithmParameter GetAlgorithmParameter(long id) {
-      return base.Channel.GetAlgorithmParameter(id);
-    }
-  }
-}
Index: branches/OKB (trunk integration)/HeuristicLab.Clients.OKB/3.3/ServiceClients/OKBServiceClients.cs
===================================================================
--- branches/OKB (trunk integration)/HeuristicLab.Clients.OKB/3.3/ServiceClients/OKBServiceClients.cs	(revision 5299)
+++ branches/OKB (trunk integration)/HeuristicLab.Clients.OKB/3.3/ServiceClients/OKBServiceClients.cs	(revision 5299)
@@ -0,0 +1,2291 @@
+﻿//------------------------------------------------------------------------------
+// <auto-generated>
+//     This code was generated by a tool.
+//     Runtime Version:4.0.30319.1
+//
+//     Changes to this file may cause incorrect behavior and will be lost if
+//     the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace HeuristicLab.Clients.OKB {
+
+
+  [System.Diagnostics.DebuggerStepThroughAttribute()]
+  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+  [System.Runtime.Serialization.DataContractAttribute(Name = "OKBItem", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Experiment))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Run))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.DataType))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NamedOKBItem))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.AlgorithmParameter))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ProblemClass))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Problem))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ProblemParameter))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Platform))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.AlgorithmClass))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Algorithm))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Result))]
+  public partial class OKBItem : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
+
+    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+
+    private long IdField;
+
+    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");
+        }
+      }
+    }
+
+    public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+  }
+
+  [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.DataTransfer")]
+  public partial class Experiment : HeuristicLab.Clients.OKB.OKBItem {
+
+    private long AlgorithmIdField;
+
+    private System.Collections.Generic.List<HeuristicLab.Clients.OKB.AlgorithmParameterValue> AlgorithmParameterValuesField;
+
+    private long ProblemIdField;
+
+    private System.Collections.Generic.List<HeuristicLab.Clients.OKB.ProblemParameterValue> ProblemParameterValuesField;
+
+    [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.Collections.Generic.List<HeuristicLab.Clients.OKB.AlgorithmParameterValue> AlgorithmParameterValues {
+      get {
+        return this.AlgorithmParameterValuesField;
+      }
+      set {
+        if ((object.ReferenceEquals(this.AlgorithmParameterValuesField, value) != true)) {
+          this.AlgorithmParameterValuesField = value;
+          this.RaisePropertyChanged("AlgorithmParameterValues");
+        }
+      }
+    }
+
+    [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.Collections.Generic.List<HeuristicLab.Clients.OKB.ProblemParameterValue> ProblemParameterValues {
+      get {
+        return this.ProblemParameterValuesField;
+      }
+      set {
+        if ((object.ReferenceEquals(this.ProblemParameterValuesField, value) != true)) {
+          this.ProblemParameterValuesField = value;
+          this.RaisePropertyChanged("ProblemParameterValues");
+        }
+      }
+    }
+  }
+
+  [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.DataTransfer")]
+  public partial class Run : HeuristicLab.Clients.OKB.OKBItem {
+
+    private System.Guid ClientIdField;
+
+    private System.DateTime CreatedDateField;
+
+    private long ExperimentIdField;
+
+    private long RandomSeedField;
+
+    private System.Collections.Generic.List<HeuristicLab.Clients.OKB.ResultValue> ResultValuesField;
+
+    private System.Guid UserIdField;
+
+    [System.Runtime.Serialization.DataMemberAttribute()]
+    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()]
+    public System.DateTime CreatedDate {
+      get {
+        return this.CreatedDateField;
+      }
+      set {
+        if ((this.CreatedDateField.Equals(value) != true)) {
+          this.CreatedDateField = value;
+          this.RaisePropertyChanged("CreatedDate");
+        }
+      }
+    }
+
+    [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()]
+    public long RandomSeed {
+      get {
+        return this.RandomSeedField;
+      }
+      set {
+        if ((this.RandomSeedField.Equals(value) != true)) {
+          this.RandomSeedField = value;
+          this.RaisePropertyChanged("RandomSeed");
+        }
+      }
+    }
+
+    [System.Runtime.Serialization.DataMemberAttribute()]
+    public System.Collections.Generic.List<HeuristicLab.Clients.OKB.ResultValue> ResultValues {
+      get {
+        return this.ResultValuesField;
+      }
+      set {
+        if ((object.ReferenceEquals(this.ResultValuesField, value) != true)) {
+          this.ResultValuesField = value;
+          this.RaisePropertyChanged("ResultValues");
+        }
+      }
+    }
+
+    [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.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.DataTransfer")]
+  public partial class DataType : HeuristicLab.Clients.OKB.OKBItem {
+
+    private string NameField;
+
+    private long PlatformIdField;
+
+    private string SqlNameField;
+
+    private string TypeNameField;
+
+    [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()]
+    public long PlatformId {
+      get {
+        return this.PlatformIdField;
+      }
+      set {
+        if ((this.PlatformIdField.Equals(value) != true)) {
+          this.PlatformIdField = value;
+          this.RaisePropertyChanged("PlatformId");
+        }
+      }
+    }
+
+    [System.Runtime.Serialization.DataMemberAttribute()]
+    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()]
+    public string TypeName {
+      get {
+        return this.TypeNameField;
+      }
+      set {
+        if ((object.ReferenceEquals(this.TypeNameField, value) != true)) {
+          this.TypeNameField = value;
+          this.RaisePropertyChanged("TypeName");
+        }
+      }
+    }
+  }
+
+  [System.Diagnostics.DebuggerStepThroughAttribute()]
+  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+  [System.Runtime.Serialization.DataContractAttribute(Name = "NamedOKBItem", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.AlgorithmParameter))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ProblemClass))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Problem))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ProblemParameter))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Platform))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.AlgorithmClass))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Algorithm))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Result))]
+  public partial class NamedOKBItem : HeuristicLab.Clients.OKB.OKBItem {
+
+    private string DescriptionField;
+
+    private string NameField;
+
+    [System.Runtime.Serialization.DataMemberAttribute()]
+    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()]
+    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 = "AlgorithmParameter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
+  public partial class AlgorithmParameter : HeuristicLab.Clients.OKB.NamedOKBItem {
+
+    private long AlgorithmIdField;
+
+    private string AliasField;
+
+    private long DataTypeIdField;
+
+    [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 string Alias {
+      get {
+        return this.AliasField;
+      }
+      set {
+        if ((object.ReferenceEquals(this.AliasField, value) != true)) {
+          this.AliasField = value;
+          this.RaisePropertyChanged("Alias");
+        }
+      }
+    }
+
+    [System.Runtime.Serialization.DataMemberAttribute()]
+    public long DataTypeId {
+      get {
+        return this.DataTypeIdField;
+      }
+      set {
+        if ((this.DataTypeIdField.Equals(value) != true)) {
+          this.DataTypeIdField = value;
+          this.RaisePropertyChanged("DataTypeId");
+        }
+      }
+    }
+  }
+
+  [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.DataTransfer")]
+  public partial class ProblemClass : HeuristicLab.Clients.OKB.NamedOKBItem {
+  }
+
+  [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.DataTransfer")]
+  public partial class Problem : HeuristicLab.Clients.OKB.NamedOKBItem {
+
+    private long PlatformIdField;
+
+    private long ProblemClassIdField;
+
+    [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()]
+    public long ProblemClassId {
+      get {
+        return this.ProblemClassIdField;
+      }
+      set {
+        if ((this.ProblemClassIdField.Equals(value) != true)) {
+          this.ProblemClassIdField = value;
+          this.RaisePropertyChanged("ProblemClassId");
+        }
+      }
+    }
+  }
+
+  [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.DataTransfer")]
+  public partial class ProblemParameter : HeuristicLab.Clients.OKB.NamedOKBItem {
+
+    private string AliasField;
+
+    private long DataTypeIdField;
+
+    private long ProblemIdField;
+
+    [System.Runtime.Serialization.DataMemberAttribute()]
+    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()]
+    public long DataTypeId {
+      get {
+        return this.DataTypeIdField;
+      }
+      set {
+        if ((this.DataTypeIdField.Equals(value) != true)) {
+          this.DataTypeIdField = value;
+          this.RaisePropertyChanged("DataTypeId");
+        }
+      }
+    }
+
+    [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.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.DataTransfer")]
+  public partial class Platform : HeuristicLab.Clients.OKB.NamedOKBItem {
+  }
+
+  [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.DataTransfer")]
+  public partial class AlgorithmClass : HeuristicLab.Clients.OKB.NamedOKBItem {
+  }
+
+  [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.DataTransfer")]
+  public partial class Algorithm : HeuristicLab.Clients.OKB.NamedOKBItem {
+
+    private long AlgorithmClassIdField;
+
+    private long PlatformIdField;
+
+    [System.Runtime.Serialization.DataMemberAttribute()]
+    public long AlgorithmClassId {
+      get {
+        return this.AlgorithmClassIdField;
+      }
+      set {
+        if ((this.AlgorithmClassIdField.Equals(value) != true)) {
+          this.AlgorithmClassIdField = value;
+          this.RaisePropertyChanged("AlgorithmClassId");
+        }
+      }
+    }
+
+    [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.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.DataTransfer")]
+  public partial class Result : HeuristicLab.Clients.OKB.NamedOKBItem {
+
+    private long AlgorithmIdField;
+
+    private string AliasField;
+
+    private long DataTypeIdField;
+
+    [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 string Alias {
+      get {
+        return this.AliasField;
+      }
+      set {
+        if ((object.ReferenceEquals(this.AliasField, value) != true)) {
+          this.AliasField = value;
+          this.RaisePropertyChanged("Alias");
+        }
+      }
+    }
+
+    [System.Runtime.Serialization.DataMemberAttribute()]
+    public long DataTypeId {
+      get {
+        return this.DataTypeIdField;
+      }
+      set {
+        if ((this.DataTypeIdField.Equals(value) != true)) {
+          this.DataTypeIdField = value;
+          this.RaisePropertyChanged("DataTypeId");
+        }
+      }
+    }
+  }
+
+  [System.Diagnostics.DebuggerStepThroughAttribute()]
+  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+  [System.Runtime.Serialization.DataContractAttribute(Name = "AlgorithmParameterValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.AlgorithmParameterBlobValue))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.AlgorithmParameterIntValue))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.AlgorithmParameterBoolValue))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.AlgorithmParameterFloatValue))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.AlgorithmParameterStringValue))]
+  public partial class AlgorithmParameterValue : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
+
+    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+
+    private long AlgorithmParameterIdField;
+
+    private long DataTypeIdField;
+
+    private long ExperimentIdField;
+
+    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 DataTypeId {
+      get {
+        return this.DataTypeIdField;
+      }
+      set {
+        if ((this.DataTypeIdField.Equals(value) != true)) {
+          this.DataTypeIdField = value;
+          this.RaisePropertyChanged("DataTypeId");
+        }
+      }
+    }
+
+    [System.Runtime.Serialization.DataMemberAttribute()]
+    public long ExperimentId {
+      get {
+        return this.ExperimentIdField;
+      }
+      set {
+        if ((this.ExperimentIdField.Equals(value) != true)) {
+          this.ExperimentIdField = value;
+          this.RaisePropertyChanged("ExperimentId");
+        }
+      }
+    }
+
+    public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+
+    protected void RaisePropertyChanged(string propertyName) {
+      System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
+      if ((propertyChanged != null)) {
+        propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
+      }
+    }
+  }
+
+  [System.Diagnostics.DebuggerStepThroughAttribute()]
+  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+  [System.Runtime.Serialization.DataContractAttribute(Name = "ProblemParameterValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ProblemParameterBoolValue))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ProblemParameterFloatValue))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ProblemParameterIntValue))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ProblemParameterBlobValue))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ProblemParameterStringValue))]
+  public partial class ProblemParameterValue : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
+
+    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+
+    private long DataTypeIdField;
+
+    private long ExperimentIdField;
+
+    private long ProblemParameterIdField;
+
+    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
+      get {
+        return this.extensionDataField;
+      }
+      set {
+        this.extensionDataField = value;
+      }
+    }
+
+    [System.Runtime.Serialization.DataMemberAttribute()]
+    public long DataTypeId {
+      get {
+        return this.DataTypeIdField;
+      }
+      set {
+        if ((this.DataTypeIdField.Equals(value) != true)) {
+          this.DataTypeIdField = value;
+          this.RaisePropertyChanged("DataTypeId");
+        }
+      }
+    }
+
+    [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()]
+    public long ProblemParameterId {
+      get {
+        return this.ProblemParameterIdField;
+      }
+      set {
+        if ((this.ProblemParameterIdField.Equals(value) != true)) {
+          this.ProblemParameterIdField = value;
+          this.RaisePropertyChanged("ProblemParameterId");
+        }
+      }
+    }
+
+    public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+
+    protected void RaisePropertyChanged(string propertyName) {
+      System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
+      if ((propertyChanged != null)) {
+        propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
+      }
+    }
+  }
+
+  [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.DataTransfer")]
+  public partial class AlgorithmParameterBlobValue : HeuristicLab.Clients.OKB.AlgorithmParameterValue {
+
+    private byte[] ValueField;
+
+    [System.Runtime.Serialization.DataMemberAttribute()]
+    public byte[] Value {
+      get {
+        return this.ValueField;
+      }
+      set {
+        if ((object.ReferenceEquals(this.ValueField, value) != true)) {
+          this.ValueField = value;
+          this.RaisePropertyChanged("Value");
+        }
+      }
+    }
+  }
+
+  [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.DataTransfer")]
+  public partial class AlgorithmParameterIntValue : HeuristicLab.Clients.OKB.AlgorithmParameterValue {
+
+    private long ValueField;
+
+    [System.Runtime.Serialization.DataMemberAttribute()]
+    public long Value {
+      get {
+        return this.ValueField;
+      }
+      set {
+        if ((this.ValueField.Equals(value) != true)) {
+          this.ValueField = value;
+          this.RaisePropertyChanged("Value");
+        }
+      }
+    }
+  }
+
+  [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.DataTransfer")]
+  public partial class AlgorithmParameterBoolValue : HeuristicLab.Clients.OKB.AlgorithmParameterValue {
+
+    private bool ValueField;
+
+    [System.Runtime.Serialization.DataMemberAttribute()]
+    public bool Value {
+      get {
+        return this.ValueField;
+      }
+      set {
+        if ((this.ValueField.Equals(value) != true)) {
+          this.ValueField = value;
+          this.RaisePropertyChanged("Value");
+        }
+      }
+    }
+  }
+
+  [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.DataTransfer")]
+  public partial class AlgorithmParameterFloatValue : HeuristicLab.Clients.OKB.AlgorithmParameterValue {
+
+    private double ValueField;
+
+    [System.Runtime.Serialization.DataMemberAttribute()]
+    public double Value {
+      get {
+        return this.ValueField;
+      }
+      set {
+        if ((this.ValueField.Equals(value) != true)) {
+          this.ValueField = value;
+          this.RaisePropertyChanged("Value");
+        }
+      }
+    }
+  }
+
+  [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.DataTransfer")]
+  public partial class AlgorithmParameterStringValue : HeuristicLab.Clients.OKB.AlgorithmParameterValue {
+
+    private string ValueField;
+
+    [System.Runtime.Serialization.DataMemberAttribute()]
+    public string Value {
+      get {
+        return this.ValueField;
+      }
+      set {
+        if ((object.ReferenceEquals(this.ValueField, value) != true)) {
+          this.ValueField = value;
+          this.RaisePropertyChanged("Value");
+        }
+      }
+    }
+  }
+
+  [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.DataTransfer")]
+  public partial class ProblemParameterBoolValue : HeuristicLab.Clients.OKB.ProblemParameterValue {
+
+    private bool ValueField;
+
+    [System.Runtime.Serialization.DataMemberAttribute()]
+    public bool Value {
+      get {
+        return this.ValueField;
+      }
+      set {
+        if ((this.ValueField.Equals(value) != true)) {
+          this.ValueField = value;
+          this.RaisePropertyChanged("Value");
+        }
+      }
+    }
+  }
+
+  [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.DataTransfer")]
+  public partial class ProblemParameterFloatValue : HeuristicLab.Clients.OKB.ProblemParameterValue {
+
+    private double ValueField;
+
+    [System.Runtime.Serialization.DataMemberAttribute()]
+    public double Value {
+      get {
+        return this.ValueField;
+      }
+      set {
+        if ((this.ValueField.Equals(value) != true)) {
+          this.ValueField = value;
+          this.RaisePropertyChanged("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.DataTransfer")]
+  public partial class ProblemParameterIntValue : HeuristicLab.Clients.OKB.ProblemParameterValue {
+
+    private long ValueField;
+
+    [System.Runtime.Serialization.DataMemberAttribute()]
+    public long Value {
+      get {
+        return this.ValueField;
+      }
+      set {
+        if ((this.ValueField.Equals(value) != true)) {
+          this.ValueField = value;
+          this.RaisePropertyChanged("Value");
+        }
+      }
+    }
+  }
+
+  [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.DataTransfer")]
+  public partial class ProblemParameterBlobValue : HeuristicLab.Clients.OKB.ProblemParameterValue {
+
+    private byte[] ValueField;
+
+    [System.Runtime.Serialization.DataMemberAttribute()]
+    public byte[] Value {
+      get {
+        return this.ValueField;
+      }
+      set {
+        if ((object.ReferenceEquals(this.ValueField, value) != true)) {
+          this.ValueField = value;
+          this.RaisePropertyChanged("Value");
+        }
+      }
+    }
+  }
+
+  [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.DataTransfer")]
+  public partial class ProblemParameterStringValue : HeuristicLab.Clients.OKB.ProblemParameterValue {
+
+    private string ValueField;
+
+    [System.Runtime.Serialization.DataMemberAttribute()]
+    public string Value {
+      get {
+        return this.ValueField;
+      }
+      set {
+        if ((object.ReferenceEquals(this.ValueField, value) != true)) {
+          this.ValueField = value;
+          this.RaisePropertyChanged("Value");
+        }
+      }
+    }
+  }
+
+  [System.Diagnostics.DebuggerStepThroughAttribute()]
+  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+  [System.Runtime.Serialization.DataContractAttribute(Name = "ResultValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ResultBoolValue))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ResultIntValue))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ResultBlobValue))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ResultStringValue))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ResultFloatValue))]
+  public partial class ResultValue : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
+
+    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+
+    private long DataTypeIdField;
+
+    private long ResultIdField;
+
+    private long RunIdField;
+
+    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
+      get {
+        return this.extensionDataField;
+      }
+      set {
+        this.extensionDataField = value;
+      }
+    }
+
+    [System.Runtime.Serialization.DataMemberAttribute()]
+    public long DataTypeId {
+      get {
+        return this.DataTypeIdField;
+      }
+      set {
+        if ((this.DataTypeIdField.Equals(value) != true)) {
+          this.DataTypeIdField = value;
+          this.RaisePropertyChanged("DataTypeId");
+        }
+      }
+    }
+
+    [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");
+        }
+      }
+    }
+
+    public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+
+    protected void RaisePropertyChanged(string propertyName) {
+      System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
+      if ((propertyChanged != null)) {
+        propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
+      }
+    }
+  }
+
+  [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.DataTransfer")]
+  public partial class ResultBoolValue : HeuristicLab.Clients.OKB.ResultValue {
+
+    private bool ValueField;
+
+    [System.Runtime.Serialization.DataMemberAttribute()]
+    public bool Value {
+      get {
+        return this.ValueField;
+      }
+      set {
+        if ((this.ValueField.Equals(value) != true)) {
+          this.ValueField = value;
+          this.RaisePropertyChanged("Value");
+        }
+      }
+    }
+  }
+
+  [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.DataTransfer")]
+  public partial class ResultIntValue : HeuristicLab.Clients.OKB.ResultValue {
+
+    private long ValueField;
+
+    [System.Runtime.Serialization.DataMemberAttribute()]
+    public long Value {
+      get {
+        return this.ValueField;
+      }
+      set {
+        if ((this.ValueField.Equals(value) != true)) {
+          this.ValueField = value;
+          this.RaisePropertyChanged("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.DataTransfer")]
+  public partial class ResultBlobValue : HeuristicLab.Clients.OKB.ResultValue {
+
+    private byte[] ValueField;
+
+    [System.Runtime.Serialization.DataMemberAttribute()]
+    public byte[] Value {
+      get {
+        return this.ValueField;
+      }
+      set {
+        if ((object.ReferenceEquals(this.ValueField, value) != true)) {
+          this.ValueField = value;
+          this.RaisePropertyChanged("Value");
+        }
+      }
+    }
+  }
+
+  [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.DataTransfer")]
+  public partial class ResultStringValue : HeuristicLab.Clients.OKB.ResultValue {
+
+    private string ValueField;
+
+    [System.Runtime.Serialization.DataMemberAttribute()]
+    public string Value {
+      get {
+        return this.ValueField;
+      }
+      set {
+        if ((object.ReferenceEquals(this.ValueField, value) != true)) {
+          this.ValueField = value;
+          this.RaisePropertyChanged("Value");
+        }
+      }
+    }
+  }
+
+  [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.DataTransfer")]
+  public partial class ResultFloatValue : HeuristicLab.Clients.OKB.ResultValue {
+
+    private double ValueField;
+
+    [System.Runtime.Serialization.DataMemberAttribute()]
+    public double Value {
+      get {
+        return this.ValueField;
+      }
+      set {
+        if ((this.ValueField.Equals(value) != true)) {
+          this.ValueField = value;
+          this.RaisePropertyChanged("Value");
+        }
+      }
+    }
+  }
+
+  [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.DataTransfer")]
+  public partial class ProblemData : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
+
+    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+
+    private byte[] DataField;
+
+    private long DataTypeIdField;
+
+    private long ProblemIdField;
+
+    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
+      get {
+        return this.extensionDataField;
+      }
+      set {
+        this.extensionDataField = value;
+      }
+    }
+
+    [System.Runtime.Serialization.DataMemberAttribute()]
+    public byte[] Data {
+      get {
+        return this.DataField;
+      }
+      set {
+        if ((object.ReferenceEquals(this.DataField, value) != true)) {
+          this.DataField = value;
+          this.RaisePropertyChanged("Data");
+        }
+      }
+    }
+
+    [System.Runtime.Serialization.DataMemberAttribute()]
+    public long DataTypeId {
+      get {
+        return this.DataTypeIdField;
+      }
+      set {
+        if ((this.DataTypeIdField.Equals(value) != true)) {
+          this.DataTypeIdField = value;
+          this.RaisePropertyChanged("DataTypeId");
+        }
+      }
+    }
+
+    [System.Runtime.Serialization.DataMemberAttribute()]
+    public long ProblemId {
+      get {
+        return this.ProblemIdField;
+      }
+      set {
+        if ((this.ProblemIdField.Equals(value) != true)) {
+          this.ProblemIdField = value;
+          this.RaisePropertyChanged("ProblemId");
+        }
+      }
+    }
+
+    public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+
+    protected void RaisePropertyChanged(string propertyName) {
+      System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
+      if ((propertyChanged != null)) {
+        propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
+      }
+    }
+  }
+
+  [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.DataTransfer")]
+  public partial class AlgorithmData : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
+
+    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+
+    private long AlgorithmIdField;
+
+    private byte[] DataField;
+
+    private long DataTypeIdField;
+
+    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 byte[] Data {
+      get {
+        return this.DataField;
+      }
+      set {
+        if ((object.ReferenceEquals(this.DataField, value) != true)) {
+          this.DataField = value;
+          this.RaisePropertyChanged("Data");
+        }
+      }
+    }
+
+    [System.Runtime.Serialization.DataMemberAttribute()]
+    public long DataTypeId {
+      get {
+        return this.DataTypeIdField;
+      }
+      set {
+        if ((this.DataTypeIdField.Equals(value) != true)) {
+          this.DataTypeIdField = value;
+          this.RaisePropertyChanged("DataTypeId");
+        }
+      }
+    }
+
+    public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+
+    protected void RaisePropertyChanged(string propertyName) {
+      System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
+      if ((propertyChanged != null)) {
+        propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
+      }
+    }
+  }
+
+  [System.Diagnostics.DebuggerStepThroughAttribute()]
+  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+  [System.Runtime.Serialization.DataContractAttribute(Name = "Filter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.SetComparisonFilter))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NameSetComparisonStringFilter))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NameSetComparisonStringAvailableValuesFilter))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.SetComparisonStringFilter))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.SetComparisonStringAvailableValuesFilter))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.OrdinalComparisonFilter))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.OrdinalComparisonDateTimeFilter))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NameOrdinalComparisonDoubleFilter))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NameOrdinalComparisonLongFilter))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.OrdinalComparisonLongFilter))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.CombinedFilter))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.AndFilter))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.OrFilter))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.EqualityComparisonFilter))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NameEqualityComparisonBoolFilter))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NameEqualityComparisonByteArrayFilter))]
+  public partial class Filter : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
+
+    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+
+    private string FilterTypeNameField;
+
+    private string LabelField;
+
+    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
+      get {
+        return this.extensionDataField;
+      }
+      set {
+        this.extensionDataField = value;
+      }
+    }
+
+    [System.Runtime.Serialization.DataMemberAttribute()]
+    public string FilterTypeName {
+      get {
+        return this.FilterTypeNameField;
+      }
+      set {
+        if ((object.ReferenceEquals(this.FilterTypeNameField, value) != true)) {
+          this.FilterTypeNameField = value;
+          this.RaisePropertyChanged("FilterTypeName");
+        }
+      }
+    }
+
+    [System.Runtime.Serialization.DataMemberAttribute()]
+    public string Label {
+      get {
+        return this.LabelField;
+      }
+      set {
+        if ((object.ReferenceEquals(this.LabelField, value) != true)) {
+          this.LabelField = value;
+          this.RaisePropertyChanged("Label");
+        }
+      }
+    }
+
+    public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+
+    protected void RaisePropertyChanged(string propertyName) {
+      System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
+      if ((propertyChanged != null)) {
+        propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
+      }
+    }
+  }
+
+  [System.Diagnostics.DebuggerStepThroughAttribute()]
+  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+  [System.Runtime.Serialization.DataContractAttribute(Name = "SetComparisonFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NameSetComparisonStringFilter))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NameSetComparisonStringAvailableValuesFilter))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.SetComparisonStringFilter))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.SetComparisonStringAvailableValuesFilter))]
+  public partial class SetComparisonFilter : HeuristicLab.Clients.OKB.Filter {
+
+    private HeuristicLab.Clients.OKB.SetComparison ComparisonField;
+
+    [System.Runtime.Serialization.DataMemberAttribute()]
+    public HeuristicLab.Clients.OKB.SetComparison Comparison {
+      get {
+        return this.ComparisonField;
+      }
+      set {
+        if ((this.ComparisonField.Equals(value) != true)) {
+          this.ComparisonField = value;
+          this.RaisePropertyChanged("Comparison");
+        }
+      }
+    }
+  }
+
+  [System.Diagnostics.DebuggerStepThroughAttribute()]
+  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+  [System.Runtime.Serialization.DataContractAttribute(Name = "NameSetComparisonStringFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NameSetComparisonStringAvailableValuesFilter))]
+  public partial class NameSetComparisonStringFilter : HeuristicLab.Clients.OKB.SetComparisonFilter {
+
+    private string NameField;
+
+    private string ValueField;
+
+    [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()]
+    public string Value {
+      get {
+        return this.ValueField;
+      }
+      set {
+        if ((object.ReferenceEquals(this.ValueField, value) != true)) {
+          this.ValueField = value;
+          this.RaisePropertyChanged("Value");
+        }
+      }
+    }
+  }
+
+  [System.Diagnostics.DebuggerStepThroughAttribute()]
+  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+  [System.Runtime.Serialization.DataContractAttribute(Name = "NameSetComparisonStringAvailableValuesFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
+  public partial class NameSetComparisonStringAvailableValuesFilter : HeuristicLab.Clients.OKB.NameSetComparisonStringFilter {
+
+    private System.Collections.Generic.List<string> AvailableValuesField;
+
+    [System.Runtime.Serialization.DataMemberAttribute()]
+    public System.Collections.Generic.List<string> AvailableValues {
+      get {
+        return this.AvailableValuesField;
+      }
+      set {
+        if ((object.ReferenceEquals(this.AvailableValuesField, value) != true)) {
+          this.AvailableValuesField = value;
+          this.RaisePropertyChanged("AvailableValues");
+        }
+      }
+    }
+  }
+
+  [System.Diagnostics.DebuggerStepThroughAttribute()]
+  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+  [System.Runtime.Serialization.DataContractAttribute(Name = "SetComparisonStringFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.SetComparisonStringAvailableValuesFilter))]
+  public partial class SetComparisonStringFilter : HeuristicLab.Clients.OKB.SetComparisonFilter {
+
+    private string ValueField;
+
+    [System.Runtime.Serialization.DataMemberAttribute()]
+    public string Value {
+      get {
+        return this.ValueField;
+      }
+      set {
+        if ((object.ReferenceEquals(this.ValueField, value) != true)) {
+          this.ValueField = value;
+          this.RaisePropertyChanged("Value");
+        }
+      }
+    }
+  }
+
+  [System.Diagnostics.DebuggerStepThroughAttribute()]
+  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+  [System.Runtime.Serialization.DataContractAttribute(Name = "SetComparisonStringAvailableValuesFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
+  public partial class SetComparisonStringAvailableValuesFilter : HeuristicLab.Clients.OKB.SetComparisonStringFilter {
+
+    private System.Collections.Generic.List<string> AvailableValuesField;
+
+    [System.Runtime.Serialization.DataMemberAttribute()]
+    public System.Collections.Generic.List<string> AvailableValues {
+      get {
+        return this.AvailableValuesField;
+      }
+      set {
+        if ((object.ReferenceEquals(this.AvailableValuesField, value) != true)) {
+          this.AvailableValuesField = value;
+          this.RaisePropertyChanged("AvailableValues");
+        }
+      }
+    }
+  }
+
+  [System.Diagnostics.DebuggerStepThroughAttribute()]
+  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+  [System.Runtime.Serialization.DataContractAttribute(Name = "OrdinalComparisonFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.OrdinalComparisonDateTimeFilter))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NameOrdinalComparisonDoubleFilter))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NameOrdinalComparisonLongFilter))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.OrdinalComparisonLongFilter))]
+  public partial class OrdinalComparisonFilter : HeuristicLab.Clients.OKB.Filter {
+
+    private HeuristicLab.Clients.OKB.OrdinalComparison ComparisonField;
+
+    [System.Runtime.Serialization.DataMemberAttribute()]
+    public HeuristicLab.Clients.OKB.OrdinalComparison Comparison {
+      get {
+        return this.ComparisonField;
+      }
+      set {
+        if ((this.ComparisonField.Equals(value) != true)) {
+          this.ComparisonField = value;
+          this.RaisePropertyChanged("Comparison");
+        }
+      }
+    }
+  }
+
+  [System.Diagnostics.DebuggerStepThroughAttribute()]
+  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+  [System.Runtime.Serialization.DataContractAttribute(Name = "OrdinalComparisonDateTimeFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
+  public partial class OrdinalComparisonDateTimeFilter : HeuristicLab.Clients.OKB.OrdinalComparisonFilter {
+
+    private System.DateTime ValueField;
+
+    [System.Runtime.Serialization.DataMemberAttribute()]
+    public System.DateTime Value {
+      get {
+        return this.ValueField;
+      }
+      set {
+        if ((this.ValueField.Equals(value) != true)) {
+          this.ValueField = value;
+          this.RaisePropertyChanged("Value");
+        }
+      }
+    }
+  }
+
+  [System.Diagnostics.DebuggerStepThroughAttribute()]
+  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+  [System.Runtime.Serialization.DataContractAttribute(Name = "NameOrdinalComparisonDoubleFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
+  public partial class NameOrdinalComparisonDoubleFilter : HeuristicLab.Clients.OKB.OrdinalComparisonFilter {
+
+    private string NameField;
+
+    private double ValueField;
+
+    [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()]
+    public double Value {
+      get {
+        return this.ValueField;
+      }
+      set {
+        if ((this.ValueField.Equals(value) != true)) {
+          this.ValueField = value;
+          this.RaisePropertyChanged("Value");
+        }
+      }
+    }
+  }
+
+  [System.Diagnostics.DebuggerStepThroughAttribute()]
+  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+  [System.Runtime.Serialization.DataContractAttribute(Name = "NameOrdinalComparisonLongFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
+  public partial class NameOrdinalComparisonLongFilter : HeuristicLab.Clients.OKB.OrdinalComparisonFilter {
+
+    private string NameField;
+
+    private long ValueField;
+
+    [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()]
+    public long Value {
+      get {
+        return this.ValueField;
+      }
+      set {
+        if ((this.ValueField.Equals(value) != true)) {
+          this.ValueField = value;
+          this.RaisePropertyChanged("Value");
+        }
+      }
+    }
+  }
+
+  [System.Diagnostics.DebuggerStepThroughAttribute()]
+  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+  [System.Runtime.Serialization.DataContractAttribute(Name = "OrdinalComparisonLongFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
+  public partial class OrdinalComparisonLongFilter : HeuristicLab.Clients.OKB.OrdinalComparisonFilter {
+
+    private long ValueField;
+
+    [System.Runtime.Serialization.DataMemberAttribute()]
+    public long Value {
+      get {
+        return this.ValueField;
+      }
+      set {
+        if ((this.ValueField.Equals(value) != true)) {
+          this.ValueField = value;
+          this.RaisePropertyChanged("Value");
+        }
+      }
+    }
+  }
+
+  [System.Diagnostics.DebuggerStepThroughAttribute()]
+  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+  [System.Runtime.Serialization.DataContractAttribute(Name = "CombinedFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.AndFilter))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.OrFilter))]
+  public partial class CombinedFilter : HeuristicLab.Clients.OKB.Filter {
+
+    private System.Collections.Generic.List<HeuristicLab.Clients.OKB.Filter> FiltersField;
+
+    [System.Runtime.Serialization.DataMemberAttribute()]
+    public System.Collections.Generic.List<HeuristicLab.Clients.OKB.Filter> Filters {
+      get {
+        return this.FiltersField;
+      }
+      set {
+        if ((object.ReferenceEquals(this.FiltersField, value) != true)) {
+          this.FiltersField = value;
+          this.RaisePropertyChanged("Filters");
+        }
+      }
+    }
+  }
+
+  [System.Diagnostics.DebuggerStepThroughAttribute()]
+  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+  [System.Runtime.Serialization.DataContractAttribute(Name = "AndFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
+  public partial class AndFilter : HeuristicLab.Clients.OKB.CombinedFilter {
+  }
+
+  [System.Diagnostics.DebuggerStepThroughAttribute()]
+  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+  [System.Runtime.Serialization.DataContractAttribute(Name = "OrFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
+  public partial class OrFilter : HeuristicLab.Clients.OKB.CombinedFilter {
+  }
+
+  [System.Diagnostics.DebuggerStepThroughAttribute()]
+  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+  [System.Runtime.Serialization.DataContractAttribute(Name = "EqualityComparisonFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NameEqualityComparisonBoolFilter))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NameEqualityComparisonByteArrayFilter))]
+  public partial class EqualityComparisonFilter : HeuristicLab.Clients.OKB.Filter {
+
+    private HeuristicLab.Clients.OKB.EqualityComparison ComparisonField;
+
+    [System.Runtime.Serialization.DataMemberAttribute()]
+    public HeuristicLab.Clients.OKB.EqualityComparison Comparison {
+      get {
+        return this.ComparisonField;
+      }
+      set {
+        if ((this.ComparisonField.Equals(value) != true)) {
+          this.ComparisonField = value;
+          this.RaisePropertyChanged("Comparison");
+        }
+      }
+    }
+  }
+
+  [System.Diagnostics.DebuggerStepThroughAttribute()]
+  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+  [System.Runtime.Serialization.DataContractAttribute(Name = "NameEqualityComparisonBoolFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
+  public partial class NameEqualityComparisonBoolFilter : HeuristicLab.Clients.OKB.EqualityComparisonFilter {
+
+    private string NameField;
+
+    private bool ValueField;
+
+    [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()]
+    public bool Value {
+      get {
+        return this.ValueField;
+      }
+      set {
+        if ((this.ValueField.Equals(value) != true)) {
+          this.ValueField = value;
+          this.RaisePropertyChanged("Value");
+        }
+      }
+    }
+  }
+
+  [System.Diagnostics.DebuggerStepThroughAttribute()]
+  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+  [System.Runtime.Serialization.DataContractAttribute(Name = "NameEqualityComparisonByteArrayFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
+  public partial class NameEqualityComparisonByteArrayFilter : HeuristicLab.Clients.OKB.EqualityComparisonFilter {
+
+    private string NameField;
+
+    private byte[] ValueField;
+
+    [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()]
+    public byte[] Value {
+      get {
+        return this.ValueField;
+      }
+      set {
+        if ((object.ReferenceEquals(this.ValueField, value) != true)) {
+          this.ValueField = value;
+          this.RaisePropertyChanged("Value");
+        }
+      }
+    }
+  }
+
+  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+  [System.Runtime.Serialization.DataContractAttribute(Name = "SetComparison", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
+  public enum SetComparison : int {
+
+    [System.Runtime.Serialization.EnumMemberAttribute()]
+    Equal = 0,
+
+    [System.Runtime.Serialization.EnumMemberAttribute()]
+    NotEqual = 1,
+
+    [System.Runtime.Serialization.EnumMemberAttribute()]
+    Contains = 2,
+
+    [System.Runtime.Serialization.EnumMemberAttribute()]
+    NotContains = 3,
+  }
+
+  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+  [System.Runtime.Serialization.DataContractAttribute(Name = "OrdinalComparison", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
+  public enum OrdinalComparison : int {
+
+    [System.Runtime.Serialization.EnumMemberAttribute()]
+    Less = 0,
+
+    [System.Runtime.Serialization.EnumMemberAttribute()]
+    LessOrEqual = 1,
+
+    [System.Runtime.Serialization.EnumMemberAttribute()]
+    Equal = 2,
+
+    [System.Runtime.Serialization.EnumMemberAttribute()]
+    GreaterOrEqual = 3,
+
+    [System.Runtime.Serialization.EnumMemberAttribute()]
+    Greater = 4,
+
+    [System.Runtime.Serialization.EnumMemberAttribute()]
+    NotEqual = 5,
+  }
+
+  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+  [System.Runtime.Serialization.DataContractAttribute(Name = "EqualityComparison", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
+  public enum EqualityComparison : int {
+
+    [System.Runtime.Serialization.EnumMemberAttribute()]
+    Equal = 0,
+
+    [System.Runtime.Serialization.EnumMemberAttribute()]
+    NotEqual = 1,
+  }
+
+  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+  [System.ServiceModel.ServiceContractAttribute(ConfigurationName = "HeuristicLab.Clients.OKB.IAdministrationService")]
+  public interface IAdministrationService {
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/AddResult", ReplyAction = "http://tempuri.org/IAdministrationService/AddResultResponse")]
+    long AddResult(HeuristicLab.Clients.OKB.Result dto);
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/UpdateResult", ReplyAction = "http://tempuri.org/IAdministrationService/UpdateResultResponse")]
+    void UpdateResult(HeuristicLab.Clients.OKB.Result dto);
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/DeleteResult", ReplyAction = "http://tempuri.org/IAdministrationService/DeleteResultResponse")]
+    void DeleteResult(long id);
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/GetExperiment", ReplyAction = "http://tempuri.org/IAdministrationService/GetExperimentResponse")]
+    HeuristicLab.Clients.OKB.Experiment GetExperiment(long id);
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/GetExperiments", ReplyAction = "http://tempuri.org/IAdministrationService/GetExperimentsResponse")]
+    System.Collections.Generic.List<HeuristicLab.Clients.OKB.Experiment> GetExperiments(long algorithmId, long problemId);
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/AddExperiment", ReplyAction = "http://tempuri.org/IAdministrationService/AddExperimentResponse")]
+    long AddExperiment(HeuristicLab.Clients.OKB.Experiment dto);
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/DeleteExperiment", ReplyAction = "http://tempuri.org/IAdministrationService/DeleteExperimentResponse")]
+    void DeleteExperiment(long id);
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/GetRun", ReplyAction = "http://tempuri.org/IAdministrationService/GetRunResponse")]
+    HeuristicLab.Clients.OKB.Run GetRun(long id);
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/GetRuns", ReplyAction = "http://tempuri.org/IAdministrationService/GetRunsResponse")]
+    System.Collections.Generic.List<HeuristicLab.Clients.OKB.Run> GetRuns(long experimentId);
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/AddRun", ReplyAction = "http://tempuri.org/IAdministrationService/AddRunResponse")]
+    long AddRun(HeuristicLab.Clients.OKB.Run dto);
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/DeleteRun", ReplyAction = "http://tempuri.org/IAdministrationService/DeleteRunResponse")]
+    void DeleteRun(long id);
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/GetAlgorithmParameters", ReplyAction = "http://tempuri.org/IAdministrationService/GetAlgorithmParametersResponse")]
+    System.Collections.Generic.List<HeuristicLab.Clients.OKB.AlgorithmParameter> GetAlgorithmParameters(long algorithmId);
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/AddAlgorithmParameter", ReplyAction = "http://tempuri.org/IAdministrationService/AddAlgorithmParameterResponse")]
+    long AddAlgorithmParameter(HeuristicLab.Clients.OKB.AlgorithmParameter dto);
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/UpdateAlgorithmParameter", ReplyAction = "http://tempuri.org/IAdministrationService/UpdateAlgorithmParameterResponse")]
+    void UpdateAlgorithmParameter(HeuristicLab.Clients.OKB.AlgorithmParameter dto);
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/DeleteAlgorithmParameter", ReplyAction = "http://tempuri.org/IAdministrationService/DeleteAlgorithmParameterResponse")]
+    void DeleteAlgorithmParameter(long id);
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/GetProblemClass", ReplyAction = "http://tempuri.org/IAdministrationService/GetProblemClassResponse")]
+    HeuristicLab.Clients.OKB.ProblemClass GetProblemClass(long id);
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/GetProblemClasses", ReplyAction = "http://tempuri.org/IAdministrationService/GetProblemClassesResponse")]
+    System.Collections.Generic.List<HeuristicLab.Clients.OKB.ProblemClass> GetProblemClasses();
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/AddProblemClass", ReplyAction = "http://tempuri.org/IAdministrationService/AddProblemClassResponse")]
+    long AddProblemClass(HeuristicLab.Clients.OKB.ProblemClass dto);
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/UpdateProblemClass", ReplyAction = "http://tempuri.org/IAdministrationService/UpdateProblemClassResponse")]
+    void UpdateProblemClass(HeuristicLab.Clients.OKB.ProblemClass dto);
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/DeleteProblemClass", ReplyAction = "http://tempuri.org/IAdministrationService/DeleteProblemClassResponse")]
+    void DeleteProblemClass(long id);
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/GetProblem", ReplyAction = "http://tempuri.org/IAdministrationService/GetProblemResponse")]
+    HeuristicLab.Clients.OKB.Problem GetProblem(long id);
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/GetProblems", ReplyAction = "http://tempuri.org/IAdministrationService/GetProblemsResponse")]
+    System.Collections.Generic.List<HeuristicLab.Clients.OKB.Problem> GetProblems();
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/AddProblem", ReplyAction = "http://tempuri.org/IAdministrationService/AddProblemResponse")]
+    long AddProblem(HeuristicLab.Clients.OKB.Problem dto);
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/UpdateProblem", ReplyAction = "http://tempuri.org/IAdministrationService/UpdateProblemResponse")]
+    void UpdateProblem(HeuristicLab.Clients.OKB.Problem dto);
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/DeleteProblem", ReplyAction = "http://tempuri.org/IAdministrationService/DeleteProblemResponse")]
+    void DeleteProblem(long id);
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/GetProblemUsers", ReplyAction = "http://tempuri.org/IAdministrationService/GetProblemUsersResponse")]
+    System.Collections.Generic.List<System.Guid> GetProblemUsers(long problemId);
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/UpdateProblemUsers", ReplyAction = "http://tempuri.org/IAdministrationService/UpdateProblemUsersResponse")]
+    void UpdateProblemUsers(long problemId, System.Collections.Generic.List<System.Guid> users);
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/GetProblemData", ReplyAction = "http://tempuri.org/IAdministrationService/GetProblemDataResponse")]
+    HeuristicLab.Clients.OKB.ProblemData GetProblemData(long problemId);
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/UpdateProblemData", ReplyAction = "http://tempuri.org/IAdministrationService/UpdateProblemDataResponse")]
+    void UpdateProblemData(HeuristicLab.Clients.OKB.ProblemData dto);
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/GetProblemParameter", ReplyAction = "http://tempuri.org/IAdministrationService/GetProblemParameterResponse")]
+    HeuristicLab.Clients.OKB.ProblemParameter GetProblemParameter(long id);
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/GetProblemParameters", ReplyAction = "http://tempuri.org/IAdministrationService/GetProblemParametersResponse")]
+    System.Collections.Generic.List<HeuristicLab.Clients.OKB.ProblemParameter> GetProblemParameters(long problemId);
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/AddProblemParameter", ReplyAction = "http://tempuri.org/IAdministrationService/AddProblemParameterResponse")]
+    long AddProblemParameter(HeuristicLab.Clients.OKB.ProblemParameter dto);
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/UpdateProblemParameter", ReplyAction = "http://tempuri.org/IAdministrationService/UpdateProblemParameterResponse")]
+    void UpdateProblemParameter(HeuristicLab.Clients.OKB.ProblemParameter dto);
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/DeleteProblemParameter", ReplyAction = "http://tempuri.org/IAdministrationService/DeleteProblemParameterResponse")]
+    void DeleteProblemParameter(long id);
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/GetResult", ReplyAction = "http://tempuri.org/IAdministrationService/GetResultResponse")]
+    HeuristicLab.Clients.OKB.Result GetResult(long id);
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/GetResults", ReplyAction = "http://tempuri.org/IAdministrationService/GetResultsResponse")]
+    System.Collections.Generic.List<HeuristicLab.Clients.OKB.Result> GetResults(long algorithmId);
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/GetPlatform", ReplyAction = "http://tempuri.org/IAdministrationService/GetPlatformResponse")]
+    HeuristicLab.Clients.OKB.Platform GetPlatform(long id);
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/GetPlatforms", ReplyAction = "http://tempuri.org/IAdministrationService/GetPlatformsResponse")]
+    System.Collections.Generic.List<HeuristicLab.Clients.OKB.Platform> GetPlatforms();
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/AddPlatform", ReplyAction = "http://tempuri.org/IAdministrationService/AddPlatformResponse")]
+    long AddPlatform(HeuristicLab.Clients.OKB.Platform dto);
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/UpdatePlatform", ReplyAction = "http://tempuri.org/IAdministrationService/UpdatePlatformResponse")]
+    void UpdatePlatform(HeuristicLab.Clients.OKB.Platform dto);
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/DeletePlatform", ReplyAction = "http://tempuri.org/IAdministrationService/DeletePlatformResponse")]
+    void DeletePlatform(long id);
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/GetDataType", ReplyAction = "http://tempuri.org/IAdministrationService/GetDataTypeResponse")]
+    HeuristicLab.Clients.OKB.DataType GetDataType(long id);
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/GetDataTypes", ReplyAction = "http://tempuri.org/IAdministrationService/GetDataTypesResponse")]
+    System.Collections.Generic.List<HeuristicLab.Clients.OKB.DataType> GetDataTypes();
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/AddDataType", ReplyAction = "http://tempuri.org/IAdministrationService/AddDataTypeResponse")]
+    long AddDataType(HeuristicLab.Clients.OKB.DataType dto);
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/UpdateDataType", ReplyAction = "http://tempuri.org/IAdministrationService/UpdateDataTypeResponse")]
+    void UpdateDataType(HeuristicLab.Clients.OKB.DataType dto);
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/DeleteDataType", ReplyAction = "http://tempuri.org/IAdministrationService/DeleteDataTypeResponse")]
+    void DeleteDataType(long id);
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/GetAlgorithmClass", ReplyAction = "http://tempuri.org/IAdministrationService/GetAlgorithmClassResponse")]
+    HeuristicLab.Clients.OKB.AlgorithmClass GetAlgorithmClass(long id);
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/GetAlgorithmClasses", ReplyAction = "http://tempuri.org/IAdministrationService/GetAlgorithmClassesResponse")]
+    System.Collections.Generic.List<HeuristicLab.Clients.OKB.AlgorithmClass> GetAlgorithmClasses();
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/AddAlgorithmClass", ReplyAction = "http://tempuri.org/IAdministrationService/AddAlgorithmClassResponse")]
+    long AddAlgorithmClass(HeuristicLab.Clients.OKB.AlgorithmClass dto);
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/UpdateAlgorithmClass", ReplyAction = "http://tempuri.org/IAdministrationService/UpdateAlgorithmClassResponse")]
+    void UpdateAlgorithmClass(HeuristicLab.Clients.OKB.AlgorithmClass dto);
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/DeleteAlgorithmClass", ReplyAction = "http://tempuri.org/IAdministrationService/DeleteAlgorithmClassResponse")]
+    void DeleteAlgorithmClass(long id);
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/GetAlgorithm", ReplyAction = "http://tempuri.org/IAdministrationService/GetAlgorithmResponse")]
+    HeuristicLab.Clients.OKB.Algorithm GetAlgorithm(long id);
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/GetAlgorithms", ReplyAction = "http://tempuri.org/IAdministrationService/GetAlgorithmsResponse")]
+    System.Collections.Generic.List<HeuristicLab.Clients.OKB.Algorithm> GetAlgorithms();
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/AddAlgorithm", ReplyAction = "http://tempuri.org/IAdministrationService/AddAlgorithmResponse")]
+    long AddAlgorithm(HeuristicLab.Clients.OKB.Algorithm dto);
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/UpdateAlgorithm", ReplyAction = "http://tempuri.org/IAdministrationService/UpdateAlgorithmResponse")]
+    void UpdateAlgorithm(HeuristicLab.Clients.OKB.Algorithm dto);
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/DeleteAlgorithm", ReplyAction = "http://tempuri.org/IAdministrationService/DeleteAlgorithmResponse")]
+    void DeleteAlgorithm(long id);
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/GetAlgorithmUsers", ReplyAction = "http://tempuri.org/IAdministrationService/GetAlgorithmUsersResponse")]
+    System.Collections.Generic.List<System.Guid> GetAlgorithmUsers(long algorithmId);
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/UpdateAlgorithmUsers", ReplyAction = "http://tempuri.org/IAdministrationService/UpdateAlgorithmUsersResponse")]
+    void UpdateAlgorithmUsers(long algorithmId, System.Collections.Generic.List<System.Guid> users);
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/GetAlgorithmData", ReplyAction = "http://tempuri.org/IAdministrationService/GetAlgorithmDataResponse")]
+    HeuristicLab.Clients.OKB.AlgorithmData GetAlgorithmData(long algorithmId);
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/UpdateAlgorithmData", ReplyAction = "http://tempuri.org/IAdministrationService/UpdateAlgorithmDataResponse")]
+    void UpdateAlgorithmData(HeuristicLab.Clients.OKB.AlgorithmData dto);
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/GetAlgorithmParameter", ReplyAction = "http://tempuri.org/IAdministrationService/GetAlgorithmParameterResponse")]
+    HeuristicLab.Clients.OKB.AlgorithmParameter GetAlgorithmParameter(long id);
+  }
+
+  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+  public interface IAdministrationServiceChannel : HeuristicLab.Clients.OKB.IAdministrationService, System.ServiceModel.IClientChannel {
+  }
+
+  [System.Diagnostics.DebuggerStepThroughAttribute()]
+  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+  public partial class AdministrationServiceClient : System.ServiceModel.ClientBase<HeuristicLab.Clients.OKB.IAdministrationService>, HeuristicLab.Clients.OKB.IAdministrationService {
+
+    public AdministrationServiceClient() {
+    }
+
+    public AdministrationServiceClient(string endpointConfigurationName) :
+      base(endpointConfigurationName) {
+    }
+
+    public AdministrationServiceClient(string endpointConfigurationName, string remoteAddress) :
+      base(endpointConfigurationName, remoteAddress) {
+    }
+
+    public AdministrationServiceClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) :
+      base(endpointConfigurationName, remoteAddress) {
+    }
+
+    public AdministrationServiceClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) :
+      base(binding, remoteAddress) {
+    }
+
+    public long AddResult(HeuristicLab.Clients.OKB.Result dto) {
+      return base.Channel.AddResult(dto);
+    }
+
+    public void UpdateResult(HeuristicLab.Clients.OKB.Result dto) {
+      base.Channel.UpdateResult(dto);
+    }
+
+    public void DeleteResult(long id) {
+      base.Channel.DeleteResult(id);
+    }
+
+    public HeuristicLab.Clients.OKB.Experiment GetExperiment(long id) {
+      return base.Channel.GetExperiment(id);
+    }
+
+    public System.Collections.Generic.List<HeuristicLab.Clients.OKB.Experiment> GetExperiments(long algorithmId, long problemId) {
+      return base.Channel.GetExperiments(algorithmId, problemId);
+    }
+
+    public long AddExperiment(HeuristicLab.Clients.OKB.Experiment dto) {
+      return base.Channel.AddExperiment(dto);
+    }
+
+    public void DeleteExperiment(long id) {
+      base.Channel.DeleteExperiment(id);
+    }
+
+    public HeuristicLab.Clients.OKB.Run GetRun(long id) {
+      return base.Channel.GetRun(id);
+    }
+
+    public System.Collections.Generic.List<HeuristicLab.Clients.OKB.Run> GetRuns(long experimentId) {
+      return base.Channel.GetRuns(experimentId);
+    }
+
+    public long AddRun(HeuristicLab.Clients.OKB.Run dto) {
+      return base.Channel.AddRun(dto);
+    }
+
+    public void DeleteRun(long id) {
+      base.Channel.DeleteRun(id);
+    }
+
+    public System.Collections.Generic.List<HeuristicLab.Clients.OKB.AlgorithmParameter> GetAlgorithmParameters(long algorithmId) {
+      return base.Channel.GetAlgorithmParameters(algorithmId);
+    }
+
+    public long AddAlgorithmParameter(HeuristicLab.Clients.OKB.AlgorithmParameter dto) {
+      return base.Channel.AddAlgorithmParameter(dto);
+    }
+
+    public void UpdateAlgorithmParameter(HeuristicLab.Clients.OKB.AlgorithmParameter dto) {
+      base.Channel.UpdateAlgorithmParameter(dto);
+    }
+
+    public void DeleteAlgorithmParameter(long id) {
+      base.Channel.DeleteAlgorithmParameter(id);
+    }
+
+    public HeuristicLab.Clients.OKB.ProblemClass GetProblemClass(long id) {
+      return base.Channel.GetProblemClass(id);
+    }
+
+    public System.Collections.Generic.List<HeuristicLab.Clients.OKB.ProblemClass> GetProblemClasses() {
+      return base.Channel.GetProblemClasses();
+    }
+
+    public long AddProblemClass(HeuristicLab.Clients.OKB.ProblemClass dto) {
+      return base.Channel.AddProblemClass(dto);
+    }
+
+    public void UpdateProblemClass(HeuristicLab.Clients.OKB.ProblemClass dto) {
+      base.Channel.UpdateProblemClass(dto);
+    }
+
+    public void DeleteProblemClass(long id) {
+      base.Channel.DeleteProblemClass(id);
+    }
+
+    public HeuristicLab.Clients.OKB.Problem GetProblem(long id) {
+      return base.Channel.GetProblem(id);
+    }
+
+    public System.Collections.Generic.List<HeuristicLab.Clients.OKB.Problem> GetProblems() {
+      return base.Channel.GetProblems();
+    }
+
+    public long AddProblem(HeuristicLab.Clients.OKB.Problem dto) {
+      return base.Channel.AddProblem(dto);
+    }
+
+    public void UpdateProblem(HeuristicLab.Clients.OKB.Problem dto) {
+      base.Channel.UpdateProblem(dto);
+    }
+
+    public void DeleteProblem(long id) {
+      base.Channel.DeleteProblem(id);
+    }
+
+    public System.Collections.Generic.List<System.Guid> GetProblemUsers(long problemId) {
+      return base.Channel.GetProblemUsers(problemId);
+    }
+
+    public void UpdateProblemUsers(long problemId, System.Collections.Generic.List<System.Guid> users) {
+      base.Channel.UpdateProblemUsers(problemId, users);
+    }
+
+    public HeuristicLab.Clients.OKB.ProblemData GetProblemData(long problemId) {
+      return base.Channel.GetProblemData(problemId);
+    }
+
+    public void UpdateProblemData(HeuristicLab.Clients.OKB.ProblemData dto) {
+      base.Channel.UpdateProblemData(dto);
+    }
+
+    public HeuristicLab.Clients.OKB.ProblemParameter GetProblemParameter(long id) {
+      return base.Channel.GetProblemParameter(id);
+    }
+
+    public System.Collections.Generic.List<HeuristicLab.Clients.OKB.ProblemParameter> GetProblemParameters(long problemId) {
+      return base.Channel.GetProblemParameters(problemId);
+    }
+
+    public long AddProblemParameter(HeuristicLab.Clients.OKB.ProblemParameter dto) {
+      return base.Channel.AddProblemParameter(dto);
+    }
+
+    public void UpdateProblemParameter(HeuristicLab.Clients.OKB.ProblemParameter dto) {
+      base.Channel.UpdateProblemParameter(dto);
+    }
+
+    public void DeleteProblemParameter(long id) {
+      base.Channel.DeleteProblemParameter(id);
+    }
+
+    public HeuristicLab.Clients.OKB.Result GetResult(long id) {
+      return base.Channel.GetResult(id);
+    }
+
+    public System.Collections.Generic.List<HeuristicLab.Clients.OKB.Result> GetResults(long algorithmId) {
+      return base.Channel.GetResults(algorithmId);
+    }
+
+    public HeuristicLab.Clients.OKB.Platform GetPlatform(long id) {
+      return base.Channel.GetPlatform(id);
+    }
+
+    public System.Collections.Generic.List<HeuristicLab.Clients.OKB.Platform> GetPlatforms() {
+      return base.Channel.GetPlatforms();
+    }
+
+    public long AddPlatform(HeuristicLab.Clients.OKB.Platform dto) {
+      return base.Channel.AddPlatform(dto);
+    }
+
+    public void UpdatePlatform(HeuristicLab.Clients.OKB.Platform dto) {
+      base.Channel.UpdatePlatform(dto);
+    }
+
+    public void DeletePlatform(long id) {
+      base.Channel.DeletePlatform(id);
+    }
+
+    public HeuristicLab.Clients.OKB.DataType GetDataType(long id) {
+      return base.Channel.GetDataType(id);
+    }
+
+    public System.Collections.Generic.List<HeuristicLab.Clients.OKB.DataType> GetDataTypes() {
+      return base.Channel.GetDataTypes();
+    }
+
+    public long AddDataType(HeuristicLab.Clients.OKB.DataType dto) {
+      return base.Channel.AddDataType(dto);
+    }
+
+    public void UpdateDataType(HeuristicLab.Clients.OKB.DataType dto) {
+      base.Channel.UpdateDataType(dto);
+    }
+
+    public void DeleteDataType(long id) {
+      base.Channel.DeleteDataType(id);
+    }
+
+    public HeuristicLab.Clients.OKB.AlgorithmClass GetAlgorithmClass(long id) {
+      return base.Channel.GetAlgorithmClass(id);
+    }
+
+    public System.Collections.Generic.List<HeuristicLab.Clients.OKB.AlgorithmClass> GetAlgorithmClasses() {
+      return base.Channel.GetAlgorithmClasses();
+    }
+
+    public long AddAlgorithmClass(HeuristicLab.Clients.OKB.AlgorithmClass dto) {
+      return base.Channel.AddAlgorithmClass(dto);
+    }
+
+    public void UpdateAlgorithmClass(HeuristicLab.Clients.OKB.AlgorithmClass dto) {
+      base.Channel.UpdateAlgorithmClass(dto);
+    }
+
+    public void DeleteAlgorithmClass(long id) {
+      base.Channel.DeleteAlgorithmClass(id);
+    }
+
+    public HeuristicLab.Clients.OKB.Algorithm GetAlgorithm(long id) {
+      return base.Channel.GetAlgorithm(id);
+    }
+
+    public System.Collections.Generic.List<HeuristicLab.Clients.OKB.Algorithm> GetAlgorithms() {
+      return base.Channel.GetAlgorithms();
+    }
+
+    public long AddAlgorithm(HeuristicLab.Clients.OKB.Algorithm dto) {
+      return base.Channel.AddAlgorithm(dto);
+    }
+
+    public void UpdateAlgorithm(HeuristicLab.Clients.OKB.Algorithm dto) {
+      base.Channel.UpdateAlgorithm(dto);
+    }
+
+    public void DeleteAlgorithm(long id) {
+      base.Channel.DeleteAlgorithm(id);
+    }
+
+    public System.Collections.Generic.List<System.Guid> GetAlgorithmUsers(long algorithmId) {
+      return base.Channel.GetAlgorithmUsers(algorithmId);
+    }
+
+    public void UpdateAlgorithmUsers(long algorithmId, System.Collections.Generic.List<System.Guid> users) {
+      base.Channel.UpdateAlgorithmUsers(algorithmId, users);
+    }
+
+    public HeuristicLab.Clients.OKB.AlgorithmData GetAlgorithmData(long algorithmId) {
+      return base.Channel.GetAlgorithmData(algorithmId);
+    }
+
+    public void UpdateAlgorithmData(HeuristicLab.Clients.OKB.AlgorithmData dto) {
+      base.Channel.UpdateAlgorithmData(dto);
+    }
+
+    public HeuristicLab.Clients.OKB.AlgorithmParameter GetAlgorithmParameter(long id) {
+      return base.Channel.GetAlgorithmParameter(id);
+    }
+  }
+
+  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+  [System.ServiceModel.ServiceContractAttribute(ConfigurationName = "HeuristicLab.Clients.OKB.IQueryService")]
+  public interface IQueryService {
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IQueryService/GetFilters", ReplyAction = "http://tempuri.org/IQueryService/GetFiltersResponse")]
+    System.Collections.Generic.List<HeuristicLab.Clients.OKB.Filter> GetFilters();
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IQueryService/QueryNumberOfRuns", ReplyAction = "http://tempuri.org/IQueryService/QueryNumberOfRunsResponse")]
+    long QueryNumberOfRuns(HeuristicLab.Clients.OKB.Filter filter);
+
+    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IQueryService/QueryRuns", ReplyAction = "http://tempuri.org/IQueryService/QueryRunsResponse")]
+    System.Collections.Generic.List<HeuristicLab.Clients.OKB.Run> QueryRuns(HeuristicLab.Clients.OKB.Filter filter);
+  }
+
+  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+  public interface IQueryServiceChannel : HeuristicLab.Clients.OKB.IQueryService, System.ServiceModel.IClientChannel {
+  }
+
+  [System.Diagnostics.DebuggerStepThroughAttribute()]
+  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+  public partial class QueryServiceClient : System.ServiceModel.ClientBase<HeuristicLab.Clients.OKB.IQueryService>, HeuristicLab.Clients.OKB.IQueryService {
+
+    public QueryServiceClient() {
+    }
+
+    public QueryServiceClient(string endpointConfigurationName) :
+      base(endpointConfigurationName) {
+    }
+
+    public QueryServiceClient(string endpointConfigurationName, string remoteAddress) :
+      base(endpointConfigurationName, remoteAddress) {
+    }
+
+    public QueryServiceClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) :
+      base(endpointConfigurationName, remoteAddress) {
+    }
+
+    public QueryServiceClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) :
+      base(binding, remoteAddress) {
+    }
+
+    public System.Collections.Generic.List<HeuristicLab.Clients.OKB.Filter> GetFilters() {
+      return base.Channel.GetFilters();
+    }
+
+    public long QueryNumberOfRuns(HeuristicLab.Clients.OKB.Filter filter) {
+      return base.Channel.QueryNumberOfRuns(filter);
+    }
+
+    public System.Collections.Generic.List<HeuristicLab.Clients.OKB.Run> QueryRuns(HeuristicLab.Clients.OKB.Filter filter) {
+      return base.Channel.QueryRuns(filter);
+    }
+  }
+}
