Index: stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Creators/ExactGroupsLinearLinkageCreator.cs
===================================================================
--- stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Creators/ExactGroupsLinearLinkageCreator.cs	(revision 15584)
+++ stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Creators/ExactGroupsLinearLinkageCreator.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -26,10 +26,10 @@
 using HeuristicLab.Data;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 using HeuristicLab.Random;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
   [Item("Exactgroups Linear Linkage Creator", "Creates a random linear linkage LLE encoded solution with a given number of equal-sized groups.")]
-  [StorableClass]
+  [StorableType("ACF7F729-9436-4418-86C4-45BF69F91803")]
   public sealed class ExactGroupsLinearLinkageCreator : LinearLinkageCreator {
 
@@ -44,5 +44,5 @@
 
     [StorableConstructor]
-    private ExactGroupsLinearLinkageCreator(bool deserializing) : base(deserializing) { }
+    private ExactGroupsLinearLinkageCreator(StorableConstructorFlag _) : base(_) { }
     private ExactGroupsLinearLinkageCreator(ExactGroupsLinearLinkageCreator original, Cloner cloner) : base(original, cloner) { }
 
Index: stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Creators/MaxGroupSizeLinearLinkageCreator.cs
===================================================================
--- stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Creators/MaxGroupSizeLinearLinkageCreator.cs	(revision 15584)
+++ stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Creators/MaxGroupSizeLinearLinkageCreator.cs	(revision 17097)
@@ -1,14 +1,12 @@
-﻿using System;
-using System.Collections.Generic;
-using System.Linq;
+﻿using System.Linq;
 using HeuristicLab.Common;
 using HeuristicLab.Core;
 using HeuristicLab.Data;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding.Creators {
   [Item("Max Group-size Linear Linkage Creator", "Creates a random linear linkage LLE encoded solution with a given maximum number of items per group.")]
-  [StorableClass]
+  [StorableType("5C9DEA79-60CC-44A5-B70E-FC11A588C307")]
   public class MaxGroupSizeLinearLinkageCreator: LinearLinkageCreator {
 
@@ -23,5 +21,5 @@
 
     [StorableConstructor]
-    protected MaxGroupSizeLinearLinkageCreator(bool deserializing) : base(deserializing) { }
+    protected MaxGroupSizeLinearLinkageCreator(StorableConstructorFlag _) : base(_) { }
     protected MaxGroupSizeLinearLinkageCreator(MaxGroupSizeLinearLinkageCreator original, Cloner cloner) : base(original, cloner) { }
 
Index: stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Creators/MaxGroupsLinearLinkageCreator.cs
===================================================================
--- stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Creators/MaxGroupsLinearLinkageCreator.cs	(revision 15584)
+++ stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Creators/MaxGroupsLinearLinkageCreator.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -26,9 +26,9 @@
 using HeuristicLab.Data;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
   [Item("Maxgroups Linear Linkage Creator", "Creates a random linear linkage LLE encoded solution with a given maximum number of groups.")]
-  [StorableClass]
+  [StorableType("68BA2FF2-2493-404C-B044-D50AAC401CF1")]
   public sealed class MaxGroupsLinearLinkageCreator : LinearLinkageCreator {
 
@@ -43,5 +43,5 @@
 
     [StorableConstructor]
-    private MaxGroupsLinearLinkageCreator(bool deserializing) : base(deserializing) { }
+    private MaxGroupsLinearLinkageCreator(StorableConstructorFlag _) : base(_) { }
     private MaxGroupsLinearLinkageCreator(MaxGroupsLinearLinkageCreator original, Cloner cloner) : base(original, cloner) { }
 
Index: stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Creators/RandomLinearLinkageCreator.cs
===================================================================
--- stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Creators/RandomLinearLinkageCreator.cs	(revision 15584)
+++ stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Creators/RandomLinearLinkageCreator.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -24,13 +24,13 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
   [Item("Random Linear Linkage Creator", "Creates a random linear linkage LLE encoded solution (similar to MaxGroups set to N).")]
-  [StorableClass]
+  [StorableType("A2B2881B-BFB6-4902-BE59-DBF26E27B498")]
   public sealed class RandomLinearLinkageCreator : LinearLinkageCreator {
 
     [StorableConstructor]
-    private RandomLinearLinkageCreator(bool deserializing) : base(deserializing) { }
+    private RandomLinearLinkageCreator(StorableConstructorFlag _) : base(_) { }
     private RandomLinearLinkageCreator(RandomLinearLinkageCreator original, Cloner cloner) : base(original, cloner) { }
     public RandomLinearLinkageCreator() { }
Index: stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Crossovers/GreedyPartitionCrossover.cs
===================================================================
--- stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Crossovers/GreedyPartitionCrossover.cs	(revision 15584)
+++ stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Crossovers/GreedyPartitionCrossover.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -25,14 +25,14 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 using HeuristicLab.Random;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
   [Item("Greedy Partition Crossover", "The Greedy Partition Crossover (GPX) is implemented as described in Ülker, Ö., Özcan, E., Korkmaz, E. E. 2007. Linear linkage encoding in grouping problems: applications on graph coloring and timetabling. In Practice and Theory of Automated Timetabling VI, pp. 347-363. Springer Berlin Heidelberg.")]
-  [StorableClass]
+  [StorableType("C0CDC693-4513-404A-9CE9-598C6DC2E319")]
   public sealed class GreedyPartitionCrossover : LinearLinkageCrossover {
 
     [StorableConstructor]
-    private GreedyPartitionCrossover(bool deserializing) : base(deserializing) { }
+    private GreedyPartitionCrossover(StorableConstructorFlag _) : base(_) { }
     private GreedyPartitionCrossover(GreedyPartitionCrossover original, Cloner cloner) : base(original, cloner) { }
     public GreedyPartitionCrossover() { }
Index: stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Crossovers/GroupCrossover.cs
===================================================================
--- stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Crossovers/GroupCrossover.cs	(revision 15584)
+++ stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Crossovers/GroupCrossover.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -21,16 +21,15 @@
 
 using System;
-using System.Collections.Generic;
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
   [Item("Group Crossover", "The Group Crossover is implemented as described in Korkmaz, E.E. 2010. Multi-objective Genetic Algorithms for grouping problems. Applied Intelligence 33(2), pp. 179-192.")]
-  [StorableClass]
+  [StorableType("E3B2FBDD-C923-4FE2-85C8-B2202EEF367F")]
   public sealed class GroupCrossover : LinearLinkageCrossover {
 
     [StorableConstructor]
-    private GroupCrossover(bool deserializing) : base(deserializing) { }
+    private GroupCrossover(StorableConstructorFlag _) : base(_) { }
     private GroupCrossover(GroupCrossover original, Cloner cloner) : base(original, cloner) { }
     public GroupCrossover() { }
Index: stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Crossovers/LowestIndexFirstCrossover.cs
===================================================================
--- stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Crossovers/LowestIndexFirstCrossover.cs	(revision 15584)
+++ stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Crossovers/LowestIndexFirstCrossover.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -24,13 +24,13 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
   [Item("Lowest Index First Crossover", "The Lowest Index First Crossover (LIFX) is implemented as described in Ülker, Ö., Özcan, E., Korkmaz, E. E. 2007. Linear linkage encoding in grouping problems: applications on graph coloring and timetabling. In Practice and Theory of Automated Timetabling VI, pp. 347-363. Springer Berlin Heidelberg.")]
-  [StorableClass]
+  [StorableType("1DFB1827-AFE6-4210-A542-F9EA112FF039")]
   public sealed class LowestIndexFirstCrossover : LinearLinkageCrossover {
 
     [StorableConstructor]
-    private LowestIndexFirstCrossover(bool deserializing) : base(deserializing) { }
+    private LowestIndexFirstCrossover(StorableConstructorFlag _) : base(_) { }
     private LowestIndexFirstCrossover(LowestIndexFirstCrossover original, Cloner cloner) : base(original, cloner) { }
     public LowestIndexFirstCrossover() { }
Index: stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Crossovers/LowestIndexMaxCrossover.cs
===================================================================
--- stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Crossovers/LowestIndexMaxCrossover.cs	(revision 15584)
+++ stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Crossovers/LowestIndexMaxCrossover.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -25,14 +25,14 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 using HeuristicLab.Random;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
   [Item("Lowest Index Max Crossover", "The Lowest Index Max Crossover (LIMX) is implemented as described in Ülker, Ö., Özcan, E., Korkmaz, E. E. 2007. Linear linkage encoding in grouping problems: applications on graph coloring and timetabling. In Practice and Theory of Automated Timetabling VI, pp. 347-363. Springer Berlin Heidelberg.")]
-  [StorableClass]
+  [StorableType("CDD94469-9B80-4FBB-AC40-DADE1A9462F1")]
   public sealed class LowestIndexMaxCrossover : LinearLinkageCrossover {
 
     [StorableConstructor]
-    private LowestIndexMaxCrossover(bool deserializing) : base(deserializing) { }
+    private LowestIndexMaxCrossover(StorableConstructorFlag _) : base(_) { }
     private LowestIndexMaxCrossover(LowestIndexMaxCrossover original, Cloner cloner) : base(original, cloner) { }
     public LowestIndexMaxCrossover() { }
Index: stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Crossovers/MultiLLECrossover.cs
===================================================================
--- stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Crossovers/MultiLLECrossover.cs	(revision 15584)
+++ stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Crossovers/MultiLLECrossover.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -23,5 +23,4 @@
 using System.Collections.Generic;
 using System.Linq;
-using System.Reflection;
 using HeuristicLab.Collections;
 using HeuristicLab.Common;
@@ -30,10 +29,10 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 using HeuristicLab.PluginInfrastructure;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
   [Item("Multi LLE Crossover", "Randomly selects and applies one of its crossovers every time it is called.")]
-  [StorableClass]
+  [StorableType("276A73EA-3642-4B8F-9CD4-74C1B2772728")]
   public class MultiLinearLinkageCrossover : StochasticMultiBranch<ILinearLinkageCrossover>, ILinearLinkageCrossover, IStochasticOperator {
     public override bool CanChangeName {
@@ -53,5 +52,5 @@
 
     [StorableConstructor]
-    protected MultiLinearLinkageCrossover(bool deserializing) : base(deserializing) { }
+    protected MultiLinearLinkageCrossover(StorableConstructorFlag _) : base(_) { }
     protected MultiLinearLinkageCrossover(MultiLinearLinkageCrossover original, Cloner cloner) : base(original, cloner) { }
     public MultiLinearLinkageCrossover()
Index: stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Crossovers/SinglePointCrossover.cs
===================================================================
--- stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Crossovers/SinglePointCrossover.cs	(revision 15584)
+++ stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Crossovers/SinglePointCrossover.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -23,13 +23,13 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
   [Item("Single Point Crossover", "The single point crossover concatenates two linkage strings at a randomly chosen point.")]
-  [StorableClass]
+  [StorableType("1F1A83F4-659C-4A88-9A0C-4507257A3741")]
   public sealed class SinglePointCrossover : LinearLinkageCrossover {
 
     [StorableConstructor]
-    private SinglePointCrossover(bool deserializing) : base(deserializing) { }
+    private SinglePointCrossover(StorableConstructorFlag _) : base(_) { }
     private SinglePointCrossover(SinglePointCrossover original, Cloner cloner) : base(original, cloner) { }
     public SinglePointCrossover() { }
Index: stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/HeuristicLab.Encodings.LinearLinkageEncoding-3.4.csproj
===================================================================
--- stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/HeuristicLab.Encodings.LinearLinkageEncoding-3.4.csproj	(revision 15584)
+++ stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/HeuristicLab.Encodings.LinearLinkageEncoding-3.4.csproj	(revision 17097)
@@ -10,5 +10,5 @@
     <RootNamespace>HeuristicLab.Encodings.LinearLinkageEncoding</RootNamespace>
     <AssemblyName>HeuristicLab.Encodings.LinearLinkageEncoding-3.4</AssemblyName>
-    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+    <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
     <FileAlignment>512</FileAlignment>
   </PropertyGroup>
@@ -145,7 +145,16 @@
   </ItemGroup>
   <ItemGroup>
+    <Reference Include="Google.Protobuf, Version=3.6.1.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604, processorArchitecture=MSIL">
+      <HintPath>..\..\packages\Google.Protobuf.3.6.1\lib\net45\Google.Protobuf.dll</HintPath>
+    </Reference>
+    <Reference Include="HEAL.Attic, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
+      <HintPath>..\..\packages\HEAL.Attic.1.0.0-pre02\lib\net461\HEAL.Attic.dll</HintPath>
+    </Reference>
     <Reference Include="System" />
     <Reference Include="System.Core" />
     <Reference Include="System.Drawing" />
+    <Reference Include="System.Drawing.Common, Version=4.0.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
+      <HintPath>..\..\packages\System.Drawing.Common.4.5.1\lib\net461\System.Drawing.Common.dll</HintPath>
+    </Reference>
     <Reference Include="System.Xml.Linq" />
     <Reference Include="System.Data.DataSetExtensions" />
@@ -197,4 +206,5 @@
     <Compile Include="SimilarityCalculators\HammingSimilarityCalculator.cs" />
     <None Include="HeuristicLab.snk" />
+    <None Include="packages.config" />
     <None Include="Plugin.cs.frame" />
     <Compile Include="Crossovers\LowestIndexFirstCrossover.cs" />
Index: stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageCreator.cs
===================================================================
--- stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageCreator.cs	(revision 15584)
+++ stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageCreator.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -23,6 +23,8 @@
 using HeuristicLab.Data;
 using HeuristicLab.Optimization;
+using HEAL.Attic;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
+  [StorableType("4fa6243e-eb78-45bf-a598-b706084e6473")]
   public interface ILinearLinkageCreator : ISolutionCreator, ILinearLinkageOperator {
     IValueLookupParameter<IntValue> LengthParameter { get; }
Index: stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageCrossover.cs
===================================================================
--- stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageCrossover.cs	(revision 15584)
+++ stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageCrossover.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HEAL.Attic;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
+  [StorableType("66ba6974-d27b-4c42-b9bd-b91a764d8f15")]
   public interface ILinearLinkageCrossover : ICrossover, ILinearLinkageOperator {
     ILookupParameter<LinearLinkage> ChildParameter { get; }
Index: stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageEMSSMoveOperator.cs
===================================================================
--- stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageEMSSMoveOperator.cs	(revision 15584)
+++ stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageEMSSMoveOperator.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Attic;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
+  [StorableType("07884b7a-bc68-4e6b-984e-a4c618f343fd")]
   public interface ILinearLinkageEMSSMoveOperator : ILinearLinkageMoveOperator {
     ILookupParameter<EMSSMove> EMSSMoveParameter { get; }
Index: stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageManipulator.cs
===================================================================
--- stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageManipulator.cs	(revision 15584)
+++ stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageManipulator.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HEAL.Attic;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
+  [StorableType("2d51279f-e88d-43a2-b743-3cceb48b6ced")]
   public interface ILinearLinkageManipulator : IManipulator, ILinearLinkageOperator {
     ILookupParameter<LinearLinkage> LLEParameter { get; }
Index: stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageMoveOperator.cs
===================================================================
--- stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageMoveOperator.cs	(revision 15584)
+++ stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageMoveOperator.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
+using HEAL.Attic;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
+  [StorableType("15fa1dce-2c0d-4d42-a67f-68eb25904b66")]
   /// <summary>
   /// Move operators can be extended by deriving a new interface from this interface
Index: stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageOperator.cs
===================================================================
--- stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageOperator.cs	(revision 15584)
+++ stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageOperator.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Attic;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
+  [StorableType("80ff19b9-2de7-4d4f-ba99-db7d716b4ce7")]
   public interface ILinearLinkageOperator : IOperator {
   }
Index: stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageShakingOperator.cs
===================================================================
--- stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageShakingOperator.cs	(revision 15584)
+++ stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageShakingOperator.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Attic;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
+  [StorableType("81c7ae91-53b4-49df-bb63-ced3ba8b9e40")]
   public interface ILinearLinkageShakingOperator : ILinearLinkageOperator {
     ILookupParameter<LinearLinkage> LLEParameter { get; }
Index: stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageSwap2MoveOperator.cs
===================================================================
--- stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageSwap2MoveOperator.cs	(revision 15584)
+++ stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Interfaces/ILinearLinkageSwap2MoveOperator.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Attic;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
+  [StorableType("92c361ee-2d07-4362-9ce5-d31fc205a112")]
   public interface ILinearLinkageSwap2MoveOperator : ILinearLinkageMoveOperator {
     ILookupParameter<Swap2Move> Swap2MoveParameter { get; }
Index: stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/LinearLinkage.cs
===================================================================
--- stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/LinearLinkage.cs	(revision 15584)
+++ stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/LinearLinkage.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -26,13 +26,13 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
   [Item("LinearLinkage", "Represents an LLE grouping of items.")]
-  [StorableClass]
+  [StorableType("91492281-3335-4F5A-82BA-BA76142DAD2D")]
   public sealed class LinearLinkage : IntArray {
 
     [StorableConstructor]
-    private LinearLinkage(bool deserializing) : base(deserializing) { }
+    private LinearLinkage(StorableConstructorFlag _) : base(_) { }
     private LinearLinkage(LinearLinkage original, Cloner cloner) : base(original, cloner) { }
     public LinearLinkage() { }
Index: stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/LinearLinkageCreator.cs
===================================================================
--- stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/LinearLinkageCreator.cs	(revision 15584)
+++ stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/LinearLinkageCreator.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -26,9 +26,9 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
   [Item("Linear Linkage Creator", "Base class for linear linkage creators.")]
-  [StorableClass]
+  [StorableType("A3F7BDD5-B608-4C74-87C1-6D70F8D90B40")]
   public abstract class LinearLinkageCreator : InstrumentedOperator, ILinearLinkageCreator, IStochasticOperator {
 
@@ -46,5 +46,5 @@
 
     [StorableConstructor]
-    protected LinearLinkageCreator(bool deserializing) : base(deserializing) { }
+    protected LinearLinkageCreator(StorableConstructorFlag _) : base(_) { }
     protected LinearLinkageCreator(LinearLinkageCreator original, Cloner cloner) : base(original, cloner) { }
     protected LinearLinkageCreator() {
Index: stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/LinearLinkageCrossover.cs
===================================================================
--- stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/LinearLinkageCrossover.cs	(revision 15584)
+++ stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/LinearLinkageCrossover.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -26,9 +26,9 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
   [Item("Linear Linkage Crossover", "Base class for linear linkage crossovers.")]
-  [StorableClass]
+  [StorableType("AB45F937-ECD4-4658-BC9E-793EE0453A0C")]
   public abstract class LinearLinkageCrossover : InstrumentedOperator, ILinearLinkageCrossover, IStochasticOperator {
 
@@ -46,5 +46,5 @@
 
     [StorableConstructor]
-    protected LinearLinkageCrossover(bool deserializing) : base(deserializing) { }
+    protected LinearLinkageCrossover(StorableConstructorFlag _) : base(_) { }
     protected LinearLinkageCrossover(LinearLinkageCrossover original, Cloner cloner) : base(original, cloner) { }
     protected LinearLinkageCrossover() {
Index: stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/LinearLinkageEncoding.cs
===================================================================
--- stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/LinearLinkageEncoding.cs	(revision 15584)
+++ stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/LinearLinkageEncoding.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -28,10 +28,10 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 using HeuristicLab.PluginInfrastructure;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
   [Item("Linear Linkage Encoding", "Describes a linear linkage (LLE) encoding.")]
-  [StorableClass]
+  [StorableType("7AE11F39-E6BD-4FC7-8112-0A5EDCBFBDB6")]
   public sealed class LinearLinkageEncoding : Encoding<ILinearLinkageCreator> {
     #region encoding parameters
@@ -59,5 +59,5 @@
 
     [StorableConstructor]
-    private LinearLinkageEncoding(bool deserializing) : base(deserializing) { }
+    private LinearLinkageEncoding(StorableConstructorFlag _) : base(_) { }
     [StorableHook(HookType.AfterDeserialization)]
     private void AfterDeserialization() {
Index: stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/LinearLinkageEqualityComparer.cs
===================================================================
--- stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/LinearLinkageEqualityComparer.cs	(revision 15584)
+++ stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/LinearLinkageEqualityComparer.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -23,7 +23,9 @@
 using System.Collections.Generic;
 using HeuristicLab.PluginInfrastructure;
+using HEAL.Attic;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
   [NonDiscoverableType]
+  [StorableType("8b1e0151-8882-4338-a98a-f3a03bcda6cf")]
   public class LinearLinkageEqualityComparer : EqualityComparer<LinearLinkage> {
     public override bool Equals(LinearLinkage x, LinearLinkage y) {
Index: stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/LinearLinkageManipulator.cs
===================================================================
--- stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/LinearLinkageManipulator.cs	(revision 15584)
+++ stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/LinearLinkageManipulator.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -25,9 +25,9 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
   [Item("Linear Linkage Manipulator", "Base class for linear linkage manipulators.")]
-  [StorableClass]
+  [StorableType("88C99692-985F-4AB6-8E4F-1416E9166959")]
   public abstract class LinearLinkageManipulator : InstrumentedOperator, ILinearLinkageManipulator, IStochasticOperator {
     public ILookupParameter<IRandom> RandomParameter {
@@ -40,5 +40,5 @@
 
     [StorableConstructor]
-    protected LinearLinkageManipulator(bool deserializing) : base(deserializing) { }
+    protected LinearLinkageManipulator(StorableConstructorFlag _) : base(_) { }
     protected LinearLinkageManipulator(LinearLinkageManipulator original, Cloner cloner) : base(original, cloner) { }
     protected LinearLinkageManipulator() {
Index: stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Manipulators/GraftManipulator.cs
===================================================================
--- stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Manipulators/GraftManipulator.cs	(revision 15584)
+++ stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Manipulators/GraftManipulator.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -24,13 +24,13 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
   [Item("Graft Manipulator", "Performs graft mutation as described in Du, J., Korkmaz, E.E., Alhajj, R., and Barker, K. 2004. Novel Clustering Approach that employs Genetic Algorithm with New Representation Scheme and Multiple Objectives. Data Warehousing and Knowledge Discovery, pp. 219-228. Springer Berlin Heidelberg.")]
-  [StorableClass]
+  [StorableType("B4806B37-B641-4750-B41F-FF5614156038")]
   public sealed class GraftManipulator : LinearLinkageManipulator {
 
     [StorableConstructor]
-    private GraftManipulator(bool deserializing) : base(deserializing) { }
+    private GraftManipulator(StorableConstructorFlag _) : base(_) { }
     private GraftManipulator(GraftManipulator original, Cloner cloner) : base(original, cloner) { }
     public GraftManipulator() { }
Index: stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Manipulators/MergeGroupManipulator.cs
===================================================================
--- stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Manipulators/MergeGroupManipulator.cs	(revision 15584)
+++ stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Manipulators/MergeGroupManipulator.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -25,9 +25,9 @@
 using HeuristicLab.Data;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
   [Item("Merge Group Manipulator", "Performs a maximum of N merge operations on the groups. An already merged group may be merged again.")]
-  [StorableClass]
+  [StorableType("FE35BB56-D2B9-4309-ABF4-8C366D8596BC")]
   public sealed class MergeGroupManipulator : LinearLinkageManipulator {
 
@@ -37,5 +37,5 @@
 
     [StorableConstructor]
-    private MergeGroupManipulator(bool deserializing) : base(deserializing) { }
+    private MergeGroupManipulator(StorableConstructorFlag _) : base(_) { }
     private MergeGroupManipulator(MergeGroupManipulator original, Cloner cloner) : base(original, cloner) { }
     public MergeGroupManipulator() {
Index: stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Manipulators/MoveItemManipulator.cs
===================================================================
--- stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Manipulators/MoveItemManipulator.cs	(revision 15584)
+++ stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Manipulators/MoveItemManipulator.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -26,9 +26,9 @@
 using HeuristicLab.Data;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
   [Item("Move Item Manipulator", "Performs a maximum of N move operations between groups or to new groups. An already moved item may be moved again.")]
-  [StorableClass]
+  [StorableType("26B371F4-8E37-406A-AC5A-3E7734087890")]
   public sealed class MoveItemManipulator : LinearLinkageManipulator {
 
@@ -38,5 +38,5 @@
 
     [StorableConstructor]
-    private MoveItemManipulator(bool deserializing) : base(deserializing) { }
+    private MoveItemManipulator(StorableConstructorFlag _) : base(_) { }
     private MoveItemManipulator(MoveItemManipulator original, Cloner cloner) : base(original, cloner) { }
     public MoveItemManipulator() {
Index: stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Manipulators/MultiLLEManipulator.cs
===================================================================
--- stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Manipulators/MultiLLEManipulator.cs	(revision 15584)
+++ stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Manipulators/MultiLLEManipulator.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -23,5 +23,4 @@
 using System.Collections.Generic;
 using System.Linq;
-using System.Reflection;
 using HeuristicLab.Collections;
 using HeuristicLab.Common;
@@ -30,10 +29,10 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 using HeuristicLab.PluginInfrastructure;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
   [Item("Multi LLE Manipulator", "Randomly selects and applies one of its manipulators every time it is called.")]
-  [StorableClass]
+  [StorableType("7D22C9F6-BD21-4A21-BF8E-5F176D2260E1")]
   public class MultiLinearLinkageManipulator : StochasticMultiBranch<ILinearLinkageManipulator>, ILinearLinkageManipulator, IStochasticOperator {
     public override bool CanChangeName {
@@ -49,5 +48,5 @@
 
     [StorableConstructor]
-    protected MultiLinearLinkageManipulator(bool deserializing) : base(deserializing) { }
+    protected MultiLinearLinkageManipulator(StorableConstructorFlag _) : base(_) { }
     protected MultiLinearLinkageManipulator(MultiLinearLinkageManipulator original, Cloner cloner) : base(original, cloner) { }
     public MultiLinearLinkageManipulator()
Index: stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Manipulators/SplitGroupManipulator.cs
===================================================================
--- stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Manipulators/SplitGroupManipulator.cs	(revision 15584)
+++ stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Manipulators/SplitGroupManipulator.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -27,10 +27,10 @@
 using HeuristicLab.Data;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 using HeuristicLab.Random;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
   [Item("Split Group Manipulator", "Performs a maximum of N split operations on the groups. An already split group may be split again.")]
-  [StorableClass]
+  [StorableType("789781B8-0047-4880-ACAF-077A934AD320")]
   public sealed class SplitGroupManipulator : LinearLinkageManipulator {
 
@@ -40,5 +40,5 @@
 
     [StorableConstructor]
-    private SplitGroupManipulator(bool deserializing) : base(deserializing) { }
+    private SplitGroupManipulator(StorableConstructorFlag _) : base(_) { }
     private SplitGroupManipulator(SplitGroupManipulator original, Cloner cloner) : base(original, cloner) { }
     public SplitGroupManipulator() {
Index: stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Manipulators/SwapItemManipulator.cs
===================================================================
--- stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Manipulators/SwapItemManipulator.cs	(revision 15584)
+++ stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Manipulators/SwapItemManipulator.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -25,9 +25,9 @@
 using HeuristicLab.Data;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
   [Item("Swap Item Manipulator", "Performs N swaps operations of two items each. The same items may be swapped multiple times, at least two groups need to be present.")]
-  [StorableClass]
+  [StorableType("21F18233-0752-40A2-8B9A-6E6A9E2CE456")]
   public sealed class SwapItemManipulator : LinearLinkageManipulator {
 
@@ -37,5 +37,5 @@
 
     [StorableConstructor]
-    private SwapItemManipulator(bool deserializing) : base(deserializing) { }
+    private SwapItemManipulator(StorableConstructorFlag _) : base(_) { }
     private SwapItemManipulator(SwapItemManipulator original, Cloner cloner) : base(original, cloner) { }
     public SwapItemManipulator() {
Index: stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Moves/EMSS/EMSSMove.cs
===================================================================
--- stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Moves/EMSS/EMSSMove.cs	(revision 15584)
+++ stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Moves/EMSS/EMSSMove.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -22,9 +22,9 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
   [Item("EMSSMove", "Base class for shift, split, merge, and extract moves.")]
-  [StorableClass]
+  [StorableType("CE20CA9A-A191-4DA5-9F42-DAE9B79640E1")]
   public abstract class EMSSMove : Item {
     [Storable]
@@ -33,5 +33,5 @@
 
     [StorableConstructor]
-    protected EMSSMove(bool deserializing) : base(deserializing) { }
+    protected EMSSMove(StorableConstructorFlag _) : base(_) { }
     protected EMSSMove(EMSSMove original, Cloner cloner)
       : base(original, cloner) {
Index: stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Moves/EMSS/EMSSMoveGenerator.cs
===================================================================
--- stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Moves/EMSS/EMSSMoveGenerator.cs	(revision 15584)
+++ stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Moves/EMSS/EMSSMoveGenerator.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -25,9 +25,9 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
   [Item("EMSSMoveGenerator", "Base class for all EMSS move generators (extract, merge, shift, and split).")]
-  [StorableClass]
+  [StorableType("471A0A7B-30DD-4B29-97EE-9B3F7FAED582")]
   public abstract class EMSSMoveGenerator : SingleSuccessorOperator, ILinearLinkageEMSSMoveOperator, IMoveGenerator {
     public override bool CanChangeName {
@@ -42,5 +42,5 @@
 
     [StorableConstructor]
-    protected EMSSMoveGenerator(bool deserializing) : base(deserializing) { }
+    protected EMSSMoveGenerator(StorableConstructorFlag _) : base(_) { }
     protected EMSSMoveGenerator(EMSSMoveGenerator original, Cloner cloner) : base(original, cloner) { }
     public EMSSMoveGenerator()
Index: stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Moves/EMSS/EMSSMoveMaker.cs
===================================================================
--- stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Moves/EMSS/EMSSMoveMaker.cs	(revision 15584)
+++ stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Moves/EMSS/EMSSMoveMaker.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -26,9 +26,9 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
   [Item("EMSSMoveMaker", "Applies an EMSS move to the lle grouping (extract, merge, shift, and split.")]
-  [StorableClass]
+  [StorableType("B252F8AE-AEEA-4A21-8882-04739D4D2202")]
   public class EMSSMoveMaker : SingleSuccessorOperator, ILinearLinkageEMSSMoveOperator, IMoveMaker, ISingleObjectiveOperator {
     public override bool CanChangeName {
@@ -49,5 +49,5 @@
 
     [StorableConstructor]
-    protected EMSSMoveMaker(bool deserializing) : base(deserializing) { }
+    protected EMSSMoveMaker(StorableConstructorFlag _) : base(_) { }
     protected EMSSMoveMaker(EMSSMoveMaker original, Cloner cloner) : base(original, cloner) { }
     public EMSSMoveMaker()
Index: stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Moves/EMSS/ExhaustiveEMSSMoveGenerator.cs
===================================================================
--- stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Moves/EMSS/ExhaustiveEMSSMoveGenerator.cs	(revision 15584)
+++ stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Moves/EMSS/ExhaustiveEMSSMoveGenerator.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -26,12 +26,12 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
   [Item("ExhaustiveEMSSMoveGenerator", "Generates all possible extract, merge, shift, and split (EMSS) moves from a given LLE solution.")]
-  [StorableClass]
+  [StorableType("E5E81516-ADD2-474D-A93F-00580D485F07")]
   public class ExhaustiveEMSSMoveGenerator : EMSSMoveGenerator, IExhaustiveMoveGenerator {
     [StorableConstructor]
-    protected ExhaustiveEMSSMoveGenerator(bool deserializing) : base(deserializing) { }
+    protected ExhaustiveEMSSMoveGenerator(StorableConstructorFlag _) : base(_) { }
     protected ExhaustiveEMSSMoveGenerator(ExhaustiveEMSSMoveGenerator original, Cloner cloner) : base(original, cloner) { }
     public ExhaustiveEMSSMoveGenerator() : base() { }
Index: stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Moves/EMSS/ExtractMove.cs
===================================================================
--- stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Moves/EMSS/ExtractMove.cs	(revision 15584)
+++ stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Moves/EMSS/ExtractMove.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -23,9 +23,9 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
   [Item("Extract Move", "Extracts an item into a group of its own.")]
-  [StorableClass]
+  [StorableType("D42CB819-F307-4081-9227-7F6786E6853B")]
   public sealed class ExtractMove : EMSSMove {
     [Storable]
@@ -41,5 +41,5 @@
 
     [StorableConstructor]
-    private ExtractMove(bool deserializing) : base(deserializing) { }
+    private ExtractMove(StorableConstructorFlag _) : base(_) { }
     private ExtractMove(ExtractMove original, Cloner cloner)
       : base(original, cloner) {
Index: stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Moves/EMSS/MergeMove.cs
===================================================================
--- stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Moves/EMSS/MergeMove.cs	(revision 15584)
+++ stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Moves/EMSS/MergeMove.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -23,9 +23,9 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
   [Item("Merge Move", "Merges two groups together.")]
-  [StorableClass]
+  [StorableType("4AC9ADD2-3825-4CFE-8074-6F3CA7251700")]
   public sealed class MergeMove : EMSSMove {
     [Storable]
@@ -34,5 +34,5 @@
     
     [StorableConstructor]
-    private MergeMove(bool deserializing) : base(deserializing) { }
+    private MergeMove(StorableConstructorFlag _) : base(_) { }
     private MergeMove(MergeMove original, Cloner cloner)
       : base(original, cloner) {
Index: stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Moves/EMSS/ShiftMove.cs
===================================================================
--- stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Moves/EMSS/ShiftMove.cs	(revision 15584)
+++ stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Moves/EMSS/ShiftMove.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -23,9 +23,9 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
   [Item("Shift Move", "Shifts an item from one group to another.")]
-  [StorableClass]
+  [StorableType("577C4FAF-A02C-4896-8EEB-54360989A4B3")]
   public sealed class ShiftMove : EMSSMove {
     [Storable]
@@ -47,5 +47,5 @@
 
     [StorableConstructor]
-    private ShiftMove(bool deserializing) : base(deserializing) { }
+    private ShiftMove(StorableConstructorFlag _) : base(_) { }
     private ShiftMove(ShiftMove original, Cloner cloner)
       : base(original, cloner) {
Index: stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Moves/EMSS/SplitMove.cs
===================================================================
--- stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Moves/EMSS/SplitMove.cs	(revision 15584)
+++ stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Moves/EMSS/SplitMove.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -23,9 +23,9 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
   [Item("Split Move", "Splits a group into two groups.")]
-  [StorableClass]
+  [StorableType("98EB5FF6-A384-482B-B700-7EB012639E64")]
   public sealed class SplitMove : EMSSMove {
     [Storable]
@@ -33,5 +33,5 @@
 
     [StorableConstructor]
-    private SplitMove(bool deserializing) : base(deserializing) { }
+    private SplitMove(StorableConstructorFlag _) : base(_) { }
     private SplitMove(SplitMove original, Cloner cloner)
       : base(original, cloner) {
Index: stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Moves/EMSS/StochasticEMSSMultiMoveGenerator.cs
===================================================================
--- stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Moves/EMSS/StochasticEMSSMultiMoveGenerator.cs	(revision 15584)
+++ stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Moves/EMSS/StochasticEMSSMultiMoveGenerator.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -27,10 +27,10 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 using HeuristicLab.Random;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
   [Item("StochasticEMSSMultiMoveGenerator", "Randomly samples n from all possible EMSS moves (extract, merge, shift, and split) from a given lle grouping.")]
-  [StorableClass]
+  [StorableType("AE38F823-B840-4AFB-A780-259CB6C95D23")]
   public class StochasticEMSSMultiMoveGenerator : EMSSMoveGenerator, IMultiMoveGenerator, IStochasticOperator {
     public ILookupParameter<IRandom> RandomParameter {
@@ -47,5 +47,5 @@
 
     [StorableConstructor]
-    protected StochasticEMSSMultiMoveGenerator(bool deserializing) : base(deserializing) { }
+    protected StochasticEMSSMultiMoveGenerator(StorableConstructorFlag _) : base(_) { }
     protected StochasticEMSSMultiMoveGenerator(StochasticEMSSMultiMoveGenerator original, Cloner cloner) : base(original, cloner) { }
     public StochasticEMSSMultiMoveGenerator()
Index: stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Moves/EMSS/StochasticEMSSSingleMoveGenerator.cs
===================================================================
--- stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Moves/EMSS/StochasticEMSSSingleMoveGenerator.cs	(revision 15584)
+++ stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Moves/EMSS/StochasticEMSSSingleMoveGenerator.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -26,10 +26,10 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 using HeuristicLab.Random;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
   [Item("StochasticEMSSSingleMoveGenerator", "Randomly samples a single from all possible EMSS moves (extract, merge, shift, and split) from a given lle grouping.")]
-  [StorableClass]
+  [StorableType("345211F0-E998-4C0E-B466-C2FC24D278E4")]
   public class StochasticEMSSSingleMoveGenerator : EMSSMoveGenerator, IStochasticOperator, ISingleMoveGenerator {
     public ILookupParameter<IRandom> RandomParameter {
@@ -38,5 +38,5 @@
 
     [StorableConstructor]
-    protected StochasticEMSSSingleMoveGenerator(bool deserializing) : base(deserializing) { }
+    protected StochasticEMSSSingleMoveGenerator(StorableConstructorFlag _) : base(_) { }
     protected StochasticEMSSSingleMoveGenerator(StochasticEMSSSingleMoveGenerator original, Cloner cloner) : base(original, cloner) { }
     public StochasticEMSSSingleMoveGenerator()
Index: stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Moves/Swap/ExhaustiveSwap2MoveGenerator.cs
===================================================================
--- stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Moves/Swap/ExhaustiveSwap2MoveGenerator.cs	(revision 15584)
+++ stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Moves/Swap/ExhaustiveSwap2MoveGenerator.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -26,12 +26,12 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
   [Item("ExhaustiveSwap2MoveGenerator", "Generates all possible swap-2 moves from a given lle grouping.")]
-  [StorableClass]
+  [StorableType("1D050D36-3197-4931-9806-F8119A60E8B6")]
   public class ExhaustiveSwap2MoveGenerator : Swap2MoveGenerator, IExhaustiveMoveGenerator {
     [StorableConstructor]
-    protected ExhaustiveSwap2MoveGenerator(bool deserializing) : base(deserializing) { }
+    protected ExhaustiveSwap2MoveGenerator(StorableConstructorFlag _) : base(_) { }
     protected ExhaustiveSwap2MoveGenerator(ExhaustiveSwap2MoveGenerator original, Cloner cloner) : base(original, cloner) { }
     public ExhaustiveSwap2MoveGenerator() : base() { }
Index: stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Moves/Swap/StochasticSwap2MultiMoveGenerator.cs
===================================================================
--- stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Moves/Swap/StochasticSwap2MultiMoveGenerator.cs	(revision 15584)
+++ stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Moves/Swap/StochasticSwap2MultiMoveGenerator.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -25,9 +25,9 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
   [Item("StochasticSwap2MultiMoveGenerator", "Randomly samples n from all possible swap-2 moves from a given lle grouping.")]
-  [StorableClass]
+  [StorableType("156E5EAE-D929-41CE-844E-7DECE09CB74B")]
   public class StochasticSwap2MultiMoveGenerator : Swap2MoveGenerator, IMultiMoveGenerator, IStochasticOperator {
     public ILookupParameter<IRandom> RandomParameter {
@@ -44,5 +44,5 @@
 
     [StorableConstructor]
-    protected StochasticSwap2MultiMoveGenerator(bool deserializing) : base(deserializing) { }
+    protected StochasticSwap2MultiMoveGenerator(StorableConstructorFlag _) : base(_) { }
     protected StochasticSwap2MultiMoveGenerator(StochasticSwap2MultiMoveGenerator original, Cloner cloner) : base(original, cloner) { }
     public StochasticSwap2MultiMoveGenerator()
Index: stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Moves/Swap/StochasticSwap2SingleMoveGenerator.cs
===================================================================
--- stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Moves/Swap/StochasticSwap2SingleMoveGenerator.cs	(revision 15584)
+++ stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Moves/Swap/StochasticSwap2SingleMoveGenerator.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -26,9 +26,9 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
   [Item("StochasticSwap2SingleMoveGenerator", "Randomly samples a single from all possible swap-2 moves from a given lle grouping.")]
-  [StorableClass]
+  [StorableType("381C1F6F-A61C-4886-A2A1-348445DF2C84")]
   public class StochasticSwap2SingleMoveGenerator : Swap2MoveGenerator, IStochasticOperator, ISingleMoveGenerator {
     public ILookupParameter<IRandom> RandomParameter {
@@ -37,5 +37,5 @@
 
     [StorableConstructor]
-    protected StochasticSwap2SingleMoveGenerator(bool deserializing) : base(deserializing) { }
+    protected StochasticSwap2SingleMoveGenerator(StorableConstructorFlag _) : base(_) { }
     protected StochasticSwap2SingleMoveGenerator(StochasticSwap2SingleMoveGenerator original, Cloner cloner) : base(original, cloner) { }
     public StochasticSwap2SingleMoveGenerator()
Index: stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Moves/Swap/Swap2Move.cs
===================================================================
--- stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Moves/Swap/Swap2Move.cs	(revision 15584)
+++ stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Moves/Swap/Swap2Move.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -22,9 +22,9 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
   [Item("Swap2Move", "Item that describes a swap-2 move.")]
-  [StorableClass]
+  [StorableType("AEB203A4-03AD-4F86-B200-B0FA8253BCFF")]
   public class Swap2Move : Item {
     [Storable]
@@ -36,5 +36,5 @@
 
     [StorableConstructor]
-    protected Swap2Move(bool deserializing) : base(deserializing) { }
+    protected Swap2Move(StorableConstructorFlag _) : base(_) { }
     protected Swap2Move(Swap2Move original, Cloner cloner) : base(original, cloner) { }
     public Swap2Move() : this(-1, -1, null) { }
Index: stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Moves/Swap/Swap2MoveGenerator.cs
===================================================================
--- stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Moves/Swap/Swap2MoveGenerator.cs	(revision 15584)
+++ stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Moves/Swap/Swap2MoveGenerator.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -25,9 +25,9 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
   [Item("Swap2MoveGenerator", "Base class for all swap-2 move generators.")]
-  [StorableClass]
+  [StorableType("E7319AAA-7D34-444A-9B63-8A5CF1F010B5")]
   public abstract class Swap2MoveGenerator : SingleSuccessorOperator, ILinearLinkageSwap2MoveOperator, IMoveGenerator {
     public override bool CanChangeName {
@@ -42,5 +42,5 @@
 
     [StorableConstructor]
-    protected Swap2MoveGenerator(bool deserializing) : base(deserializing) { }
+    protected Swap2MoveGenerator(StorableConstructorFlag _) : base(_) { }
     protected Swap2MoveGenerator(Swap2MoveGenerator original, Cloner cloner) : base(original, cloner) { }
     public Swap2MoveGenerator()
Index: stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Moves/Swap/Swap2MoveMaker.cs
===================================================================
--- stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Moves/Swap/Swap2MoveMaker.cs	(revision 15584)
+++ stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Moves/Swap/Swap2MoveMaker.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -28,9 +28,9 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
   [Item("Swap2MoveMaker", "Peforms a swap-2 move on a given grouping and updates the quality.")]
-  [StorableClass]
+  [StorableType("2A1F7169-5DD5-4FB6-A25C-BBC4C06BB15A")]
   public class Swap2MoveMaker : SingleSuccessorOperator, ILinearLinkageSwap2MoveOperator, IMoveMaker, ISingleObjectiveOperator {
     public override bool CanChangeName {
@@ -51,5 +51,5 @@
 
     [StorableConstructor]
-    protected Swap2MoveMaker(bool deserializing) : base(deserializing) { }
+    protected Swap2MoveMaker(StorableConstructorFlag _) : base(_) { }
     protected Swap2MoveMaker(Swap2MoveMaker original, Cloner cloner) : base(original, cloner) { }
     public Swap2MoveMaker()
Index: stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Plugin.cs.frame
===================================================================
--- stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Plugin.cs.frame	(revision 15584)
+++ stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Plugin.cs.frame	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Properties/AssemblyInfo.cs.frame
===================================================================
--- stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Properties/AssemblyInfo.cs.frame	(revision 15584)
+++ stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/Properties/AssemblyInfo.cs.frame	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/ShakingOperators/LLEShakingOperator.cs
===================================================================
--- stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/ShakingOperators/LLEShakingOperator.cs	(revision 15584)
+++ stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/ShakingOperators/LLEShakingOperator.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -28,9 +28,9 @@
 using HeuristicLab.Optimization.Operators;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
   [Item("LLE Shaking Operator", "A shaking operator for VNS which uses LLE manipulators to perform the shaking.")]
-  [StorableClass]
+  [StorableType("D08F5FA0-BEAC-4AAE-A69A-7EFEC26513BA")]
   public class LLEShakingOperator : ShakingOperator<ILinearLinkageManipulator>, IStochasticOperator, ILinearLinkageShakingOperator {
 
@@ -48,5 +48,5 @@
 
     [StorableConstructor]
-    protected LLEShakingOperator(bool deserializing) : base(deserializing) { }
+    protected LLEShakingOperator(StorableConstructorFlag _) : base(_) { }
     protected LLEShakingOperator(LLEShakingOperator original, Cloner cloner) : base(original, cloner) { }
     public LLEShakingOperator()
Index: stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/SimilarityCalculators/HammingSimilarityCalculator.cs
===================================================================
--- stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/SimilarityCalculators/HammingSimilarityCalculator.cs	(revision 15584)
+++ stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/SimilarityCalculators/HammingSimilarityCalculator.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -24,14 +24,14 @@
 using HeuristicLab.Core;
 using HeuristicLab.Optimization.Operators;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 
 namespace HeuristicLab.Encodings.LinearLinkageEncoding {
   [Item("Hamming Similarity Calculator for LinearLinkage", "Calculates the hamming similarity for two linear linkage encoded solutions.")]
-  [StorableClass]
+  [StorableType("285EA71B-6045-4431-9B64-77331D23CE3C")]
   public sealed class HammingSimilarityCalculator : SingleObjectiveSolutionSimilarityCalculator {
     protected override bool IsCommutative { get { return true; } }
 
     [StorableConstructor]
-    private HammingSimilarityCalculator(bool deserializing) : base(deserializing) { }
+    private HammingSimilarityCalculator(StorableConstructorFlag _) : base(_) { }
     private HammingSimilarityCalculator(HammingSimilarityCalculator original, Cloner cloner) : base(original, cloner) { }
     public HammingSimilarityCalculator() : base() { }
Index: stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/packages.config
===================================================================
--- stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/packages.config	(revision 17097)
+++ stable/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/packages.config	(revision 17097)
@@ -0,0 +1,6 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<packages>
+  <package id="Google.Protobuf" version="3.6.1" targetFramework="net461" />
+  <package id="HEAL.Attic" version="1.0.0-pre02" targetFramework="net461" />
+  <package id="System.Drawing.Common" version="4.5.1" targetFramework="net461" />
+</packages>
