Index: /branches/New Persistence Exploration/Persistence/Persistence.sln
===================================================================
--- /branches/New Persistence Exploration/Persistence/Persistence.sln	(revision 1331)
+++ /branches/New Persistence Exploration/Persistence/Persistence.sln	(revision 1332)
@@ -4,14 +4,5 @@
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Persistence", "Persistence\Persistence.csproj", "{102BC7D3-0EF9-439C-8F6D-96FF0FDB8E1B}"
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{2F65B17D-22F7-4A48-8762-74BB8BE3E0E5}"
-	ProjectSection(SolutionItems) = preProject
-		LocalTestRun.testrunconfig = LocalTestRun.testrunconfig
-		Persistence.vsmdi = Persistence.vsmdi
-	EndProjectSection
-EndProject
 Global
-	GlobalSection(TestCaseManagementSettings) = postSolution
-		CategoryFile = Persistence.vsmdi
-	EndGlobalSection
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug|Any CPU = Debug|Any CPU
Index: /branches/New Persistence Exploration/Persistence/Persistence/CompoundSerializers.cs
===================================================================
--- /branches/New Persistence Exploration/Persistence/Persistence/CompoundSerializers.cs	(revision 1331)
+++ /branches/New Persistence Exploration/Persistence/Persistence/CompoundSerializers.cs	(revision 1332)
@@ -28,5 +28,5 @@
     }
     public object DeSerialize(IEnumerable objects, Type t) {
-      object instance = Activator.CreateInstance(t);
+      object instance = Activator.CreateInstance(t, true);
       foreach (object o in objects) {
         t.GetMethod("Add").Invoke(instance, new[] { o });
@@ -78,5 +78,5 @@
 
   public class KeyValuePair2XmlSerializer : ICompoundSerializer {    
-    public bool CanSerialize(Type type) {
+    public bool CanSerialize(Type type) {      
       return type.IsGenericType &&
         type.GetGenericTypeDefinition().Name == "KeyValuePair`2";
@@ -87,5 +87,5 @@
       yield return t.GetProperty("Value").GetValue(o, null);
     }
-    public object DeSerialize(IEnumerable o, Type t) {
+    public object DeSerialize(IEnumerable o, Type t) {      
       return Activator.CreateInstance(t,
         new List<object>((IEnumerable<object>)o).ToArray());
@@ -105,5 +105,5 @@
     }
     public object DeSerialize(IEnumerable o, Type t) {
-      IDictionary dict = (IDictionary)Activator.CreateInstance(t);
+      IDictionary dict = (IDictionary)Activator.CreateInstance(t, true);
       IEnumerator iter = o.GetEnumerator();
       while (iter.MoveNext()) {
Index: /branches/New Persistence Exploration/Persistence/Persistence/DeSerializer.cs
===================================================================
--- /branches/New Persistence Exploration/Persistence/Persistence/DeSerializer.cs	(revision 1331)
+++ /branches/New Persistence Exploration/Persistence/Persistence/DeSerializer.cs	(revision 1332)
@@ -1,5 +1,6 @@
 ﻿using System.Collections.Generic;
 using System;
-namespace Persistence {
+namespace Persistence {  
+
   public class DeSerializer {
 
@@ -102,6 +103,6 @@
         compositeStack.Push(new CustomObject(instance));
         id2obj.Add(start.Id, instance);        
-      } else {
-        instance = Activator.CreateInstance(start.Type);
+      } else {        
+        instance = Activator.CreateInstance(start.Type, true);
         Dictionary<string, DataMemberAccessor> accessorDict =
         StorableAttribute.GetAutostorableAccessors(instance);
Index: /branches/New Persistence Exploration/Persistence/Persistence/StorableAttribute.cs
===================================================================
--- /branches/New Persistence Exploration/Persistence/Persistence/StorableAttribute.cs	(revision 1331)
+++ /branches/New Persistence Exploration/Persistence/Persistence/StorableAttribute.cs	(revision 1332)
@@ -200,5 +200,5 @@
       }
       object method(object obj, Dictionary<object, object> twins) {
-        object newInstance = Activator.CreateInstance(obj.GetType());
+        object newInstance = Activator.CreateInstance(obj.GetType(), true);
         twins.Add(obj, newInstance);
         foreach (FieldAccessor fa in fieldAccessors) {
