Index: /branches/New Persistence Exploration/Persistence/Persistence/Core/ConfigurationService.cs
===================================================================
--- /branches/New Persistence Exploration/Persistence/Persistence/Core/ConfigurationService.cs	(revision 1446)
+++ /branches/New Persistence Exploration/Persistence/Persistence/Core/ConfigurationService.cs	(revision 1447)
@@ -1,6 +1,4 @@
 ﻿using System;
-using System.Collections.Specialized;
 using System.IO;
-using System.Linq;
 using System.Collections.Generic;
 using System.Reflection;
Index: /branches/New Persistence Exploration/Persistence/Persistence/Core/DataMemberAccessor.cs
===================================================================
--- /branches/New Persistence Exploration/Persistence/Persistence/Core/DataMemberAccessor.cs	(revision 1446)
+++ /branches/New Persistence Exploration/Persistence/Persistence/Core/DataMemberAccessor.cs	(revision 1447)
@@ -1,7 +1,6 @@
 ﻿using System;
 using System.Reflection;
-using HeuristicLab.Persistence.Core;
 
-namespace HeuristicLab.Persistence {
+namespace HeuristicLab.Persistence.Core {
 
   public delegate object Getter();
@@ -64,5 +63,5 @@
 
     public override string ToString() {
-      return String.Format("DataMember({0}, {2}, {3}, {4})",
+      return String.Format("DataMember({0}, {1}, {2}, {3})",
         Name,
         DefaultValue ?? "<null>",
Index: /branches/New Persistence Exploration/Persistence/Persistence/Core/DeSerializer.cs
===================================================================
--- /branches/New Persistence Exploration/Persistence/Persistence/Core/DeSerializer.cs	(revision 1446)
+++ /branches/New Persistence Exploration/Persistence/Persistence/Core/DeSerializer.cs	(revision 1447)
@@ -18,6 +18,5 @@
 
     public void AddValue(string name, object value, List<Thunk> finalFixes) {
-      Tag t = new Tag(name, value);
-      t.finalFixes = finalFixes;
+      Tag t = new Tag(name, value) {finalFixes = finalFixes};
       customValues.Add(t);
     }
@@ -48,5 +47,5 @@
 
     private Dictionary<Type, object> createSerializers(IEnumerable<TypeMapping> typeCache) {
-      var serializerMapping = new Dictionary<Type, object>();
+      var map = new Dictionary<Type, object>();
       foreach (var typeMapping in typeCache) {
         Type type = Type.GetType(typeMapping.TypeName);
@@ -54,8 +53,8 @@
         if (typeMapping.Serializer != null) {
           Type serializerType = Type.GetType(typeMapping.Serializer);
-          serializerMapping.Add(type, Activator.CreateInstance(serializerType, true));
+          map.Add(type, Activator.CreateInstance(serializerType, true));
         }
       }
-      return serializerMapping;
+      return map;
     }
 
@@ -93,7 +92,7 @@
           "No suitable method for deserialization of type \"{0}\" found.",
           type.VersionInvariantName()));
-      object instance = decomposer.CreateInstance(type);
-      if (instance == null)
-        instance = new ParentReference();
+      object instance = 
+        decomposer.CreateInstance(type) ??
+        new ParentReference();
       parentStack.Push(new CompositeObject(instance));              
       if ( token.Id != null )
@@ -110,5 +109,5 @@
           "No suitable method for deserialization of type \"{0}\" found.",
           type.VersionInvariantName()));
-      CompositeObject customComposite = (CompositeObject)parentStack.Pop();
+      CompositeObject customComposite = parentStack.Pop();
       object deserializedObject =          
         decomposer.Populate(customComposite.Obj, customComposite.customValues, type);
Index: /branches/New Persistence Exploration/Persistence/Persistence/Core/Serializer.cs
===================================================================
--- /branches/New Persistence Exploration/Persistence/Persistence/Core/Serializer.cs	(revision 1446)
+++ /branches/New Persistence Exploration/Persistence/Persistence/Core/Serializer.cs	(revision 1447)
@@ -5,21 +5,4 @@
 
 namespace HeuristicLab.Persistence.Core {
-
-  public struct TypeMapping {
-    public readonly int Id;
-    public readonly string TypeName;
-    public readonly string Serializer;    
-    public TypeMapping(int id, string typeName, string serializer) {
-      Id = id;
-      TypeName = typeName;
-      Serializer = serializer;
-    }
-    public Dictionary<string, object> GetDict() {
-      return new Dictionary<string, object> {
-        {"id", Id},
-        {"typeName", TypeName},
-        {"serializer", Serializer}};                                            
-    }
-  }
 
   public class Serializer : IEnumerable<ISerializationToken> {
Index: /branches/New Persistence Exploration/Persistence/Persistence/Core/Tag.cs
===================================================================
--- /branches/New Persistence Exploration/Persistence/Persistence/Core/Tag.cs	(revision 1447)
+++ /branches/New Persistence Exploration/Persistence/Persistence/Core/Tag.cs	(revision 1447)
@@ -0,0 +1,26 @@
+﻿using System.Collections.Generic;
+
+namespace HeuristicLab.Persistence.Core {
+
+  public class Tag {
+    public List<Thunk> finalFixes;
+    public string Name { get; private set; }
+    public object Value;      
+
+    public Tag(string name, object value) {
+      Name = name;
+      Value = value;
+    }
+    public Tag(object value) {
+      Name = null;
+      Value = value;
+    }
+    public void SafeSet(Setter setter) {
+      if ( Value != null && Value.GetType() == typeof(ParentReference))
+        finalFixes.Add(() => setter(Value));
+      else
+        setter(Value);
+    }
+  }  
+
+}
Index: /branches/New Persistence Exploration/Persistence/Persistence/Core/TypeMapping.cs
===================================================================
--- /branches/New Persistence Exploration/Persistence/Persistence/Core/TypeMapping.cs	(revision 1447)
+++ /branches/New Persistence Exploration/Persistence/Persistence/Core/TypeMapping.cs	(revision 1447)
@@ -0,0 +1,22 @@
+﻿using System.Collections.Generic;
+
+namespace HeuristicLab.Persistence.Core {
+
+  public struct TypeMapping {
+    public readonly int Id;
+    public readonly string TypeName;
+    public readonly string Serializer;    
+    public TypeMapping(int id, string typeName, string serializer) {
+      Id = id;
+      TypeName = typeName;
+      Serializer = serializer;
+    }
+    public Dictionary<string, object> GetDict() {
+      return new Dictionary<string, object> {
+        {"id", Id},
+        {"typeName", TypeName},
+        {"serializer", Serializer}};                                            
+    }
+  }  
+
+}
Index: /branches/New Persistence Exploration/Persistence/Persistence/Core/TypeStringBuilder.cs
===================================================================
--- /branches/New Persistence Exploration/Persistence/Persistence/Core/TypeStringBuilder.cs	(revision 1446)
+++ /branches/New Persistence Exploration/Persistence/Persistence/Core/TypeStringBuilder.cs	(revision 1447)
@@ -1,11 +1,4 @@
 ﻿using System;
-using System.Collections.Specialized;
-using System.IO;
-using System.Linq;
-using System.Collections.Generic;
-using System.Reflection;
 using System.Text;
-using HeuristicLab.Persistence.Default.Xml;
-using HeuristicLab.Persistence.Interfaces;
 
 namespace HeuristicLab.Persistence.Core {
Index: /branches/New Persistence Exploration/Persistence/Persistence/Default/Decomposers/ArrayDecomposer.cs
===================================================================
--- /branches/New Persistence Exploration/Persistence/Persistence/Default/Decomposers/ArrayDecomposer.cs	(revision 1446)
+++ /branches/New Persistence Exploration/Persistence/Persistence/Default/Decomposers/ArrayDecomposer.cs	(revision 1447)
@@ -1,4 +1,3 @@
 ﻿using System;
-using System.Collections;
 using HeuristicLab.Persistence.Core;
 using HeuristicLab.Persistence.Interfaces;
@@ -49,5 +48,5 @@
       while (e.MoveNext()) {
         int[] currentPositions = positions;
-        e.Current.SafeSet((value) => a.SetValue(value, currentPositions));        
+        e.Current.SafeSet(value => a.SetValue(value, currentPositions));        
         positions[0] += 1;
         for (int i = 0; i < rank-1; i++) {
Index: /branches/New Persistence Exploration/Persistence/Persistence/Default/Decomposers/DictionaryDecomposer.cs
===================================================================
--- /branches/New Persistence Exploration/Persistence/Persistence/Default/Decomposers/DictionaryDecomposer.cs	(revision 1446)
+++ /branches/New Persistence Exploration/Persistence/Persistence/Default/Decomposers/DictionaryDecomposer.cs	(revision 1447)
@@ -12,5 +12,5 @@
     object key;
     object value;
-    IDictionary dict;
+    readonly IDictionary dict;
 
     public DictionaryAdder(IDictionary dict) {
@@ -20,12 +20,12 @@
     }
 
-    public void SetKey(object value) {
-      key = value;
+    public void SetKey(object v) {
+      key = v;
       keyIsSet = true;
       check();
     }
 
-    public void SetValue(object value) {
-      this.value = value;
+    public void SetValue(object v) {
+      value = v;
       valueIsSet = true;
       check();
Index: /branches/New Persistence Exploration/Persistence/Persistence/Default/Decomposers/EnumerableDecomposer.cs
===================================================================
--- /branches/New Persistence Exploration/Persistence/Persistence/Default/Decomposers/EnumerableDecomposer.cs	(revision 1446)
+++ /branches/New Persistence Exploration/Persistence/Persistence/Default/Decomposers/EnumerableDecomposer.cs	(revision 1447)
@@ -8,11 +8,10 @@
 namespace HeuristicLab.Persistence.Default.Decomposers {
 
-  public class EnumerableCache {    
-
-    List<object> values;
+  public class EnumerableCache {
+    readonly List<object> values;
     int nSet;
     int count;
-    object enumerable;
-    MethodInfo addMethod;
+    readonly object enumerable;
+    readonly MethodInfo addMethod;
 
     public EnumerableCache(object enumerable, MethodInfo addMethod) {      
@@ -26,5 +25,5 @@
       int index = values.Count;      
       values.Add(new object());
-      return (v) => Set(index, v);
+      return v => Set(index, v);
     }
 
Index: /branches/New Persistence Exploration/Persistence/Persistence/Default/Decomposers/KeyValuePairDecomposer.cs
===================================================================
--- /branches/New Persistence Exploration/Persistence/Persistence/Default/Decomposers/KeyValuePairDecomposer.cs	(revision 1446)
+++ /branches/New Persistence Exploration/Persistence/Persistence/Default/Decomposers/KeyValuePairDecomposer.cs	(revision 1447)
@@ -1,5 +1,4 @@
 ﻿using System;
 using System.Linq;
-using System.Collections;
 using System.Collections.Generic;
 using HeuristicLab.Persistence.Core;
@@ -32,11 +31,11 @@
       FieldInfo keyFieldInfo =
         t.GetFields(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic)
-        .Single((fi) => fi.Name == "key");
+        .Single(fi => fi.Name == "key");
       FieldInfo valueFieldInfo = 
         t.GetFields(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic)
-        .Single((fi) => fi.Name == "value");
-      iter.Current.SafeSet((value) => keyFieldInfo.SetValue(instance, value));      
+        .Single(fi => fi.Name == "value");
+      iter.Current.SafeSet(value => keyFieldInfo.SetValue(instance, value));      
       iter.MoveNext();
-      iter.Current.SafeSet((value) => valueFieldInfo.SetValue(instance, value));
+      iter.Current.SafeSet(value => valueFieldInfo.SetValue(instance, value));
       return instance;
     }    
Index: /branches/New Persistence Exploration/Persistence/Persistence/Default/Decomposers/StorableDecomposer.cs
===================================================================
--- /branches/New Persistence Exploration/Persistence/Persistence/Default/Decomposers/StorableDecomposer.cs	(revision 1446)
+++ /branches/New Persistence Exploration/Persistence/Persistence/Default/Decomposers/StorableDecomposer.cs	(revision 1447)
@@ -2,8 +2,6 @@
 using System.Collections.Generic;
 using System.Linq;
-using System.Text;
 using HeuristicLab.Persistence.Interfaces;
 using HeuristicLab.Persistence.Core;
-using System.Collections;
 
 namespace HeuristicLab.Persistence.Default.Decomposers {
@@ -31,5 +29,5 @@
       IEnumerator<Tag> iter = objects.GetEnumerator();      
       while (iter.MoveNext()) {
-        memberDict.Add((string)iter.Current.Name, iter.Current);
+        memberDict.Add(iter.Current.Name, iter.Current);
       }      
       foreach (var mapping in StorableAttribute.GetAutostorableAccessors(instance)) {
Index: /branches/New Persistence Exploration/Persistence/Persistence/Default/Decomposers/TypeDecomposer.cs
===================================================================
--- /branches/New Persistence Exploration/Persistence/Persistence/Default/Decomposers/TypeDecomposer.cs	(revision 1446)
+++ /branches/New Persistence Exploration/Persistence/Persistence/Default/Decomposers/TypeDecomposer.cs	(revision 1447)
@@ -1,4 +1,3 @@
 ﻿using System;
-using System.Collections;
 using HeuristicLab.Persistence.Core;
 using HeuristicLab.Persistence.Interfaces;
Index: /branches/New Persistence Exploration/Persistence/Persistence/Default/ViewOnly/ViewOnlyFormat.cs
===================================================================
--- /branches/New Persistence Exploration/Persistence/Persistence/Default/ViewOnly/ViewOnlyFormat.cs	(revision 1446)
+++ /branches/New Persistence Exploration/Persistence/Persistence/Default/ViewOnly/ViewOnlyFormat.cs	(revision 1447)
@@ -1,5 +1,4 @@
 ﻿using System;
 using System.Collections.Generic;
-using System.Linq;
 using System.Text;
 using HeuristicLab.Persistence.Interfaces;
@@ -69,5 +68,5 @@
 
     private bool isSepReq;
-    private bool showRefs;
+    private readonly bool showRefs;
 
     public ViewOnlyGenerator() : this(false) { }
Index: /branches/New Persistence Exploration/Persistence/Persistence/Default/Xml/XmlGenerator.cs
===================================================================
--- /branches/New Persistence Exploration/Persistence/Persistence/Default/Xml/XmlGenerator.cs	(revision 1446)
+++ /branches/New Persistence Exploration/Persistence/Persistence/Default/Xml/XmlGenerator.cs	(revision 1447)
@@ -22,14 +22,13 @@
       if (type == typeof(BeginToken))
         return Format((BeginToken)token);
-      else if (type == typeof(EndToken))
+      if (type == typeof(EndToken))
         return Format((EndToken)token);
-      else if (type == typeof(PrimitiveToken))
+      if (type == typeof(PrimitiveToken))
         return Format((PrimitiveToken)token);
-      else if (type == typeof(ReferenceToken))
+      if (type == typeof(ReferenceToken))
         return Format((ReferenceToken)token);
-      else if (type == typeof(NullReferenceToken))
+      if (type == typeof(NullReferenceToken))
         return Format((NullReferenceToken)token);
-      else
-        throw new ApplicationException("Invalid token of type " + type.FullName);
+      throw new ApplicationException("Invalid token of type " + type.FullName);
     }
     protected abstract T Format(BeginToken beginToken);
Index: /branches/New Persistence Exploration/Persistence/Persistence/HeuristicLab.Persistence-3.3.csproj
===================================================================
--- /branches/New Persistence Exploration/Persistence/Persistence/HeuristicLab.Persistence-3.3.csproj	(revision 1446)
+++ /branches/New Persistence Exploration/Persistence/Persistence/HeuristicLab.Persistence-3.3.csproj	(revision 1447)
@@ -57,4 +57,5 @@
   <ItemGroup>
     <Compile Include="Core\Configuration.cs" />
+    <Compile Include="Core\TypeMapping.cs" />
     <Compile Include="Core\TypeStringBuilder.cs" />
     <Compile Include="Default\Decomposers\EnumerableDecomposer.cs" />
@@ -80,4 +81,5 @@
     <Compile Include="HeuristicLabPersistencePlugin.cs" />
     <Compile Include="Core\DeSerializer.cs" />
+    <Compile Include="Core\Tag.cs" />
     <Compile Include="Interfaces\IDecomposer.cs" />
     <Compile Include="Interfaces\IFormatter.cs" />
Index: /branches/New Persistence Exploration/Persistence/Persistence/Interfaces/IDecomposer.cs
===================================================================
--- /branches/New Persistence Exploration/Persistence/Persistence/Interfaces/IDecomposer.cs	(revision 1446)
+++ /branches/New Persistence Exploration/Persistence/Persistence/Interfaces/IDecomposer.cs	(revision 1447)
@@ -1,29 +1,7 @@
 ﻿using System;
-using System.Collections;
 using System.Collections.Generic;
 using HeuristicLab.Persistence.Core;
 
 namespace HeuristicLab.Persistence.Interfaces {
-
-  public class Tag {
-    public List<Thunk> finalFixes;
-    public string Name { get; private set; }
-    public object Value;      
-
-    public Tag(string name, object value) {
-      this.Name = name;
-      this.Value = value;
-    }
-    public Tag(object value) {
-      this.Name = null;
-      this.Value = value;
-    }
-    public void SafeSet(Setter setter) {
-      if ( Value != null && Value.GetType() == typeof(ParentReference))
-        finalFixes.Add(() => setter(Value));
-      else
-        setter(Value);
-    }
-  }
 
   public interface IDecomposer {
