Index: branches/OKB/HeuristicLab.Clients.OKB-3.3/ServiceClients/OKBServiceClient.cs
===================================================================
--- branches/OKB/HeuristicLab.Clients.OKB-3.3/ServiceClients/OKBServiceClient.cs	(revision 5269)
+++ branches/OKB/HeuristicLab.Clients.OKB-3.3/ServiceClients/OKBServiceClient.cs	(revision 5286)
@@ -65,9 +65,9 @@
     private long AlgorithmIdField;
 
-    private HeuristicLab.Clients.OKB.AlgorithmParameterValue[] AlgorithmParameterValuesField;
+    private System.Collections.Generic.List<HeuristicLab.Clients.OKB.AlgorithmParameterValue> AlgorithmParameterValuesField;
 
     private long ProblemIdField;
 
-    private HeuristicLab.Clients.OKB.ProblemParameterValue[] ProblemParameterValuesField;
+    private System.Collections.Generic.List<HeuristicLab.Clients.OKB.ProblemParameterValue> ProblemParameterValuesField;
 
     [System.Runtime.Serialization.DataMemberAttribute()]
@@ -85,5 +85,5 @@
 
     [System.Runtime.Serialization.DataMemberAttribute()]
-    public HeuristicLab.Clients.OKB.AlgorithmParameterValue[] AlgorithmParameterValues {
+    public System.Collections.Generic.List<HeuristicLab.Clients.OKB.AlgorithmParameterValue> AlgorithmParameterValues {
       get {
         return this.AlgorithmParameterValuesField;
@@ -111,5 +111,5 @@
 
     [System.Runtime.Serialization.DataMemberAttribute()]
-    public HeuristicLab.Clients.OKB.ProblemParameterValue[] ProblemParameterValues {
+    public System.Collections.Generic.List<HeuristicLab.Clients.OKB.ProblemParameterValue> ProblemParameterValues {
       get {
         return this.ProblemParameterValuesField;
@@ -137,5 +137,5 @@
     private int RandomSeedField;
 
-    private HeuristicLab.Clients.OKB.ResultValue[] ResultValuesField;
+    private System.Collections.Generic.List<HeuristicLab.Clients.OKB.ResultValue> ResultValuesField;
 
     private System.Guid UserIdField;
@@ -194,5 +194,5 @@
 
     [System.Runtime.Serialization.DataMemberAttribute()]
-    public HeuristicLab.Clients.OKB.ResultValue[] ResultValues {
+    public System.Collections.Generic.List<HeuristicLab.Clients.OKB.ResultValue> ResultValues {
       get {
         return this.ResultValuesField;
@@ -561,9 +561,9 @@
   [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.AlgorithmParameterIntValue))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.AlgorithmParameterStringValue))]
   [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.AlgorithmParameterBlobValue))]
   [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.AlgorithmParameterBoolValue))]
-  [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 {
 
@@ -637,9 +637,9 @@
   [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.ProblemParameterFloatValue))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ProblemParameterStringValue))]
   [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ProblemParameterIntValue))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ProblemParameterFloatValue))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ProblemParameterBlobValue))]
   [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ProblemParameterBoolValue))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ProblemParameterStringValue))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ProblemParameterBlobValue))]
   public partial class ProblemParameterValue : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
 
@@ -712,4 +712,88 @@
   [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 = "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 = "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 = "AlgorithmParameterIntValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
   public partial class AlgorithmParameterIntValue : HeuristicLab.Clients.OKB.AlgorithmParameterValue {
@@ -733,11 +817,32 @@
   [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 {
+  [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;
@@ -745,67 +850,4 @@
       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 = "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 = "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");
@@ -838,16 +880,16 @@
   [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)) {
+  [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");
@@ -880,52 +922,10 @@
   [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 = "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 = "ResultValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ResultIntValue))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ResultStringValue))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ResultBlobValue))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ResultFloatValue))]
   [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ResultBoolValue))]
-  [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))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ResultIntValue))]
   public partial class ResultValue : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
 
@@ -998,4 +998,88 @@
   [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 = "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 = "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 = "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 = "ResultBoolValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
   public partial class ResultBoolValue : HeuristicLab.Clients.OKB.ResultValue {
@@ -1019,101 +1103,22 @@
   [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 = "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.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.OrdinalComparisonIntFilter))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.OrdinalComparisonLongFilter))]
   [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NameOrdinalComparisonLongFilter))]
   [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.OrdinalComparisonDateTimeFilter))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.OrdinalComparisonIntFilter))]
   [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NameOrdinalComparisonDoubleFilter))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.OrdinalComparisonLongFilter))]
   [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.SetComparisonFilter))]
   [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.NameSetComparisonStringFilter))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NameSetComparisonStringAvailableValuesFilter))]
