Index: branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Crossovers/CosaCrossover.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Crossovers/CosaCrossover.cs	(revision 14923)
+++ branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Crossovers/CosaCrossover.cs	(revision 14927)
@@ -23,5 +23,5 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.PermutationEncoding {
@@ -36,5 +36,5 @@
   /// </remarks>
   [Item("CosaCrossover", "An operator which performs the crossover described in the COSA optimization method. It is implemented as described in Wendt, O. 1994. COSA: COoperative Simulated Annealing - Integration von Genetischen Algorithmen und Simulated Annealing am Beispiel der Tourenplanung. Dissertation Thesis. IWI Frankfurt.")]
-  [StorableClass]
+  [StorableType("60e88e11-088d-46ba-a80b-1589248035d0")]
   public class CosaCrossover : PermutationCrossover {
     [StorableConstructor]
Index: branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Crossovers/CyclicCrossover.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Crossovers/CyclicCrossover.cs	(revision 14923)
+++ branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Crossovers/CyclicCrossover.cs	(revision 14927)
@@ -23,5 +23,5 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.PermutationEncoding {
@@ -33,5 +33,5 @@
   /// </remarks>
   [Item("CyclicCrossover", "An operator which performs the cyclic crossover on two permutations. It is implemented as described in Eiben, A.E. and Smith, J.E. 2003. Introduction to Evolutionary Computation. Natural Computing Series, Springer-Verlag Berlin Heidelberg.")]
-  [StorableClass]
+  [StorableType("921f2ddb-2dec-46d8-a2ed-e2133f2d31a4")]
   public class CyclicCrossover : PermutationCrossover {
     [StorableConstructor]
@@ -75,6 +75,5 @@
           invParent2[parent2[i]] = i;
         }
-      }
-      catch (IndexOutOfRangeException) {
+      } catch (IndexOutOfRangeException) {
         throw new InvalidOperationException("CyclicCrossover: The permutation must consist of numbers in the interval [0;N) with N = length of the permutation.");
       }
Index: branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Crossovers/CyclicCrossover2.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Crossovers/CyclicCrossover2.cs	(revision 14923)
+++ branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Crossovers/CyclicCrossover2.cs	(revision 14927)
@@ -23,5 +23,5 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.PermutationEncoding {
@@ -34,5 +34,5 @@
   /// </remarks>
   [Item("CyclicCrossover2", "An operator which performs the cyclic crossover on two permutations. It is implemented as described in Affenzeller, M. et al. 2009. Genetic Algorithms and Genetic Programming - Modern Concepts and Practical Applications. CRC Press. p. 136.")]
-  [StorableClass]
+  [StorableType("b8009de2-eec6-4427-bcba-205700e98b8d")]
   public class CyclicCrossover2 : PermutationCrossover {
     [StorableConstructor]
Index: branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Crossovers/EdgeRecombinationCrossover.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Crossovers/EdgeRecombinationCrossover.cs	(revision 14923)
+++ branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Crossovers/EdgeRecombinationCrossover.cs	(revision 14927)
@@ -23,5 +23,5 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.PermutationEncoding {
@@ -36,5 +36,5 @@
   /// </remarks>
   [Item("EdgeRecombinationCrossover", "An operator which performs the edge recombination crossover on two permutations. It is implemented as described in Whitley et.al. 1991, The Traveling Salesman and Sequence Scheduling, in Davis, L. (Ed.), Handbook of Genetic Algorithms, New York, pp. 350-372.")]
-  [StorableClass]
+  [StorableType("dc173f35-359c-419b-a978-2f1b5bfa8b05")]
   public class EdgeRecombinationCrossover : PermutationCrossover {
     [StorableConstructor]
Index: branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Crossovers/MaximalPreservativeCrossover.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Crossovers/MaximalPreservativeCrossover.cs	(revision 14923)
+++ branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Crossovers/MaximalPreservativeCrossover.cs	(revision 14927)
@@ -23,5 +23,5 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.PermutationEncoding {
@@ -36,5 +36,5 @@
   /// </remarks>
   [Item("MaximalPreservativeCrossover", "An operator which performs the maximal preservative crossover on two permutations. It is implemented as described in Mühlenbein, H. 1991. Evolution in time and space - the parallel genetic algorithm. FOUNDATIONS OF GENETIC ALGORITHMS, pp. 316-337. Morgan Kaufmann.")]
-  [StorableClass]
+  [StorableType("ba0a0a8b-d606-4d25-a5d1-73575e5faf3e")]
   public class MaximalPreservativeCrossover : PermutationCrossover {
     [StorableConstructor]
@@ -93,6 +93,5 @@
           invParent2[parent2[i]] = i;
         }
-      }
-      catch (IndexOutOfRangeException) {
+      } catch (IndexOutOfRangeException) {
         throw new InvalidOperationException("MaximalPreservativeCrossover: The permutation must consist of numbers in the interval [0;N) with N = length of the permutation.");
       }
Index: branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Crossovers/MultiPermutationCrossover.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Crossovers/MultiPermutationCrossover.cs	(revision 14923)
+++ branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Crossovers/MultiPermutationCrossover.cs	(revision 14927)
@@ -28,10 +28,10 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HeuristicLab.Persistence;
 using HeuristicLab.PluginInfrastructure;
 
 namespace HeuristicLab.Encodings.PermutationEncoding {
   [Item("MultiPermutationCrossover", "Randomly selects and applies one of its crossovers every time it is called.")]
-  [StorableClass]
+  [StorableType("8e4117fd-bcd1-41bb-9db8-ec8a3c061097")]
   public class MultiPermutationCrossover : StochasticMultiBranch<IPermutationCrossover>, IPermutationCrossover, IStochasticOperator {
     public override bool CanChangeName {
Index: branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Crossovers/OrderBasedCrossover.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Crossovers/OrderBasedCrossover.cs	(revision 14923)
+++ branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Crossovers/OrderBasedCrossover.cs	(revision 14927)
@@ -23,5 +23,5 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.PermutationEncoding {
@@ -36,5 +36,5 @@
   /// </remarks>
   [Item("OrderBasedCrossover", "An operator which performs an order based crossover of two permutations. It is implemented as described in Syswerda, G. (1991). Schedule Optimization Using Genetic Algorithms. In Davis, L. (Ed.) Handbook of Genetic Algorithms, Van Nostrand Reinhold, New York, pp. 332-349.")]
-  [StorableClass]
+  [StorableType("bade5d55-8d35-43bf-897d-2dbcef2697c5")]
   public class OrderBasedCrossover : PermutationCrossover {
     [StorableConstructor]
Index: branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Crossovers/OrderCrossover.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Crossovers/OrderCrossover.cs	(revision 14923)
+++ branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Crossovers/OrderCrossover.cs	(revision 14927)
@@ -23,5 +23,5 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.PermutationEncoding {
@@ -36,5 +36,5 @@
   /// </remarks>
   [Item("OrderCrossover", "An operator which performs an order crossover of two permutations. It is implemented as described in Eiben, A.E. and Smith, J.E. 2003. Introduction to Evolutionary Computation. Natural Computing Series, Springer-Verlag Berlin Heidelberg.")]
-  [StorableClass]
+  [StorableType("f623874a-f886-4cce-82d1-af57904e5b6c")]
   public class OrderCrossover : PermutationCrossover {
     [StorableConstructor]
@@ -87,6 +87,5 @@
           if (i >= length) i = 0;
         }
-      }
-      catch (IndexOutOfRangeException) {
+      } catch (IndexOutOfRangeException) {
         throw new InvalidOperationException("OrderCrossover: The permutation must consist of numbers in the interval [0;N) with N = length of the permutation.");
       }
Index: branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Crossovers/OrderCrossover2.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Crossovers/OrderCrossover2.cs	(revision 14923)
+++ branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Crossovers/OrderCrossover2.cs	(revision 14927)
@@ -23,5 +23,5 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.PermutationEncoding {
@@ -35,5 +35,5 @@
   /// </remarks>
   [Item("OrderCrossover2", "An operator which performs an order crossover of two permutations. It is implemented as described in Affenzeller, M. et al. 2009. Genetic Algorithms and Genetic Programming - Modern Concepts and Practical Applications. CRC Press. p. 135.")]
-  [StorableClass]
+  [StorableType("7289ff81-aa44-44f2-a87e-691b850fe7b3")]
   public class OrderCrossover2 : PermutationCrossover {
     [StorableConstructor]
Index: branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Crossovers/PartiallyMatchedCrossover.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Crossovers/PartiallyMatchedCrossover.cs	(revision 14923)
+++ branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Crossovers/PartiallyMatchedCrossover.cs	(revision 14927)
@@ -23,5 +23,5 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.PermutationEncoding {
@@ -35,5 +35,5 @@
   /// </remarks>
   [Item("PartiallyMatchedCrossover", "An operator which performs the partially matched crossover on two permutations. It is implemented as described in Fogel, D.B. 1988. An Evolutionary Approach to the Traveling Salesman Problem. Biological Cybernetics, 60, pp. 139-144, Springer-Verlag.")]
-  [StorableClass]
+  [StorableType("44e020d0-720e-48bc-b394-acccf742944f")]
   public class PartiallyMatchedCrossover : PermutationCrossover {
     [StorableConstructor]
@@ -81,6 +81,5 @@
           invResult[result[j]] = j;
         }
-      }
-      catch (IndexOutOfRangeException) {
+      } catch (IndexOutOfRangeException) {
         throw new InvalidOperationException("PartiallyMatchedCrossover: The permutation must consist of consecutive numbers from 0 to N-1 with N = length of the permutation.");
       }
Index: branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Crossovers/PositionBasedCrossover.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Crossovers/PositionBasedCrossover.cs	(revision 14923)
+++ branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Crossovers/PositionBasedCrossover.cs	(revision 14927)
@@ -23,5 +23,5 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.PermutationEncoding {
@@ -33,5 +33,5 @@
   /// </remarks>
   [Item("PositionBasedCrossover", "An operator which performs the position based crossover on two permutations. It is implemented as described in Syswerda, G. (1991). Schedule Optimization Using Genetic Algorithms. In Davis, L. (Ed.) Handbook of Genetic Algorithms, Van Nostrand Reinhold, New York, pp 332-349.")]
-  [StorableClass]
+  [StorableType("b20724af-91ac-4ece-9b52-485a0f4545ee")]
   public class PositionBasedCrossover : PermutationCrossover {
     [StorableConstructor]
Index: branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Crossovers/UniformLikeCrossover.cs
===================================================================
--- branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Crossovers/UniformLikeCrossover.cs	(revision 14923)
+++ branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Crossovers/UniformLikeCrossover.cs	(revision 14927)
@@ -24,9 +24,9 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HeuristicLab.Persistence;
 
 namespace HeuristicLab.Encodings.PermutationEncoding {
   [Item("UniformLikeCrossover", "The ULX crossover tries to maintain the position in the permutation. It randomly chooses from left to right one of its parents' alleles at each position. Missing entries are then filled randomly later. It is described in Tate, D. M. and Smith, A. E. 1995. A genetic approach to the quadratic assignment problem. Computers & Operations Research, vol. 22, pp. 73-83.")]
-  [StorableClass]
+  [StorableType("bf3dfe68-19b8-4a98-aecf-254cf72e5dc9")]
   public sealed class UniformLikeCrossover : PermutationCrossover {
     [StorableConstructor]
