Index: /trunk/sources/HeuristicLab.Operators/3.3/CombinedOperator.cs
===================================================================
--- /trunk/sources/HeuristicLab.Operators/3.3/CombinedOperator.cs	(revision 1672)
+++ /trunk/sources/HeuristicLab.Operators/3.3/CombinedOperator.cs	(revision 1673)
@@ -26,4 +26,5 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HeuristicLab.Persistence.Default.Decomposers.Storable;
 
 namespace HeuristicLab.Operators {
@@ -33,4 +34,6 @@
   /// </summary>
   public class CombinedOperator : DelegatingOperator {
+
+    [Storable]
     private string myDescription;
     /// <summary>
@@ -40,4 +43,6 @@
       get { return myDescription; }
     }
+
+    [Storable]
     private IOperatorGraph myOperatorGraph;
     /// <summary>
@@ -131,39 +136,4 @@
         DescriptionChanged(this, new EventArgs());
     }
-
-    #region Persistence Methods
-    /// <summary>
-    /// Saves the current instance as <see cref="XmlNode"/> in the specified <paramref name="document"/>.
-    /// </summary>
-    /// <remarks>The description and the operator graph of the current instance are saved as child 
-    /// nodes with tag names <c>Description</c> <c>OperatorGraph</c>.<br/>
-    /// Calls <see cref="OperatorBase.GetXmlNode"/> of base class <see cref="DelegatingOperator"/>.</remarks>
-    /// <param name="name">The (tag)name of the <see cref="XmlNode"/>.</param>
-    /// <param name="document">The <see cref="XmlDocument"/> where to save the data.</param>
-    /// <param name="persistedObjects">The dictionary of all already persisted objects. (Needed to avoid cycles.)</param>
-    /// <returns>The saved <see cref="XmlNode"/>.</returns>
-    public override XmlNode GetXmlNode(string name, XmlDocument document, IDictionary<Guid, IStorable> persistedObjects) {
-      XmlNode node = base.GetXmlNode(name, document, persistedObjects);
-      XmlNode descriptionNode = document.CreateNode(XmlNodeType.Element, "Description", null);
-      descriptionNode.InnerText = myDescription;
-      node.AppendChild(descriptionNode);
-      node.AppendChild(PersistenceManager.Persist("OperatorGraph", OperatorGraph, document, persistedObjects));
-      return node;
-    }
-    /// <summary>
-    /// Loads the persisted instance from the specified <paramref name="node"/>.
-    /// </summary>
-    /// <remarks>Calls <see cref="OperatorBase.Populate"/> of base class <see cref="DelegatingOperator"/>.
-    /// <br/> See <see cref="GetXmlNode"/> for further information on how the data must be saved.</remarks>
-    /// <param name="node">The <see cref="XmlNode"/> where the operator is saved.</param>
-    /// <param name="restoredObjects">The dictionary of all already restored objects. 
-    /// (Needed to avoid cycles.)</param>
-    public override void Populate(XmlNode node, IDictionary<Guid, IStorable> restoredObjects) {
-      base.Populate(node, restoredObjects);
-      XmlNode descriptionNode = node.SelectSingleNode("Description");
-      if (descriptionNode != null) myDescription = descriptionNode.InnerText;
-      myOperatorGraph = (IOperatorGraph)PersistenceManager.Restore(node.SelectSingleNode("OperatorGraph"), restoredObjects);
-    }
-    #endregion
   }
 }