+  [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 {
 
@@ -1171,13 +1176,16 @@
   [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 {
+  [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.OrdinalComparisonLongFilter))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NameOrdinalComparisonLongFilter))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.OrdinalComparisonDateTimeFilter))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.OrdinalComparisonIntFilter))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NameOrdinalComparisonDoubleFilter))]
+  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;
@@ -1194,10 +1202,31 @@
   [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 {
+  [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 = "NameOrdinalComparisonLongFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
+  public partial class NameOrdinalComparisonLongFilter : HeuristicLab.Clients.OKB.OrdinalComparisonFilter {
 
     private string NameField;
 
-    private byte[] ValueField;
+    private long ValueField;
 
     [System.Runtime.Serialization.DataMemberAttribute()]
@@ -1215,25 +1244,67 @@
 
     [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 {
+    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 = "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 = "OrdinalComparisonIntFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
+  public partial class OrdinalComparisonIntFilter : HeuristicLab.Clients.OKB.OrdinalComparisonFilter {
+
+    private int ValueField;
+
+    [System.Runtime.Serialization.DataMemberAttribute()]
+    public int 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 bool ValueField;
+    private double ValueField;
 
     [System.Runtime.Serialization.DataMemberAttribute()]
@@ -1251,5 +1322,5 @@
 
     [System.Runtime.Serialization.DataMemberAttribute()]
-    public bool Value {
+    public double Value {
       get {
         return this.ValueField;
@@ -1266,16 +1337,15 @@
   [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.OrdinalComparisonIntFilter))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NameOrdinalComparisonLongFilter))]
-  [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.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 {
+  [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.SetComparisonStringFilter))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.SetComparisonStringAvailableValuesFilter))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NameSetComparisonStringFilter))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NameSetComparisonStringAvailableValuesFilter))]
+  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;
@@ -1292,31 +1362,54 @@
   [System.Diagnostics.DebuggerStepThroughAttribute()]
   [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "OrdinalComparisonIntFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
-  public partial class OrdinalComparisonIntFilter : HeuristicLab.Clients.OKB.OrdinalComparisonFilter {
-
-    private int ValueField;
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public int 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 {
+  [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 = "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 long ValueField;
+    private string ValueField;
 
     [System.Runtime.Serialization.DataMemberAttribute()]
@@ -1334,46 +1427,104 @@
 
     [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 = "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 {
+    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 = "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 double ValueField;
+    private bool ValueField;
 
     [System.Runtime.Serialization.DataMemberAttribute()]
@@ -1391,5 +1542,5 @@
 
     [System.Runtime.Serialization.DataMemberAttribute()]
-    public double Value {
+    public bool Value {
       get {
         return this.ValueField;
@@ -1406,75 +1557,10 @@
   [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 = "SetComparisonFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.SetComparisonStringFilter))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NameSetComparisonStringFilter))]
-  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 = "SetComparisonStringFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
-  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 = "NameSetComparisonStringFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
-  public partial class NameSetComparisonStringFilter : HeuristicLab.Clients.OKB.SetComparisonFilter {
+  [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 string ValueField;
+    private byte[] ValueField;
 
     [System.Runtime.Serialization.DataMemberAttribute()]
@@ -1492,5 +1578,5 @@
 
     [System.Runtime.Serialization.DataMemberAttribute()]
-    public string Value {
+    public byte[] Value {
       get {
         return this.ValueField;
@@ -1503,4 +1589,44 @@
       }
     }
+  }
+
+  [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 = "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,
   }
 
@@ -1514,44 +1640,4 @@
     [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.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,
   }
 
@@ -1715,5 +1801,5 @@
 
     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/GetExperiments", ReplyAction = "http://tempuri.org/IOKBService/GetExperimentsResponse")]
-    HeuristicLab.Clients.OKB.Experiment[] GetExperiments(long algorithmId, long problemId);
+    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")]
@@ -1727,5 +1813,5 @@
 
     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/GetRuns", ReplyAction = "http://tempuri.org/IOKBService/GetRunsResponse")]
-    HeuristicLab.Clients.OKB.Run[] GetRuns(long experimentId);
+    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")]
@@ -1736,11 +1822,11 @@
 
     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/GetFilters", ReplyAction = "http://tempuri.org/IOKBService/GetFiltersResponse")]
-    HeuristicLab.Clients.OKB.Filter[] GetFilters();
+    System.Collections.Generic.List<HeuristicLab.Clients.OKB.Filter> GetFilters();
 
     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/QueryRuns", ReplyAction = "http://tempuri.org/IOKBService/QueryRunsResponse")]
-    HeuristicLab.Clients.OKB.Run[] QueryRuns(HeuristicLab.Clients.OKB.Filter[] filters);
+    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")]
-    HeuristicLab.Clients.OKB.AlgorithmParameter[] GetAlgorithmParameters(long algorithmId);
+    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")]
@@ -1757,5 +1843,5 @@
 
     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/GetProblemClasses", ReplyAction = "http://tempuri.org/IOKBService/GetProblemClassesResponse")]
-    HeuristicLab.Clients.OKB.ProblemClass[] GetProblemClasses();
+    System.Collections.Generic.List<HeuristicLab.Clients.OKB.ProblemClass> GetProblemClasses();
 
     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/AddProblemClass", ReplyAction = "http://tempuri.org/IOKBService/AddProblemClassResponse")]
@@ -1772,5 +1858,5 @@
 
     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/GetProblems", ReplyAction = "http://tempuri.org/IOKBService/GetProblemsResponse")]
-    HeuristicLab.Clients.OKB.Problem[] GetProblems();
+    System.Collections.Generic.List<HeuristicLab.Clients.OKB.Problem> GetProblems();
 
     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/AddProblem", ReplyAction = "http://tempuri.org/IOKBService/AddProblemResponse")]
@@ -1784,8 +1870,8 @@
 
     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/GetProblemUsers", ReplyAction = "http://tempuri.org/IOKBService/GetProblemUsersResponse")]
-    System.Guid[] GetProblemUsers(long problemId);
+    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.Guid[] users);
+    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")]
@@ -1799,5 +1885,5 @@
 
     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/GetProblemParameters", ReplyAction = "http://tempuri.org/IOKBService/GetProblemParametersResponse")]
-    HeuristicLab.Clients.OKB.ProblemParameter[] GetProblemParameters(long problemId);
+    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")]
@@ -1814,5 +1900,5 @@
 
     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/GetResults", ReplyAction = "http://tempuri.org/IOKBService/GetResultsResponse")]
-    HeuristicLab.Clients.OKB.Result[] GetResults(long algorithmId);
+    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")]
@@ -1820,5 +1906,5 @@
 
     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/GetPlatforms", ReplyAction = "http://tempuri.org/IOKBService/GetPlatformsResponse")]
-    HeuristicLab.Clients.OKB.Platform[] GetPlatforms();
+    System.Collections.Generic.List<HeuristicLab.Clients.OKB.Platform> GetPlatforms();
 
     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/AddPlatform", ReplyAction = "http://tempuri.org/IOKBService/AddPlatformResponse")]
@@ -1835,5 +1921,5 @@
 
     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/GetDataTypes", ReplyAction = "http://tempuri.org/IOKBService/GetDataTypesResponse")]
-    HeuristicLab.Clients.OKB.DataType[] GetDataTypes();
+    System.Collections.Generic.List<HeuristicLab.Clients.OKB.DataType> GetDataTypes();
 
     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/AddDataType", ReplyAction = "http://tempuri.org/IOKBService/AddDataTypeResponse")]
@@ -1850,5 +1936,5 @@
 
     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/GetAlgorithmClasses", ReplyAction = "http://tempuri.org/IOKBService/GetAlgorithmClassesResponse")]
-    HeuristicLab.Clients.OKB.AlgorithmClass[] GetAlgorithmClasses();
+    System.Collections.Generic.List<HeuristicLab.Clients.OKB.AlgorithmClass> GetAlgorithmClasses();
 
     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/AddAlgorithmClass", ReplyAction = "http://tempuri.org/IOKBService/AddAlgorithmClassResponse")]
@@ -1865,5 +1951,5 @@
 
     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/GetAlgorithms", ReplyAction = "http://tempuri.org/IOKBService/GetAlgorithmsResponse")]
-    HeuristicLab.Clients.OKB.Algorithm[] GetAlgorithms();
+    System.Collections.Generic.List<HeuristicLab.Clients.OKB.Algorithm> GetAlgorithms();
 
     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/AddAlgorithm", ReplyAction = "http://tempuri.org/IOKBService/AddAlgorithmResponse")]
@@ -1877,8 +1963,8 @@
 
     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/GetAlgorithmUsers", ReplyAction = "http://tempuri.org/IOKBService/GetAlgorithmUsersResponse")]
-    System.Guid[] GetAlgorithmUsers(long algorithmId);
+    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.Guid[] users);
+    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")]
@@ -1935,5 +2021,5 @@
     }
 
-    public HeuristicLab.Clients.OKB.Experiment[] GetExperiments(long algorithmId, long problemId) {
+    public System.Collections.Generic.List<HeuristicLab.Clients.OKB.Experiment> GetExperiments(long algorithmId, long problemId) {
       return base.Channel.GetExperiments(algorithmId, problemId);
     }
@@ -1951,5 +2037,5 @@
     }
 
-    public HeuristicLab.Clients.OKB.Run[] GetRuns(long experimentId) {
+    public System.Collections.Generic.List<HeuristicLab.Clients.OKB.Run> GetRuns(long experimentId) {
       return base.Channel.GetRuns(experimentId);
     }
@@ -1963,13 +2049,13 @@
     }
 
-    public HeuristicLab.Clients.OKB.Filter[] GetFilters() {
+    public System.Collections.Generic.List<HeuristicLab.Clients.OKB.Filter> GetFilters() {
       return base.Channel.GetFilters();
     }
 
-    public HeuristicLab.Clients.OKB.Run[] QueryRuns(HeuristicLab.Clients.OKB.Filter[] filters) {
-      return base.Channel.QueryRuns(filters);
-    }
-
-    public HeuristicLab.Clients.OKB.AlgorithmParameter[] GetAlgorithmParameters(long algorithmId) {
+    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);
     }
@@ -1991,5 +2077,5 @@
     }
 
-    public HeuristicLab.Clients.OKB.ProblemClass[] GetProblemClasses() {
+    public System.Collections.Generic.List<HeuristicLab.Clients.OKB.ProblemClass> GetProblemClasses() {
       return base.Channel.GetProblemClasses();
     }
@@ -2011,5 +2097,5 @@
     }
 
-    public HeuristicLab.Clients.OKB.Problem[] GetProblems() {
+    public System.Collections.Generic.List<HeuristicLab.Clients.OKB.Problem> GetProblems() {
       return base.Channel.GetProblems();
     }
@@ -2027,9 +2113,9 @@
     }
 
-    public System.Guid[] GetProblemUsers(long problemId) {
+    public System.Collections.Generic.List<System.Guid> GetProblemUsers(long problemId) {
       return base.Channel.GetProblemUsers(problemId);
     }
 
-    public void UpdateProblemUsers(long problemId, System.Guid[] users) {
+    public void UpdateProblemUsers(long problemId, System.Collections.Generic.List<System.Guid> users) {
       base.Channel.UpdateProblemUsers(problemId, users);
     }
@@ -2047,5 +2133,5 @@
     }
 
-    public HeuristicLab.Clients.OKB.ProblemParameter[] GetProblemParameters(long problemId) {
+    public System.Collections.Generic.List<HeuristicLab.Clients.OKB.ProblemParameter> GetProblemParameters(long problemId) {
       return base.Channel.GetProblemParameters(problemId);
     }
@@ -2067,5 +2153,5 @@
     }
 
-    public HeuristicLab.Clients.OKB.Result[] GetResults(long algorithmId) {
+    public System.Collections.Generic.List<HeuristicLab.Clients.OKB.Result> GetResults(long algorithmId) {
       return base.Channel.GetResults(algorithmId);
     }
@@ -2075,5 +2161,5 @@
     }
 
-    public HeuristicLab.Clients.OKB.Platform[] GetPlatforms() {
+    public System.Collections.Generic.List<HeuristicLab.Clients.OKB.Platform> GetPlatforms() {
       return base.Channel.GetPlatforms();
     }
@@ -2095,5 +2181,5 @@
     }
 
-    public HeuristicLab.Clients.OKB.DataType[] GetDataTypes() {
+    public System.Collections.Generic.List<HeuristicLab.Clients.OKB.DataType> GetDataTypes() {
       return base.Channel.GetDataTypes();
     }
@@ -2115,5 +2201,5 @@
     }
 
-    public HeuristicLab.Clients.OKB.AlgorithmClass[] GetAlgorithmClasses() {
+    public System.Collections.Generic.List<HeuristicLab.Clients.OKB.AlgorithmClass> GetAlgorithmClasses() {
       return base.Channel.GetAlgorithmClasses();
     }
@@ -2135,5 +2221,5 @@
     }
 
-    public HeuristicLab.Clients.OKB.Algorithm[] GetAlgorithms() {
+    public System.Collections.Generic.List<HeuristicLab.Clients.OKB.Algorithm> GetAlgorithms() {
       return base.Channel.GetAlgorithms();
     }
@@ -2151,9 +2237,9 @@
     }
 
-    public System.Guid[] GetAlgorithmUsers(long algorithmId) {
+    public System.Collections.Generic.List<System.Guid> GetAlgorithmUsers(long algorithmId) {
       return base.Channel.GetAlgorithmUsers(algorithmId);
     }
 
-    public void UpdateAlgorithmUsers(long algorithmId, System.Guid[] users) {
+    public void UpdateAlgorithmUsers(long algorithmId, System.Collections.Generic.List<System.Guid> users) {
       base.Channel.UpdateAlgorithmUsers(algorithmId, users);
     }
