Index: trunk/sources/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/Storable/DataMemberAccessor.cs
===================================================================
--- trunk/sources/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/Storable/DataMemberAccessor.cs	(revision 3010)
+++ trunk/sources/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/Storable/DataMemberAccessor.cs	(revision 3016)
@@ -12,13 +12,35 @@
   public class DataMemberAccessor {
 
+    /// <summary>
+    /// The function to get the value of the data member.
+    /// </summary>
     public readonly Func<object> Get;
+
+    /// <summary>
+    /// The function to set the value of the data member.
+    /// </summary>
     public readonly Action<object> Set;
+
+    /// <summary>
+    /// The name of the data member.
+    /// </summary>
     public readonly string Name;
+
+    /// <summary>
+    /// The default value of the data member, can remain <c>null</c>
+    /// if no default value. If left null, this will also leave the
+    /// default value for value types (e.g. 0 for <c>int</c>).
+    /// </summary>
     public readonly object DefaultValue;
 
 
     /// <summary>
-    /// Create a DataMemberAccessor from a FieldInfo or PropertyInfo for the give object.
+    /// Create a <see cref="DataMemberAccessor"/> from a FieldInfo or
+    /// PropertyInfo for the give object.
     /// </summary>
+    /// <param name="memberInfo">The member info.</param>
+    /// <param name="name">The name.</param>
+    /// <param name="defaultvalue">The defaultvalue.</param>
+    /// <param name="obj">The object.</param>
     public DataMemberAccessor(MemberInfo memberInfo, string name, object defaultvalue, object obj) {
       Name = name;
@@ -45,4 +67,8 @@
     /// Wrap existing getter and setter functions.
     /// </summary>
+    /// <param name="name">The name.</param>
+    /// <param name="defaultValue">The default value.</param>
+    /// <param name="getter">The getter.</param>
+    /// <param name="setter">The setter.</param>
     public DataMemberAccessor(string name, object defaultValue,
         Func<object> getter, Action<object> setter) {
@@ -52,9 +78,10 @@
       Set = setter;
     }
-    
+
     /// <summary>
     /// Create an empty accessor that just encapsulates an object
     /// without access.
     /// </summary>
+    /// <param name="o">The object</param>
     public DataMemberAccessor(object o) {
       Name = null;
@@ -68,4 +95,6 @@
     /// without access.
     /// </summary>
+    /// <param name="o">The object</param>
+    /// <param name="name">The object's name.</param>
     public DataMemberAccessor(object o, string name) {
       Name = name;
@@ -75,4 +104,10 @@
     }
 
+    /// <summary>
+    /// Returns a <see cref="System.String"/> that represents this instance.
+    /// </summary>
+    /// <returns>
+    /// A <see cref="System.String"/> that represents this instance.
+    /// </returns>
     public override string ToString() {
       return String.Format("DataMemberAccessor({0}, {1}, {2}, {3})",
Index: trunk/sources/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/Storable/StorableAttribute.cs
===================================================================
--- trunk/sources/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/Storable/StorableAttribute.cs	(revision 3010)
+++ trunk/sources/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/Storable/StorableAttribute.cs	(revision 3016)
@@ -9,7 +9,7 @@
 
   /// <summary>
-  /// Mark the member of a class to be considered by the <code>StorableSerializer</code>.
-  /// The class must be marked as <code>[StorableClass(StorableClassType.Empty)]</code> and the
-  /// <code>StorableClassType</code> should be set to <code>MarkedOnly</code> for
+  /// Mark the member of a class to be considered by the <c>StorableSerializer</c>.
+  /// The class must be marked as <c>[StorableClass(StorableClassType.Empty)]</c> and the
+  /// <c>StorableClassType</c> should be set to <c>MarkedOnly</c> for
   /// this attribute to kick in.
   /// </summary>
@@ -22,8 +22,8 @@
     /// <summary>
     /// An optional name for this member that will be used during serialization.
-    /// 
     /// This allows to rename a field/property in code but still be able to read
     /// the old serialized format.
     /// </summary>
+    /// <value>The name.</value>
     public string Name { get; set; }
 
@@ -34,6 +34,13 @@
     /// deserialization.
     /// </summary>
+    /// <value>The default value.</value>
     public object DefaultValue { get; set; }
 
+    /// <summary>
+    /// Returns a <see cref="System.String"/> that represents this instance.
+    /// </summary>
+    /// <returns>
+    /// A <see cref="System.String"/> that represents this instance.
+    /// </returns>
     public override string ToString() {
       StringBuilder sb = new StringBuilder();
@@ -60,8 +67,35 @@
       BindingFlags.DeclaredOnly;
 
+    /// <summary>
+    /// Encapsulate information about storable members of a class
+    /// that have the storable attribute set.
+    /// </summary>
     public sealed class StorableMemberInfo {
+
+      /// <summary>
+      /// Gets the [Storable] attribute itself.
+      /// </summary>
+      /// <value>The [Storable] attribute.</value>
       public StorableAttribute Attribute { get; private set; }
+
+      /// <summary>
+      /// Gets the .NET reflection MemberInfo.
+      /// </summary>
+      /// <value>The member info.</value>
       public MemberInfo MemberInfo { get; private set; }
+
+
+      /// <summary>
+      /// Gets disentangled name (i.e. unique access name regardless of
+      /// type hierarchy.
+      /// </summary>
+      /// <value>The disentangled name.</value>
       public string DisentangledName { get; private set; }
+
+
+      /// <summary>
+      /// Gets the fully qualified member name.
+      /// </summary>
+      /// <value>The the fully qualified member name.</value>
       public string FullyQualifiedMemberName {
         get {
@@ -73,8 +107,16 @@
         }
       }
-      public StorableMemberInfo(StorableAttribute attribute, MemberInfo memberInfo) {
+
+      internal StorableMemberInfo(StorableAttribute attribute, MemberInfo memberInfo) {
         this.Attribute = attribute;
         this.MemberInfo = memberInfo;
       }
+
+      /// <summary>
+      /// Returns a <see cref="System.String"/> that represents this instance.
+      /// </summary>
+      /// <returns>
+      /// A <see cref="System.String"/> that represents this instance.
+      /// </returns>
       public override string ToString() {
         return new StringBuilder()
@@ -82,7 +124,13 @@
           .Append(MemberInfo).Append('}').ToString();
       }
-      public void SetDisentangledName(string name) {
+
+      internal void SetDisentangledName(string name) {
         DisentangledName = Attribute.Name ?? name;
       }
+
+      /// <summary>
+      /// Gets the delcaring type of the property.
+      /// </summary>
+      /// <returns></returns>
       public Type GetPropertyDeclaringBaseType() {
         return ((PropertyInfo)MemberInfo).GetGetMethod(true).GetBaseDefinition().DeclaringType;
@@ -90,5 +138,5 @@
     }
 
-    sealed class TypeQuery {
+    private sealed class TypeQuery {
       public Type Type { get; private set; }
       public bool Inherited { get; private set; }
@@ -99,5 +147,5 @@
     }
 
-    sealed class MemberCache : Dictionary<TypeQuery, IEnumerable<StorableMemberInfo>> { }
+    private sealed class MemberCache : Dictionary<TypeQuery, IEnumerable<StorableMemberInfo>> { }
 
     private static MemberCache memberCache = new MemberCache();
@@ -106,6 +154,8 @@
     /// <summary>
     /// Get all fields and properties of a class that have the
-    /// <code>[Storable]</code> attribute set.
-    /// </summary>    
+    /// <c>[Storable]</c> attribute set.
+    /// </summary>
+    /// <param name="type">The type.</param>
+    /// <returns>An enumerable of StorableMemberInfos.</returns>
     public static IEnumerable<StorableMemberInfo> GetStorableMembers(Type type) {
       return GetStorableMembers(type, true);
@@ -114,7 +164,9 @@
     /// <summary>
     /// Get all fields and properties of a class that have the
-    /// <code>[Storable]</code> attribute set.
-    /// </summary>        
-    /// <param name="inherited">should storable members from base classes be included</param>    
+    /// <c>[Storable]</c> attribute set.
+    /// </summary>
+    /// <param name="type">The type.</param>
+    /// <param name="inherited">should storable members from base classes be included</param>
+    /// <returns>An enumerable of StorableMemberInfos</returns>
     public static IEnumerable<StorableMemberInfo> GetStorableMembers(Type type, bool inherited) {
       lock (memberCache) {
@@ -144,6 +196,6 @@
     /// Get the associated accessors for all storable memebrs.
     /// </summary>
-    /// <param name="obj"></param>
-    /// <returns></returns>
+    /// <param name="obj">The object</param>
+    /// <returns>An enumerable of storable accessors.</returns>
     public static IEnumerable<DataMemberAccessor> GetStorableAccessors(object obj) {      
       foreach (var memberInfo in GetStorableMembers(obj.GetType()))
Index: trunk/sources/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/Storable/StorableClassAttribute.cs
===================================================================
--- trunk/sources/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/Storable/StorableClassAttribute.cs	(revision 3010)
+++ trunk/sources/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/Storable/StorableClassAttribute.cs	(revision 3016)
@@ -48,5 +48,5 @@
 
   /// <summary>
-  /// Mark a class to be considered by the <code>StorableSerializer</code>.
+  /// Mark a class to be considered by the <c>StorableSerializer</c>.
   /// </summary>
   [AttributeUsage(AttributeTargets.Class, Inherited = false, AllowMultiple = false)]
@@ -60,5 +60,5 @@
 
     /// <summary>
-    /// Mark a class to be serialize by the <code>StorableSerizlier</code>    
+    /// Mark a class to be serialize by the <c>StorableSerizlier</c>    
     /// </summary>    
     public StorableClassAttribute(StorableClassType type) {
@@ -70,7 +70,9 @@
     /// or conatins proper parameterization through the storable attribute.
     /// </summary>
-    /// <param name="type"></param>
-    /// <param name="recusrive"></param>
-    /// <returns></returns>
+    /// <param name="type">The type.</param>
+    /// <param name="recusrive">if set to <c>true</c> recusrively checks class hierarchy.</param>
+    /// <returns>
+    /// <c>true</c> if the specified type is a storable type; otherwise, <c>false</c>.
+    /// </returns>
     public static bool IsStorableType(Type type, bool recusrive) {
       if (IsEmptyType(type, recusrive))
@@ -91,4 +93,13 @@
 
 
+    /// <summary>
+    /// Determines whether the specified type has no fields or properties except
+    /// readonly properties or constant fields.
+    /// </summary>
+    /// <param name="type">The type.</param>
+    /// <param name="recursive">if set to <c>true</c> recursively check class hierarchy.</param>
+    /// <returns>
+    /// <c>true</c> if the specified type is empty; otherwise, <c>false</c>.
+    /// </returns>
     public static bool IsEmptyType(Type type, bool recursive) {
       foreach (MemberInfo memberInfo in type.GetMembers(allDeclaredMembers)) {
Index: trunk/sources/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/Storable/StorableConstructorAttribute.cs
===================================================================
--- trunk/sources/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/Storable/StorableConstructorAttribute.cs	(revision 3010)
+++ trunk/sources/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/Storable/StorableConstructorAttribute.cs	(revision 3016)
@@ -11,9 +11,9 @@
   /// <summary>
   /// Indicate that this constructor should be used instead of the default constructor
-  /// when the <code>StorableSerializer</code> instantiates this class during
+  /// when the <c>StorableSerializer</c> instantiates this class during
   /// deserialization.
   /// 
-  /// The constructor must take exactly one <code>bool</code> argument that will be
-  /// set to <code>true</code> during deserialization.
+  /// The constructor must take exactly one <c>bool</c> argument that will be
+  /// set to <c>true</c> during deserialization.
   /// </summary>
   [AttributeUsage(AttributeTargets.Constructor, Inherited = false, AllowMultiple = false)]
@@ -28,6 +28,8 @@
 
     /// <summary>
-    /// Get a designated storable constructor for a type or <code>null</code>.
-    /// </summary>    
+    /// Get a designated storable constructor for a type or <c>null</c>.
+    /// </summary>
+    /// <param name="type">The type.</param>
+    /// <returns>The <see cref="ConstructorInfo"/> of the storable constructor or <c>null</c></returns>
     public static ConstructorInfo GetStorableConstructor(Type type) {
       lock (constructorCache) {
Index: trunk/sources/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/Storable/StorableHookAttribute.cs
===================================================================
--- trunk/sources/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/Storable/StorableHookAttribute.cs	(revision 3010)
+++ trunk/sources/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/Storable/StorableHookAttribute.cs	(revision 3016)
@@ -16,5 +16,5 @@
   /// <summary>
   /// Mark methods that should be called at certain times during
-  /// serialization/deserialization by the <code>StorableSerializer</code>.
+  /// serialization/deserialization by the <c>StorableSerializer</c>.
   /// </summary>
   [AttributeUsage(AttributeTargets.Method, Inherited = false, AllowMultiple = true)]
@@ -32,4 +32,8 @@
 
     private readonly HookType hookType;
+    /// <summary>
+    /// Gets the type of the hook.
+    /// </summary>
+    /// <value>The type of the hook.</value>
     public HookType HookType {
       get { return hookType; }
@@ -38,8 +42,8 @@
 
     /// <summary>
-    /// Mark method as <code>StorableSerializer</code> hook to be run
-    /// at the <code>HookType</code> time.
+    /// Mark method as <c>StorableSerializer</c> hook to be run
+    /// at the <c>HookType</c> time.
     /// </summary>
-    /// <param name="hookType"></param>
+    /// <param name="hookType">Type of the hook.</param>
     public StorableHookAttribute(HookType hookType) {
       this.hookType = hookType;
@@ -56,6 +60,8 @@
 
     /// <summary>
-    /// Invoke <code>hookType</code> hook on <code>obj</code>.
-    /// </summary>    
+    /// Invoke <c>hookType</c> hook on <c>obj</c>.
+    /// </summary>
+    /// <param name="hookType">Type of the hook.</param>
+    /// <param name="obj">The object.</param>
     public static void InvokeHook(HookType hookType, object obj) {
       if (obj == null)
Index: trunk/sources/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/Storable/StorableSerializer.cs
===================================================================
--- trunk/sources/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/Storable/StorableSerializer.cs	(revision 3010)
+++ trunk/sources/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/Storable/StorableSerializer.cs	(revision 3016)
@@ -11,7 +11,7 @@
   /// <summary>
   /// Intended for serialization of all custom classes. Classes should have the
-  /// <code>[StorableClass(StorableClassType.Empty)]</code> attribute set and a serialization mode set.
+  /// <c>[StorableClass(StorableClassType.Empty)]</c> attribute set and a serialization mode set.
   /// Optionally selected fields and properties can be marked with the
-  /// <code>[Storable]</code> attribute.
+  /// <c>[Storable]</c> attribute.
   /// </summary>
   [StorableClass(StorableClassType.Empty)]    