Index: unk/sources/HeuristicLab.Operators/3.3/HeuristicLab.Operators-3.2.csproj
===================================================================
--- /trunk/sources/HeuristicLab.Operators/3.3/HeuristicLab.Operators-3.2.csproj	(revision 1672)
+++ 	(revision )
@@ -1,184 +1,0 @@
-﻿<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProductVersion>9.0.30729</ProductVersion>
-    <SchemaVersion>2.0</SchemaVersion>
-    <ProjectGuid>{A9983BA2-B3B2-475E-8E2C-62050B71D1C5}</ProjectGuid>
-    <OutputType>Library</OutputType>
-    <AppDesignerFolder>Properties</AppDesignerFolder>
-    <RootNamespace>HeuristicLab.Operators</RootNamespace>
-    <AssemblyName>HeuristicLab.Operators-3.2</AssemblyName>
-    <SignAssembly>true</SignAssembly>
-    <AssemblyOriginatorKeyFile>HeuristicLab.snk</AssemblyOriginatorKeyFile>
-    <FileUpgradeFlags>
-    </FileUpgradeFlags>
-    <OldToolsVersion>2.0</OldToolsVersion>
-    <UpgradeBackupLocation>
-    </UpgradeBackupLocation>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>bin\Debug\</OutputPath>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <DocumentationFile>
-    </DocumentationFile>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <DebugType>pdbonly</DebugType>
-    <Optimize>true</Optimize>
-    <OutputPath>bin\Release\</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <DocumentationFile>bin\Release\HeuristicLab.Operators-3.2.XML</DocumentationFile>
-    <TreatWarningsAsErrors>false</TreatWarningsAsErrors>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
-    <DebugSymbols>true</DebugSymbols>
-    <OutputPath>bin\x86\Debug\</OutputPath>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <DebugType>full</DebugType>
-    <PlatformTarget>x86</PlatformTarget>
-    <ErrorReport>prompt</ErrorReport>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
-    <OutputPath>bin\x86\Release\</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <DocumentationFile>bin\Release\HeuristicLab.Operators-3.2.XML</DocumentationFile>
-    <Optimize>true</Optimize>
-    <DebugType>pdbonly</DebugType>
-    <PlatformTarget>x86</PlatformTarget>
-    <ErrorReport>prompt</ErrorReport>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
-    <DebugSymbols>true</DebugSymbols>
-    <OutputPath>bin\x64\Debug\</OutputPath>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <DebugType>full</DebugType>
-    <PlatformTarget>x64</PlatformTarget>
-    <ErrorReport>prompt</ErrorReport>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
-    <OutputPath>bin\x64\Release\</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <DocumentationFile>bin\Release\HeuristicLab.Operators-3.2.XML</DocumentationFile>
-    <Optimize>true</Optimize>
-    <DebugType>pdbonly</DebugType>
-    <PlatformTarget>x64</PlatformTarget>
-    <ErrorReport>prompt</ErrorReport>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="System" />
-    <Reference Include="System.Data" />
-    <Reference Include="System.Drawing" />
-    <Reference Include="System.Windows.Forms" />
-    <Reference Include="System.Xml" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="AddVariableInfoDialog.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="AddVariableInfoDialog.Designer.cs">
-      <DependentUpon>AddVariableInfoDialog.cs</DependentUpon>
-    </Compile>
-    <Compile Include="CombinedOperator.cs" />
-    <Compile Include="CombinedOperatorView.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Include="CombinedOperatorView.Designer.cs">
-      <DependentUpon>CombinedOperatorView.cs</DependentUpon>
-    </Compile>
-    <Compile Include="ComparatorBase.cs" />
-    <Compile Include="ConditionalBranch.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="DelegatingOperator.cs" />
-    <Compile Include="DoubleCounter.cs" />
-    <Compile Include="ScopeCleaner.cs" />
-    <Compile Include="StochasticMultiBranch.cs" />
-    <Compile Include="SubScopesMixer.cs" />
-    <Compile Include="DataCollector.cs" />
-    <Compile Include="EqualToComparator.cs" />
-    <Compile Include="GreaterOrEqualThanComparator.cs" />
-    <Compile Include="GreaterThanComparator.cs" />
-    <Compile Include="LessOrEqualThanComparator.cs" />
-    <Compile Include="LessThanComparator.cs" />
-    <Compile Include="OperatorExtractor.cs" />
-    <Compile Include="ParallelProcessor.cs" />
-    <Compile Include="EmptyOperator.cs" />
-    <Compile Include="SequentialProcessor.cs" />
-    <Compile Include="SingleObjectiveEvaluatorBase.cs" />
-    <Compile Include="Sorter.cs" />
-    <Compile Include="StochasticBranch.cs" />
-    <Compile Include="SubScopesRemover.cs" />
-    <Compile Include="UnequalToComparator.cs" />
-    <Compile Include="UniformSequentialSubScopesProcessor.cs" />
-    <Compile Include="UniformParallelSubScopesProcessor.cs" />
-    <Compile Include="ParallelSubScopesProcessor.cs" />
-    <Compile Include="SequentialSubScopesProcessor.cs" />
-    <Compile Include="SubScopesCreater.cs" />
-    <Compile Include="Counter.cs" />
-    <Compile Include="HeuristicLabOperatorsPlugin.cs" />
-    <Compile Include="Properties\AssemblyInfo.cs" />
-    <Compile Include="VariableInjector.cs" />
-    <Compile Include="VariableInjectorView.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Include="VariableInjectorView.Designer.cs">
-      <DependentUpon>VariableInjectorView.cs</DependentUpon>
-    </Compile>
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\..\HeuristicLab.Constraints\3.2\HeuristicLab.Constraints-3.2.csproj">
-      <Project>{FCD62C6F-4793-4593-AE9A-0BDCA256EE99}</Project>
-      <Name>HeuristicLab.Constraints-3.2</Name>
-    </ProjectReference>
-    <ProjectReference Include="..\..\HeuristicLab.Core\3.2\HeuristicLab.Core-3.2.csproj">
-      <Project>{F43B59AB-2B8C-4570-BC1E-15592086517C}</Project>
-      <Name>HeuristicLab.Core-3.2</Name>
-    </ProjectReference>
-    <ProjectReference Include="..\..\HeuristicLab.Data\3.2\HeuristicLab.Data-3.2.csproj">
-      <Project>{F473D9AF-3F09-4296-9F28-3C65118DAFFA}</Project>
-      <Name>HeuristicLab.Data-3.2</Name>
-    </ProjectReference>
-    <ProjectReference Include="..\..\HeuristicLab.PluginInfrastructure\HeuristicLab.PluginInfrastructure.csproj">
-      <Project>{94186A6A-5176-4402-AE83-886557B53CCA}</Project>
-      <Name>HeuristicLab.PluginInfrastructure</Name>
-    </ProjectReference>
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="HeuristicLab.snk" />
-    <None Include="Properties\AssemblyInfo.frame" />
-  </ItemGroup>
-  <ItemGroup>
-    <EmbeddedResource Include="AddVariableInfoDialog.resx">
-      <DependentUpon>AddVariableInfoDialog.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-    <EmbeddedResource Include="CombinedOperatorView.resx">
-      <DependentUpon>CombinedOperatorView.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-  </ItemGroup>
-  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
-       Other similar extension points exist, see Microsoft.Common.targets.
-  <Target Name="BeforeBuild">
-  </Target>
-  <Target Name="AfterBuild">
-  </Target>
-  -->
-  <PropertyGroup>
-    <PreBuildEvent>set Path=%25Path%25;$(ProjectDir);$(SolutionDir)
-set ProjectDir=$(ProjectDir)
-set SolutionDir=$(SolutionDir)
-set Outdir=$(Outdir)
-
-call PreBuildEvent.cmd</PreBuildEvent>
-  </PropertyGroup>
-</Project>
Index: /trunk/sources/HeuristicLab.Operators/3.3/HeuristicLab.Operators-3.3.csproj
===================================================================
--- /trunk/sources/HeuristicLab.Operators/3.3/HeuristicLab.Operators-3.3.csproj	(revision 1673)
+++ /trunk/sources/HeuristicLab.Operators/3.3/HeuristicLab.Operators-3.3.csproj	(revision 1673)
@@ -0,0 +1,192 @@
+﻿<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>9.0.30729</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{23DA7FF4-D5B8-41B6-AA96-F0561D24F3EE}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>HeuristicLab.Operators</RootNamespace>
+    <AssemblyName>HeuristicLab.Operators-3.3</AssemblyName>
+    <SignAssembly>true</SignAssembly>
+    <AssemblyOriginatorKeyFile>HeuristicLab.snk</AssemblyOriginatorKeyFile>
+    <FileUpgradeFlags>
+    </FileUpgradeFlags>
+    <OldToolsVersion>2.0</OldToolsVersion>
+    <UpgradeBackupLocation>
+    </UpgradeBackupLocation>
+    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <DocumentationFile>
+    </DocumentationFile>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <DocumentationFile>bin\Release\HeuristicLab.Operators-3.3.xml</DocumentationFile>
+    <TreatWarningsAsErrors>false</TreatWarningsAsErrors>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
+    <DebugSymbols>true</DebugSymbols>
+    <OutputPath>bin\x86\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <DebugType>full</DebugType>
+    <PlatformTarget>x86</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
+    <OutputPath>bin\x86\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <DocumentationFile>bin\Release\HeuristicLab.Operators-3.2.XML</DocumentationFile>
+    <Optimize>true</Optimize>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>x86</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
+    <DebugSymbols>true</DebugSymbols>
+    <OutputPath>bin\x64\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <DebugType>full</DebugType>
+    <PlatformTarget>x64</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
+    <OutputPath>bin\x64\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <DocumentationFile>bin\Release\HeuristicLab.Operators-3.2.XML</DocumentationFile>
+    <Optimize>true</Optimize>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>x64</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Core">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Data" />
+    <Reference Include="System.Drawing" />
+    <Reference Include="System.Windows.Forms" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="AddVariableInfoDialog.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="AddVariableInfoDialog.Designer.cs">
+      <DependentUpon>AddVariableInfoDialog.cs</DependentUpon>
+    </Compile>
+    <Compile Include="CombinedOperator.cs" />
+    <Compile Include="CombinedOperatorView.cs">
+      <SubType>UserControl</SubType>
+    </Compile>
+    <Compile Include="CombinedOperatorView.Designer.cs">
+      <DependentUpon>CombinedOperatorView.cs</DependentUpon>
+    </Compile>
+    <Compile Include="ComparatorBase.cs" />
+    <Compile Include="ConditionalBranch.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="DelegatingOperator.cs" />
+    <Compile Include="DoubleCounter.cs" />
+    <Compile Include="ScopeCleaner.cs" />
+    <Compile Include="StochasticMultiBranch.cs" />
+    <Compile Include="SubScopesMixer.cs" />
+    <Compile Include="DataCollector.cs" />
+    <Compile Include="EqualToComparator.cs" />
+    <Compile Include="GreaterOrEqualThanComparator.cs" />
+    <Compile Include="GreaterThanComparator.cs" />
+    <Compile Include="LessOrEqualThanComparator.cs" />
+    <Compile Include="LessThanComparator.cs" />
+    <Compile Include="OperatorExtractor.cs" />
+    <Compile Include="ParallelProcessor.cs" />
+    <Compile Include="EmptyOperator.cs" />
+    <Compile Include="SequentialProcessor.cs" />
+    <Compile Include="SingleObjectiveEvaluatorBase.cs" />
+    <Compile Include="Sorter.cs" />
+    <Compile Include="StochasticBranch.cs" />
+    <Compile Include="SubScopesRemover.cs" />
+    <Compile Include="UnequalToComparator.cs" />
+    <Compile Include="UniformSequentialSubScopesProcessor.cs" />
+    <Compile Include="UniformParallelSubScopesProcessor.cs" />
+    <Compile Include="ParallelSubScopesProcessor.cs" />
+    <Compile Include="SequentialSubScopesProcessor.cs" />
+    <Compile Include="SubScopesCreater.cs" />
+    <Compile Include="Counter.cs" />
+    <Compile Include="HeuristicLabOperatorsPlugin.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="VariableInjector.cs" />
+    <Compile Include="VariableInjectorView.cs">
+      <SubType>UserControl</SubType>
+    </Compile>
+    <Compile Include="VariableInjectorView.Designer.cs">
+      <DependentUpon>VariableInjectorView.cs</DependentUpon>
+    </Compile>
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\..\HeuristicLab.Constraints\3.3\HeuristicLab.Constraints-3.3.csproj">
+      <Project>{19C1E42A-4B48-4EFD-B697-899016F1C198}</Project>
+      <Name>HeuristicLab.Constraints-3.3</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\HeuristicLab.Core\3.3\HeuristicLab.Core-3.3.csproj">
+      <Project>{C36BD924-A541-4A00-AFA8-41701378DDC5}</Project>
+      <Name>HeuristicLab.Core-3.3</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\HeuristicLab.Data\3.3\HeuristicLab.Data-3.3.csproj">
+      <Project>{BBAB9DF5-5EF3-4BA8-ADE9-B36E82114937}</Project>
+      <Name>HeuristicLab.Data-3.3</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\HeuristicLab.Persistence\3.3\HeuristicLab.Persistence-3.3.csproj">
+      <Project>{102BC7D3-0EF9-439C-8F6D-96FF0FDB8E1B}</Project>
+      <Name>HeuristicLab.Persistence-3.3</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\HeuristicLab.PluginInfrastructure\HeuristicLab.PluginInfrastructure.csproj">
+      <Project>{94186A6A-5176-4402-AE83-886557B53CCA}</Project>
+      <Name>HeuristicLab.PluginInfrastructure</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="HeuristicLab.snk" />
+    <None Include="Properties\AssemblyInfo.frame" />
+  </ItemGroup>
+  <ItemGroup>
+    <EmbeddedResource Include="AddVariableInfoDialog.resx">
+      <DependentUpon>AddVariableInfoDialog.cs</DependentUpon>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="CombinedOperatorView.resx">
+      <DependentUpon>CombinedOperatorView.cs</DependentUpon>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+  </ItemGroup>
+  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+  <PropertyGroup>
+    <PreBuildEvent>set Path=%25Path%25;$(ProjectDir);$(SolutionDir)
+set ProjectDir=$(ProjectDir)
+set SolutionDir=$(SolutionDir)
+set Outdir=$(Outdir)
+
+call PreBuildEvent.cmd</PreBuildEvent>
+  </PropertyGroup>
+</Project>
Index: /trunk/sources/HeuristicLab.Operators/3.3/HeuristicLabOperatorsPlugin.cs
===================================================================
--- /trunk/sources/HeuristicLab.Operators/3.3/HeuristicLabOperatorsPlugin.cs	(revision 1672)
+++ /trunk/sources/HeuristicLab.Operators/3.3/HeuristicLabOperatorsPlugin.cs	(revision 1673)
@@ -29,8 +29,10 @@
   /// Plugin class for HeuristicLab.Operators plugin.
   /// </summary>
