Index: trunk/sources/HeuristicLab.Persistence/3.3/Core/ConfigurationService.cs
===================================================================
--- trunk/sources/HeuristicLab.Persistence/3.3/Core/ConfigurationService.cs	(revision 1555)
+++ trunk/sources/HeuristicLab.Persistence/3.3/Core/ConfigurationService.cs	(revision 1556)
@@ -7,5 +7,5 @@
 using HeuristicLab.Persistence.Interfaces;
 using HeuristicLab.Tracing;
-using HeuristicLab.Persistence.Interfaces.Tokens;
+using HeuristicLab.Persistence.Core.Tokens;
 
 namespace HeuristicLab.Persistence.Core {
Index: trunk/sources/HeuristicLab.Persistence/3.3/Core/DeSerializer.cs
===================================================================
--- trunk/sources/HeuristicLab.Persistence/3.3/Core/DeSerializer.cs	(revision 1555)
+++ trunk/sources/HeuristicLab.Persistence/3.3/Core/DeSerializer.cs	(revision 1556)
@@ -2,5 +2,5 @@
 using System;
 using HeuristicLab.Persistence.Interfaces;
-using HeuristicLab.Persistence.Interfaces.Tokens;
+using HeuristicLab.Persistence.Core.Tokens;
 
 namespace HeuristicLab.Persistence.Core {  
Index: trunk/sources/HeuristicLab.Persistence/3.3/Core/FormatBase.cs
===================================================================
--- trunk/sources/HeuristicLab.Persistence/3.3/Core/FormatBase.cs	(revision 1556)
+++ trunk/sources/HeuristicLab.Persistence/3.3/Core/FormatBase.cs	(revision 1556)
@@ -0,0 +1,19 @@
+﻿using System;
+
+namespace HeuristicLab.Persistence.Interfaces {
+
+  public abstract class FormatBase : IFormat {
+    public abstract string Name { get;  }
+    public override bool Equals(object obj) {
+      if (obj as IFormat == null)
+        return false;
+      return this.Equals((FormatBase)obj);      
+    }
+    public bool Equals(FormatBase f) {
+      return Name.Equals(f.Name);
+    }
+    public override int GetHashCode() {
+      return Name.GetHashCode();
+    }
+  }
+}
Index: trunk/sources/HeuristicLab.Persistence/3.3/Core/Serializer.cs
===================================================================
--- trunk/sources/HeuristicLab.Persistence/3.3/Core/Serializer.cs	(revision 1555)
+++ trunk/sources/HeuristicLab.Persistence/3.3/Core/Serializer.cs	(revision 1556)
@@ -3,5 +3,5 @@
 using System;
 using HeuristicLab.Persistence.Interfaces;
-using HeuristicLab.Persistence.Interfaces.Tokens;
+using HeuristicLab.Persistence.Core.Tokens;
 
 namespace HeuristicLab.Persistence.Core {
Index: trunk/sources/HeuristicLab.Persistence/3.3/Core/Tokens/BeginToken.cs
===================================================================
--- trunk/sources/HeuristicLab.Persistence/3.3/Core/Tokens/BeginToken.cs	(revision 1556)
+++ trunk/sources/HeuristicLab.Persistence/3.3/Core/Tokens/BeginToken.cs	(revision 1556)
@@ -0,0 +1,9 @@
+﻿using HeuristicLab.Persistence.Interfaces;
+
+namespace HeuristicLab.Persistence.Core.Tokens {
+
+  public class BeginToken : CompositeTokenBase {
+    public BeginToken(string name, int? typeId, int? id) : base(name, typeId, id) { }
+  }
+
+}
Index: trunk/sources/HeuristicLab.Persistence/3.3/Core/Tokens/CompositeTokenBase.cs
===================================================================
--- trunk/sources/HeuristicLab.Persistence/3.3/Core/Tokens/CompositeTokenBase.cs	(revision 1556)
+++ trunk/sources/HeuristicLab.Persistence/3.3/Core/Tokens/CompositeTokenBase.cs	(revision 1556)
@@ -0,0 +1,14 @@
+﻿
+namespace HeuristicLab.Persistence.Core.Tokens {
+
+  public abstract class CompositeTokenBase : SerializationTokenBase {
+    public readonly int? TypeId;
+    public readonly int? Id;
+    public CompositeTokenBase(string name, int? typeId, int? id)
+      : base(name) {
+      TypeId = typeId;
+      Id = id;
+    }
+  }
+
+}
Index: trunk/sources/HeuristicLab.Persistence/3.3/Core/Tokens/EndToken.cs
===================================================================
--- trunk/sources/HeuristicLab.Persistence/3.3/Core/Tokens/EndToken.cs	(revision 1556)
+++ trunk/sources/HeuristicLab.Persistence/3.3/Core/Tokens/EndToken.cs	(revision 1556)
@@ -0,0 +1,9 @@
+﻿using HeuristicLab.Persistence.Interfaces;
+
+namespace HeuristicLab.Persistence.Core.Tokens {
+
+  public class EndToken : CompositeTokenBase {
+    public EndToken(string name, int? typeId, int? id) : base(name, typeId, id) { }
+  }
+
+}
Index: trunk/sources/HeuristicLab.Persistence/3.3/Core/Tokens/MetaInfoBeginToken.cs
===================================================================
--- trunk/sources/HeuristicLab.Persistence/3.3/Core/Tokens/MetaInfoBeginToken.cs	(revision 1556)
+++ trunk/sources/HeuristicLab.Persistence/3.3/Core/Tokens/MetaInfoBeginToken.cs	(revision 1556)
@@ -0,0 +1,7 @@
+﻿using HeuristicLab.Persistence.Interfaces;
+
+namespace HeuristicLab.Persistence.Core.Tokens {
+
+  public class MetaInfoBeginToken : ISerializationToken { }
+
+}
Index: trunk/sources/HeuristicLab.Persistence/3.3/Core/Tokens/MetaInfoEndToken.cs
===================================================================
--- trunk/sources/HeuristicLab.Persistence/3.3/Core/Tokens/MetaInfoEndToken.cs	(revision 1556)
+++ trunk/sources/HeuristicLab.Persistence/3.3/Core/Tokens/MetaInfoEndToken.cs	(revision 1556)
@@ -0,0 +1,7 @@
+﻿using HeuristicLab.Persistence.Interfaces;
+
+namespace HeuristicLab.Persistence.Core.Tokens {
+
+  public class MetaInfoEndToken : ISerializationToken { }
+  
+}
Index: trunk/sources/HeuristicLab.Persistence/3.3/Core/Tokens/NulLReferenceToken.cs
===================================================================
--- trunk/sources/HeuristicLab.Persistence/3.3/Core/Tokens/NulLReferenceToken.cs	(revision 1556)
+++ trunk/sources/HeuristicLab.Persistence/3.3/Core/Tokens/NulLReferenceToken.cs	(revision 1556)
@@ -0,0 +1,9 @@
+﻿using HeuristicLab.Persistence.Interfaces;
+
+namespace HeuristicLab.Persistence.Core.Tokens {
+  
+  public class NullReferenceToken : SerializationTokenBase {
+    public NullReferenceToken(string name) : base(name) { }
+  }
+
+}
Index: trunk/sources/HeuristicLab.Persistence/3.3/Core/Tokens/PrimitiveToken.cs
===================================================================
--- trunk/sources/HeuristicLab.Persistence/3.3/Core/Tokens/PrimitiveToken.cs	(revision 1556)
+++ trunk/sources/HeuristicLab.Persistence/3.3/Core/Tokens/PrimitiveToken.cs	(revision 1556)
@@ -0,0 +1,17 @@
+﻿using HeuristicLab.Persistence.Interfaces;
+
+namespace HeuristicLab.Persistence.Core.Tokens {
+  
+  public class PrimitiveToken : SerializationTokenBase {    
+    public readonly int TypeId;
+    public readonly int? Id;
+    public readonly object SerialData;
+    public PrimitiveToken(string name, int typeId, int? id, object serialData)
+      : base(name) {
+      TypeId = typeId;
+      Id = id;
+      SerialData = serialData;
+    }
+  }
+
+}
Index: trunk/sources/HeuristicLab.Persistence/3.3/Core/Tokens/ReferenceToken.cs
===================================================================
--- trunk/sources/HeuristicLab.Persistence/3.3/Core/Tokens/ReferenceToken.cs	(revision 1556)
+++ trunk/sources/HeuristicLab.Persistence/3.3/Core/Tokens/ReferenceToken.cs	(revision 1556)
@@ -0,0 +1,13 @@
+﻿using HeuristicLab.Persistence.Interfaces;
+
+namespace HeuristicLab.Persistence.Core.Tokens {
+  
+  public class ReferenceToken : SerializationTokenBase {    
+    public readonly int Id;
+    public ReferenceToken(string name, int id)
+      : base(name) {
+      Id = id;
+    }
+  }
+
+}
Index: trunk/sources/HeuristicLab.Persistence/3.3/Core/Tokens/SerializationTokenBase.cs
===================================================================
--- trunk/sources/HeuristicLab.Persistence/3.3/Core/Tokens/SerializationTokenBase.cs	(revision 1556)
+++ trunk/sources/HeuristicLab.Persistence/3.3/Core/Tokens/SerializationTokenBase.cs	(revision 1556)
@@ -0,0 +1,12 @@
+﻿using HeuristicLab.Persistence.Interfaces;
+
+namespace HeuristicLab.Persistence.Core.Tokens {
+
+  public abstract class SerializationTokenBase : ISerializationToken {
+    public readonly string Name;
+    public SerializationTokenBase(string name) {
+      Name = name;
+    }
+  }
+
+}
Index: trunk/sources/HeuristicLab.Persistence/3.3/Default/ViewOnly/ViewOnlyFormat.cs
===================================================================
--- trunk/sources/HeuristicLab.Persistence/3.3/Default/ViewOnly/ViewOnlyFormat.cs	(revision 1555)
+++ trunk/sources/HeuristicLab.Persistence/3.3/Default/ViewOnly/ViewOnlyFormat.cs	(revision 1556)
@@ -5,5 +5,5 @@
 using HeuristicLab.Persistence.Default.Xml;
 using HeuristicLab.Persistence.Core;
-using HeuristicLab.Persistence.Interfaces.Tokens;
+using HeuristicLab.Persistence.Core.Tokens;
 
 namespace HeuristicLab.Persistence.Default.ViewOnly {
Index: trunk/sources/HeuristicLab.Persistence/3.3/Default/Xml/XmlGenerator.cs
===================================================================
--- trunk/sources/HeuristicLab.Persistence/3.3/Default/Xml/XmlGenerator.cs	(revision 1555)
+++ trunk/sources/HeuristicLab.Persistence/3.3/Default/Xml/XmlGenerator.cs	(revision 1556)
@@ -8,5 +8,5 @@
 using HeuristicLab.Tracing;
 using log4net;
-using HeuristicLab.Persistence.Interfaces.Tokens;
+using HeuristicLab.Persistence.Core.Tokens;
 
 namespace HeuristicLab.Persistence.Default.Xml {
Index: trunk/sources/HeuristicLab.Persistence/3.3/Default/Xml/XmlParser.cs
===================================================================
--- trunk/sources/HeuristicLab.Persistence/3.3/Default/Xml/XmlParser.cs	(revision 1555)
+++ trunk/sources/HeuristicLab.Persistence/3.3/Default/Xml/XmlParser.cs	(revision 1556)
@@ -7,5 +7,5 @@
 using HeuristicLab.Persistence.Interfaces;
 using ICSharpCode.SharpZipLib.Zip;
-using HeuristicLab.Persistence.Interfaces.Tokens;
+using HeuristicLab.Persistence.Core.Tokens;
 
 namespace HeuristicLab.Persistence.Default.Xml {
Index: trunk/sources/HeuristicLab.Persistence/3.3/HeuristicLab.Persistence-3.3.csproj
===================================================================
--- trunk/sources/HeuristicLab.Persistence/3.3/HeuristicLab.Persistence-3.3.csproj	(revision 1555)
+++ trunk/sources/HeuristicLab.Persistence/3.3/HeuristicLab.Persistence-3.3.csproj	(revision 1556)
@@ -135,18 +135,18 @@
     <Compile Include="Core\Tag.cs" />
     <Compile Include="Interfaces\IFormat.cs" />
-    <Compile Include="Interfaces\FormatBase.cs" />
+    <Compile Include="Core\FormatBase.cs" />
     <Compile Include="Interfaces\IDecomposer.cs" />
     <Compile Include="Interfaces\IFormatter.cs" />
     <Compile Include="Core\ConfigurationService.cs" />
-    <Compile Include="Interfaces\Tokens\MetaInfoBeginToken.cs" />
-    <Compile Include="Interfaces\Tokens\MetaInfoEndToken.cs" />
-    <Compile Include="Interfaces\Tokens\ISerializationToken.cs" />
-    <Compile Include="Interfaces\Tokens\SerializationTokenBase.cs" />
-    <Compile Include="Interfaces\Tokens\CompositeTokenBase.cs" />
-    <Compile Include="Interfaces\Tokens\BeginToken.cs" />
-    <Compile Include="Interfaces\Tokens\EndToken.cs" />
-    <Compile Include="Interfaces\Tokens\PrimitiveToken.cs" />
-    <Compile Include="Interfaces\Tokens\ReferenceToken.cs" />
-    <Compile Include="Interfaces\Tokens\NulLReferenceToken.cs" />
+    <Compile Include="Core\Tokens\MetaInfoBeginToken.cs" />
+    <Compile Include="Core\Tokens\MetaInfoEndToken.cs" />
+    <Compile Include="Interfaces\ISerializationToken.cs" />
+    <Compile Include="Core\Tokens\SerializationTokenBase.cs" />
+    <Compile Include="Core\Tokens\CompositeTokenBase.cs" />
+    <Compile Include="Core\Tokens\BeginToken.cs" />
+    <Compile Include="Core\Tokens\EndToken.cs" />
+    <Compile Include="Core\Tokens\PrimitiveToken.cs" />
+    <Compile Include="Core\Tokens\ReferenceToken.cs" />
+    <Compile Include="Core\Tokens\NullReferenceToken.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
     <Compile Include="Core\Serializer.cs" />
Index: trunk/sources/HeuristicLab.Persistence/3.3/Interfaces/FormatBase.cs
===================================================================
--- trunk/sources/HeuristicLab.Persistence/3.3/Interfaces/FormatBase.cs	(revision 1555)
+++ 	(revision )
@@ -1,19 +1,0 @@
-﻿using System;
-
-namespace HeuristicLab.Persistence.Interfaces {
-
-  public abstract class FormatBase : IFormat {
-    public abstract string Name { get;  }
-    public override bool Equals(object obj) {
-      if (obj as IFormat == null)
-        return false;
-      return this.Equals((FormatBase)obj);      
-    }
-    public bool Equals(FormatBase f) {
-      return Name.Equals(f.Name);
-    }
-    public override int GetHashCode() {
-      return Name.GetHashCode();
-    }
-  }
-}
Index: trunk/sources/HeuristicLab.Persistence/3.3/Interfaces/ISerializationToken.cs
===================================================================
--- trunk/sources/HeuristicLab.Persistence/3.3/Interfaces/ISerializationToken.cs	(revision 1556)
+++ trunk/sources/HeuristicLab.Persistence/3.3/Interfaces/ISerializationToken.cs	(revision 1556)
@@ -0,0 +1,6 @@
+﻿
+namespace HeuristicLab.Persistence.Interfaces {
+
+  public interface ISerializationToken {}
+  
+}