-  [ClassInfo(Name = "HeuristicLab.Operators-3.2")]
-  [PluginFile(Filename = "HeuristicLab.Operators-3.2.dll", Filetype = PluginFileType.Assembly)]
-  [Dependency(Dependency = "HeuristicLab.Core-3.2")]
-  [Dependency(Dependency = "HeuristicLab.Data-3.2")]
+  [ClassInfo(Name = "HeuristicLab.Operators-3.3")]
+  [PluginFile(Filename = "HeuristicLab.Operators-3.3.dll", Filetype = PluginFileType.Assembly)]
+  [Dependency(Dependency = "HeuristicLab.Constraints-3.3")]
+  [Dependency(Dependency = "HeuristicLab.Core-3.3")]
+  [Dependency(Dependency = "HeuristicLab.Data-3.3")]
+  [Dependency(Dependency = "HeuristicLab.Persistence-3.3")]  
   public class HeuristicLabOperatorsPlugin : PluginBase {
   }
Index: /trunk/sources/HeuristicLab.Operators/3.3/Properties/AssemblyInfo.frame
===================================================================
--- /trunk/sources/HeuristicLab.Operators/3.3/Properties/AssemblyInfo.frame	(revision 1672)
+++ /trunk/sources/HeuristicLab.Operators/3.3/Properties/AssemblyInfo.frame	(revision 1673)
@@ -54,5 +54,5 @@
 // You can specify all the values or you can default the Revision and Build Numbers 
 // by using the '*' as shown below:
-[assembly: AssemblyVersion("3.2.0.$WCREV$")]
-[assembly: AssemblyFileVersion("3.2.0.$WCREV$")]
+[assembly: AssemblyVersion("3.3.0.$WCREV$")]
+[assembly: AssemblyFileVersion("3.3.0.$WCREV$")]
 [assembly: AssemblyBuildDate("$WCNOW$")]
Index: /trunk/sources/HeuristicLab.Operators/3.3/VariableInjector.cs
===================================================================
--- /trunk/sources/HeuristicLab.Operators/3.3/VariableInjector.cs	(revision 1672)
+++ /trunk/sources/HeuristicLab.Operators/3.3/VariableInjector.cs	(revision 1673)
@@ -25,4 +25,5 @@
 using System.Xml;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence.Default.Decomposers.Storable;
 
 namespace HeuristicLab.Operators {
@@ -31,5 +32,9 @@
   /// </summary>
   public class VariableInjector : OperatorBase {
+
+    [Storable]
     private Dictionary<IVariable, IVariableInfo> variableVariableInfoTable;
+
+    [Storable]
     private Dictionary<IVariableInfo, IVariable> variableInfoVariableTable;
 
@@ -142,23 +147,4 @@
     }
     #endregion
-
-    #region Persistence Methods
-    /// <summary>
-    /// Saves the current instance as <see cref="XmlNode"/> in the specified <paramref name="document"/>.
-    /// <note type="caution"> Variable infos are not persisted!</note>
-    /// </summary>
-    /// <remarks>Calls <see cref="OperatorBase.GetXmlNode"/> of base class <see cref="OperatorBase"/>.</remarks>
-    /// <param name="name">The (tag)name of the <see cref="XmlNode"/>.</param>
-    /// <param name="document">The <see cref="XmlDocument"/> where to save the data.</param>
-    /// <param name="persistedObjects">The dictionary of all already persisted objects. (Needed to avoid cycles.)</param>
-    /// <returns>The saved <see cref="XmlNode"/>.</returns>
-    public override XmlNode GetXmlNode(string name, XmlDocument document, IDictionary<Guid,IStorable> persistedObjects) {
-      XmlNode node = base.GetXmlNode(name, document, persistedObjects);
-      // variable infos should not be persisted
-      XmlNode infosNode = node.SelectSingleNode("VariableInfos");
-      infosNode.RemoveAll();
-      return node;
-    }
-    #endregion
   }
 }
Index: /trunk/sources/HeuristicLab.sln
===================================================================
--- /trunk/sources/HeuristicLab.sln	(revision 1672)
+++ /trunk/sources/HeuristicLab.sln	(revision 1673)
@@ -172,4 +172,6 @@
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.Constraints-3.3", "HeuristicLab.Constraints\3.3\HeuristicLab.Constraints-3.3.csproj", "{19C1E42A-4B48-4EFD-B697-899016F1C198}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.Operators-3.3", "HeuristicLab.Operators\3.3\HeuristicLab.Operators-3.3.csproj", "{23DA7FF4-D5B8-41B6-AA96-F0561D24F3EE}"
 EndProject
 Global
@@ -2542,4 +2544,34 @@
 		{BBAB9DF5-5EF3-4BA8-ADE9-B36E82114937}.Visualization Debug|x86.ActiveCfg = Debug|x86
 		{BBAB9DF5-5EF3-4BA8-ADE9-B36E82114937}.Visualization Debug|x86.Build.0 = Debug|x86
+		{19C1E42A-4B48-4EFD-B697-899016F1C198}.CEDMA Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{19C1E42A-4B48-4EFD-B697-899016F1C198}.CEDMA Debug|Any CPU.Build.0 = Debug|Any CPU
+		{19C1E42A-4B48-4EFD-B697-899016F1C198}.CEDMA Debug|x64.ActiveCfg = Debug|x64
+		{19C1E42A-4B48-4EFD-B697-899016F1C198}.CEDMA Debug|x64.Build.0 = Debug|x64
+		{19C1E42A-4B48-4EFD-B697-899016F1C198}.CEDMA Debug|x86.ActiveCfg = Debug|x86
+		{19C1E42A-4B48-4EFD-B697-899016F1C198}.CEDMA Debug|x86.Build.0 = Debug|x86
+		{19C1E42A-4B48-4EFD-B697-899016F1C198}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{19C1E42A-4B48-4EFD-B697-899016F1C198}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{19C1E42A-4B48-4EFD-B697-899016F1C198}.Debug|x64.ActiveCfg = Debug|x64
+		{19C1E42A-4B48-4EFD-B697-899016F1C198}.Debug|x64.Build.0 = Debug|x64
+		{19C1E42A-4B48-4EFD-B697-899016F1C198}.Debug|x86.ActiveCfg = Debug|x86
+		{19C1E42A-4B48-4EFD-B697-899016F1C198}.Debug|x86.Build.0 = Debug|x86
+		{19C1E42A-4B48-4EFD-B697-899016F1C198}.GP Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{19C1E42A-4B48-4EFD-B697-899016F1C198}.GP Debug|Any CPU.Build.0 = Debug|Any CPU
+		{19C1E42A-4B48-4EFD-B697-899016F1C198}.GP Debug|x64.ActiveCfg = Debug|x64
+		{19C1E42A-4B48-4EFD-B697-899016F1C198}.GP Debug|x64.Build.0 = Debug|x64
+		{19C1E42A-4B48-4EFD-B697-899016F1C198}.GP Debug|x86.ActiveCfg = Debug|x86
+		{19C1E42A-4B48-4EFD-B697-899016F1C198}.GP Debug|x86.Build.0 = Debug|x86
+		{19C1E42A-4B48-4EFD-B697-899016F1C198}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{19C1E42A-4B48-4EFD-B697-899016F1C198}.Release|Any CPU.Build.0 = Release|Any CPU
+		{19C1E42A-4B48-4EFD-B697-899016F1C198}.Release|x64.ActiveCfg = Release|x64
+		{19C1E42A-4B48-4EFD-B697-899016F1C198}.Release|x64.Build.0 = Release|x64
+		{19C1E42A-4B48-4EFD-B697-899016F1C198}.Release|x86.ActiveCfg = Release|x86
+		{19C1E42A-4B48-4EFD-B697-899016F1C198}.Release|x86.Build.0 = Release|x86
+		{19C1E42A-4B48-4EFD-B697-899016F1C198}.Visualization Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{19C1E42A-4B48-4EFD-B697-899016F1C198}.Visualization Debug|Any CPU.Build.0 = Debug|Any CPU
+		{19C1E42A-4B48-4EFD-B697-899016F1C198}.Visualization Debug|x64.ActiveCfg = Debug|x64
+		{19C1E42A-4B48-4EFD-B697-899016F1C198}.Visualization Debug|x64.Build.0 = Debug|x64
+		{19C1E42A-4B48-4EFD-B697-899016F1C198}.Visualization Debug|x86.ActiveCfg = Debug|x86
+		{19C1E42A-4B48-4EFD-B697-899016F1C198}.Visualization Debug|x86.Build.0 = Debug|x86
 		{23DA7FF4-D5B8-41B6-AA96-F0561D24F3EE}.CEDMA Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{23DA7FF4-D5B8-41B6-AA96-F0561D24F3EE}.CEDMA Debug|Any CPU.Build.0 = Debug|Any CPU
@@ -2572,34 +2604,4 @@
 		{23DA7FF4-D5B8-41B6-AA96-F0561D24F3EE}.Visualization Debug|x86.ActiveCfg = Debug|x86
 		{23DA7FF4-D5B8-41B6-AA96-F0561D24F3EE}.Visualization Debug|x86.Build.0 = Debug|x86
-		{19C1E42A-4B48-4EFD-B697-899016F1C198}.CEDMA Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{19C1E42A-4B48-4EFD-B697-899016F1C198}.CEDMA Debug|Any CPU.Build.0 = Debug|Any CPU
-		{19C1E42A-4B48-4EFD-B697-899016F1C198}.CEDMA Debug|x64.ActiveCfg = Debug|x64
-		{19C1E42A-4B48-4EFD-B697-899016F1C198}.CEDMA Debug|x64.Build.0 = Debug|x64
-		{19C1E42A-4B48-4EFD-B697-899016F1C198}.CEDMA Debug|x86.ActiveCfg = Debug|x86
-		{19C1E42A-4B48-4EFD-B697-899016F1C198}.CEDMA Debug|x86.Build.0 = Debug|x86
-		{19C1E42A-4B48-4EFD-B697-899016F1C198}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{19C1E42A-4B48-4EFD-B697-899016F1C198}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{19C1E42A-4B48-4EFD-B697-899016F1C198}.Debug|x64.ActiveCfg = Debug|x64
-		{19C1E42A-4B48-4EFD-B697-899016F1C198}.Debug|x64.Build.0 = Debug|x64
-		{19C1E42A-4B48-4EFD-B697-899016F1C198}.Debug|x86.ActiveCfg = Debug|x86
-		{19C1E42A-4B48-4EFD-B697-899016F1C198}.Debug|x86.Build.0 = Debug|x86
-		{19C1E42A-4B48-4EFD-B697-899016F1C198}.GP Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{19C1E42A-4B48-4EFD-B697-899016F1C198}.GP Debug|Any CPU.Build.0 = Debug|Any CPU
-		{19C1E42A-4B48-4EFD-B697-899016F1C198}.GP Debug|x64.ActiveCfg = Debug|x64
-		{19C1E42A-4B48-4EFD-B697-899016F1C198}.GP Debug|x64.Build.0 = Debug|x64
-		{19C1E42A-4B48-4EFD-B697-899016F1C198}.GP Debug|x86.ActiveCfg = Debug|x86
-		{19C1E42A-4B48-4EFD-B697-899016F1C198}.GP Debug|x86.Build.0 = Debug|x86
-		{19C1E42A-4B48-4EFD-B697-899016F1C198}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{19C1E42A-4B48-4EFD-B697-899016F1C198}.Release|Any CPU.Build.0 = Release|Any CPU
-		{19C1E42A-4B48-4EFD-B697-899016F1C198}.Release|x64.ActiveCfg = Release|x64
-		{19C1E42A-4B48-4EFD-B697-899016F1C198}.Release|x64.Build.0 = Release|x64
-		{19C1E42A-4B48-4EFD-B697-899016F1C198}.Release|x86.ActiveCfg = Release|x86
-		{19C1E42A-4B48-4EFD-B697-899016F1C198}.Release|x86.Build.0 = Release|x86
-		{19C1E42A-4B48-4EFD-B697-899016F1C198}.Visualization Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{19C1E42A-4B48-4EFD-B697-899016F1C198}.Visualization Debug|Any CPU.Build.0 = Debug|Any CPU
-		{19C1E42A-4B48-4EFD-B697-899016F1C198}.Visualization Debug|x64.ActiveCfg = Debug|x64
-		{19C1E42A-4B48-4EFD-B697-899016F1C198}.Visualization Debug|x64.Build.0 = Debug|x64
-		{19C1E42A-4B48-4EFD-B697-899016F1C198}.Visualization Debug|x86.ActiveCfg = Debug|x86
-		{19C1E42A-4B48-4EFD-B697-899016F1C198}.Visualization Debug|x86.Build.0 = Debug|x86
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
