Commit c89decb

mokhan <mokhan@a6541e8d-4e23-4019-aa39-123a3665ef99>
2010-07-29 23:57:08
Squashed commit of the following:
commit 810da38b1d6e665dd2a77562d162dbda2c625f75 Author: mo khan <mo@mokhan.ca> Date: Thu Jul 29 17:53:58 2010 -0600 publishing the report to the same folder as the test assembly. commit 3666089eb15e1baa69826c1e5263e76d7dc0b164 Author: mo khan <mo@mokhan.ca> Date: Thu Jul 29 17:41:46 2010 -0600 renamed sln file. commit 61b90f3591d9cf642f4df77ff4bfa9b87c36f299 Author: mo khan <mo@mokhan.ca> Date: Thu Jul 29 17:39:06 2010 -0600 added target platform compilation to target x86 assemblies. commit 8bb037ffcff363e9c7e8814caf778181aeb1c3b8 Author: mo khan <mo@mokhan.ca> Date: Thu Jul 29 17:06:54 2010 -0600 attempting to pass the console argument down the chain instead of resolving them. commit 96e451f38dc89f87163f00469b7d14daccaa1c0d Author: mo khan <mo@mokhan.ca> Date: Thu Jul 29 16:55:20 2010 -0600 moved the build.bat file to the root of the app. commit b77fe12dd89196d63eaec73acb218d28051de49b Author: mo khan <mo@mokhan.ca> Date: Thu Jul 29 16:53:39 2010 -0600 Removed the dependency on castle and just flipped back to poor mans DI git-svn-id: https://xp-dev.com/svn/mokhan-spec.dox@3 a6541e8d-4e23-4019-aa39-123a3665ef99
1 parent d07a844
trunk/build/lib/app/castle/Castle.Core.dll
Binary file
trunk/build/lib/app/castle/Castle.Core.xml
@@ -1,3176 +0,0 @@
-<?xml version="1.0"?>
-<doc>
-    <assembly>
-        <name>Castle.Core</name>
-    </assembly>
-    <members>
-        <member name="T:Castle.Core.CastleComponentAttribute">
-            <summary>
-            This attribute is usefull only when you want to register all components
-            on an assembly as a batch process. 
-            By doing so, the batch register will look 
-            for this attribute to distinguish components from other classes.
-            </summary>
-        </member>
-        <member name="T:Castle.Core.LifestyleAttribute">
-            <summary>
-            Base for Attributes that want to express lifestyle
-            chosen by the component.
-            </summary>
-        </member>
-        <member name="M:Castle.Core.LifestyleAttribute.#ctor(Castle.Core.LifestyleType)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.Core.LifestyleAttribute"/> class.
-            </summary>
-            <param name="type">The type.</param>
-        </member>
-        <member name="P:Castle.Core.LifestyleAttribute.Lifestyle">
-            <summary>
-            Gets or sets the lifestyle.
-            </summary>
-            <value>The lifestyle.</value>
-        </member>
-        <member name="M:Castle.Core.CastleComponentAttribute.#ctor(System.String)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.Core.CastleComponentAttribute"/> class.
-            </summary>
-            <param name="key">The key.</param>
-        </member>
-        <member name="M:Castle.Core.CastleComponentAttribute.#ctor(System.String,System.Type)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.Core.CastleComponentAttribute"/> class.
-            </summary>
-            <param name="key">The key.</param>
-            <param name="service">The service.</param>
-        </member>
-        <member name="M:Castle.Core.CastleComponentAttribute.#ctor(System.String,System.Type,Castle.Core.LifestyleType)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.Core.CastleComponentAttribute"/> class.
-            </summary>
-            <param name="key">The key.</param>
-            <param name="service">The service.</param>
-            <param name="lifestyle">The lifestyle.</param>
-        </member>
-        <member name="P:Castle.Core.CastleComponentAttribute.Service">
-            <summary>
-            Gets the service.
-            </summary>
-            <value>The service.</value>
-        </member>
-        <member name="P:Castle.Core.CastleComponentAttribute.Key">
-            <summary>
-            Gets the key.
-            </summary>
-            <value>The key.</value>
-        </member>
-        <member name="T:Castle.Core.ComponentActivatorAttribute">
-            <summary>
-            Associates a custom component with a component
-            </summary>
-        </member>
-        <member name="M:Castle.Core.ComponentActivatorAttribute.#ctor(System.Type)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.Core.ComponentActivatorAttribute"/> class.
-            </summary>
-            <param name="componentActivatorType">Type of the component activator.</param>
-        </member>
-        <member name="P:Castle.Core.ComponentActivatorAttribute.ComponentActivatorType">
-            <summary>
-            Gets the type of the component activator.
-            </summary>
-            <value>The type of the component activator.</value>
-        </member>
-        <member name="T:Castle.Core.ComponentProxyBehaviorAttribute">
-            <summary>
-            Specifies the proxying behavior for a component.
-            </summary>
-        </member>
-        <member name="M:Castle.Core.ComponentProxyBehaviorAttribute.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.Core.ComponentProxyBehaviorAttribute"/> class.
-            </summary>
-        </member>
-        <member name="P:Castle.Core.ComponentProxyBehaviorAttribute.UseMarshalByRefProxy">
-            <summary>
-            Gets or sets a value indicating whether the generated 
-            interface proxy should inherit from <see cref="T:System.MarshalByRefObject"/>.
-            </summary>
-        </member>
-        <member name="P:Castle.Core.ComponentProxyBehaviorAttribute.UseSingleInterfaceProxy">
-            <summary>
-            Determines if the component requires a single interface proxy.
-            </summary>
-            <value><c>true</c> if the component requires a single interface proxy.</value>
-        </member>
-        <member name="P:Castle.Core.ComponentProxyBehaviorAttribute.AdditionalInterfaces">
-            <summary>
-             Gets or sets the additional interfaces used during proxy generation.
-            </summary>
-        </member>
-        <member name="T:Castle.Core.DoNotWireAttribute">
-            <summary>
-            Marks as property to be skipped and not be wired
-            by the IoC container
-            </summary>
-        </member>
-        <member name="T:Castle.Core.InterceptorAttribute">
-            <summary>
-            Used to declare that a component wants interceptors acting on it.
-            </summary>
-        </member>
-        <member name="M:Castle.Core.InterceptorAttribute.#ctor(System.String)">
-            <summary>
-            Constructs the InterceptorAttribute pointing to
-            a key to a interceptor
-            </summary>
-            <param name="componentKey"></param>
-        </member>
-        <member name="M:Castle.Core.InterceptorAttribute.#ctor(System.Type)">
-            <summary>
-            Constructs the InterceptorAttribute pointing to
-            a service
-            </summary>
-            <param name="interceptorType"></param>
-        </member>
-        <member name="T:Castle.Core.SingletonAttribute">
-            <summary>
-            Indicates that the target components wants a
-            singleton lifestyle.
-            </summary>
-        </member>
-        <member name="M:Castle.Core.SingletonAttribute.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.Core.SingletonAttribute"/> class.
-            </summary>
-        </member>
-        <member name="T:Castle.Core.TransientAttribute">
-            <summary>
-            Indicates that the target components wants a
-            transient lifestyle.
-            </summary>
-        </member>
-        <member name="M:Castle.Core.TransientAttribute.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.Core.TransientAttribute"/> class.
-            </summary>
-        </member>
-        <member name="T:Castle.Core.PerThreadAttribute">
-            <summary>
-            Indicates that the target components wants a
-            per thread lifestyle.
-            </summary>
-        </member>
-        <member name="M:Castle.Core.PerThreadAttribute.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.Core.PerThreadAttribute"/> class.
-            </summary>
-        </member>
-        <member name="T:Castle.Core.PerWebRequestAttribute">
-            <summary>
-            Indicates that the target components wants a
-            per web request lifestyle.
-            </summary>
-        </member>
-        <member name="T:Castle.Core.PooledAttribute">
-            <summary>
-            Indicates that the target components wants a
-            pooled lifestyle.
-            </summary>
-        </member>
-        <member name="M:Castle.Core.PooledAttribute.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.Core.PooledAttribute"/> class
-            using the default initial pool size (5) and the max pool size (15).
-            </summary>
-        </member>
-        <member name="M:Castle.Core.PooledAttribute.#ctor(System.Int32,System.Int32)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.Core.PooledAttribute"/> class.
-            </summary>
-            <param name="initialPoolSize">Initial size of the pool.</param>
-            <param name="maxPoolSize">Max pool size.</param>
-        </member>
-        <member name="P:Castle.Core.PooledAttribute.InitialPoolSize">
-            <summary>
-            Gets the initial size of the pool.
-            </summary>
-            <value>The initial size of the pool.</value>
-        </member>
-        <member name="P:Castle.Core.PooledAttribute.MaxPoolSize">
-            <summary>
-            Gets the maximum pool size.
-            </summary>
-            <value>The size of the max pool.</value>
-        </member>
-        <member name="T:Castle.Core.CustomLifestyleAttribute">
-            <summary>
-            Indicates that the target components wants a
-            custom lifestyle.
-            </summary>
-        </member>
-        <member name="M:Castle.Core.CustomLifestyleAttribute.#ctor(System.Type)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.Core.CustomLifestyleAttribute"/> class.
-            </summary>
-            <param name="lifestyleHandlerType">The lifestyle handler.</param>
-        </member>
-        <member name="P:Castle.Core.CustomLifestyleAttribute.LifestyleHandlerType">
-            <summary>
-            Gets the type of the lifestyle handler.
-            </summary>
-            <value>The type of the lifestyle handler.</value>
-        </member>
-        <member name="T:Castle.Core.Interceptor.IInterceptor">
-            <summary>
-            New interface that is going to be used by DynamicProxy 2
-            </summary>
-        </member>
-        <member name="T:Castle.Core.Interceptor.IInvocation">
-            <summary>
-            New interface that is going to be used by DynamicProxy 2
-            </summary>
-        </member>
-        <member name="M:Castle.Core.Interceptor.IInvocation.GetConcreteMethod">
-            <summary>
-            Returns the concrete instantiation of <see cref="P:Castle.Core.Interceptor.IInvocation.Method"/>, with any generic parameters bound to real types.
-            </summary>
-            <returns>The concrete instantiation of <see cref="P:Castle.Core.Interceptor.IInvocation.Method"/>, or <see cref="P:Castle.Core.Interceptor.IInvocation.Method"/> if not a generic method.</returns>
-            <remarks>Can be slower than calling <see cref="P:Castle.Core.Interceptor.IInvocation.Method"/>.</remarks>
-        </member>
-        <member name="M:Castle.Core.Interceptor.IInvocation.GetConcreteMethodInvocationTarget">
-            <summary>
-            Returns the concrete instantiation of <see cref="P:Castle.Core.Interceptor.IInvocation.MethodInvocationTarget"/>, with any generic parameters bound to real types.
-            </summary>
-            <returns>The concrete instantiation of <see cref="P:Castle.Core.Interceptor.IInvocation.MethodInvocationTarget"/>, or <see cref="P:Castle.Core.Interceptor.IInvocation.MethodInvocationTarget"/> if not a generic method.</returns>
-            <remarks>Can be slower than calling <see cref="P:Castle.Core.Interceptor.IInvocation.MethodInvocationTarget"/>.</remarks>
-        </member>
-        <member name="M:Castle.Core.Interceptor.IInvocation.Proceed">
-            <summary>
-            
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="P:Castle.Core.Interceptor.IInvocation.GenericArguments">
-            <summary>
-            The generic arguments of the method, or null if not a generic method.
-            </summary>
-        </member>
-        <member name="P:Castle.Core.Interceptor.IInvocation.Method">
-            <summary>
-            
-            </summary>
-        </member>
-        <member name="P:Castle.Core.Interceptor.IInvocation.MethodInvocationTarget">
-            <summary>
-            For interface proxies, this will point to the
-            <see cref="T:System.Reflection.MethodInfo"/> on the target class
-            </summary>
-        </member>
-        <member name="T:Castle.Core.Interceptor.IOnBehalfAware">
-            <summary>
-            Interceptors might implement this to receive the
-            ComponentModel on behalf of the component where the
-            interceptor is acting.
-            </summary>
-        </member>
-        <member name="M:Castle.Core.Interceptor.IProxyTargetAccessor.DynProxyGetTarget">
-            <summary>
-            Get the proxy target (note that null is a valid target!)
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.Core.Interceptor.IProxyTargetAccessor.GetInterceptors">
-            <summary>
-            Gets the interceptors for the proxy
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="T:Castle.Core.IVertex">
-            <summary>
-            Abstract representation of a vertex.
-            </summary>
-        </member>
-        <member name="P:Castle.Core.GraphNode.Dependers">
-            <summary>
-            The nodes that dependes on this node
-            </summary>
-        </member>
-        <member name="P:Castle.Core.GraphNode.Dependents">
-            <summary>
-            The nodes that this node depends
-            </summary>
-        </member>
-        <member name="F:Castle.Core.Internal.VertexColor.White">
-            <summary>
-            The node has not been visited yet
-            </summary>
-        </member>
-        <member name="F:Castle.Core.Internal.VertexColor.Gray">
-            <summary>
-            This node is in the process of being visited
-            </summary>
-        </member>
-        <member name="F:Castle.Core.Internal.VertexColor.Black">
-            <summary>
-            This now was visited
-            </summary>
-        </member>
-        <member name="T:Castle.Core.Internal.ColorsSet">
-            <summary>
-            Represents a collection of objects
-            which are guaranted to be unique 
-            and holds a color for them
-            </summary>
-        </member>
-        <member name="T:Castle.Core.Internal.TimestampSet">
-            <summary>
-            Holds a timestamp (integer) 
-            for a given item
-            </summary>
-        </member>
-        <member name="M:Castle.Core.Internal.LinkedList.GetNode(System.Int32)">
-            <summary>
-            Returns the node at the specified index.
-            </summary>
-            <param name="index">The lookup index.</param>
-            <returns>The node at the specified index.</returns>
-            <exception cref="T:System.ArgumentOutOfRangeException">
-            If the specified <paramref name="index"/> is greater than the
-            number of objects within the list.
-            </exception>
-        </member>
-        <member name="M:Castle.Core.Internal.LinkedList.ValidateIndex(System.Int32)">
-            <summary>
-            Validates the specified index.
-            </summary>
-            <param name="index">The lookup index.</param>
-            <exception cref="T:System.ArgumentOutOfRangeException">
-            If the index is invalid.
-            </exception>
-        </member>
-        <member name="T:Castle.Core.IInitializable">
-            <summary>
-            Lifecycle interface. If implemented by a component,
-            the method Initialized will be invoked by the container
-            before making the component available to the external world.
-            </summary>
-        </member>
-        <member name="M:Castle.Core.IInitializable.Initialize">
-            <summary>
-            Implementors should perform any initialization logic.
-            </summary>
-        </member>
-        <member name="T:Castle.Core.IRecyclable">
-            <summary>
-            Only called for components that 
-            belongs to a pool when the component
-            comes back to the pool.
-            </summary>
-        </member>
-        <member name="M:Castle.Core.IRecyclable.Recycle">
-            <summary>
-            Implementors should perform any 
-            initialization/clean up.
-            </summary>
-        </member>
-        <member name="T:Castle.Core.IStartable">
-            <summary>
-            Interface for components that wish to be started by the container
-            </summary>
-        </member>
-        <member name="M:Castle.Core.IStartable.Start">
-            <summary>
-            Starts this instance.
-            </summary>
-        </member>
-        <member name="M:Castle.Core.IStartable.Stop">
-            <summary>
-            Stops this instance.
-            </summary>
-        </member>
-        <member name="T:Castle.Core.Logging.IExtendedLoggerFactory">
-            <summary>
-            Provides a factory that can produce either <see cref="T:Castle.Core.Logging.ILogger"/> or
-            <see cref="T:Castle.Core.Logging.IExtendedLogger"/> classes.
-            </summary>
-        </member>
-        <member name="T:Castle.Core.Logging.ILoggerFactory">
-            <summary>
-            Manages the instantiation of <see cref="T:Castle.Core.Logging.ILogger"/>s.
-            </summary>
-        </member>
-        <member name="M:Castle.Core.Logging.ILoggerFactory.Create(System.Type)">
-            <summary>
-            Creates a new logger, getting the logger name from the specified type.
-            </summary>
-        </member>
-        <member name="M:Castle.Core.Logging.ILoggerFactory.Create(System.String)">
-            <summary>
-            Creates a new logger.
-            </summary>
-        </member>
-        <member name="M:Castle.Core.Logging.ILoggerFactory.Create(System.Type,Castle.Core.Logging.LoggerLevel)">
-            <summary>
-            Creates a new logger, getting the logger name from the specified type.
-            </summary>
-        </member>
-        <member name="M:Castle.Core.Logging.ILoggerFactory.Create(System.String,Castle.Core.Logging.LoggerLevel)">
-            <summary>
-            Creates a new logger.
-            </summary>
-        </member>
-        <member name="M:Castle.Core.Logging.IExtendedLoggerFactory.Create(System.Type)">
-            <summary>
-            Creates a new extended logger, getting the logger name from the specified type.
-            </summary>
-        </member>
-        <member name="M:Castle.Core.Logging.IExtendedLoggerFactory.Create(System.String)">
-            <summary>
-            Creates a new extended logger.
-            </summary>
-        </member>
-        <member name="M:Castle.Core.Logging.IExtendedLoggerFactory.Create(System.Type,Castle.Core.Logging.LoggerLevel)">
-            <summary>
-            Creates a new extended logger, getting the logger name from the specified type.
-            </summary>
-        </member>
-        <member name="M:Castle.Core.Logging.IExtendedLoggerFactory.Create(System.String,Castle.Core.Logging.LoggerLevel)">
-            <summary>
-            Creates a new extended logger.
-            </summary>
-        </member>
-        <member name="M:Castle.Core.Logging.Factories.AbstractExtendedLoggerFactory.Create(System.Type)">
-            <summary>
-            Creates a new extended logger, getting the logger name from the specified type.
-            </summary>
-        </member>
-        <member name="M:Castle.Core.Logging.Factories.AbstractExtendedLoggerFactory.Create(System.String)">
-            <summary>
-            Creates a new extended logger.
-            </summary>
-        </member>
-        <member name="M:Castle.Core.Logging.Factories.AbstractExtendedLoggerFactory.Create(System.Type,Castle.Core.Logging.LoggerLevel)">
-            <summary>
-            Creates a new extended logger, getting the logger name from the specified type.
-            </summary>
-        </member>
-        <member name="M:Castle.Core.Logging.Factories.AbstractExtendedLoggerFactory.Create(System.String,Castle.Core.Logging.LoggerLevel)">
-            <summary>
-            Creates a new extended logger.
-            </summary>
-        </member>
-        <member name="M:Castle.Core.Logging.Factories.AbstractExtendedLoggerFactory.Castle#Core#Logging#ILoggerFactory#Create(System.Type)">
-            <summary>
-            Creates a new logger, getting the logger name from the specified type.
-            </summary>
-        </member>
-        <member name="M:Castle.Core.Logging.Factories.AbstractExtendedLoggerFactory.Castle#Core#Logging#ILoggerFactory#Create(System.String)">
-            <summary>
-            Creates a new logger.
-            </summary>
-        </member>
-        <member name="M:Castle.Core.Logging.Factories.AbstractExtendedLoggerFactory.Castle#Core#Logging#ILoggerFactory#Create(System.Type,Castle.Core.Logging.LoggerLevel)">
-            <summary>
-            Creates a new logger, getting the logger name from the specified type.
-            </summary>
-        </member>
-        <member name="M:Castle.Core.Logging.Factories.AbstractExtendedLoggerFactory.Castle#Core#Logging#ILoggerFactory#Create(System.String,Castle.Core.Logging.LoggerLevel)">
-            <summary>
-            Creates a new logger.
-            </summary>
-        </member>
-        <member name="M:Castle.Core.Logging.Factories.AbstractExtendedLoggerFactory.GetConfigFile(System.String)">
-            <summary>
-            Gets the configuration file.
-            </summary>
-            <param name="fileName">i.e. log4net.config</param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.Core.Logging.AbstractLoggerFactory.GetConfigFile(System.String)">
-            <summary>
-            Gets the configuration file.
-            </summary>
-            <param name="fileName">i.e. log4net.config</param>
-            <returns></returns>
-        </member>
-        <member name="T:Castle.Core.Logging.ConsoleFactory">
-            <summary>
-            Summary description for ConsoleFactory.
-            </summary>
-        </member>
-        <member name="T:Castle.Core.Logging.NullLogFactory">
-            <summary>
-            NullLogFactory used when logging is turned off.
-            </summary>
-        </member>
-        <member name="M:Castle.Core.Logging.NullLogFactory.Create(System.String)">
-            <summary>
-            Creates an instance of ILogger with the specified name.
-            </summary>
-            <param name="name">Name.</param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.Core.Logging.NullLogFactory.Create(System.String,Castle.Core.Logging.LoggerLevel)">
-            <summary>
-            Creates an instance of ILogger with the specified name and LoggerLevel.
-            </summary>
-            <param name="name">Name.</param>
-            <param name="level">Level.</param>
-            <returns></returns>
-        </member>
-        <member name="T:Castle.Core.Logging.StreamLoggerFactory">
-            <summary>
-            Creates <see cref="T:Castle.Core.Logging.StreamLogger"/> outputing 
-            to files. The name of the file is derived from the log name
-            plus the 'log' extension.
-            </summary>
-        </member>
-        <member name="T:Castle.Core.Logging.TraceLoggerFactory">
-            <summary>
-            Used to create the TraceLogger implementation of ILogger interface. See <see cref="T:Castle.Core.Logging.TraceLogger"/>. 
-            </summary>
-        </member>
-        <member name="T:Castle.Core.Logging.ConsoleLogger">
-            <summary>
-            The Logger sending everything to the standard output streams.
-            This is mainly for the cases when you have a utility that
-            does not have a logger to supply.
-            </summary>
-        </member>
-        <member name="T:Castle.Core.Logging.LevelFilteredLogger">
-            <summary>
-            The Level Filtered Logger class.  This is a base clase which
-            provides a LogLevel attribute and reroutes all functions into
-            one Log method.
-            </summary>
-        </member>
-        <member name="T:Castle.Core.Logging.ILogger">
-            <summary>
-            Manages logging.
-            </summary>
-            <remarks>
-            This is a facade for the different logging subsystems.
-            It offers a simplified interface that follows IOC patterns
-            and a simplified priority/level/severity abstraction. 
-            </remarks>
-        </member>
-        <member name="M:Castle.Core.Logging.ILogger.Debug(System.String)">
-            <summary>
-            Logs a debug message.
-            </summary>
-            <param name="message">The message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.ILogger.Debug(System.String,System.Exception)">
-            <summary>
-            Logs a debug message. 
-            </summary>
-            <param name="exception">The exception to log</param>
-            <param name="message">The message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.ILogger.Debug(System.String,System.Object[])">
-            <summary>
-            Logs a debug message.
-            </summary>
-            <param name="format">Format string for the message to log</param>
-            <param name="args">Format arguments for the message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.ILogger.DebugFormat(System.String,System.Object[])">
-            <summary>
-            Logs a debug message.
-            </summary>
-            <param name="format">Format string for the message to log</param>
-            <param name="args">Format arguments for the message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.ILogger.DebugFormat(System.Exception,System.String,System.Object[])">
-            <summary>
-            Logs a debug message.
-            </summary>
-            <param name="exception">The exception to log</param>
-            <param name="format">Format string for the message to log</param>
-            <param name="args">Format arguments for the message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.ILogger.DebugFormat(System.IFormatProvider,System.String,System.Object[])">
-            <summary>
-            Logs a debug message.
-            </summary>
-            <param name="formatProvider">The format provider to use</param>
-            <param name="format">Format string for the message to log</param>
-            <param name="args">Format arguments for the message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.ILogger.DebugFormat(System.Exception,System.IFormatProvider,System.String,System.Object[])">
-            <summary>
-            Logs a debug message.
-            </summary>
-            <param name="exception">The exception to log</param>
-            <param name="formatProvider">The format provider to use</param>
-            <param name="format">Format string for the message to log</param>
-            <param name="args">Format arguments for the message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.ILogger.Info(System.String)">
-            <summary>
-            Logs an info message.
-            </summary>
-            <param name="message">The message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.ILogger.Info(System.String,System.Exception)">
-            <summary>
-            Logs an info message. 
-            </summary>
-            <param name="exception">The exception to log</param>
-            <param name="message">The message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.ILogger.Info(System.String,System.Object[])">
-            <summary>
-            Logs an info message.
-            </summary>
-            <param name="format">Format string for the message to log</param>
-            <param name="args">Format arguments for the message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.ILogger.InfoFormat(System.String,System.Object[])">
-            <summary>
-            Logs an info message.
-            </summary>
-            <param name="format">Format string for the message to log</param>
-            <param name="args">Format arguments for the message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.ILogger.InfoFormat(System.Exception,System.String,System.Object[])">
-            <summary>
-            Logs an info message.
-            </summary>
-            <param name="exception">The exception to log</param>
-            <param name="format">Format string for the message to log</param>
-            <param name="args">Format arguments for the message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.ILogger.InfoFormat(System.IFormatProvider,System.String,System.Object[])">
-            <summary>
-            Logs an info message.
-            </summary>
-            <param name="formatProvider">The format provider to use</param>
-            <param name="format">Format string for the message to log</param>
-            <param name="args">Format arguments for the message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.ILogger.InfoFormat(System.Exception,System.IFormatProvider,System.String,System.Object[])">
-            <summary>
-            Logs an info message.
-            </summary>
-            <param name="exception">The exception to log</param>
-            <param name="formatProvider">The format provider to use</param>
-            <param name="format">Format string for the message to log</param>
-            <param name="args">Format arguments for the message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.ILogger.Warn(System.String)">
-            <summary>
-            Logs a warn message.
-            </summary>
-            <param name="message">The message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.ILogger.Warn(System.String,System.Exception)">
-            <summary>
-            Logs a warn message. 
-            </summary>
-            <param name="exception">The exception to log</param>
-            <param name="message">The message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.ILogger.Warn(System.String,System.Object[])">
-            <summary>
-            Logs a warn message.
-            </summary>
-            <param name="format">Format string for the message to log</param>
-            <param name="args">Format arguments for the message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.ILogger.WarnFormat(System.String,System.Object[])">
-            <summary>
-            Logs a warn message.
-            </summary>
-            <param name="format">Format string for the message to log</param>
-            <param name="args">Format arguments for the message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.ILogger.WarnFormat(System.Exception,System.String,System.Object[])">
-            <summary>
-            Logs a warn message.
-            </summary>
-            <param name="exception">The exception to log</param>
-            <param name="format">Format string for the message to log</param>
-            <param name="args">Format arguments for the message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.ILogger.WarnFormat(System.IFormatProvider,System.String,System.Object[])">
-            <summary>
-            Logs a warn message.
-            </summary>
-            <param name="formatProvider">The format provider to use</param>
-            <param name="format">Format string for the message to log</param>
-            <param name="args">Format arguments for the message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.ILogger.WarnFormat(System.Exception,System.IFormatProvider,System.String,System.Object[])">
-            <summary>
-            Logs a warn message.
-            </summary>
-            <param name="exception">The exception to log</param>
-            <param name="formatProvider">The format provider to use</param>
-            <param name="format">Format string for the message to log</param>
-            <param name="args">Format arguments for the message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.ILogger.Error(System.String)">
-            <summary>
-            Logs an error message.
-            </summary>
-            <param name="message">The message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.ILogger.Error(System.String,System.Exception)">
-            <summary>
-            Logs an error message. 
-            </summary>
-            <param name="exception">The exception to log</param>
-            <param name="message">The message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.ILogger.Error(System.String,System.Object[])">
-            <summary>
-            Logs an error message.
-            </summary>
-            <param name="format">Format string for the message to log</param>
-            <param name="args">Format arguments for the message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.ILogger.ErrorFormat(System.String,System.Object[])">
-            <summary>
-            Logs an error message.
-            </summary>
-            <param name="format">Format string for the message to log</param>
-            <param name="args">Format arguments for the message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.ILogger.ErrorFormat(System.Exception,System.String,System.Object[])">
-            <summary>
-            Logs an error message.
-            </summary>
-            <param name="exception">The exception to log</param>
-            <param name="format">Format string for the message to log</param>
-            <param name="args">Format arguments for the message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.ILogger.ErrorFormat(System.IFormatProvider,System.String,System.Object[])">
-            <summary>
-            Logs an error message.
-            </summary>
-            <param name="formatProvider">The format provider to use</param>
-            <param name="format">Format string for the message to log</param>
-            <param name="args">Format arguments for the message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.ILogger.ErrorFormat(System.Exception,System.IFormatProvider,System.String,System.Object[])">
-            <summary>
-            Logs an error message.
-            </summary>
-            <param name="exception">The exception to log</param>
-            <param name="formatProvider">The format provider to use</param>
-            <param name="format">Format string for the message to log</param>
-            <param name="args">Format arguments for the message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.ILogger.Fatal(System.String)">
-            <summary>
-            Logs a fatal message.
-            </summary>
-            <param name="message">The message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.ILogger.Fatal(System.String,System.Exception)">
-            <summary>
-            Logs a fatal message. 
-            </summary>
-            <param name="exception">The exception to log</param>
-            <param name="message">The message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.ILogger.Fatal(System.String,System.Object[])">
-            <summary>
-            Logs a fatal message.
-            </summary>
-            <param name="format">Format string for the message to log</param>
-            <param name="args">Format arguments for the message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.ILogger.FatalFormat(System.String,System.Object[])">
-            <summary>
-            Logs a fatal message.
-            </summary>
-            <param name="format">Format string for the message to log</param>
-            <param name="args">Format arguments for the message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.ILogger.FatalFormat(System.Exception,System.String,System.Object[])">
-            <summary>
-            Logs a fatal message.
-            </summary>
-            <param name="exception">The exception to log</param>
-            <param name="format">Format string for the message to log</param>
-            <param name="args">Format arguments for the message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.ILogger.FatalFormat(System.IFormatProvider,System.String,System.Object[])">
-            <summary>
-            Logs a fatal message.
-            </summary>
-            <param name="formatProvider">The format provider to use</param>
-            <param name="format">Format string for the message to log</param>
-            <param name="args">Format arguments for the message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.ILogger.FatalFormat(System.Exception,System.IFormatProvider,System.String,System.Object[])">
-            <summary>
-            Logs a fatal message.
-            </summary>
-            <param name="exception">The exception to log</param>
-            <param name="formatProvider">The format provider to use</param>
-            <param name="format">Format string for the message to log</param>
-            <param name="args">Format arguments for the message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.ILogger.FatalError(System.String)">
-            <summary>
-            Logs a fatal error message.
-            </summary>
-            <param name="message">The Message</param>
-        </member>
-        <member name="M:Castle.Core.Logging.ILogger.FatalError(System.String,System.Exception)">
-            <summary>
-            Logs a fatal error message.
-            </summary>
-            <param name="message">The Message</param>
-            <param name="exception">The Exception</param>
-        </member>
-        <member name="M:Castle.Core.Logging.ILogger.FatalError(System.String,System.Object[])">
-            <summary>
-            Logs a fatal error message.
-            </summary>
-            <param name="format">Message format</param>
-            <param name="args">Array of objects to write using format</param>
-        </member>
-        <member name="M:Castle.Core.Logging.ILogger.CreateChildLogger(System.String)">
-            <summary>
-            Create a new child logger.
-            The name of the child logger is [current-loggers-name].[passed-in-name]
-            </summary>
-            <param name="loggerName">The Subname of this logger.</param>
-            <returns>The New ILogger instance.</returns> 
-            <exception cref="T:System.ArgumentException">If the name has an empty element name.</exception>
-        </member>
-        <member name="P:Castle.Core.Logging.ILogger.IsDebugEnabled">
-            <summary>
-            Determines if messages of priority "debug" will be logged.
-            </summary>
-            <value>True if "debug" messages will be logged.</value> 
-        </member>
-        <member name="P:Castle.Core.Logging.ILogger.IsInfoEnabled">
-            <summary>
-            Determines if messages of priority "info" will be logged.
-            </summary>
-            <value>True if "info" messages will be logged.</value> 
-        </member>
-        <member name="P:Castle.Core.Logging.ILogger.IsWarnEnabled">
-            <summary>
-            Determines if messages of priority "warn" will be logged.
-            </summary>
-            <value>True if "warn" messages will be logged.</value> 
-        </member>
-        <member name="P:Castle.Core.Logging.ILogger.IsErrorEnabled">
-            <summary>
-            Determines if messages of priority "error" will be logged.
-            </summary>
-            <value>True if "error" messages will be logged.</value> 
-        </member>
-        <member name="P:Castle.Core.Logging.ILogger.IsFatalEnabled">
-            <summary>
-            Determines if messages of priority "fatal" will be logged.
-            </summary>
-            <value>True if "fatal" messages will be logged.</value> 
-        </member>
-        <member name="P:Castle.Core.Logging.ILogger.IsFatalErrorEnabled">
-            <summary>
-            Determines if messages of priority "fatalError" will be logged.
-            </summary>
-            <value>True if "fatalError" messages will be logged.</value>
-        </member>
-        <member name="M:Castle.Core.Logging.LevelFilteredLogger.#ctor">
-            <summary>
-            Creates a new <c>LevelFilteredLogger</c>.
-            </summary>
-        </member>
-        <member name="M:Castle.Core.Logging.LevelFilteredLogger.InitializeLifetimeService">
-            <summary>
-            Keep the instance alive in a remoting scenario
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.Core.Logging.LevelFilteredLogger.Debug(System.String)">
-            <summary>
-            Logs a debug message.
-            </summary>
-            <param name="message">The message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.LevelFilteredLogger.Debug(System.String,System.Exception)">
-            <summary>
-            Logs a debug message. 
-            </summary>
-            <param name="exception">The exception to log</param>
-            <param name="message">The message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.LevelFilteredLogger.DebugFormat(System.String,System.Object[])">
-            <summary>
-            Logs a debug message.
-            </summary>
-            <param name="format">Format string for the message to log</param>
-            <param name="args">Format arguments for the message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.LevelFilteredLogger.DebugFormat(System.Exception,System.String,System.Object[])">
-            <summary>
-            Logs a debug message.
-            </summary>
-            <param name="exception">The exception to log</param>
-            <param name="format">Format string for the message to log</param>
-            <param name="args">Format arguments for the message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.LevelFilteredLogger.DebugFormat(System.IFormatProvider,System.String,System.Object[])">
-            <summary>
-            Logs a debug message.
-            </summary>
-            <param name="formatProvider">The format provider to use</param>
-            <param name="format">Format string for the message to log</param>
-            <param name="args">Format arguments for the message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.LevelFilteredLogger.DebugFormat(System.Exception,System.IFormatProvider,System.String,System.Object[])">
-            <summary>
-            Logs a debug message.
-            </summary>
-            <param name="exception">The exception to log</param>
-            <param name="formatProvider">The format provider to use</param>
-            <param name="format">Format string for the message to log</param>
-            <param name="args">Format arguments for the message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.LevelFilteredLogger.Debug(System.String,System.Object[])">
-            <summary>
-            Logs a debug message.
-            </summary>
-            <param name="format">Message format</param>
-            <param name="args">Array of objects to write using format</param>
-        </member>
-        <member name="M:Castle.Core.Logging.LevelFilteredLogger.Info(System.String)">
-            <summary>
-            Logs an info message.
-            </summary>
-            <param name="message">The message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.LevelFilteredLogger.Info(System.String,System.Exception)">
-            <summary>
-            Logs an info message. 
-            </summary>
-            <param name="exception">The exception to log</param>
-            <param name="message">The message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.LevelFilteredLogger.InfoFormat(System.String,System.Object[])">
-            <summary>
-            Logs an info message.
-            </summary>
-            <param name="format">Format string for the message to log</param>
-            <param name="args">Format arguments for the message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.LevelFilteredLogger.InfoFormat(System.Exception,System.String,System.Object[])">
-            <summary>
-            Logs an info message.
-            </summary>
-            <param name="exception">The exception to log</param>
-            <param name="format">Format string for the message to log</param>
-            <param name="args">Format arguments for the message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.LevelFilteredLogger.InfoFormat(System.IFormatProvider,System.String,System.Object[])">
-            <summary>
-            Logs an info message.
-            </summary>
-            <param name="formatProvider">The format provider to use</param>
-            <param name="format">Format string for the message to log</param>
-            <param name="args">Format arguments for the message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.LevelFilteredLogger.InfoFormat(System.Exception,System.IFormatProvider,System.String,System.Object[])">
-            <summary>
-            Logs an info message.
-            </summary>
-            <param name="exception">The exception to log</param>
-            <param name="formatProvider">The format provider to use</param>
-            <param name="format">Format string for the message to log</param>
-            <param name="args">Format arguments for the message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.LevelFilteredLogger.Info(System.String,System.Object[])">
-            <summary>
-            Logs an info message.
-            </summary>
-            <param name="format">Message format</param>
-            <param name="args">Array of objects to write using format</param>
-        </member>
-        <member name="M:Castle.Core.Logging.LevelFilteredLogger.Warn(System.String)">
-            <summary>
-            Logs a warn message.
-            </summary>
-            <param name="message">The message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.LevelFilteredLogger.Warn(System.String,System.Exception)">
-            <summary>
-            Logs a warn message. 
-            </summary>
-            <param name="exception">The exception to log</param>
-            <param name="message">The message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.LevelFilteredLogger.WarnFormat(System.String,System.Object[])">
-            <summary>
-            Logs a warn message.
-            </summary>
-            <param name="format">Format string for the message to log</param>
-            <param name="args">Format arguments for the message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.LevelFilteredLogger.WarnFormat(System.Exception,System.String,System.Object[])">
-            <summary>
-            Logs a warn message.
-            </summary>
-            <param name="exception">The exception to log</param>
-            <param name="format">Format string for the message to log</param>
-            <param name="args">Format arguments for the message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.LevelFilteredLogger.WarnFormat(System.IFormatProvider,System.String,System.Object[])">
-            <summary>
-            Logs a warn message.
-            </summary>
-            <param name="formatProvider">The format provider to use</param>
-            <param name="format">Format string for the message to log</param>
-            <param name="args">Format arguments for the message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.LevelFilteredLogger.WarnFormat(System.Exception,System.IFormatProvider,System.String,System.Object[])">
-            <summary>
-            Logs a warn message.
-            </summary>
-            <param name="exception">The exception to log</param>
-            <param name="formatProvider">The format provider to use</param>
-            <param name="format">Format string for the message to log</param>
-            <param name="args">Format arguments for the message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.LevelFilteredLogger.Warn(System.String,System.Object[])">
-            <summary>
-            Logs a warn message.
-            </summary>
-            <param name="format">Message format</param>
-            <param name="args">Array of objects to write using format</param>
-        </member>
-        <member name="M:Castle.Core.Logging.LevelFilteredLogger.Error(System.String)">
-            <summary>
-            Logs an error message.
-            </summary>
-            <param name="message">The message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.LevelFilteredLogger.Error(System.String,System.Exception)">
-            <summary>
-            Logs an error message. 
-            </summary>
-            <param name="exception">The exception to log</param>
-            <param name="message">The message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.LevelFilteredLogger.ErrorFormat(System.String,System.Object[])">
-            <summary>
-            Logs an error message.
-            </summary>
-            <param name="format">Format string for the message to log</param>
-            <param name="args">Format arguments for the message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.LevelFilteredLogger.ErrorFormat(System.Exception,System.String,System.Object[])">
-            <summary>
-            Logs an error message.
-            </summary>
-            <param name="exception">The exception to log</param>
-            <param name="format">Format string for the message to log</param>
-            <param name="args">Format arguments for the message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.LevelFilteredLogger.ErrorFormat(System.IFormatProvider,System.String,System.Object[])">
-            <summary>
-            Logs an error message.
-            </summary>
-            <param name="formatProvider">The format provider to use</param>
-            <param name="format">Format string for the message to log</param>
-            <param name="args">Format arguments for the message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.LevelFilteredLogger.ErrorFormat(System.Exception,System.IFormatProvider,System.String,System.Object[])">
-            <summary>
-            Logs an error message.
-            </summary>
-            <param name="exception">The exception to log</param>
-            <param name="formatProvider">The format provider to use</param>
-            <param name="format">Format string for the message to log</param>
-            <param name="args">Format arguments for the message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.LevelFilteredLogger.Error(System.String,System.Object[])">
-            <summary>
-            Logs an error message.
-            </summary>
-            <param name="format">Message format</param>
-            <param name="args">Array of objects to write using format</param>
-        </member>
-        <member name="M:Castle.Core.Logging.LevelFilteredLogger.Fatal(System.String)">
-            <summary>
-            Logs a fatal message.
-            </summary>
-            <param name="message">The message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.LevelFilteredLogger.Fatal(System.String,System.Exception)">
-            <summary>
-            Logs a fatal message. 
-            </summary>
-            <param name="exception">The exception to log</param>
-            <param name="message">The message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.LevelFilteredLogger.FatalFormat(System.String,System.Object[])">
-            <summary>
-            Logs a fatal message.
-            </summary>
-            <param name="format">Format string for the message to log</param>
-            <param name="args">Format arguments for the message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.LevelFilteredLogger.FatalFormat(System.Exception,System.String,System.Object[])">
-            <summary>
-            Logs a fatal message.
-            </summary>
-            <param name="exception">The exception to log</param>
-            <param name="format">Format string for the message to log</param>
-            <param name="args">Format arguments for the message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.LevelFilteredLogger.FatalFormat(System.IFormatProvider,System.String,System.Object[])">
-            <summary>
-            Logs a fatal message.
-            </summary>
-            <param name="formatProvider">The format provider to use</param>
-            <param name="format">Format string for the message to log</param>
-            <param name="args">Format arguments for the message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.LevelFilteredLogger.FatalFormat(System.Exception,System.IFormatProvider,System.String,System.Object[])">
-            <summary>
-            Logs a fatal message.
-            </summary>
-            <param name="exception">The exception to log</param>
-            <param name="formatProvider">The format provider to use</param>
-            <param name="format">Format string for the message to log</param>
-            <param name="args">Format arguments for the message to log</param>
-        </member>
-        <member name="M:Castle.Core.Logging.LevelFilteredLogger.Fatal(System.String,System.Object[])">
-            <summary>
-            Logs a fatal message.
-            </summary>
-            <param name="format">Message format</param>
-            <param name="args">Array of objects to write using format</param>
-        </member>
-        <member name="M:Castle.Core.Logging.LevelFilteredLogger.FatalError(System.String)">
-            <summary>
-            Logs a fatal error message.
-            </summary>
-            <param name="message">The Message</param>
-        </member>
-        <member name="M:Castle.Core.Logging.LevelFilteredLogger.FatalError(System.String,System.Exception)">
-            <summary>
-            Logs a fatal error message.
-            </summary>
-            <param name="message">The Message</param>
-            <param name="exception">The Exception</param>
-        </member>
-        <member name="M:Castle.Core.Logging.LevelFilteredLogger.FatalError(System.String,System.Object[])">
-            <summary>
-            Logs a fatal error message.
-            </summary>
-            <param name="format">Message format</param>
-            <param name="args">Array of objects to write using format</param>
-        </member>
-        <member name="M:Castle.Core.Logging.LevelFilteredLogger.Log(Castle.Core.Logging.LoggerLevel,System.String,System.String,System.Exception)">
-            <summary>
-            Implementors output the log content by implementing this method only.
-            Note that exception can be null
-            </summary>
-            <param name="loggerLevel"></param>
-            <param name="loggerName"></param>
-            <param name="message"></param>
-            <param name="exception"></param>
-        </member>
-        <member name="P:Castle.Core.Logging.LevelFilteredLogger.Level">
-            <value>
-            The <c>LoggerLevel</c> that this logger
-            will be using. Defaults to <c>LoggerLevel.Off</c>
-            </value>
-        </member>
-        <member name="P:Castle.Core.Logging.LevelFilteredLogger.Name">
-            <value>
-            The name that this logger will be using. 
-            Defaults to <c>String.Empty</c>
-            </value>
-        </member>
-        <member name="P:Castle.Core.Logging.LevelFilteredLogger.IsDebugEnabled">
-            <summary>
-            Determines if messages of priority "debug" will be logged.
-            </summary>
-            <value><c>true</c> if log level flags include the <see cref="F:Castle.Core.Logging.LoggerLevel.Debug"/> bit</value> 
-        </member>
-        <member name="P:Castle.Core.Logging.LevelFilteredLogger.IsInfoEnabled">
-            <summary>
-            Determines if messages of priority "info" will be logged.
-            </summary>
-            <value><c>true</c> if log level flags include the <see cref="F:Castle.Core.Logging.LoggerLevel.Info"/> bit</value> 
-        </member>
-        <member name="P:Castle.Core.Logging.LevelFilteredLogger.IsWarnEnabled">
-            <summary>
-            Determines if messages of priority "warn" will be logged.
-            </summary>
-            <value><c>true</c> if log level flags include the <see cref="F:Castle.Core.Logging.LoggerLevel.Warn"/> bit</value> 
-        </member>
-        <member name="P:Castle.Core.Logging.LevelFilteredLogger.IsErrorEnabled">
-            <summary>
-            Determines if messages of priority "error" will be logged.
-            </summary>
-            <value><c>true</c> if log level flags include the <see cref="F:Castle.Core.Logging.LoggerLevel.Error"/> bit</value> 
-        </member>
-        <member name="P:Castle.Core.Logging.LevelFilteredLogger.IsFatalEnabled">
-            <summary>
-            Determines if messages of priority "fatal" will be logged.
-            </summary>
-            <value><c>true</c> if log level flags include the <see cref="F:Castle.Core.Logging.LoggerLevel.Fatal"/> bit</value> 
-        </member>
-        <member name="P:Castle.Core.Logging.LevelFilteredLogger.IsFatalErrorEnabled">
-            <summary>
-            Determines if messages of priority "fatal" will be logged.
-            </summary>
-            <value><c>true</c> if log level flags include the <see cref="F:Castle.Core.Logging.LoggerLevel.Fatal"/> bit</value> 
-        </member>
-        <member name="M:Castle.Core.Logging.ConsoleLogger.#ctor">
-            <summary>
-            Creates a new ConsoleLogger with the <c>Level</c>
-            set to <c>LoggerLevel.Debug</c> and the <c>Name</c>
-            set to <c>String.Empty</c>.
-            </summary>
-        </member>
-        <member name="M:Castle.Core.Logging.ConsoleLogger.#ctor(Castle.Core.Logging.LoggerLevel)">
-            <summary>
-            Creates a new ConsoleLogger with the <c>Name</c>
-            set to <c>String.Empty</c>.
-            </summary>
-            <param name="logLevel">The logs Level.</param>
-        </member>
-        <member name="M:Castle.Core.Logging.ConsoleLogger.#ctor(System.String)">
-            <summary>
-            Creates a new ConsoleLogger with the <c>Level</c>
-            set to <c>LoggerLevel.Debug</c>.
-            </summary>
-            <param name="name">The logs Name.</param>
-        </member>
-        <member name="M:Castle.Core.Logging.ConsoleLogger.#ctor(System.String,Castle.Core.Logging.LoggerLevel)">
-            <summary>
-            Creates a new ConsoleLogger.
-            </summary>
-            <param name="name">The logs Name.</param>
-            <param name="logLevel">The logs Level.</param>
-        </member>
-        <member name="M:Castle.Core.Logging.ConsoleLogger.Log(Castle.Core.Logging.LoggerLevel,System.String,System.String,System.Exception)">
-            <summary>
-            A Common method to log.
-            </summary>
-            <param name="loggerLevel">The level of logging</param>
-            <param name="loggerName">The name of the logger</param>
-            <param name="message">The Message</param>
-            <param name="exception">The Exception</param>
-        </member>
-        <member name="M:Castle.Core.Logging.ConsoleLogger.CreateChildLogger(System.String)">
-            <summary>
-            Returns a new <c>ConsoleLogger</c> with the name
-            added after this loggers name, with a dot in between.
-            </summary>
-            <param name="loggerName">The added hierarchical name.</param>
-            <returns>A new <c>ConsoleLogger</c>.</returns> 
-        </member>
-        <member name="T:Castle.Core.Logging.DiagnosticsLogger">
-            <summary>
-            The Logger using standart Diagnostics namespace.
-            </summary>
-        </member>
-        <member name="M:Castle.Core.Logging.DiagnosticsLogger.#ctor(System.String)">
-            <summary>
-            Creates a logger based on <see cref="T:System.Diagnostics.EventLog"/>.
-            </summary>
-            <param name="logName"><see cref="P:System.Diagnostics.EventLog.Log"/></param>
-        </member>
-        <member name="M:Castle.Core.Logging.DiagnosticsLogger.#ctor(System.String,System.String)">
-            <summary>
-            Creates a logger based on <see cref="T:System.Diagnostics.EventLog"/>.
-            </summary>
-            <param name="logName"><see cref="P:System.Diagnostics.EventLog.Log"/></param>
-            <param name="source"><see cref="P:System.Diagnostics.EventLog.Source"/></param>
-        </member>
-        <member name="M:Castle.Core.Logging.DiagnosticsLogger.#ctor(System.String,System.String,System.String)">
-            <summary>
-            Creates a logger based on <see cref="T:System.Diagnostics.EventLog"/>.
-            </summary>
-            <param name="logName"><see cref="P:System.Diagnostics.EventLog.Log"/></param>
-            <param name="machineName"><see cref="P:System.Diagnostics.EventLog.MachineName"/></param>
-            <param name="source"><see cref="P:System.Diagnostics.EventLog.Source"/></param>
-        </member>
-        <member name="T:Castle.Core.Logging.NullLogger">
-            <summary>
-            The Null Logger class.  This is useful for implementations where you need
-            to provide a logger to a utility class, but do not want any output from it.
-            It also helps when you have a utility that does not have a logger to supply.
-            </summary>
-        </member>
-        <member name="T:Castle.Core.Logging.IExtendedLogger">
-            <summary>
-            Provides an interface that supports <see cref="T:Castle.Core.Logging.ILogger"/> and
-            allows the storage and retrieval of Contexts. These are supported in
-            both log4net and NLog.
-            </summary>
-        </member>
-        <member name="P:Castle.Core.Logging.IExtendedLogger.GlobalProperties">
-            <summary>
-            Exposes the Global Context of the extended logger. 
-            </summary>
-        </member>
-        <member name="P:Castle.Core.Logging.IExtendedLogger.ThreadProperties">
-            <summary>
-            Exposes the Thread Context of the extended logger.
-            </summary>
-        </member>
-        <member name="P:Castle.Core.Logging.IExtendedLogger.ThreadStacks">
-            <summary>
-            Exposes the Thread Stack of the extended logger.
-            </summary>
-        </member>
-        <member name="M:Castle.Core.Logging.NullLogger.#ctor">
-            <summary>
-            Creates a new <c>NullLogger</c>.
-            </summary>
-        </member>
-        <member name="M:Castle.Core.Logging.NullLogger.Debug(System.String)">
-            <summary>
-            No-op.
-            </summary>
-            <param name="message">Ignored</param>
-        </member>
-        <member name="M:Castle.Core.Logging.NullLogger.Debug(System.String,System.Exception)">
-            <summary>
-            No-op. 
-            </summary>
-            <param name="exception">Ignored</param>
-            <param name="message">Ignored</param>
-        </member>
-        <member name="M:Castle.Core.Logging.NullLogger.Debug(System.String,System.Object[])">
-            <summary>
-            No-op.
-            </summary>
-            <param name="format">Ignored</param>
-            <param name="args">Ignored</param>
-        </member>
-        <member name="M:Castle.Core.Logging.NullLogger.DebugFormat(System.String,System.Object[])">
-            <summary>
-            No-op.
-            </summary>
-            <param name="format">Ignored</param>
-            <param name="args">Ignored</param>
-        </member>
-        <member name="M:Castle.Core.Logging.NullLogger.DebugFormat(System.Exception,System.String,System.Object[])">
-            <summary>
-            No-op.
-            </summary>
-            <param name="exception">Ignored</param>
-            <param name="format">Ignored</param>
-            <param name="args">Ignored</param>
-        </member>
-        <member name="M:Castle.Core.Logging.NullLogger.DebugFormat(System.IFormatProvider,System.String,System.Object[])">
-            <summary>
-            No-op.
-            </summary>
-            <param name="formatProvider">Ignored</param>
-            <param name="format">Ignored</param>
-            <param name="args">Ignored</param>
-        </member>
-        <member name="M:Castle.Core.Logging.NullLogger.DebugFormat(System.Exception,System.IFormatProvider,System.String,System.Object[])">
-            <summary>
-            No-op.
-            </summary>
-            <param name="exception">Ignored</param>
-            <param name="formatProvider">Ignored</param>
-            <param name="format">Ignored</param>
-            <param name="args">Ignored</param>
-        </member>
-        <member name="M:Castle.Core.Logging.NullLogger.Info(System.String)">
-            <summary>
-            No-op.
-            </summary>
-            <param name="message">Ignored</param>
-        </member>
-        <member name="M:Castle.Core.Logging.NullLogger.Info(System.String,System.Exception)">
-            <summary>
-            No-op. 
-            </summary>
-            <param name="exception">Ignored</param>
-            <param name="message">Ignored</param>
-        </member>
-        <member name="M:Castle.Core.Logging.NullLogger.Info(System.String,System.Object[])">
-            <summary>
-            No-op.
-            </summary>
-            <param name="format">Ignored</param>
-            <param name="args">Ignored</param>
-        </member>
-        <member name="M:Castle.Core.Logging.NullLogger.InfoFormat(System.String,System.Object[])">
-            <summary>
-            No-op.
-            </summary>
-            <param name="format">Ignored</param>
-            <param name="args">Ignored</param>
-        </member>
-        <member name="M:Castle.Core.Logging.NullLogger.InfoFormat(System.Exception,System.String,System.Object[])">
-            <summary>
-            No-op.
-            </summary>
-            <param name="exception">Ignored</param>
-            <param name="format">Ignored</param>
-            <param name="args">Ignored</param>
-        </member>
-        <member name="M:Castle.Core.Logging.NullLogger.InfoFormat(System.IFormatProvider,System.String,System.Object[])">
-            <summary>
-            No-op.
-            </summary>
-            <param name="formatProvider">Ignored</param>
-            <param name="format">Ignored</param>
-            <param name="args">Ignored</param>
-        </member>
-        <member name="M:Castle.Core.Logging.NullLogger.InfoFormat(System.Exception,System.IFormatProvider,System.String,System.Object[])">
-            <summary>
-            No-op.
-            </summary>
-            <param name="exception">Ignored</param>
-            <param name="formatProvider">Ignored</param>
-            <param name="format">Ignored</param>
-            <param name="args">Ignored</param>
-        </member>
-        <member name="M:Castle.Core.Logging.NullLogger.Warn(System.String)">
-            <summary>
-            No-op.
-            </summary>
-            <param name="message">Ignored</param>
-        </member>
-        <member name="M:Castle.Core.Logging.NullLogger.Warn(System.String,System.Exception)">
-            <summary>
-            No-op. 
-            </summary>
-            <param name="exception">Ignored</param>
-            <param name="message">Ignored</param>
-        </member>
-        <member name="M:Castle.Core.Logging.NullLogger.Warn(System.String,System.Object[])">
-            <summary>
-            No-op.
-            </summary>
-            <param name="format">Ignored</param>
-            <param name="args">Ignored</param>
-        </member>
-        <member name="M:Castle.Core.Logging.NullLogger.WarnFormat(System.String,System.Object[])">
-            <summary>
-            No-op.
-            </summary>
-            <param name="format">Ignored</param>
-            <param name="args">Ignored</param>
-        </member>
-        <member name="M:Castle.Core.Logging.NullLogger.WarnFormat(System.Exception,System.String,System.Object[])">
-            <summary>
-            No-op.
-            </summary>
-            <param name="exception">Ignored</param>
-            <param name="format">Ignored</param>
-            <param name="args">Ignored</param>
-        </member>
-        <member name="M:Castle.Core.Logging.NullLogger.WarnFormat(System.IFormatProvider,System.String,System.Object[])">
-            <summary>
-            No-op.
-            </summary>
-            <param name="formatProvider">Ignored</param>
-            <param name="format">Ignored</param>
-            <param name="args">Ignored</param>
-        </member>
-        <member name="M:Castle.Core.Logging.NullLogger.WarnFormat(System.Exception,System.IFormatProvider,System.String,System.Object[])">
-            <summary>
-            No-op.
-            </summary>
-            <param name="exception">Ignored</param>
-            <param name="formatProvider">Ignored</param>
-            <param name="format">Ignored</param>
-            <param name="args">Ignored</param>
-        </member>
-        <member name="M:Castle.Core.Logging.NullLogger.Error(System.String)">
-            <summary>
-            No-op.
-            </summary>
-            <param name="message">Ignored</param>
-        </member>
-        <member name="M:Castle.Core.Logging.NullLogger.Error(System.String,System.Exception)">
-            <summary>
-            No-op. 
-            </summary>
-            <param name="exception">Ignored</param>
-            <param name="message">Ignored</param>
-        </member>
-        <member name="M:Castle.Core.Logging.NullLogger.Error(System.String,System.Object[])">
-            <summary>
-            No-op.
-            </summary>
-            <param name="format">Ignored</param>
-            <param name="args">Ignored</param>
-        </member>
-        <member name="M:Castle.Core.Logging.NullLogger.ErrorFormat(System.String,System.Object[])">
-            <summary>
-            No-op.
-            </summary>
-            <param name="format">Ignored</param>
-            <param name="args">Ignored</param>
-        </member>
-        <member name="M:Castle.Core.Logging.NullLogger.ErrorFormat(System.Exception,System.String,System.Object[])">
-            <summary>
-            No-op.
-            </summary>
-            <param name="exception">Ignored</param>
-            <param name="format">Ignored</param>
-            <param name="args">Ignored</param>
-        </member>
-        <member name="M:Castle.Core.Logging.NullLogger.ErrorFormat(System.IFormatProvider,System.String,System.Object[])">
-            <summary>
-            No-op.
-            </summary>
-            <param name="formatProvider">Ignored</param>
-            <param name="format">Ignored</param>
-            <param name="args">Ignored</param>
-        </member>
-        <member name="M:Castle.Core.Logging.NullLogger.ErrorFormat(System.Exception,System.IFormatProvider,System.String,System.Object[])">
-            <summary>
-            No-op.
-            </summary>
-            <param name="exception">Ignored</param>
-            <param name="formatProvider">Ignored</param>
-            <param name="format">Ignored</param>
-            <param name="args">Ignored</param>
-        </member>
-        <member name="M:Castle.Core.Logging.NullLogger.Fatal(System.String)">
-            <summary>
-            No-op.
-            </summary>
-            <param name="message">Ignored</param>
-        </member>
-        <member name="M:Castle.Core.Logging.NullLogger.Fatal(System.String,System.Exception)">
-            <summary>
-            No-op.
-            </summary>
-            <param name="exception">Ignored</param>
-            <param name="message">Ignored</param>
-        </member>
-        <member name="M:Castle.Core.Logging.NullLogger.Fatal(System.String,System.Object[])">
-            <summary>
-            No-op.
-            </summary>
-            <param name="format">Ignored</param>
-            <param name="args">Ignored</param>
-        </member>
-        <member name="M:Castle.Core.Logging.NullLogger.FatalFormat(System.String,System.Object[])">
-            <summary>
-            No-op.
-            </summary>
-            <param name="format">Ignored</param>
-            <param name="args">Ignored</param>
-        </member>
-        <member name="M:Castle.Core.Logging.NullLogger.FatalFormat(System.Exception,System.String,System.Object[])">
-            <summary>
-            No-op.
-            </summary>
-            <param name="exception">Ignored</param>
-            <param name="format">Ignored</param>
-            <param name="args">Ignored</param>
-        </member>
-        <member name="M:Castle.Core.Logging.NullLogger.FatalFormat(System.IFormatProvider,System.String,System.Object[])">
-            <summary>
-            No-op.
-            </summary>
-            <param name="formatProvider">Ignored</param>
-            <param name="format">Ignored</param>
-            <param name="args">Ignored</param>
-        </member>
-        <member name="M:Castle.Core.Logging.NullLogger.FatalFormat(System.Exception,System.IFormatProvider,System.String,System.Object[])">
-            <summary>
-            No-op.
-            </summary>
-            <param name="exception">Ignored</param>
-            <param name="formatProvider">Ignored</param>
-            <param name="format">Ignored</param>
-            <param name="args">Ignored</param>
-        </member>
-        <member name="M:Castle.Core.Logging.NullLogger.FatalError(System.String)">
-            <summary>
-            No-op.
-            </summary>
-            <param name="message">Ignored</param>
-        </member>
-        <member name="M:Castle.Core.Logging.NullLogger.FatalError(System.String,System.Exception)">
-            <summary>
-            No-op.
-            </summary>
-            <param name="message">Ignored</param>
-            <param name="exception">Ignored</param>
-        </member>
-        <member name="M:Castle.Core.Logging.NullLogger.FatalError(System.String,System.Object[])">
-            <summary>
-            No-op.
-            </summary>
-            <param name="format">Ignored</param>
-            <param name="args">Ignored</param>
-        </member>
-        <member name="M:Castle.Core.Logging.NullLogger.CreateChildLogger(System.String)">
-            <summary>
-            Returns this <c>NullLogger</c>.
-            </summary>
-            <param name="loggerName">Ignored</param>
-            <returns>This ILogger instance.</returns> 
-        </member>
-        <member name="P:Castle.Core.Logging.NullLogger.IsDebugEnabled">
-            <summary>
-            No-op.
-            </summary>
-            <value>false</value>
-        </member>
-        <member name="P:Castle.Core.Logging.NullLogger.IsInfoEnabled">
-            <summary>
-            No-op.
-            </summary>
-            <value>false</value>
-        </member>
-        <member name="P:Castle.Core.Logging.NullLogger.IsWarnEnabled">
-            <summary>
-            No-op.
-            </summary>
-            <value>false</value>
-        </member>
-        <member name="P:Castle.Core.Logging.NullLogger.IsErrorEnabled">
-            <summary>
-            No-op.
-            </summary>
-            <value>false</value>
-        </member>
-        <member name="P:Castle.Core.Logging.NullLogger.IsFatalEnabled">
-            <summary>
-            No-op.
-            </summary>
-            <value>false</value>
-        </member>
-        <member name="P:Castle.Core.Logging.NullLogger.IsFatalErrorEnabled">
-            <summary>
-            No-op.
-            </summary>
-            <value>false</value>
-        </member>
-        <member name="P:Castle.Core.Logging.NullLogger.GlobalProperties">
-            <summary>
-            Returns empty context properties.
-            </summary>
-        </member>
-        <member name="P:Castle.Core.Logging.NullLogger.ThreadProperties">
-            <summary>
-            Returns empty context properties.
-            </summary>
-        </member>
-        <member name="P:Castle.Core.Logging.NullLogger.ThreadStacks">
-            <summary>
-            Returns empty context stacks.
-            </summary>
-        </member>
-        <member name="T:Castle.Core.Logging.IContextProperties">
-            <summary>
-            Interface for Context Properties implementations
-            </summary>
-            <remarks>
-            <para>
-            This interface defines a basic property get set accessor.
-            </para>
-            <para>
-            Based on the ContextPropertiesBase of log4net, by Nicko Cadell.
-            </para>
-            </remarks>
-        </member>
-        <member name="P:Castle.Core.Logging.IContextProperties.Item(System.String)">
-            <summary>
-            Gets or sets the value of a property
-            </summary>
-            <value>
-            The value for the property with the specified key
-            </value>
-            <remarks>
-            <para>
-            Gets or sets the value of a property
-            </para>
-            </remarks>
-        </member>
-        <member name="T:Castle.Core.Logging.StreamLogger">
-            <summary>
-            The Stream Logger class.  This class can stream log information
-            to any stream, it is suitable for storing a log file to disk,
-            or to a <c>MemoryStream</c> for testing your components.
-            </summary>
-            <remarks>
-            This logger is not thread safe.
-            </remarks>
-        </member>
-        <member name="M:Castle.Core.Logging.StreamLogger.#ctor(System.String,System.IO.Stream)">
-            <summary>
-            Creates a new <c>StreamLogger</c> with default encoding 
-            and buffer size. Initial Level is set to Debug.
-            </summary>
-            <param name="name">
-            The name of the log.
-            </param>
-            <param name="stream">
-            The stream that will be used for logging,
-            seeking while the logger is alive 
-            </param>
-        </member>
-        <member name="M:Castle.Core.Logging.StreamLogger.#ctor(System.String,System.IO.Stream,System.Text.Encoding)">
-            <summary>
-            Creates a new <c>StreamLogger</c> with default buffer size.
-            Initial Level is set to Debug.
-            </summary>
-            <param name="name">
-            The name of the log.
-            </param>
-            <param name="stream">
-            The stream that will be used for logging,
-            seeking while the logger is alive 
-            </param>
-            <param name="encoding">
-            The encoding that will be used for this stream.
-            <see cref="T:System.IO.StreamWriter"/>
-            </param>
-        </member>
-        <member name="M:Castle.Core.Logging.StreamLogger.#ctor(System.String,System.IO.Stream,System.Text.Encoding,System.Int32)">
-            <summary>
-            Creates a new <c>StreamLogger</c>. 
-            Initial Level is set to Debug.
-            </summary>
-            <param name="name">
-            The name of the log.
-            </param>
-            <param name="stream">
-            The stream that will be used for logging,
-            seeking while the logger is alive 
-            </param>
-            <param name="encoding">
-            The encoding that will be used for this stream.
-            <see cref="T:System.IO.StreamWriter"/>
-            </param>
-            <param name="bufferSize">
-            The buffer size that will be used for this stream.
-            <see cref="T:System.IO.StreamWriter"/>
-            </param>
-        </member>
-        <member name="M:Castle.Core.Logging.StreamLogger.#ctor(System.String,System.IO.StreamWriter)">
-            <summary>
-            Creates a new <c>StreamLogger</c> with 
-            Debug as default Level.
-            </summary>
-            <param name="name">The name of the log.</param>
-            <param name="writer">The <c>StreamWriter</c> the log will write to.</param>
-        </member>
-        <member name="T:Castle.Core.Logging.TraceLogger">
-            <summary>
-            The TraceLogger sends all logging to the System.Diagnostics.TraceSource
-            built into the .net framework. 
-            </summary>
-            <remarks>
-            Logging can be configured in the system.diagnostics configuration 
-            section. 
-            
-            If logger doesn't find a source name with a full match it will
-            use source names which match the namespace partially. For example you can
-            configure from all castle components by adding a source name with the
-            name "Castle". 
-            
-            If no portion of the namespace matches the source named "Default" will
-            be used.
-            </remarks>
-        </member>
-        <member name="M:Castle.Core.Logging.TraceLogger.#ctor(System.String)">
-            <summary>
-            Build a new trace logger based on the named TraceSource
-            </summary>
-            <param name="name">The name used to locate the best TraceSource. In most cases comes from the using type's fullname.</param>
-        </member>
-        <member name="M:Castle.Core.Logging.TraceLogger.#ctor(System.String,Castle.Core.Logging.LoggerLevel)">
-            <summary>
-            Build a new trace logger based on the named TraceSource
-            </summary>
-            <param name="name">The name used to locate the best TraceSource. In most cases comes from the using type's fullname.</param>
-            <param name="level">The default logging level at which this source should write messages. In almost all cases this
-            default value will be overridden in the config file. </param>
-        </member>
-        <member name="M:Castle.Core.Logging.TraceLogger.CreateChildLogger(System.String)">
-            <summary>
-            Create a new child logger.
-            The name of the child logger is [current-loggers-name].[passed-in-name]
-            </summary>
-            <param name="loggerName">The Subname of this logger.</param>
-            <returns>The New ILogger instance.</returns> 
-        </member>
-        <member name="T:Castle.Core.Logging.WebLogger">
-            <summary>
-            The WebLogger sends everything to the HttpContext.Trace 
-            </summary>
-            <remarks>
-            Trace must be enabled on the Asp.Net configuration file (web.config or machine.config)
-            </remarks>
-        </member>
-        <member name="M:Castle.Core.Logging.WebLogger.#ctor">
-            <summary>
-            Creates a new WebLogger with the priority set to DEBUG.
-            </summary>
-        </member>
-        <member name="M:Castle.Core.Logging.WebLogger.#ctor(Castle.Core.Logging.LoggerLevel)">
-            <summary>
-            Creates a new WebLogger.
-            </summary>
-            <param name="logLevel">The Log level typecode.</param>
-        </member>
-        <member name="M:Castle.Core.Logging.WebLogger.#ctor(System.String)">
-            <summary>
-            Creates a new WebLogger.
-            </summary>
-            <param name="name">The Log name.</param>
-        </member>
-        <member name="M:Castle.Core.Logging.WebLogger.#ctor(System.String,Castle.Core.Logging.LoggerLevel)">
-            <summary>
-            Creates a new WebLogger.
-            </summary>
-            <param name="name">The Log name.</param>
-            <param name="loggerLevel">The Log level typecode.</param>
-        </member>
-        <member name="M:Castle.Core.Logging.WebLogger.Log(Castle.Core.Logging.LoggerLevel,System.String,System.String,System.Exception)">
-            <summary>
-            A Common method to log.
-            </summary>
-            <param name="loggerLevel">The level of logging</param>
-            <param name="loggerName">The Log name.</param>
-            <param name="message">The Message</param>
-            <param name="exception">The Exception</param>
-        </member>
-        <member name="M:Castle.Core.Logging.WebLogger.CreateChildLogger(System.String)">
-            <summary>
-            Just returns this logger (<c>WebLogger</c> is not hierarchical).
-            </summary>
-            <param name="loggerName">Ignored</param>
-            <returns>This ILogger instance.</returns> 
-        </member>
-        <member name="M:Castle.Core.Logging.WebLogger.TryToGetTraceContext">
-            <summary>
-            Tries to get the current http context's trace context.
-            </summary>
-            <returns>The current http context's trace context or null if none is 
-            available</returns>
-        </member>
-        <member name="T:Castle.Core.Logging.LoggerLevel">
-            <summary>
-            Supporting Logger levels.
-            </summary>
-        </member>
-        <member name="F:Castle.Core.Logging.LoggerLevel.Off">
-            <summary>
-            Logging will be off
-            </summary>
-        </member>
-        <member name="F:Castle.Core.Logging.LoggerLevel.Fatal">
-            <summary>
-            Fatal logging level
-            </summary>
-        </member>
-        <member name="F:Castle.Core.Logging.LoggerLevel.Error">
-            <summary>
-            Error logging level
-            </summary>
-        </member>
-        <member name="F:Castle.Core.Logging.LoggerLevel.Warn">
-            <summary>
-            Warn logging level
-            </summary>
-        </member>
-        <member name="F:Castle.Core.Logging.LoggerLevel.Info">
-            <summary>
-            Info logging level
-            </summary>
-        </member>
-        <member name="F:Castle.Core.Logging.LoggerLevel.Debug">
-            <summary>
-            Debug logging level
-            </summary>
-        </member>
-        <member name="T:Castle.Core.Configuration.Xml.XmlConfigurationDeserializer">
-            <summary>
-            Pendent
-            </summary>
-        </member>
-        <member name="M:Castle.Core.Configuration.Xml.XmlConfigurationDeserializer.Deserialize(System.Xml.XmlNode)">
-            <summary>
-            Deserializes the specified node into an abstract representation of configuration.
-            </summary>
-            <param name="node">The node.</param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.Core.Configuration.Xml.XmlConfigurationDeserializer.GetConfigValue(System.String)">
-            <summary>
-            If a config value is an empty string we return null, this is to keep
-            backward compability with old code
-            </summary>
-        </member>
-        <member name="T:Castle.Core.Configuration.AbstractConfiguration">
-            <summary>
-            This is an abstract <see cref="T:Castle.Core.Configuration.IConfiguration"/> implementation
-            that deals with methods that can be abstracted away
-            from underlying implementations.
-            </summary>
-            <remarks>
-            <para><b>AbstractConfiguration</b> makes easier to implementers 
-            to create a new version of <see cref="T:Castle.Core.Configuration.IConfiguration"/></para>
-            </remarks>
-        </member>
-        <member name="T:Castle.Core.Configuration.IConfiguration">
-            <summary>
-            Summary description for IConfiguration.
-            </summary>
-            <summary>
-            <see cref="T:Castle.Core.Configuration.IConfiguration"/> is a interface encapsulating a configuration node
-            used to retrieve configuration values.
-            </summary>
-        </member>
-        <member name="M:Castle.Core.Configuration.IConfiguration.GetValue(System.Type,System.Object)">
-            <summary>
-            Gets the value of the node and converts it 
-            into specified <see cref="T:System.Type"/>.
-            </summary>
-            <param name="type">The <see cref="T:System.Type"/></param>
-            <param name="defaultValue">
-            The Default value returned if the convertion fails.
-            </param>
-            <returns>The Value converted into the specified type.</returns>
-        </member>
-        <member name="P:Castle.Core.Configuration.IConfiguration.Name">
-            <summary>
-            Gets the name of the node.
-            </summary>
-            <value>
-            The Name of the node.
-            </value> 
-        </member>
-        <member name="P:Castle.Core.Configuration.IConfiguration.Value">
-            <summary>
-            Gets the value of the node.
-            </summary>
-            <value>
-            The Value of the node.
-            </value> 
-        </member>
-        <member name="P:Castle.Core.Configuration.IConfiguration.Children">
-            <summary>
-            Gets an <see cref="T:Castle.Core.Configuration.ConfigurationCollection"/> of <see cref="T:Castle.Core.Configuration.IConfiguration"/>
-            elements containing all node children.
-            </summary>
-            <value>The Collection of child nodes.</value>
-        </member>
-        <member name="P:Castle.Core.Configuration.IConfiguration.Attributes">
-            <summary>
-            Gets an <see cref="T:System.Collections.IDictionary"/> of the configuration attributes.
-            </summary>
-        </member>
-        <member name="M:Castle.Core.Configuration.AbstractConfiguration.GetValue(System.Type,System.Object)">
-            <summary>
-            Gets the value of the node and converts it
-            into specified <see cref="T:System.Type"/>.
-            </summary>
-            <param name="type">The <see cref="T:System.Type"/></param>
-            <param name="defaultValue">
-            The Default value returned if the convertion fails.
-            </param>
-            <returns>The Value converted into the specified type.</returns>
-        </member>
-        <member name="P:Castle.Core.Configuration.AbstractConfiguration.Name">
-            <summary>
-            Gets the name of the <see cref="T:Castle.Core.Configuration.IConfiguration"/>.
-            </summary>
-            <value>
-            The Name of the <see cref="T:Castle.Core.Configuration.IConfiguration"/>.
-            </value>
-        </member>
-        <member name="P:Castle.Core.Configuration.AbstractConfiguration.Value">
-            <summary>
-            Gets the value of <see cref="T:Castle.Core.Configuration.IConfiguration"/>.
-            </summary>
-            <value>
-            The Value of the <see cref="T:Castle.Core.Configuration.IConfiguration"/>.
-            </value>
-        </member>
-        <member name="P:Castle.Core.Configuration.AbstractConfiguration.Children">
-            <summary>
-            Gets all child nodes.
-            </summary>
-            <value>The <see cref="T:Castle.Core.Configuration.ConfigurationCollection"/> of child nodes.</value>
-        </member>
-        <member name="P:Castle.Core.Configuration.AbstractConfiguration.Attributes">
-            <summary>
-            Gets node attributes.
-            </summary>
-            <value>
-            All attributes of the node.
-            </value>
-        </member>
-        <member name="T:Castle.Core.Configuration.ConfigurationCollection">
-            <summary>
-            A collection of <see cref="T:Castle.Core.Configuration.IConfiguration"/> objects.
-            </summary>
-        </member>
-        <member name="M:Castle.Core.Configuration.ConfigurationCollection.#ctor">
-            <summary>
-            Creates a new instance of <c>ConfigurationCollection</c>.
-            </summary>
-        </member>
-        <member name="M:Castle.Core.Configuration.ConfigurationCollection.#ctor(System.Collections.Generic.IList{Castle.Core.Configuration.IConfiguration})">
-            <summary>
-            Creates a new instance of <c>ConfigurationCollection</c>.
-            </summary>
-        </member>
-        <member name="M:Castle.Core.Configuration.ConfigurationCollection.AddRange(System.Collections.Generic.IList{Castle.Core.Configuration.IConfiguration})">
-            <summary>
-            Adds an array of <see cref="T:Castle.Core.Configuration.IConfiguration"/>.
-            </summary>
-            <param name="value">The Array of <see cref="T:Castle.Core.Configuration.IConfiguration"/> to add.</param>
-        </member>
-        <member name="T:Castle.Core.Configuration.MutableConfiguration">
-            <summary>
-            Summary description for MutableConfiguration.
-            </summary>
-        </member>
-        <member name="M:Castle.Core.Configuration.MutableConfiguration.#ctor(System.String)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.Core.Configuration.MutableConfiguration"/> class.
-            </summary>
-            <param name="name">The name.</param>
-        </member>
-        <member name="T:Castle.Core.LifestyleType">
-            <summary>
-            Enumeration used to mark the component's lifestyle.
-            </summary>
-        </member>
-        <member name="F:Castle.Core.LifestyleType.Undefined">
-            <summary>
-            No lifestyle specified.
-            </summary>
-        </member>
-        <member name="F:Castle.Core.LifestyleType.Singleton">
-            <summary>
-            Singleton components are instantiated once, and shared
-            between all clients.
-            </summary>
-        </member>
-        <member name="F:Castle.Core.LifestyleType.Thread">
-            <summary>
-            Thread components have a unique instance per thread.
-            </summary>
-        </member>
-        <member name="F:Castle.Core.LifestyleType.Transient">
-            <summary>
-            Transient components are created on demand.
-            </summary>
-        </member>
-        <member name="F:Castle.Core.LifestyleType.Pooled">
-            <summary>
-            Optimization of transient components that keeps
-            instance in a pool instead of always creating them.
-            </summary>
-        </member>
-        <member name="F:Castle.Core.LifestyleType.Custom">
-            <summary>
-            Any other logic to create/release components.
-            </summary>
-        </member>
-        <member name="F:Castle.Core.LifestyleType.PerWebRequest">
-            <summary>
-            PerWebRequest components are created once per Http Request
-            </summary>
-        </member>
-        <member name="T:Castle.Core.PropertiesInspectionBehavior">
-            <summary>
-            
-            </summary>
-        </member>
-        <member name="T:Castle.Core.ComponentModel">
-            <summary>
-            Represents the collection of information and
-            meta information collected about a component.
-            </summary>
-        </member>
-        <member name="F:Castle.Core.ComponentModel.name">
-            <summary>Name (key) of the component</summary>
-        </member>
-        <member name="F:Castle.Core.ComponentModel.service">
-            <summary>Service exposed</summary>
-        </member>
-        <member name="F:Castle.Core.ComponentModel.implementation">
-            <summary>Implementation for the service</summary>
-        </member>
-        <member name="F:Castle.Core.ComponentModel.extended">
-            <summary>Extended properties</summary>
-        </member>
-        <member name="F:Castle.Core.ComponentModel.lifestyleType">
-            <summary>Lifestyle for the component</summary>
-        </member>
-        <member name="F:Castle.Core.ComponentModel.customLifestyle">
-            <summary>Custom lifestyle, if any</summary>
-        </member>
-        <member name="F:Castle.Core.ComponentModel.customComponentActivator">
-            <summary>Custom activator, if any</summary>
-        </member>
-        <member name="F:Castle.Core.ComponentModel.dependencies">
-            <summary>Dependencies the kernel must resolve</summary>
-        </member>
-        <member name="F:Castle.Core.ComponentModel.constructors">
-            <summary>All available constructors</summary>
-        </member>
-        <member name="F:Castle.Core.ComponentModel.properties">
-            <summary>All potential properties that can be setted by the kernel</summary>
-        </member>
-        <member name="F:Castle.Core.ComponentModel.lifecycleSteps">
-            <summary>Steps of lifecycle</summary>
-        </member>
-        <member name="F:Castle.Core.ComponentModel.parameters">
-            <summary>External parameters</summary>
-        </member>
-        <member name="F:Castle.Core.ComponentModel.configuration">
-            <summary>Configuration node associated</summary>
-        </member>
-        <member name="F:Castle.Core.ComponentModel.interceptors">
-            <summary>Interceptors associated</summary>
-        </member>
-        <member name="F:Castle.Core.ComponentModel.customDependencies">
-            <summary>/// Custom dependencies/// </summary>
-        </member>
-        <member name="M:Castle.Core.ComponentModel.#ctor(System.String,System.Type,System.Type)">
-            <summary>
-            Constructs a ComponentModel
-            </summary>
-        </member>
-        <member name="M:Castle.Core.ComponentModel.Requires(System.Predicate{Castle.Core.PropertySet}[])">
-            <summary>
-            Requires the selected property dependencies.
-            </summary>
-            <param name="selectors">The property selector.</param>
-        </member>
-        <member name="M:Castle.Core.ComponentModel.Requires``1">
-            <summary>
-            Requires the property dependencies of type <typeparamref name="D"/>.
-            </summary>
-            <typeparam name="D">The dependency type.</typeparam>
-        </member>
-        <member name="P:Castle.Core.ComponentModel.Name">
-            <summary>
-            Sets or returns the component key
-            </summary>
-        </member>
-        <member name="P:Castle.Core.ComponentModel.Service">
-            <summary>
-            Gets or sets the service exposed.
-            </summary>
-            <value>The service.</value>
-        </member>
-        <member name="P:Castle.Core.ComponentModel.Implementation">
-            <summary>
-            Gets or sets the component implementation.
-            </summary>
-            <value>The implementation.</value>
-        </member>
-        <member name="P:Castle.Core.ComponentModel.RequiresGenericArguments">
-            <summary>
-            Gets or sets a value indicating whether the component requires generic arguments.
-            </summary>
-            <value>
-            <c>true</c> if generic arguments are required; otherwise, <c>false</c>.
-            </value>
-        </member>
-        <member name="P:Castle.Core.ComponentModel.ExtendedProperties">
-            <summary>
-            Gets or sets the extended properties.
-            </summary>
-            <value>The extended properties.</value>
-        </member>
-        <member name="P:Castle.Core.ComponentModel.Constructors">
-            <summary>
-            Gets the constructors candidates.
-            </summary>
-            <value>The constructors.</value>
-        </member>
-        <member name="P:Castle.Core.ComponentModel.Properties">
-            <summary>
-            Gets the properties set.
-            </summary>
-            <value>The properties.</value>
-        </member>
-        <member name="P:Castle.Core.ComponentModel.Configuration">
-            <summary>
-            Gets or sets the configuration.
-            </summary>
-            <value>The configuration.</value>
-        </member>
-        <member name="P:Castle.Core.ComponentModel.LifecycleSteps">
-            <summary>
-            Gets the lifecycle steps.
-            </summary>
-            <value>The lifecycle steps.</value>
-        </member>
-        <member name="P:Castle.Core.ComponentModel.LifestyleType">
-            <summary>
-            Gets or sets the lifestyle type.
-            </summary>
-            <value>The type of the lifestyle.</value>
-        </member>
-        <member name="P:Castle.Core.ComponentModel.InspectionBehavior">
-            <summary>
-            Gets or sets the strategy for
-            inspecting public properties 
-            on the components
-            </summary>
-        </member>
-        <member name="P:Castle.Core.ComponentModel.CustomLifestyle">
-            <summary>
-            Gets or sets the custom lifestyle.
-            </summary>
-            <value>The custom lifestyle.</value>
-        </member>
-        <member name="P:Castle.Core.ComponentModel.CustomComponentActivator">
-            <summary>
-            Gets or sets the custom component activator.
-            </summary>
-            <value>The custom component activator.</value>
-        </member>
-        <member name="P:Castle.Core.ComponentModel.Interceptors">
-            <summary>
-            Gets the interceptors.
-            </summary>
-            <value>The interceptors.</value>
-        </member>
-        <member name="P:Castle.Core.ComponentModel.Parameters">
-            <summary>
-            Gets the parameter collection.
-            </summary>
-            <value>The parameters.</value>
-        </member>
-        <member name="P:Castle.Core.ComponentModel.Dependencies">
-            <summary>
-            Dependencies are kept within constructors and
-            properties. Others dependencies must be 
-            registered here, so the kernel (as a matter 
-            of fact the handler) can check them
-            </summary>
-        </member>
-        <member name="P:Castle.Core.ComponentModel.CustomDependencies">
-            <summary>
-            Gets the custom dependencies.
-            </summary>
-            <value>The custom dependencies.</value>
-        </member>
-        <member name="T:Castle.Core.ConstructorCandidate">
-            <summary>
-            Represents a constructor of the component 
-            that the container can use to initialize it properly.
-            </summary>
-        </member>
-        <member name="M:Castle.Core.ConstructorCandidate.#ctor(System.Reflection.ConstructorInfo,Castle.Core.DependencyModel[])">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.Core.ConstructorCandidate"/> class.
-            </summary>
-            <param name="constructorInfo">The constructor info.</param>
-            <param name="dependencies">The dependencies.</param>
-        </member>
-        <member name="P:Castle.Core.ConstructorCandidate.Constructor">
-            <summary>
-            Gets the ConstructorInfo (from reflection).
-            </summary>
-            <value>The constructor.</value>
-        </member>
-        <member name="P:Castle.Core.ConstructorCandidate.Dependencies">
-            <summary>
-            Gets the dependencies this constructor candidate exposes.
-            </summary>
-            <value>The dependencies.</value>
-        </member>
-        <member name="T:Castle.Core.ConstructorCandidateCollection">
-            <summary>
-            Collection of <see cref="T:Castle.Core.ConstructorCandidate"/>
-            </summary>
-        </member>
-        <member name="P:Castle.Core.ConstructorCandidateCollection.FewerArgumentsCandidate">
-            <summary>
-            Gets the fewer arguments candidate.
-            </summary>
-            <value>The fewer arguments candidate.</value>
-        </member>
-        <member name="T:Castle.Core.DependencyModel">
-            <summary>
-            Represents a dependency (other component or a 
-            fixed value available through external configuration).
-            </summary>
-        </member>
-        <member name="M:Castle.Core.DependencyModel.#ctor(Castle.Core.DependencyType,System.String,System.Type,System.Boolean)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.Core.DependencyModel"/> class.
-            </summary>
-            <param name="type">The type.</param>
-            <param name="dependencyKey">The dependency key.</param>
-            <param name="targetType">Type of the target.</param>
-            <param name="isOptional">if set to <c>true</c> [is optional].</param>
-        </member>
-        <member name="M:Castle.Core.DependencyModel.ToString">
-            <summary>
-            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:System.Object"/>.
-            </summary>
-            <returns>
-            A <see cref="T:System.String"/> that represents the current <see cref="T:System.Object"/>.
-            </returns>
-        </member>
-        <member name="M:Castle.Core.DependencyModel.GetHashCode">
-            <summary>
-            Serves as a hash function for a particular type, suitable
-            for use in hashing algorithms and data structures like a hash table.
-            </summary>
-            <returns>
-            A hash code for the current <see cref="T:System.Object"/>.
-            </returns>
-        </member>
-        <member name="M:Castle.Core.DependencyModel.Equals(System.Object)">
-            <summary>
-            Determines whether the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:System.Object"/>.
-            </summary>
-            <param name="obj">The <see cref="T:System.Object"/> to compare with the current <see cref="T:System.Object"/>.</param>
-            <returns>
-            	<see langword="true"/> if the specified <see cref="T:System.Object"/> is equal to the
-            current <see cref="T:System.Object"/>; otherwise, <see langword="false"/>.
-            </returns>
-        </member>
-        <member name="P:Castle.Core.DependencyModel.DependencyType">
-            <summary>
-            Gets or sets the type of the dependency.
-            </summary>
-            <value>The type of the dependency.</value>
-        </member>
-        <member name="P:Castle.Core.DependencyModel.DependencyKey">
-            <summary>
-            Gets or sets the dependency key.
-            </summary>
-            <value>The dependency key.</value>
-        </member>
-        <member name="P:Castle.Core.DependencyModel.TargetType">
-            <summary>
-            Gets the type of the target.
-            </summary>
-            <value>The type of the target.</value>
-        </member>
-        <member name="P:Castle.Core.DependencyModel.IsOptional">
-            <summary>
-            Gets or sets whether this dependency is optional.
-            </summary>
-            <value>
-            	<c>true</c> if this dependency is optional; otherwise, <c>false</c>.
-            </value>
-        </member>
-        <member name="T:Castle.Core.DependencyModelCollection">
-            <summary>
-            Collection of <see cref="T:Castle.Core.DependencyModel"/>.
-            </summary>
-        </member>
-        <member name="M:Castle.Core.DependencyModelCollection.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.Core.DependencyModelCollection"/> class.
-            </summary>
-        </member>
-        <member name="M:Castle.Core.DependencyModelCollection.#ctor(System.Collections.Generic.IList{Castle.Core.DependencyModel})">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.Core.DependencyModelCollection"/> class.
-            </summary>
-            <param name="dependencies">The dependencies.</param>
-        </member>
-        <member name="T:Castle.Core.InterceptorReference">
-            <summary>
-            Represents an reference to a Interceptor component.
-            </summary>
-        </member>
-        <member name="M:Castle.Core.InterceptorReference.#ctor(System.String)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.Core.InterceptorReference"/> class.
-            </summary>
-            <param name="componentKey">The component key.</param>
-        </member>
-        <member name="M:Castle.Core.InterceptorReference.#ctor(System.Type)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.Core.InterceptorReference"/> class.
-            </summary>
-            <param name="serviceType">Type of the service.</param>
-        </member>
-        <member name="M:Castle.Core.InterceptorReference.ForKey(System.String)">
-            <summary>
-            Gets an <see cref="T:Castle.Core.InterceptorReference"/> for the component key.
-            </summary>
-            <param name="key">The component key.</param>
-            <returns>The <see cref="T:Castle.Core.InterceptorReference"/></returns>
-        </member>
-        <member name="M:Castle.Core.InterceptorReference.ForType(System.Type)">
-            <summary>
-            Gets an <see cref="T:Castle.Core.InterceptorReference"/> for the service.
-            </summary>
-            <param name="service">The service.</param>
-            <returns>The <see cref="T:Castle.Core.InterceptorReference"/></returns>
-        </member>
-        <member name="M:Castle.Core.InterceptorReference.ForType``1">
-            <summary>
-            Gets an <see cref="T:Castle.Core.InterceptorReference"/> for the service.
-            </summary>
-            <typeparam name="T">The service type.</typeparam>
-            <returns>The <see cref="T:Castle.Core.InterceptorReference"/></returns>
-        </member>
-        <member name="P:Castle.Core.InterceptorReference.ServiceType">
-            <summary>
-            Gets the type of the service.
-            </summary>
-            <value>The type of the service.</value>
-        </member>
-        <member name="P:Castle.Core.InterceptorReference.ComponentKey">
-            <summary>
-            Gets the interceptor component key.
-            </summary>
-            <value>The component key.</value>
-        </member>
-        <member name="P:Castle.Core.InterceptorReference.ReferenceType">
-            <summary>
-            Gets the type of the reference.
-            </summary>
-            <value>The type of the reference.</value>
-        </member>
-        <member name="T:Castle.Core.InterceptorReferenceCollection">
-            <summary>
-            Collection of <see cref="T:Castle.Core.InterceptorReference"/>
-            </summary>
-        </member>
-        <member name="M:Castle.Core.InterceptorReferenceCollection.Add(Castle.Core.InterceptorReference)">
-            <summary>
-            Adds the specified interceptor.
-            </summary>
-            <param name="interceptor">The interceptor.</param>
-        </member>
-        <member name="M:Castle.Core.InterceptorReferenceCollection.AddFirst(Castle.Core.InterceptorReference)">
-            <summary>
-            Adds the the specified interceptor as the first.
-            </summary>
-            <param name="interceptor">The interceptor.</param>
-        </member>
-        <member name="M:Castle.Core.InterceptorReferenceCollection.AddLast(Castle.Core.InterceptorReference)">
-            <summary>
-            Adds the the specified interceptor as the last.
-            </summary>
-            <param name="interceptor">The interceptor.</param>
-        </member>
-        <member name="M:Castle.Core.InterceptorReferenceCollection.Insert(System.Int32,Castle.Core.InterceptorReference)">
-            <summary>
-            Inserts the specified interceptor at the specified index.
-            </summary>
-            <param name="index">The index.</param>
-            <param name="interceptor">The interceptor.</param>
-        </member>
-        <member name="M:Castle.Core.InterceptorReferenceCollection.CopyTo(System.Array,System.Int32)">
-            <summary>
-            When implemented by a class, copies the elements of
-            the <see cref="T:System.Collections.ICollection"/> to an <see cref="T:System.Array"/>, starting at a particular <see cref="T:System.Array"/> index.
-            </summary>
-            <param name="array">The one-dimensional <see cref="T:System.Array"/> that is the destination of the elements copied from <see cref="T:System.Collections.ICollection"/>. The <see cref="T:System.Array"/> must have zero-based indexing.</param>
-            <param name="index">The zero-based index in <paramref name="array"/> at which copying begins.</param>
-            <exception cref="T:System.ArgumentNullException">
-            	<paramref name="array"/> is <see langword="null"/>.</exception>
-            <exception cref="T:System.ArgumentOutOfRangeException">
-            	<paramref name="index"/> is less than zero.</exception>
-            <exception cref="T:System.ArgumentException">
-            	<para>
-            		<paramref name="array"/> is multidimensional.</para>
-            	<para>-or-</para>
-            	<para>
-            		<paramref name="index"/> is equal to or greater than the length of <paramref name="array"/>.</para>
-            	<para>-or-</para>
-            	<para>The number of elements in the source <see cref="T:System.Collections.ICollection"/> is greater than the available space from <paramref name="index"/> to the end of the destination <paramref name="array"/>.</para>
-            </exception>
-            <exception cref="T:System.InvalidCastException">The type of the source <see cref="T:System.Collections.ICollection"/> cannot be cast automatically to the type of the destination <paramref name="array"/>.</exception>
-        </member>
-        <member name="M:Castle.Core.InterceptorReferenceCollection.GetEnumerator">
-            <summary>
-            Returns an enumerator that can iterate through a collection.
-            </summary>
-            <returns>
-            An <see cref="T:System.Collections.IEnumerator"/>
-            that can be used to iterate through the collection.
-            </returns>
-        </member>
-        <member name="M:Castle.Core.InterceptorReferenceCollection.AddIfNotInCollection(Castle.Core.InterceptorReference)">
-            <summary>
-            Adds the interceptor to the end of the interceptors list if it does not exist already.
-            </summary>
-            <param name="interceptorReference">The interceptor reference.</param>
-        </member>
-        <member name="P:Castle.Core.InterceptorReferenceCollection.HasInterceptors">
-            <summary>
-            Gets a value indicating whether this instance has interceptors.
-            </summary>
-            <value>
-            	<c>true</c> if this instance has interceptors; otherwise, <c>false</c>.
-            </value>
-        </member>
-        <member name="P:Castle.Core.InterceptorReferenceCollection.Count">
-            <summary>
-            Gets the number of
-            elements contained in the <see cref="T:System.Collections.ICollection"/>.
-            </summary>
-            <value></value>
-        </member>
-        <member name="P:Castle.Core.InterceptorReferenceCollection.SyncRoot">
-            <summary>
-            Gets an object that
-            can be used to synchronize access to the <see cref="T:System.Collections.ICollection"/>.
-            </summary>
-            <value></value>
-        </member>
-        <member name="P:Castle.Core.InterceptorReferenceCollection.IsSynchronized">
-            <summary>
-            Gets a value
-            indicating whether access to the <see cref="T:System.Collections.ICollection"/> is synchronized
-            (thread-safe).
-            </summary>
-            <value></value>
-        </member>
-        <member name="T:Castle.Core.LifecycleStepCollection">
-            <summary>
-            Represents a collection of ordered lifecycle steps.
-            </summary>
-        </member>
-        <member name="M:Castle.Core.LifecycleStepCollection.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.Core.LifecycleStepCollection"/> class.
-            </summary>
-        </member>
-        <member name="M:Castle.Core.LifecycleStepCollection.GetCommissionSteps">
-            <summary>
-            Returns all steps for the commission phase
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.Core.LifecycleStepCollection.GetDecommissionSteps">
-            <summary>
-            Returns all steps for the decommission phase
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.Core.LifecycleStepCollection.Add(Castle.Core.LifecycleStepType,System.Object)">
-            <summary>
-            Adds a step to the commission or decomission phases.
-            </summary>
-            <param name="type"></param>
-            <param name="stepImplementation"></param>
-        </member>
-        <member name="M:Castle.Core.LifecycleStepCollection.CopyTo(System.Array,System.Int32)">
-            <summary>
-            Copies the elements of
-            the <see cref="T:System.Collections.ICollection"/> to an <see cref="T:System.Array"/>, starting at a particular <see cref="T:System.Array"/> index.
-            </summary>
-            <param name="array">The one-dimensional <see cref="T:System.Array"/> that is the destination of the elements copied from <see cref="T:System.Collections.ICollection"/>. The <see cref="T:System.Array"/> must have zero-based indexing.</param>
-            <param name="index">The zero-based index in <paramref name="array"/> at which copying begins.</param>
-            <exception cref="T:System.ArgumentNullException">
-            	<paramref name="array"/> is <see langword="null"/>.</exception>
-            <exception cref="T:System.ArgumentOutOfRangeException">
-            	<paramref name="index"/> is less than zero.</exception>
-            <exception cref="T:System.ArgumentException">
-            	<para>
-            		<paramref name="array"/> is multidimensional.</para>
-            	<para>-or-</para>
-            	<para>
-            		<paramref name="index"/> is equal to or greater than the length of <paramref name="array"/>.</para>
-            	<para>-or-</para>
-            	<para>The number of elements in the source <see cref="T:System.Collections.ICollection"/> is greater than the available space from <paramref name="index"/> to the end of the destination <paramref name="array"/>.</para>
-            </exception>
-            <exception cref="T:System.InvalidCastException">The type of the source <see cref="T:System.Collections.ICollection"/> cannot be cast automatically to the type of the destination <paramref name="array"/>.</exception>
-        </member>
-        <member name="M:Castle.Core.LifecycleStepCollection.GetEnumerator">
-            <summary>
-            Returns an enumerator that can iterate through a collection.
-            </summary>
-            <returns>
-            An <see cref="T:System.Collections.IEnumerator"/>
-            that can be used to iterate through the collection.
-            </returns>
-        </member>
-        <member name="P:Castle.Core.LifecycleStepCollection.HasCommissionSteps">
-            <summary>
-            Gets a value indicating whether this instance has commission steps.
-            </summary>
-            <value>
-            	<c>true</c> if this instance has commission steps; otherwise, <c>false</c>.
-            </value>
-        </member>
-        <member name="P:Castle.Core.LifecycleStepCollection.HasDecommissionSteps">
-            <summary>
-            Gets a value indicating whether this instance has decommission steps.
-            </summary>
-            <value>
-            	<c>true</c> if this instance has decommission steps; otherwise, <c>false</c>.
-            </value>
-        </member>
-        <member name="P:Castle.Core.LifecycleStepCollection.Count">
-            <summary>
-            Gets the number of
-            elements contained in the <see cref="T:System.Collections.ICollection"/>.
-            </summary>
-            <value></value>
-        </member>
-        <member name="P:Castle.Core.LifecycleStepCollection.SyncRoot">
-            <summary>
-            Gets an object that
-            can be used to synchronize access to the <see cref="T:System.Collections.ICollection"/>.
-            </summary>
-            <value></value>
-        </member>
-        <member name="P:Castle.Core.LifecycleStepCollection.IsSynchronized">
-            <summary>
-            Gets a value
-            indicating whether access to the <see cref="T:System.Collections.ICollection"/> is synchronized
-            (thread-safe).
-            </summary>
-            <value></value>
-        </member>
-        <member name="T:Castle.Core.MethodMetaModel">
-            <summary>
-            Represents meta information associated with a method
-            (not yet defined)
-            </summary>
-        </member>
-        <member name="M:Castle.Core.MethodMetaModel.#ctor(Castle.Core.Configuration.IConfiguration)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.Core.MethodMetaModel"/> class.
-            </summary>
-            <param name="configNode">The config node.</param>
-        </member>
-        <member name="P:Castle.Core.MethodMetaModel.ConfigNode">
-            <summary>
-            Gets the config node.
-            </summary>
-            <value>The config node.</value>
-        </member>
-        <member name="T:Castle.Core.MethodMetaModelCollection">
-            <summary>
-            Collection of <see cref="T:Castle.Core.MethodMetaModel"/>
-            </summary>
-        </member>
-        <member name="P:Castle.Core.MethodMetaModelCollection.MethodInfo2Model">
-            <summary>
-            Gets the method info2 model.
-            </summary>
-            <value>The method info2 model.</value>
-        </member>
-        <member name="T:Castle.Core.ParameterModel">
-            <summary>
-            Represents a parameter. Usually the parameter
-            comes from the external world, ie, an external configuration.
-            </summary>
-        </member>
-        <member name="M:Castle.Core.ParameterModel.#ctor(System.String,System.String)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.Core.ParameterModel"/> class.
-            </summary>
-            <param name="name">The name.</param>
-            <param name="value">The value.</param>
-        </member>
-        <member name="M:Castle.Core.ParameterModel.#ctor(System.String,Castle.Core.Configuration.IConfiguration)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.Core.ParameterModel"/> class.
-            </summary>
-            <param name="name">The name.</param>
-            <param name="value">The value.</param>
-        </member>
-        <member name="P:Castle.Core.ParameterModel.Name">
-            <summary>
-            Gets the name.
-            </summary>
-            <value>The name.</value>
-        </member>
-        <member name="P:Castle.Core.ParameterModel.Value">
-            <summary>
-            Gets the value.
-            </summary>
-            <value>The value.</value>
-        </member>
-        <member name="P:Castle.Core.ParameterModel.ConfigValue">
-            <summary>
-            Gets the config value.
-            </summary>
-            <value>The config value.</value>
-        </member>
-        <member name="T:Castle.Core.ParameterModelCollection">
-            <summary>
-            Collection of <see cref="T:Castle.Core.ParameterModel"/>
-            </summary>
-        </member>
-        <member name="M:Castle.Core.ParameterModelCollection.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.Core.ParameterModelCollection"/> class.
-            </summary>
-        </member>
-        <member name="M:Castle.Core.ParameterModelCollection.Add(System.String,System.String)">
-            <summary>
-            Adds the specified name.
-            </summary>
-            <param name="name">The name.</param>
-            <param name="value">The value.</param>
-        </member>
-        <member name="M:Castle.Core.ParameterModelCollection.Add(System.String,Castle.Core.Configuration.IConfiguration)">
-            <summary>
-            Adds the specified name.
-            </summary>
-            <param name="name">The name.</param>
-            <param name="configNode">The config node.</param>
-        </member>
-        <member name="M:Castle.Core.ParameterModelCollection.Contains(System.Object)">
-            <summary>
-            Determines whether this collection contains the specified key.
-            </summary>
-            <param name="key">The key.</param>
-            <returns>
-            <c>true</c> if yes; otherwise, <c>false</c>.
-            </returns>
-        </member>
-        <member name="M:Castle.Core.ParameterModelCollection.Add(System.Object,System.Object)">
-            <summary>
-            Adds the specified key.
-            </summary>
-            <remarks>
-            Not implemented
-            </remarks>
-            <param name="key">The key.</param>
-            <param name="value">The value.</param>
-        </member>
-        <member name="M:Castle.Core.ParameterModelCollection.Clear">
-            <summary>
-            Clears this instance.
-            </summary>
-            <remarks>
-            Not implemented
-            </remarks>
-        </member>
-        <member name="M:Castle.Core.ParameterModelCollection.Remove(System.Object)">
-            <summary>
-            Removes the specified key.
-            </summary>
-            <param name="key">The key.</param>
-            <remarks>
-            Not implemented
-            </remarks>
-        </member>
-        <member name="M:Castle.Core.ParameterModelCollection.CopyTo(System.Array,System.Int32)">
-            <summary>
-            Copy the content to the specified array
-            </summary>
-            <param name="array">target array</param>
-            <param name="index">target index</param>
-            <remarks>
-            Not implemented
-            </remarks>
-        </member>
-        <member name="M:Castle.Core.ParameterModelCollection.GetEnumerator">
-            <summary>
-            Returns an enumerator that can iterate through a collection.
-            </summary>
-            <returns>
-            An <see cref="T:System.Collections.IEnumerator"/>
-            that can be used to iterate through the collection.
-            </returns>
-        </member>
-        <member name="P:Castle.Core.ParameterModelCollection.Keys">
-            <summary>
-            Gets the keys.
-            </summary>
-            <value>The keys.</value>
-            <remarks>
-            Not implemented
-            </remarks>
-        </member>
-        <member name="P:Castle.Core.ParameterModelCollection.Values">
-            <summary>
-            Gets the values.
-            </summary>
-            <value>The values.</value>
-            <remarks>
-            Not implemented
-            </remarks>
-        </member>
-        <member name="P:Castle.Core.ParameterModelCollection.IsReadOnly">
-            <summary>
-            Gets a value indicating whether this instance is read only.
-            </summary>
-            <value>
-            	<c>true</c> if this instance is read only; otherwise, <c>false</c>.
-            </value>
-        </member>
-        <member name="P:Castle.Core.ParameterModelCollection.IsFixedSize">
-            <summary>
-            Gets a value indicating whether this instance is fixed size.
-            </summary>
-            <value>
-            	<c>true</c> if this instance is fixed size; otherwise, <c>false</c>.
-            </value>
-        </member>
-        <member name="P:Castle.Core.ParameterModelCollection.Item(System.Object)">
-            <summary>
-            Gets the <see cref="T:Castle.Core.ParameterModel"/> with the specified key.
-            </summary>
-            <value></value>
-        </member>
-        <member name="P:Castle.Core.ParameterModelCollection.Count">
-            <summary>
-            Gets the count.
-            </summary>
-            <value>The count.</value>
-        </member>
-        <member name="P:Castle.Core.ParameterModelCollection.SyncRoot">
-            <summary>
-            Gets the sync root.
-            </summary>
-            <value>The sync root.</value>
-        </member>
-        <member name="P:Castle.Core.ParameterModelCollection.IsSynchronized">
-            <summary>
-            Gets a value indicating whether this instance is synchronized.
-            </summary>
-            <value>
-            	<c>true</c> if this instance is synchronized; otherwise, <c>false</c>.
-            </value>
-        </member>
-        <member name="T:Castle.Core.PropertySet">
-            <summary>
-            Represents a property and the respective dependency.
-            </summary>
-        </member>
-        <member name="M:Castle.Core.PropertySet.#ctor(System.Reflection.PropertyInfo,Castle.Core.DependencyModel)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.Core.PropertySet"/> class.
-            </summary>
-            <param name="propertyInfo">The property info.</param>
-            <param name="dependency">The dependency.</param>
-        </member>
-        <member name="P:Castle.Core.PropertySet.Property">
-            <summary>
-            Gets the property.
-            </summary>
-            <value>The property.</value>
-        </member>
-        <member name="P:Castle.Core.PropertySet.Dependency">
-            <summary>
-            Gets the dependency.
-            </summary>
-            <value>The dependency.</value>
-        </member>
-        <member name="T:Castle.Core.PropertySetCollection">
-            <summary>
-            Collection of <see cref="T:Castle.Core.PropertySet"/>
-            </summary>
-        </member>
-        <member name="M:Castle.Core.PropertySetCollection.FindByPropertyInfo(System.Reflection.PropertyInfo)">
-            <summary>
-            Finds a PropertySet the by PropertyInfo.
-            </summary>
-            <param name="info">The info.</param>
-            <returns></returns>
-        </member>
-        <member name="T:Castle.Core.Resource.IResource">
-            <summary>
-            Represents a 'streamable' resource. Can
-            be a file, a resource in an assembly.
-            </summary>
-        </member>
-        <member name="M:Castle.Core.Resource.IResource.GetStreamReader">
-            <summary>
-            Returns a reader for the stream
-            </summary>
-            <remarks>
-            It's up to the caller to dispose the reader.
-            </remarks>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.Core.Resource.IResource.GetStreamReader(System.Text.Encoding)">
-            <summary>
-            Returns a reader for the stream
-            </summary>
-            <remarks>
-            It's up to the caller to dispose the reader.
-            </remarks>
-            <param name="encoding"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.Core.Resource.IResource.CreateRelative(System.String)">
-            <summary>
-            Returns an instance of <see cref="T:Castle.Core.Resource.IResource"/>
-            created according to the <c>relativePath</c>
-            using itself as the root.
-            </summary>
-            <param name="relativePath"></param>
-            <returns></returns>
-        </member>
-        <member name="P:Castle.Core.Resource.IResource.FileBasePath">
-            <summary>
-            
-            </summary>
-            <remarks>
-            Only valid for resources that
-            can be obtained through relative paths
-            </remarks>
-        </member>
-        <member name="T:Castle.Core.Resource.AbstractStreamResource">
-            <summary>
-            
-            </summary>
-        </member>
-        <member name="F:Castle.Core.Resource.AbstractStreamResource.CreateStream">
-            <summary>
-            This returns a new stream instance each time it is called.
-            It is the responsability of the caller to dispose of this stream
-            </summary>
-        </member>
-        <member name="T:Castle.Core.Resource.AssemblyResourceFactory">
-            <summary>
-            
-            </summary>
-        </member>
-        <member name="T:Castle.Core.Resource.IResourceFactory">
-            <summary>
-            Depicts the contract for resource factories.
-            </summary>
-        </member>
-        <member name="M:Castle.Core.Resource.IResourceFactory.Accept(Castle.Core.Resource.CustomUri)">
-            <summary>
-            Used to check whether the resource factory
-            is able to deal with the given resource
-            identifier.
-            </summary>
-            <remarks>
-            Implementors should return <c>true</c>
-            only if the given identificator is supported
-            by the resource factory
-            </remarks>
-            <param name="uri"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.Core.Resource.IResourceFactory.Create(Castle.Core.Resource.CustomUri)">
-            <summary>
-            Creates an <see cref="T:Castle.Core.Resource.IResource"/> instance
-            for the given resource identifier
-            </summary>
-            <param name="uri"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.Core.Resource.IResourceFactory.Create(Castle.Core.Resource.CustomUri,System.String)">
-            <summary>
-            Creates an <see cref="T:Castle.Core.Resource.IResource"/> instance
-            for the given resource identifier
-            </summary>
-            <param name="uri"></param>
-            <param name="basePath"></param>
-            <returns></returns>
-        </member>
-        <member name="T:Castle.Core.Resource.FileResource">
-            <summary>
-            
-            </summary>
-        </member>
-        <member name="T:Castle.Core.Resource.FileResourceFactory">
-            <summary>
-            
-            </summary>
-        </member>
-        <member name="T:Castle.Core.Resource.StaticContentResource">
-            <summary>
-            Adapts a static string content as an <see cref="T:Castle.Core.Resource.IResource"/>
-            </summary>
-        </member>
-        <member name="T:Castle.Core.Resource.UncResource">
-            <summary>
-            Enable access to files on network shares
-            </summary>
-        </member>
-        <member name="T:Castle.Core.IServiceEnabledComponent">
-            <summary>
-            Defines that the implementation wants a 
-            <see cref="T:System.IServiceProvider"/> in order to 
-            access other components. The creator must be aware
-            that the component might (or might not) implement 
-            the interface.
-            </summary>
-            <remarks>
-            Used by Castle Project components to, for example, 
-            gather logging factories
-            </remarks>
-        </member>
-        <member name="T:Castle.Core.IServiceProviderEx">
-            <summary>
-            Increments <c>IServiceProvider</c> with a generic service resolution operation.
-            </summary>
-        </member>
-        <member name="T:Castle.Core.IServiceProviderExAccessor">
-            <summary>
-            This interface should be implemented by classes
-            that are available in a bigger context, exposing
-            the container to different areas in the same application.
-            <para>
-            For example, in Web application, the (global) HttpApplication
-            subclasses should implement this interface to expose 
-            the configured container
-            </para>
-            </summary>
-        </member>
-        <member name="T:Castle.Core.Pair`2">
-            <summary>
-            General purpose class to represent a standard pair of values. 
-            </summary>
-            <typeparam name="TFirst">Type of the first value</typeparam>
-            <typeparam name="TSecond">Type of the second value</typeparam>
-        </member>
-        <member name="M:Castle.Core.Pair`2.#ctor(`0,`1)">
-            <summary>
-            Constructs a pair with its values
-            </summary>
-            <param name="first"></param>
-            <param name="second"></param>
-        </member>
-        <member name="T:Castle.Core.ReflectionBasedDictionaryAdapter">
-            <summary>
-            Pendent
-            </summary>
-        </member>
-        <member name="M:Castle.Core.ReflectionBasedDictionaryAdapter.#ctor(System.Object)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.Core.ReflectionBasedDictionaryAdapter"/> class.
-            </summary>
-            <param name="target">The target.</param>
-        </member>
-        <member name="M:Castle.Core.ReflectionBasedDictionaryAdapter.Contains(System.Object)">
-            <summary>
-            Determines whether the <see cref="T:System.Collections.IDictionary"/> object contains an element with the specified key.
-            </summary>
-            <param name="key">The key to locate in the <see cref="T:System.Collections.IDictionary"/> object.</param>
-            <returns>
-            true if the <see cref="T:System.Collections.IDictionary"/> contains an element with the key; otherwise, false.
-            </returns>
-            <exception cref="T:System.ArgumentNullException">
-            	<paramref name="key"/> is null. </exception>
-        </member>
-        <member name="M:Castle.Core.ReflectionBasedDictionaryAdapter.Add(System.Object,System.Object)">
-            <summary>
-            Adds an element with the provided key and value to the <see cref="T:System.Collections.IDictionary"/> object.
-            </summary>
-            <param name="key">The <see cref="T:System.Object"/> to use as the key of the element to add.</param>
-            <param name="value">The <see cref="T:System.Object"/> to use as the value of the element to add.</param>
-            <exception cref="T:System.ArgumentNullException">
-            	<paramref name="key"/> is null. </exception>
-            <exception cref="T:System.ArgumentException">An element with the same key already exists in the <see cref="T:System.Collections.IDictionary"/> object. </exception>
-            <exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.IDictionary"/> is read-only.-or- The <see cref="T:System.Collections.IDictionary"/> has a fixed size. </exception>
-        </member>
-        <member name="M:Castle.Core.ReflectionBasedDictionaryAdapter.Clear">
-            <summary>
-            Removes all elements from the <see cref="T:System.Collections.IDictionary"/> object.
-            </summary>
-            <exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.IDictionary"/> object is read-only. </exception>
-        </member>
-        <member name="M:Castle.Core.ReflectionBasedDictionaryAdapter.System#Collections#IDictionary#GetEnumerator">
-            <summary>
-            Returns an <see cref="T:System.Collections.IDictionaryEnumerator"/> object for the <see cref="T:System.Collections.IDictionary"/> object.
-            </summary>
-            <returns>
-            An <see cref="T:System.Collections.IDictionaryEnumerator"/> object for the <see cref="T:System.Collections.IDictionary"/> object.
-            </returns>
-        </member>
-        <member name="M:Castle.Core.ReflectionBasedDictionaryAdapter.Remove(System.Object)">
-            <summary>
-            Removes the element with the specified key from the <see cref="T:System.Collections.IDictionary"/> object.
-            </summary>
-            <param name="key">The key of the element to remove.</param>
-            <exception cref="T:System.ArgumentNullException">
-            	<paramref name="key"/> is null. </exception>
-            <exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.IDictionary"/> object is read-only.-or- The <see cref="T:System.Collections.IDictionary"/> has a fixed size. </exception>
-        </member>
-        <member name="M:Castle.Core.ReflectionBasedDictionaryAdapter.CopyTo(System.Array,System.Int32)">
-            <summary>
-            Copies the elements of the <see cref="T:System.Collections.ICollection"/> to an <see cref="T:System.Array"/>, starting at a particular <see cref="T:System.Array"/> index.
-            </summary>
-            <param name="array">The one-dimensional <see cref="T:System.Array"/> that is the destination of the elements copied from <see cref="T:System.Collections.ICollection"/>. The <see cref="T:System.Array"/> must have zero-based indexing.</param>
-            <param name="index">The zero-based index in <paramref name="array"/> at which copying begins.</param>
-            <exception cref="T:System.ArgumentNullException">
-            	<paramref name="array"/> is null. </exception>
-            <exception cref="T:System.ArgumentOutOfRangeException">
-            	<paramref name="index"/> is less than zero. </exception>
-            <exception cref="T:System.ArgumentException">
-            	<paramref name="array"/> is multidimensional.-or- <paramref name="index"/> is equal to or greater than the length of <paramref name="array"/>.-or- The number of elements in the source <see cref="T:System.Collections.ICollection"/> is greater than the available space from <paramref name="index"/> to the end of the destination <paramref name="array"/>. </exception>
-            <exception cref="T:System.ArgumentException">The type of the source <see cref="T:System.Collections.ICollection"/> cannot be cast automatically to the type of the destination <paramref name="array"/>. </exception>
-        </member>
-        <member name="M:Castle.Core.ReflectionBasedDictionaryAdapter.GetEnumerator">
-            <summary>
-            Returns an enumerator that iterates through a collection.
-            </summary>
-            <returns>
-            An <see cref="T:System.Collections.IEnumerator"/> object that can be used to iterate through the collection.
-            </returns>
-        </member>
-        <member name="P:Castle.Core.ReflectionBasedDictionaryAdapter.Item(System.Object)">
-            <summary>
-            Gets or sets the <see cref="T:System.Object"/> with the specified key.
-            </summary>
-            <value></value>
-        </member>
-        <member name="P:Castle.Core.ReflectionBasedDictionaryAdapter.Keys">
-            <summary>
-            Gets an <see cref="T:System.Collections.ICollection"/> object containing the keys of the <see cref="T:System.Collections.IDictionary"/> object.
-            </summary>
-            <value></value>
-            <returns>An <see cref="T:System.Collections.ICollection"/> object containing the keys of the <see cref="T:System.Collections.IDictionary"/> object.</returns>
-        </member>
-        <member name="P:Castle.Core.ReflectionBasedDictionaryAdapter.Values">
-            <summary>
-            Gets an <see cref="T:System.Collections.ICollection"/> object containing the values in the <see cref="T:System.Collections.IDictionary"/> object.
-            </summary>
-            <value></value>
-            <returns>An <see cref="T:System.Collections.ICollection"/> object containing the values in the <see cref="T:System.Collections.IDictionary"/> object.</returns>
-        </member>
-        <member name="P:Castle.Core.ReflectionBasedDictionaryAdapter.IsReadOnly">
-            <summary>
-            Gets a value indicating whether the <see cref="T:System.Collections.IDictionary"/> object is read-only.
-            </summary>
-            <value></value>
-            <returns>true if the <see cref="T:System.Collections.IDictionary"/> object is read-only; otherwise, false.</returns>
-        </member>
-        <member name="P:Castle.Core.ReflectionBasedDictionaryAdapter.IsFixedSize">
-            <summary>
-            Gets a value indicating whether the <see cref="T:System.Collections.IDictionary"/> object has a fixed size.
-            </summary>
-            <value></value>
-            <returns>true if the <see cref="T:System.Collections.IDictionary"/> object has a fixed size; otherwise, false.</returns>
-        </member>
-        <member name="P:Castle.Core.ReflectionBasedDictionaryAdapter.Count">
-            <summary>
-            Gets the number of elements contained in the <see cref="T:System.Collections.ICollection"/>.
-            </summary>
-            <value></value>
-            <returns>The number of elements contained in the <see cref="T:System.Collections.ICollection"/>.</returns>
-        </member>
-        <member name="P:Castle.Core.ReflectionBasedDictionaryAdapter.SyncRoot">
-            <summary>
-            Gets an object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection"/>.
-            </summary>
-            <value></value>
-            <returns>An object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection"/>.</returns>
-        </member>
-        <member name="P:Castle.Core.ReflectionBasedDictionaryAdapter.IsSynchronized">
-            <summary>
-            Gets a value indicating whether access to the <see cref="T:System.Collections.ICollection"/> is synchronized (thread safe).
-            </summary>
-            <value></value>
-            <returns>true if access to the <see cref="T:System.Collections.ICollection"/> is synchronized (thread safe); otherwise, false.</returns>
-        </member>
-    </members>
-</doc>
trunk/build/lib/app/castle/Castle.DynamicProxy2.dll
Binary file
trunk/build/lib/app/castle/Castle.DynamicProxy2.xml
@@ -1,688 +0,0 @@
-<?xml version="1.0"?>
-<doc>
-    <assembly>
-        <name>Castle.DynamicProxy2</name>
-    </assembly>
-    <members>
-        <member name="T:Castle.DynamicProxy.Generators.Emitters.SimpleAST.IndirectReference">
-            <summary>
-            Wraps a reference that is passed 
-            ByRef and provides indirect load/store support.
-            </summary>
-        </member>
-        <member name="T:Castle.DynamicProxy.Generators.Emitters.SimpleAST.NewArrayExpression">
-            <summary>
-            Summary description for NewArrayExpression.
-            </summary>
-        </member>
-        <member name="T:Castle.DynamicProxy.Generators.Emitters.SimpleAST.ReferencesToObjectArrayExpression">
-            <summary>
-            
-            </summary>
-        </member>
-        <member name="M:Castle.DynamicProxy.Generators.Emitters.CustomAttributeUtil.InitializeConstructorArgs(System.Type,System.Attribute,System.Object[],System.Reflection.ParameterInfo[])">
-            <summary>
-            Here we try to match a constructor argument to its value.
-            Since we can't get the values from the assembly, we use some heuristics to get it.
-            a/ we first try to match all the properties on the attributes by name (case insensitive) to the argument
-            b/ if we fail we try to match them by property type, with some smarts about convertions (i,e: can use Guid for string).
-            </summary>
-        </member>
-        <member name="M:Castle.DynamicProxy.Generators.Emitters.CustomAttributeUtil.ReplaceIfBetterMatch(System.Reflection.ParameterInfo,System.Reflection.PropertyInfo,System.Reflection.PropertyInfo)">
-            <summary>
-            We have the following rules here.
-            Try to find a matching type, failing that, if the parameter is string, get the first property (under the assumption that
-            we can convert it.
-            </summary>
-        </member>
-        <member name="M:Castle.DynamicProxy.Generators.Emitters.CustomAttributeUtil.ConvertValue(System.Object,System.Type)">
-            <summary>
-            Attributes can only accept simple types, so we return null for null,
-            if the value is passed as string we call to string (should help with converting), 
-            otherwise, we use the value as is (enums, integer, etc).
-            </summary>
-        </member>
-        <member name="T:Castle.DynamicProxy.Generators.Emitters.LdcOpCodesDictionary">
-            <summary>
-            Provides appropriate Ldc.X opcode for the type of primitive value to be loaded.
-            </summary>
-        </member>
-        <member name="T:Castle.DynamicProxy.Generators.Emitters.LdindOpCodesDictionary">
-            <summary>
-            Provides appropriate Ldind.X opcode for 
-            the type of primitive value to be loaded indirectly.
-            </summary>
-        </member>
-        <member name="M:Castle.DynamicProxy.Generators.Emitters.MethodEmitter.CopyParametersAndReturnTypeFrom(System.Reflection.MethodInfo,Castle.DynamicProxy.Generators.Emitters.AbstractTypeEmitter)">
-            <summary>
-            Inspect the base method for generic definitions
-            and set the return type and the parameters
-            accordingly
-            </summary>
-        </member>
-        <member name="M:Castle.DynamicProxy.Generators.Emitters.OpCodeUtil.EmitLoadOpCodeForConstantValue(System.Reflection.Emit.ILGenerator,System.Object)">
-            <summary>
-            Emits a load opcode of the appropriate kind for a constant string or
-            primitive value.
-            </summary>
-            <param name="gen"></param>
-            <param name="value"></param>
-        </member>
-        <member name="M:Castle.DynamicProxy.Generators.Emitters.OpCodeUtil.EmitLoadOpCodeForDefaultValueOfType(System.Reflection.Emit.ILGenerator,System.Type)">
-            <summary>
-            Emits a load opcode of the appropriate kind for the constant default value of a
-            type, such as 0 for value types and null for reference types.
-            </summary>
-        </member>
-        <member name="M:Castle.DynamicProxy.Generators.Emitters.OpCodeUtil.EmitLoadIndirectOpCodeForType(System.Reflection.Emit.ILGenerator,System.Type)">
-            <summary>
-            Emits a load indirect opcode of the appropriate type for a value or object reference.
-            Pops a pointer off the evaluation stack, dereferences it and loads
-            a value of the specified type.
-            </summary>
-            <param name="gen"></param>
-            <param name="type"></param>
-        </member>
-        <member name="M:Castle.DynamicProxy.Generators.Emitters.OpCodeUtil.EmitStoreIndirectOpCodeForType(System.Reflection.Emit.ILGenerator,System.Type)">
-            <summary>
-            Emits a store indirectopcode of the appropriate type for a value or object reference.
-            Pops a value of the specified type and a pointer off the evaluation stack, and
-            stores the value.
-            </summary>
-            <param name="gen"></param>
-            <param name="type"></param>
-        </member>
-        <member name="T:Castle.DynamicProxy.Generators.Emitters.PropertiesCollection">
-            <summary>
-            Summary description for PropertiesCollection.
-            </summary>
-        </member>
-        <member name="T:Castle.DynamicProxy.Generators.Emitters.StindOpCodesDictionary">
-            <summary>
-            Provides appropriate Stind.X opcode 
-            for the type of primitive value to be stored indirectly.
-            </summary>
-        </member>
-        <member name="T:Castle.DynamicProxy.Generators.BaseProxyGenerator">
-            <summary>
-            Base class that exposes the common functionalities
-            to proxy generation.
-            </summary>
-            <remarks>
-            TODO: 
-            - Use the interceptor selector if provided
-            - Add tests and fixes for 'leaking this' problem
-            </remarks>
-        </member>
-        <member name="M:Castle.DynamicProxy.Generators.BaseProxyGenerator.GetProxyTargetReference">
-            <summary>
-            Used by dinamically implement <see cref="T:Castle.Core.Interceptor.IProxyTargetAccessor"/>
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.DynamicProxy.Generators.BaseProxyGenerator.GenerateParameterlessConstructor(Castle.DynamicProxy.Generators.Emitters.ClassEmitter,System.Type,Castle.DynamicProxy.Generators.Emitters.SimpleAST.FieldReference)">
-            <summary>
-            Generates a parameters constructor that initializes the proxy
-            state with <see cref="T:Castle.Core.Interceptor.StandardInterceptor"/> just to make it non-null.
-            <para>
-            This constructor is important to allow proxies to be XML serializable
-            </para>
-            </summary>
-        </member>
-        <member name="M:Castle.DynamicProxy.Generators.BaseProxyGenerator.BuildInvocationNestedType(Castle.DynamicProxy.Generators.Emitters.ClassEmitter,System.Type,System.Type,System.Reflection.MethodInfo,System.Reflection.MethodInfo,Castle.DynamicProxy.Generators.ConstructorVersion)">
-            <summary>
-            If callbackMethod is null the InvokeOnTarget implementation 
-            is just the code to throw an exception
-            </summary>
-            <param name="emitter"></param>
-            <param name="targetType"></param>
-            <param name="targetForInvocation"></param>
-            <param name="methodInfo"></param>
-            <param name="callbackMethod"></param>
-            <param name="version"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.DynamicProxy.Generators.BaseProxyGenerator.BuildInvocationNestedType(Castle.DynamicProxy.Generators.Emitters.ClassEmitter,System.Type,System.Type,System.Reflection.MethodInfo,System.Reflection.MethodInfo,Castle.DynamicProxy.Generators.ConstructorVersion,System.Boolean)">
-            <summary>
-            If callbackMethod is null the InvokeOnTarget implementation
-            is just the code to throw an exception
-            </summary>
-            <param name="emitter"></param>
-            <param name="targetType"></param>
-            <param name="targetForInvocation"></param>
-            <param name="methodInfo"></param>
-            <param name="callbackMethod"></param>
-            <param name="version"></param>
-            <param name="allowChangeTarget">If true the invocation will implement the IChangeProxyTarget interface</param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.DynamicProxy.Generators.BaseProxyGenerator.CreateIInvocationConstructor(System.Type,Castle.DynamicProxy.Generators.Emitters.NestedClassEmitter,Castle.DynamicProxy.Generators.Emitters.SimpleAST.FieldReference,Castle.DynamicProxy.Generators.ConstructorVersion)">
-            <summary>
-            Generates the constructor for the nested class that extends
-            <see cref="T:Castle.DynamicProxy.AbstractInvocation"/>
-            </summary>
-            <param name="targetFieldType"></param>
-            <param name="nested"></param>
-            <param name="targetField"></param>
-            <param name="version"></param>
-        </member>
-        <member name="M:Castle.DynamicProxy.Generators.BaseProxyGenerator.CreateInitializeCacheMethodBody(System.Type,System.Reflection.MethodInfo[],Castle.DynamicProxy.Generators.Emitters.ClassEmitter,Castle.DynamicProxy.Generators.Emitters.ConstructorEmitter)">
-            <summary>
-            Improvement: this cache should be static. We should generate a
-            type constructor instead
-            </summary>
-        </member>
-        <member name="M:Castle.DynamicProxy.Generators.BaseProxyGenerator.AcceptMethod(System.Reflection.MethodInfo,System.Boolean)">
-            <summary>
-            Performs some basic screening and invokes the <see cref="T:Castle.DynamicProxy.IProxyGenerationHook"/>
-            to select methods.
-            </summary>
-            <param name="method"></param>
-            <param name="onlyVirtuals"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.DynamicProxy.Generators.BaseProxyGenerator.IsAccessible(System.Reflection.MethodInfo)">
-            <summary>
-            Checks if the method is public or protected.
-            </summary>
-            <param name="method"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.DynamicProxy.Generators.BaseProxyGenerator.ShouldSkipAttributeReplication(System.Attribute)">
-            <summary>
-            Attributes should be replicated if they are non-inheritable,
-            but there are some special cases where the attributes means
-            something to the CLR, where they should be skipped.
-            </summary>
-        </member>
-        <member name="M:Castle.DynamicProxy.Generators.BaseProxyGenerator.ShouldCreateNewSlot(System.Reflection.MethodInfo)">
-            <summary>
-            Checks if the method has the same signature as a method that was marked as
-            one that should generate a new vtable slot.
-            </summary>
-        </member>
-        <member name="M:Castle.DynamicProxy.Generators.CacheKey.#ctor(System.Type,System.Type[],Castle.DynamicProxy.ProxyGenerationOptions)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.DynamicProxy.Generators.CacheKey"/> class.
-            </summary>
-            <param name="targetType">Type of the target.</param>
-            <param name="interfaces">The interfaces.</param>
-            <param name="options">The options.</param>
-        </member>
-        <member name="T:Castle.DynamicProxy.Generators.ClassProxyGenerator">
-            <summary>
-            
-            </summary>
-        </member>
-        <member name="M:Castle.DynamicProxy.Generators.EventToGenerate.#ctor(Castle.DynamicProxy.Generators.Emitters.EventEmitter,System.Reflection.MethodInfo,System.Reflection.MethodInfo,System.Reflection.EventAttributes)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.DynamicProxy.Generators.EventToGenerate"/> class.
-            </summary>
-            <param name="emitter">The emitter.</param>
-            <param name="addMethod">The add method.</param>
-            <param name="removeMethod">The remove method.</param>
-            <param name="attributes">The attributes.</param>
-        </member>
-        <member name="T:Castle.DynamicProxy.Generators.InterfaceProxyWithTargetGenerator">
-            <summary>
-            
-            </summary>
-        </member>
-        <member name="M:Castle.DynamicProxy.Generators.InterfaceProxyWithTargetGenerator.FindMethodOnTargetType(System.Reflection.MethodInfo,System.Type,System.Boolean)">
-            <summary>
-            Finds the type of the method on target.
-            </summary>
-            <param name="methodOnInterface">The method on interface.</param>
-            <param name="proxyTargetType">Type of the proxy target.</param>
-            /// <param name="checkMixins">if set to <c>true</c> will check implementation on mixins.</param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.DynamicProxy.Generators.InterfaceProxyWithTargetGenerator.IsTypeEquivalent(System.Type,System.Type)">
-            <summary>
-            Checks whether the given types are the same. This is 
-            more complicated than it looks.
-            </summary>
-            <param name="sourceType"></param>
-            <param name="targetType"></param>
-            <returns></returns>
-        </member>
-        <member name="T:Castle.DynamicProxy.Generators.InterfaceGeneratorType">
-            <summary>
-            This is used by the ProxyObjectReference class durin de-serialiation, to know
-            which generator it should use
-            </summary>
-        </member>
-        <member name="T:Castle.DynamicProxy.Generators.MethodFinder">
-            <summary>
-            Returns the methods implemented by a type. Use this instead of Type.GetMethods() to work around a CLR issue
-            where duplicate MethodInfos are returned by Type.GetMethods() after a token of a generic type's method was loaded.
-            </summary>
-        </member>
-        <member name="T:Castle.DynamicProxy.Serialization.ProxyObjectReference">
-            <summary>
-            Handles the deserialization of proxies.
-            </summary>
-        </member>
-        <member name="M:Castle.DynamicProxy.Serialization.ProxyObjectReference.ResetScope">
-            <summary>
-            Resets the <see cref="P:Castle.DynamicProxy.Serialization.ProxyObjectReference.ModuleScope"/> used for deserialization to a new scope.
-            </summary>
-            <remarks>This is useful for test cases.</remarks>
-        </member>
-        <member name="M:Castle.DynamicProxy.Serialization.ProxyObjectReference.SetScope(Castle.DynamicProxy.ModuleScope)">
-            <summary>
-            Resets the <see cref="P:Castle.DynamicProxy.Serialization.ProxyObjectReference.ModuleScope"/> used for deserialization to a given <paramref name="scope"/>.
-            </summary>
-            <param name="scope">The scope to be used for deserialization.</param>
-            <remarks>By default, the deserialization process uses a different scope than the rest of the application, which can lead to multiple proxies
-            being generated for the same type. By explicitly setting the deserialization scope to the application's scope, this can be avoided.</remarks>
-        </member>
-        <member name="P:Castle.DynamicProxy.Serialization.ProxyObjectReference.ModuleScope">
-            <summary>
-            Gets the <see cref="T:Castle.DynamicProxy.ModuleScope"/> used for deserialization.
-            </summary>
-            <value>As <see cref="T:Castle.DynamicProxy.Serialization.ProxyObjectReference"/> has no way of automatically determining the scope used by the application (and the application
-            might use more than one scope at the same time), <see cref="T:Castle.DynamicProxy.Serialization.ProxyObjectReference"/> uses a dedicated scope instance for deserializing proxy
-            types. This instance can be reset and set to a specific value via <see cref="M:Castle.DynamicProxy.Serialization.ProxyObjectReference.ResetScope"/> and <see cref="M:Castle.DynamicProxy.Serialization.ProxyObjectReference.SetScope(Castle.DynamicProxy.ModuleScope)"/>.</value>
-        </member>
-        <member name="T:Castle.DynamicProxy.IProxyGenerationHook">
-            <summary>
-            Used during the target type inspection process.
-            Implementors have a chance to interfere in the
-            proxy generation process
-            </summary>
-        </member>
-        <member name="M:Castle.DynamicProxy.IProxyGenerationHook.ShouldInterceptMethod(System.Type,System.Reflection.MethodInfo)">
-            <summary>
-            Invoked by the generation process to know if
-            the specified member should be proxied
-            </summary>
-            <param name="type"></param>
-            <param name="memberInfo"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.DynamicProxy.IProxyGenerationHook.NonVirtualMemberNotification(System.Type,System.Reflection.MemberInfo)">
-            <summary>
-            Invoked by the generation process to notify that a
-            member wasn't marked as virtual.
-            </summary>
-            <param name="type"></param>
-            <param name="memberInfo"></param>
-        </member>
-        <member name="M:Castle.DynamicProxy.IProxyGenerationHook.MethodsInspected">
-            <summary>
-            Invoked by the generation process to notify 
-            that the whole process is completed.
-            </summary>
-        </member>
-        <member name="T:Castle.DynamicProxy.CacheMappingsAttribute">
-            <summary>
-            Applied to the assemblies saved by <see cref="T:Castle.DynamicProxy.ModuleScope"/> in order to persist the cache data included in the persisted assembly.
-            </summary>
-        </member>
-        <member name="T:Castle.DynamicProxy.IProxyBuilder">
-            <summary>
-            Abstracts the implementation of proxy constructions
-            </summary>
-        </member>
-        <member name="M:Castle.DynamicProxy.IProxyBuilder.CreateClassProxy(System.Type,Castle.DynamicProxy.ProxyGenerationOptions)">
-            <summary>
-            Implementors should return a proxy for the specified type.
-            </summary>
-            <param name="theClass">The proxy base class.</param>
-            <param name="options">The proxy generation options.</param>
-            <returns>The generated proxy type.</returns>
-        </member>
-        <member name="M:Castle.DynamicProxy.IProxyBuilder.CreateClassProxy(System.Type,System.Type[],Castle.DynamicProxy.ProxyGenerationOptions)">
-            <summary>
-            Implementors should return a proxy for the specified
-            type and interfaces. The interfaces must be only "mark" interfaces
-            </summary>
-            <param name="theClass"></param>
-            <param name="interfaces"></param>
-            <param name="options"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.DynamicProxy.IProxyBuilder.CreateInterfaceProxyTypeWithTarget(System.Type,System.Type[],System.Type,Castle.DynamicProxy.ProxyGenerationOptions)">
-            <summary>
-            Implementors should return a proxy for the specified
-            interface that 'proceeds' executions to the 
-            specified target.
-            </summary>
-            <param name="theInterface"></param>
-            <param name="interfaces"></param>
-            <param name="targetType"></param>
-            <param name="options"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.DynamicProxy.IProxyBuilder.CreateInterfaceProxyTypeWithoutTarget(System.Type,System.Type[],Castle.DynamicProxy.ProxyGenerationOptions)">
-            <summary>
-            Implementors should return a proxy for the specified
-            interface that delegate all executions to the 
-            specified interceptor(s).
-            </summary>
-            <param name="theInterface"></param>
-            <param name="interfaces"></param>
-            <param name="options"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.DynamicProxy.IProxyBuilder.CreateInterfaceProxyTypeWithTargetInterface(System.Type,Castle.DynamicProxy.ProxyGenerationOptions)">
-            <summary>
-            Implementors should return a proxy for the specified
-            interface that delegate all executions to the
-            specified interceptor(s) and uses an instance of the interface
-            as their targets, rather than a class. All IInvocation's
-            should then implement IChangeProxyTarget.
-            </summary>
-            <param name="theInterface"></param>
-            <param name="options"></param>
-            <returns></returns>
-        </member>
-        <member name="P:Castle.DynamicProxy.IProxyBuilder.ModuleScope">
-            <summary>
-            Gets the module scope used by this builder for generating code.
-            </summary>
-            <value>The module scope used by this builder.</value>
-        </member>
-        <member name="M:Castle.DynamicProxy.InternalsHelper.IsInternalToDynamicProxy(System.Reflection.Assembly)">
-            <summary>
-            Determines whether this assembly has internals visisble to dynamic proxy.
-            </summary>
-            <param name="asm">The asm.</param>
-        </member>
-        <member name="M:Castle.DynamicProxy.InternalsHelper.IsInternal(System.Reflection.MethodInfo)">
-            <summary>
-            Determines whether the specified method is internal.
-            </summary>
-            <param name="method">The method.</param>
-            <returns>
-            	<c>true</c> if the specified method is internal; otherwise, <c>false</c>.
-            </returns>
-        </member>
-        <member name="M:Castle.DynamicProxy.MixinData.#ctor(System.Collections.Generic.IEnumerable{System.Object})">
-            <summary>
-            Because we need to cache the types based on the mixed in mixins, we do the following here:
-             - Get all the mixin interfaces
-             - Sort them by full name
-             - Return them by position
-            
-            The idea is to have reproducable behavior for the case that mixins are registered in different orders.
-            This method is here because it is required 
-            </summary>
-        </member>
-        <member name="T:Castle.DynamicProxy.ModuleScope">
-            <summary>
-            Summary description for ModuleScope.
-            </summary>
-        </member>
-        <member name="F:Castle.DynamicProxy.ModuleScope.DEFAULT_FILE_NAME">
-            <summary>
-            The default file name used when the assembly is saved using <see cref="F:Castle.DynamicProxy.ModuleScope.DEFAULT_FILE_NAME"/>.
-            </summary>
-        </member>
-        <member name="F:Castle.DynamicProxy.ModuleScope.DEFAULT_ASSEMBLY_NAME">
-            <summary>
-            The default assembly (simple) name used for the assemblies generated by a <see cref="T:Castle.DynamicProxy.ModuleScope"/> instance.
-            </summary>
-        </member>
-        <member name="M:Castle.DynamicProxy.ModuleScope.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.DynamicProxy.ModuleScope"/> class; assemblies created by this instance will not be saved.
-            </summary>
-        </member>
-        <member name="M:Castle.DynamicProxy.ModuleScope.#ctor(System.Boolean)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.DynamicProxy.ModuleScope"/> class, allowing to specify whether the assemblies generated by this instance
-            should be saved.
-            </summary>
-            <param name="savePhysicalAssembly">If set to <c>true</c> saves the generated module.</param>
-        </member>
-        <member name="M:Castle.DynamicProxy.ModuleScope.#ctor(System.Boolean,System.String,System.String,System.String,System.String)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.DynamicProxy.ModuleScope"/> class, allowing to specify whether the assemblies generated by this instance
-            should be saved and what simple names are to be assigned to them.
-            </summary>
-            <param name="savePhysicalAssembly">If set to <c>true</c> saves the generated module.</param>
-            <param name="strongAssemblyName">The simple name of the strong-named assembly generated by this <see cref="T:Castle.DynamicProxy.ModuleScope"/>.</param>
-            <param name="strongModulePath">The path and file name of the manifest module of the strong-named assembly generated by this <see cref="T:Castle.DynamicProxy.ModuleScope"/>.</param>
-            <param name="weakAssemblyName">The simple name of the weak-named assembly generated by this <see cref="T:Castle.DynamicProxy.ModuleScope"/>.</param>
-            <param name="weakModulePath">The path and file name of the manifest module of the weak-named assembly generated by this <see cref="T:Castle.DynamicProxy.ModuleScope"/>.</param>
-        </member>
-        <member name="M:Castle.DynamicProxy.ModuleScope.GetFromCache(Castle.DynamicProxy.Generators.CacheKey)">
-            <summary>
-            Returns a type from this scope's type cache, or null if the key cannot be found.
-            </summary>
-            <param name="key">The key to be looked up in the cache.</param>
-            <returns>The type from this scope's type cache matching the key, or null if the key cannot be found</returns>
-        </member>
-        <member name="M:Castle.DynamicProxy.ModuleScope.RegisterInCache(Castle.DynamicProxy.Generators.CacheKey,System.Type)">
-            <summary>
-            Registers a type in this scope's type cache.
-            </summary>
-            <param name="key">The key to be associated with the type.</param>
-            <param name="type">The type to be stored in the cache.</param>
-        </member>
-        <member name="M:Castle.DynamicProxy.ModuleScope.GetKeyPair">
-            <summary>
-            Gets the key pair used to sign the strong-named assembly generated by this <see cref="T:Castle.DynamicProxy.ModuleScope"/>.
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.DynamicProxy.ModuleScope.ObtainDynamicModule(System.Boolean)">
-            <summary>
-            Gets the specified module generated by this scope, creating a new one if none has yet been generated.
-            </summary>
-            <param name="isStrongNamed">If set to true, a strong-named module is returned; otherwise, a weak-named module is returned.</param>
-            <returns>A strong-named or weak-named module generated by this scope, as specified by the <paramref name="isStrongNamed"/> parameter.</returns>
-        </member>
-        <member name="M:Castle.DynamicProxy.ModuleScope.ObtainDynamicModuleWithStrongName">
-            <summary>
-            Gets the strong-named module generated by this scope, creating a new one if none has yet been generated.
-            </summary>
-            <returns>A strong-named module generated by this scope.</returns>
-        </member>
-        <member name="M:Castle.DynamicProxy.ModuleScope.ObtainDynamicModuleWithWeakName">
-            <summary>
-            Gets the weak-named module generated by this scope, creating a new one if none has yet been generated.
-            </summary>
-            <returns>A weak-named module generated by this scope.</returns>
-        </member>
-        <member name="M:Castle.DynamicProxy.ModuleScope.SaveAssembly">
-            <summary>
-            Saves the generated assembly with the name and directory information given when this <see cref="T:Castle.DynamicProxy.ModuleScope"/> instance was created (or with
-            the <see cref="F:Castle.DynamicProxy.ModuleScope.DEFAULT_FILE_NAME"/> and current directory if none was given).
-            </summary>
-            <remarks>
-            <para>
-            This method stores the generated assembly in the directory passed as part of the module information specified when this instance was
-            constructed (if any, else the current directory is used). If both a strong-named and a weak-named assembly
-            have been generated, it will throw an exception; in this case, use the <see cref="M:Castle.DynamicProxy.ModuleScope.SaveAssembly(System.Boolean)"/> overload.
-            </para>
-            <para>
-            If this <see cref="T:Castle.DynamicProxy.ModuleScope"/> was created without indicating that the assembly should be saved, this method does nothing.
-            </para></remarks>
-            <exception cref="T:System.InvalidOperationException">Both a strong-named and a weak-named assembly have been generated.</exception>
-            <returns>The path of the generated assembly file, or null if no file has been generated.</returns>
-        </member>
-        <member name="M:Castle.DynamicProxy.ModuleScope.SaveAssembly(System.Boolean)">
-            <summary>
-            Saves the specified generated assembly with the name and directory information given when this <see cref="T:Castle.DynamicProxy.ModuleScope"/> instance was created
-            (or with the <see cref="F:Castle.DynamicProxy.ModuleScope.DEFAULT_FILE_NAME"/> and current directory if none was given).
-            </summary>
-            <param name="strongNamed">True if the generated assembly with a strong name should be saved (see <see cref="P:Castle.DynamicProxy.ModuleScope.StrongNamedModule"/>);
-              false if the generated assembly without a strong name should be saved (see <see cref="P:Castle.DynamicProxy.ModuleScope.WeakNamedModule"/>.</param>
-            <remarks>
-            <para>
-            This method stores the specified generated assembly in the directory passed as part of the module information specified when this instance was
-            constructed (if any, else the current directory is used).
-            </para>
-            <para>
-            If this <see cref="T:Castle.DynamicProxy.ModuleScope"/> was created without indicating that the assembly should be saved, this method does nothing.
-            </para>
-            </remarks>
-            <exception cref="T:System.InvalidOperationException">No assembly has been generated that matches the <paramref name="strongNamed"/> parameter.
-            </exception>
-            <returns>The path of the generated assembly file, or null if no file has been generated.</returns>
-        </member>
-        <member name="M:Castle.DynamicProxy.ModuleScope.LoadAssemblyIntoCache(System.Reflection.Assembly)">
-            <summary>
-            Loads the generated types from the given assembly into this <see cref="T:Castle.DynamicProxy.ModuleScope"/>'s cache.
-            </summary>
-            <param name="assembly">The assembly to load types from. This assembly must have been saved via <see cref="M:Castle.DynamicProxy.ModuleScope.SaveAssembly(System.Boolean)"/> or
-            <see cref="M:Castle.DynamicProxy.ModuleScope.SaveAssembly"/>, or it must have the <see cref="T:Castle.DynamicProxy.CacheMappingsAttribute"/> manually applied.</param>
-            <remarks>
-            This method can be used to load previously generated and persisted proxy types from disk into this scope's type cache, eg. in order
-            to avoid the performance hit associated with proxy generation.
-            </remarks>
-        </member>
-        <member name="P:Castle.DynamicProxy.ModuleScope.RWLock">
-            <summary>
-            Users of this <see cref="T:Castle.DynamicProxy.ModuleScope"/> should use this lock when accessing the cache.
-            </summary>
-        </member>
-        <member name="P:Castle.DynamicProxy.ModuleScope.StrongNamedModule">
-            <summary>
-            Gets the strong-named module generated by this scope, or <see langword="null"/> if none has yet been generated.
-            </summary>
-            <value>The strong-named module generated by this scope, or <see langword="null"/> if none has yet been generated.</value>
-        </member>
-        <member name="P:Castle.DynamicProxy.ModuleScope.StrongNamedModuleName">
-            <summary>
-            Gets the file name of the strongly named module generated by this scope.
-            </summary>
-            <value>The file name of the strongly named module generated by this scope.</value>
-        </member>
-        <member name="P:Castle.DynamicProxy.ModuleScope.StrongNamedModuleDirectory">
-            <summary>
-            Gets the directory where the strongly named module generated by this scope will be saved, or <see langword="null"/> if the current directory
-            is used.
-            </summary>
-            <value>The directory where the strongly named module generated by this scope will be saved when <see cref="M:Castle.DynamicProxy.ModuleScope.SaveAssembly"/> is called
-            (if this scope was created to save modules).</value>
-        </member>
-        <member name="P:Castle.DynamicProxy.ModuleScope.WeakNamedModule">
-            <summary>
-            Gets the weak-named module generated by this scope, or <see langword="null"/> if none has yet been generated.
-            </summary>
-            <value>The weak-named module generated by this scope, or <see langword="null"/> if none has yet been generated.</value>
-        </member>
-        <member name="P:Castle.DynamicProxy.ModuleScope.WeakNamedModuleName">
-            <summary>
-            Gets the file name of the weakly named module generated by this scope.
-            </summary>
-            <value>The file name of the weakly named module generated by this scope.</value>
-        </member>
-        <member name="P:Castle.DynamicProxy.ModuleScope.WeakNamedModuleDirectory">
-            <summary>
-            Gets the directory where the weakly named module generated by this scope will be saved, or <see langword="null"/> if the current directory
-            is used.
-            </summary>
-            <value>The directory where the weakly named module generated by this scope will be saved when <see cref="M:Castle.DynamicProxy.ModuleScope.SaveAssembly"/> is called
-            (if this scope was created to save modules).</value>
-        </member>
-        <member name="T:Castle.DynamicProxy.PersistentProxyBuilder">
-            <summary>
-            ProxyBuilder that persists the generated type.
-            </summary>
-            <remarks>
-            The saved assembly contains just the last generated type.
-            </remarks>
-        </member>
-        <member name="M:Castle.DynamicProxy.PersistentProxyBuilder.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.DynamicProxy.PersistentProxyBuilder"/> class.
-            </summary>
-        </member>
-        <member name="M:Castle.DynamicProxy.PersistentProxyBuilder.SaveAssembly">
-            <summary>
-            Saves the generated assembly to a physical file. Note that this renders the <see cref="T:Castle.DynamicProxy.PersistentProxyBuilder"/> unusable.
-            </summary>
-            <returns>The path of the generated assembly file, or null if no assembly has been generated.</returns>
-            <remarks>This method does not support saving multiple files. If both a signed and an unsigned module have been generated, use the 
-            respective methods of the <see cref="T:Castle.DynamicProxy.ModuleScope"/>.</remarks>
-        </member>
-        <member name="M:Castle.DynamicProxy.ProxyGenerationOptions.#ctor(Castle.DynamicProxy.IProxyGenerationHook)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.DynamicProxy.ProxyGenerationOptions"/> class.
-            </summary>
-            <param name="hook">The hook.</param>
-        </member>
-        <member name="M:Castle.DynamicProxy.ProxyGenerationOptions.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.DynamicProxy.ProxyGenerationOptions"/> class.
-            </summary>
-        </member>
-        <member name="M:Castle.DynamicProxy.ProxyGenerator.#ctor(Castle.DynamicProxy.IProxyBuilder)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.DynamicProxy.ProxyGenerator"/> class.
-            </summary>
-            <param name="builder">The builder.</param>
-        </member>
-        <member name="M:Castle.DynamicProxy.ProxyGenerator.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.DynamicProxy.ProxyGenerator"/> class.
-            </summary>
-        </member>
-        <member name="M:Castle.DynamicProxy.ProxyGenerator.CreateClassProxy(System.Type,System.Type[],Castle.Core.Interceptor.IInterceptor[])">
-            <summary>
-            Creates the class proxy.
-            </summary>
-            <param name="targetType">Type of the target.</param>
-            <param name="interfaces">The interfaces.</param>
-            <param name="interceptors">The interceptors.</param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.DynamicProxy.ProxyGenerator.CreateClassProxy(System.Type,Castle.Core.Interceptor.IInterceptor[],System.Object[])">
-            <summary>
-            Creates the class proxy.
-            </summary>
-            <param name="targetType">Type of the target.</param>
-            <param name="interceptors">The interceptors.</param>
-            <param name="constructorArgs">The constructor args.</param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.DynamicProxy.ProxyGenerator.CreateClassProxy(System.Type,Castle.DynamicProxy.ProxyGenerationOptions,Castle.Core.Interceptor.IInterceptor[])">
-            <summary>
-            
-            </summary>
-            <param name="targetType"></param>
-            <param name="options"></param>
-            <param name="interceptors"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.DynamicProxy.ProxyGenerator.CreateClassProxy(System.Type,System.Type[],Castle.DynamicProxy.ProxyGenerationOptions,System.Object[],Castle.Core.Interceptor.IInterceptor[])">
-            <summary>
-            Creates the class proxy.
-            </summary>
-            <param name="targetType">Type of the target.</param>
-            <param name="interfaces">The interfaces.</param>
-            <param name="options">The options.</param>
-            <param name="constructorArgs">The constructor args.</param>
-            <param name="interceptors">The interceptors.</param>
-            <returns></returns>
-        </member>
-        <member name="P:Castle.DynamicProxy.ProxyGenerator.ProxyBuilder">
-            <summary>
-            Gets the proxy builder instance.
-            </summary>
-            <value>The proxy builder.</value>
-        </member>
-        <member name="M:Castle.DynamicProxy.RemotableInvocation.Proceed">
-            <summary>
-            
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="P:Castle.DynamicProxy.RemotableInvocation.Method">
-            <summary>
-            
-            </summary>
-        </member>
-        <member name="P:Castle.DynamicProxy.RemotableInvocation.MethodInvocationTarget">
-            <summary>
-            For interface proxies, this will point to the
-            <see cref="T:System.Reflection.MethodInfo"/> on the target class
-            </summary>
-        </member>
-    </members>
-</doc>
trunk/build/lib/app/castle/Castle.MicroKernel.dll
Binary file
trunk/build/lib/app/castle/Castle.MicroKernel.xml
@@ -1,4745 +0,0 @@
-<?xml version="1.0"?>
-<doc>
-    <assembly>
-        <name>Castle.MicroKernel</name>
-    </assembly>
-    <members>
-        <member name="T:Castle.MicroKernel.ComponentActivator.AbstractComponentActivator">
-            <summary>
-            Abstract implementation of <see cref="T:Castle.MicroKernel.IComponentActivator"/>.
-            The implementors must only override the InternalCreate and 
-            InternalDestroy methods in order to perform their creation and
-            destruction logic.
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.IComponentActivator">
-            <summary>
-            Implements the instance creation logic. The default
-            implementation should rely on an ordinary call to 
-            Activator.CreateInstance(). 
-            </summary>
-            <remarks>
-            This interface is provided in order to allow custom components
-            to be created using a different logic, such as using a specific factory
-            or builder.
-            <para>
-            The constructor for implementation has the following signature:
-            </para>
-            <code>
-            ComponentModel model, IKernel kernel, 
-            ComponentInstanceDelegate onCreation, 
-            ComponentInstanceDelegate onDestruction
-            </code>
-            <para>
-            The Activator should raise the events onCreation and onDestruction
-            in order to correctly implement the contract. Usually the best
-            way of creating a custom activator is by extending the existing ones.
-            </para>
-            <seealso cref="T:Castle.MicroKernel.ComponentActivator.AbstractComponentActivator"/>
-            <seealso cref="T:Castle.MicroKernel.ComponentActivator.DefaultComponentActivator"/>
-            </remarks>
-        </member>
-        <member name="M:Castle.MicroKernel.IComponentActivator.Create(Castle.MicroKernel.CreationContext)">
-            <summary>
-            Should return a new component instance.
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.IComponentActivator.Destroy(System.Object)">
-            <summary>
-            Should perform all necessary work to dispose the instance
-            and/or any resource related to it.
-            </summary>
-            <param name="instance"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.ComponentActivator.AbstractComponentActivator.#ctor(Castle.Core.ComponentModel,Castle.MicroKernel.IKernel,Castle.MicroKernel.ComponentInstanceDelegate,Castle.MicroKernel.ComponentInstanceDelegate)">
-            <summary>
-            Constructs an AbstractComponentActivator
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.ComponentActivator.ComponentActivatorException">
-            <summary>
-            Summary description for ComponentActivatorException.
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.ComponentActivator.DefaultComponentActivator">
-            <summary>
-            Standard implementation of <see cref="T:Castle.MicroKernel.IComponentActivator"/>.
-            Handles the selection of the best constructor, fills the
-            writable properties the component exposes, run the commission 
-            and decommission lifecycles, etc.
-            </summary>
-            <remarks>
-            Custom implementors can just override the <c>CreateInstance</c> method.
-            Please note however that the activator is responsible for the proxy creation
-            when needed.
-            </remarks>
-        </member>
-        <member name="M:Castle.MicroKernel.ComponentActivator.DefaultComponentActivator.#ctor(Castle.Core.ComponentModel,Castle.MicroKernel.IKernel,Castle.MicroKernel.ComponentInstanceDelegate,Castle.MicroKernel.ComponentInstanceDelegate)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.MicroKernel.ComponentActivator.DefaultComponentActivator"/> class.
-            </summary>
-            <param name="model"></param>
-            <param name="kernel"></param>
-            <param name="onCreation"></param>
-            <param name="onDestruction"></param>
-        </member>
-        <member name="T:Castle.MicroKernel.ComponentActivator.WebUserControlComponentActivator">
-            <summary>
-            Attempts to dynamically load a UserControl by invoking Page.LoadControl.  
-            There are two uses of this class.  
-            <para>
-            1) Add a component to the Kernel and add a VirtualPath attribute specifying 
-            the relative path of the .ascx file for the associated UserControl. (easy)
-            </para>
-            <example>
-              <code>
-                &lt;component id="BasketView" 
-                  service="Castle.ShoppingCart.IBasketView, Castle.ShoppingCart"
-                  type="Castle.ShoppingCart.BasketView, Castle.ShoppingCart" 
-                  lifestyle="transient"
-                  virtualPath="~/Views/BasketView.ascx"
-                /&gt;
-              </code>
-            </example>
-            <para>
-            2) Precompile a UserControl and add the pre-compiled class to the Kernel. (hard)  
-            Has not been tested with proxies.
-            </para>
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.ComponentActivator.WebUserControlComponentActivator.#ctor(Castle.Core.ComponentModel,Castle.MicroKernel.IKernel,Castle.MicroKernel.ComponentInstanceDelegate,Castle.MicroKernel.ComponentInstanceDelegate)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.MicroKernel.ComponentActivator.WebUserControlComponentActivator"/> class.
-            </summary>
-            <param name="model">The model.</param>
-            <param name="kernel">The kernel.</param>
-            <param name="onCreation">The on creation.</param>
-            <param name="onDestruction">The on destruction.</param>
-        </member>
-        <member name="M:Castle.MicroKernel.ComponentActivator.WebUserControlComponentActivator.CreateInstance(Castle.MicroKernel.CreationContext,System.Object[],System.Type[])">
-            <summary>
-            Creates the instance.
-            </summary>
-            <param name="context">The context.</param>
-            <param name="arguments">The arguments.</param>
-            <param name="signature">The signature.</param>
-            <returns></returns>
-        </member>
-        <member name="T:Castle.MicroKernel.CreationContext">
-            <summary>
-            Used during a component request, passed along to the whole process.
-            This allow some data to be passed along the process, which is used 
-            to detected cycled dependency graphs and now it's also being used
-            to provide arguments to components.
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.ISubDependencyResolver">
-            <summary>
-            Implementors should use a strategy to obtain 
-            valid references to properties and/or services 
-            requested in the dependency model.
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.ISubDependencyResolver.Resolve(Castle.MicroKernel.CreationContext,Castle.MicroKernel.ISubDependencyResolver,Castle.Core.ComponentModel,Castle.Core.DependencyModel)">
-            <summary>
-            Should return an instance of a service or property values as
-            specified by the dependency model instance. 
-            It is also the responsability of <see cref="T:Castle.MicroKernel.IDependencyResolver"/>
-            to throw an exception in the case a non-optional dependency 
-            could not be resolved.
-            </summary>
-            <param name="context">Creation context, which is a resolver itself</param>
-            <param name="parentResolver">Parent resolver</param>
-            <param name="model">Model of the component that is requesting the dependency</param>
-            <param name="dependency">The dependency model</param>
-            <returns>The dependency resolved value or null</returns>
-        </member>
-        <member name="M:Castle.MicroKernel.ISubDependencyResolver.CanResolve(Castle.MicroKernel.CreationContext,Castle.MicroKernel.ISubDependencyResolver,Castle.Core.ComponentModel,Castle.Core.DependencyModel)">
-            <summary>
-            Returns true if the resolver is able to satisfy this dependency.
-            </summary>
-            <param name="context">Creation context, which is a resolver itself</param>
-            <param name="parentResolver">Parent resolver</param>
-            <param name="model">Model of the component that is requesting the dependency</param>
-            <param name="dependency">The dependency model</param>
-            <returns><c>true</c> if the dependency can be satisfied</returns>
-        </member>
-        <member name="F:Castle.MicroKernel.CreationContext.handler">
-            <summary>
-            
-            </summary>
-        </member>
-        <member name="F:Castle.MicroKernel.CreationContext.handlersChain">
-            <summary>
-            The list of handlers that are used to resolve
-            the component.
-            We track that in order to try to avoid attempts to resolve a service
-            with itself.
-            </summary>
-        </member>
-        <member name="F:Castle.MicroKernel.CreationContext.dependencies">
-            <summary>
-            Holds the scoped dependencies being resolved. 
-            If a dependency appears twice on the same scope, we'd have a cycle.
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.CreationContext.HandlerIsCurrentlyBeingResolved(Castle.MicroKernel.IHandler)">
-            <summary>
-            Check if we are now in the middle of resolving this handler, 
-            and as such, we shouldn't try to resolve that.
-            </summary>
-        </member>
-        <member name="P:Castle.MicroKernel.CreationContext.Empty">
-            <summary>Creates a new, empty <see cref="T:Castle.MicroKernel.CreationContext"/> instance.</summary>
-            <remarks>A new CreationContext should be created every time, as the contexts keeps some state related to dependency resolution.</remarks>
-        </member>
-        <member name="P:Castle.MicroKernel.CreationContext.Handler">
-            <summary>
-            Pendent
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.DependencyTrackingScope.DependencyModelExtended">
-            <summary>
-            Extends <see cref="T:Castle.Core.DependencyModel"/> adding <see cref="T:System.Reflection.MemberInfo"/> and <see cref="T:Castle.Core.ComponentModel"/>
-            information. Th MemberInfo is only useful to provide detailed information 
-            on exceptions. 
-            The ComponentModel is required so we can get resolve an object that takes as a parameter itself, but
-            with difference model. (See IoC 51 for the details)
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.Exceptions.CircularDependencyException">
-            <summary>
-            Exception throw when a circular dependency is detected
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.Exceptions.CircularDependencyException.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.MicroKernel.Exceptions.CircularDependencyException"/> class.
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.Exceptions.CircularDependencyException.#ctor(System.String)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.MicroKernel.Exceptions.CircularDependencyException"/> class.
-            </summary>
-            <param name="message">The message.</param>
-        </member>
-        <member name="M:Castle.MicroKernel.Exceptions.CircularDependencyException.#ctor(System.String,System.Exception)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.MicroKernel.Exceptions.CircularDependencyException"/> class.
-            </summary>
-            <param name="message">The message.</param>
-            <param name="innerException">The inner exception.</param>
-        </member>
-        <member name="M:Castle.MicroKernel.Exceptions.CircularDependencyException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.MicroKernel.Exceptions.CircularDependencyException"/> class.
-            </summary>
-            <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data about the exception being thrown.</param>
-            <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the source or destination.</param>
-            <exception cref="T:System.ArgumentNullException">The <paramref name="info"/> parameter is <see langword="null"/>.</exception>
-            <exception cref="T:System.Runtime.Serialization.SerializationException">The class name is <see langword="null"/> or <see cref="P:System.Exception.HResult"/> is zero (0).</exception>
-        </member>
-        <member name="T:Castle.MicroKernel.ComponentNotFoundException">
-            <summary>
-            Exception threw when a request for a component
-            cannot be satisfied because the component does not
-            exist in the container
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.ComponentNotFoundException.#ctor(System.String)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.MicroKernel.ComponentNotFoundException"/> class.
-            </summary>
-            <param name="name">The name.</param>
-        </member>
-        <member name="M:Castle.MicroKernel.ComponentNotFoundException.#ctor(System.Type)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.MicroKernel.ComponentNotFoundException"/> class.
-            </summary>
-            <param name="service">The service.</param>
-        </member>
-        <member name="M:Castle.MicroKernel.ComponentNotFoundException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.MicroKernel.ComponentNotFoundException"/> class.
-            </summary>
-            <param name="info">The object that holds the serialized object data.</param>
-            <param name="context">The contextual information about the source or destination.</param>
-        </member>
-        <member name="T:Castle.MicroKernel.ComponentRegistrationException">
-            <summary>
-            Exception threw when there is a problem
-            registering a component
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.ComponentRegistrationException.#ctor(System.String)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.MicroKernel.ComponentRegistrationException"/> class.
-            </summary>
-            <param name="message">The message.</param>
-        </member>
-        <member name="M:Castle.MicroKernel.ComponentRegistrationException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.MicroKernel.ComponentRegistrationException"/> class.
-            </summary>
-            <param name="info">The object that holds the serialized object data.</param>
-            <param name="context">The contextual information about the source or destination.</param>
-        </member>
-        <member name="T:Castle.MicroKernel.KernelException">
-            <summary>
-            Exception threw by Kernel operations that failed
-            for some reason.
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.KernelException.#ctor(System.String)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.MicroKernel.KernelException"/> class.
-            </summary>
-            <param name="message">The message.</param>
-        </member>
-        <member name="M:Castle.MicroKernel.KernelException.#ctor(System.String,System.Exception)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.MicroKernel.KernelException"/> class.
-            </summary>
-            <param name="message">The message.</param>
-            <param name="innerException">The inner exception.</param>
-        </member>
-        <member name="M:Castle.MicroKernel.KernelException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.MicroKernel.KernelException"/> class.
-            </summary>
-            <param name="info">The object that holds the serialized object data.</param>
-            <param name="context">The contextual information about the source or destination.</param>
-        </member>
-        <member name="T:Castle.Facilities.EventWiring.EventWiringException">
-            <summary>
-            Exception that is thrown when a error occurs during the Event Wiring process
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.Facilities.FacilityException">
-            <summary>
-            Base exception to be used by facilities.
-            </summary>
-        </member>
-        <member name="M:Castle.Facilities.EventWiring.EventWiringException.#ctor(System.String)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.Facilities.EventWiring.EventWiringException"/> class.
-            </summary>
-            <param name="message">The message.</param>
-        </member>
-        <member name="M:Castle.Facilities.EventWiring.EventWiringException.#ctor(System.String,System.Exception)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.Facilities.EventWiring.EventWiringException"/> class.
-            </summary>
-            <param name="message">The message.</param>
-            <param name="innerException">The inner exception.</param>
-        </member>
-        <member name="M:Castle.Facilities.EventWiring.EventWiringException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.Facilities.EventWiring.EventWiringException"/> class.
-            </summary>
-            <param name="info">The object that holds the serialized object data.</param>
-            <param name="context">The contextual information about the source or destination.</param>
-        </member>
-        <member name="T:Castle.Facilities.EventWiring.EventWiringFacility">
-             <summary>
-             Facility to allow components to dynamically subscribe to events offered by 
-             other components. We call the component that offers events publishers and 
-             the components that uses them, subscribers.
-             </summary>
-             <remarks>
-             A component that wish to subscribe to an event must use the external configuration
-             adding a node <c>subscribers</c> on the publisher. This node can have multiple entries using the 
-             <c>subscriber</c> node.
-             </remarks>
-             <example>
-             <para>This example shows two simple components: one is the event publisher and the other is the 
-             subscriber. The subscription will be done by the facility, using the publisher associated configuration.</para>
-             <para>The Publisher class:</para>
-             <code>
-             public class SimplePublisher
-            	{
-            		public event PublishEventHandler Event;
-            
-            		public void Trigger()
-            		{
-            			if (Event != null)
-            			{
-            				Event(this, new EventArgs()); 
-            			}
-            		}
-             }
-             </code>
-             <para>The Subscriber class:</para>
-             <code>
-             public class SimpleListener
-             {
-             	private bool _listened;
-             	private object _sender;
-             
-             	public void OnPublish(object sender, EventArgs e)
-             	{
-             		_sender = sender; 
-             		_listened = sender != null;
-             	}
-             
-             	public bool Listened
-             	{
-             		get { return _listened;	}
-             	}
-             
-             	public object Sender
-             	{
-             		get { return _sender; }
-             	}
-             }
-             </code>
-             <para>The configuration file:</para>
-             <code>
-             <![CDATA[
-             <?xml version="1.0" encoding="utf-8" ?>
-             <configuration>
-             	<facilities>
-             		<facility 
-             			id="event.wiring"
-             			type="Castle.Facilities.EventWiring.EventWiringFacility, Castle.MicroKernel" />
-             	</facilities>
-             
-             	<components>
-             		<component 
-             			id="SimpleListener" 
-             			type="Castle.Facilities.EventWiring.Tests.Model.SimpleListener, Castle.Facilities.EventWiring.Tests" />
-             
-             		<component 
-             			id="SimplePublisher" 
-             			type="Castle.Facilities.EventWiring.Tests.Model.SimplePublisher, Castle.Facilities.EventWiring.Tests" >
-             			<subscribers>
-             				<subscriber id="SimpleListener" event="Event" handler="OnPublish"/>
-             			</subscribers>
-             		</component>
-             	</components>
-             </configuration>
-             ]]>
-             </code>
-             </example>
-        </member>
-        <member name="T:Castle.MicroKernel.Facilities.AbstractFacility">
-            <summary>
-            Base class for facilities. 
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.IFacility">
-            <summary>
-            Unit of extension. A facility should use 
-            the extension points offered by the kernel
-            to augment its functionality.
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.IFacility.Init(Castle.MicroKernel.IKernel,Castle.Core.Configuration.IConfiguration)">
-            <summary>
-            
-            </summary>
-            <param name="kernel"></param>
-            <param name="facilityConfig"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.IFacility.Terminate">
-            <summary>
-            
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.Facilities.AbstractFacility.Init">
-            <summary>
-            The custom initialization for the Facility.
-            </summary>
-            <remarks>It must be overriden.</remarks>
-        </member>
-        <member name="M:Castle.MicroKernel.Facilities.AbstractFacility.Init(Castle.MicroKernel.IKernel,Castle.Core.Configuration.IConfiguration)">
-            <summary>
-            Initializes the facility. First it performs the initialization common for all 
-            facilities, setting the <see cref="P:Castle.MicroKernel.Facilities.AbstractFacility.Kernel"/> and the 
-            <see cref="P:Castle.MicroKernel.Facilities.AbstractFacility.FacilityConfig"/>. After it, the <c>Init</c> method is invoked
-            and the custom initilization is perfomed.
-            </summary>
-            <param name="kernel"></param>
-            <param name="facilityConfig"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.Facilities.AbstractFacility.Terminate">
-            <summary>
-            Terminates the Facility, invokind the <see cref="M:Castle.MicroKernel.Facilities.AbstractFacility.Dispose"/> and setting 
-            the Kernel to a null reference.
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.Facilities.AbstractFacility.Dispose">
-            <summary>
-            Performs the tasks associated with freeing, releasing, or resetting 
-            the facility resources.
-            </summary>
-            <remarks>It can be overriden.</remarks>
-        </member>
-        <member name="P:Castle.MicroKernel.Facilities.AbstractFacility.Kernel">
-            <summary>
-            Gets the <see cref="T:Castle.MicroKernel.IKernel"/> where the facility is registered.
-            </summary>
-            <value>The <see cref="T:Castle.MicroKernel.IKernel"/>.</value>
-        </member>
-        <member name="P:Castle.MicroKernel.Facilities.AbstractFacility.FacilityConfig">
-            <summary>
-            Gets the facility configuration.
-            </summary>
-            <value>The <see cref="T:Castle.Core.Configuration.IConfiguration"/> representing 
-            the facility configuration.</value>
-        </member>
-        <member name="M:Castle.Facilities.EventWiring.EventWiringFacility.Init">
-            <summary>
-            Overriden. Initializes the facility, subscribing to the <see cref="E:Castle.MicroKernel.IKernelEvents.ComponentModelCreated"/>,
-            <see cref="E:Castle.MicroKernel.IKernelEvents.ComponentCreated"/>, <see cref="E:Castle.MicroKernel.IKernelEvents.ComponentDestroyed"/> Kernel events.
-            </summary>
-        </member>
-        <member name="M:Castle.Facilities.EventWiring.EventWiringFacility.OnComponentModelCreated(Castle.Core.ComponentModel)">
-            <summary>
-            Checks if the component we're dealing is a publisher. If it is, 
-            parses the configuration (the subscribers node) getting the event wiring info.
-            </summary>
-            <param name="model">The component model.</param>
-            <exception cref="T:Castle.Facilities.EventWiring.EventWiringException">Invalid and/or a error in the configuration</exception>
-        </member>
-        <member name="M:Castle.Facilities.EventWiring.EventWiringFacility.OnComponentCreated(Castle.Core.ComponentModel,System.Object)">
-            <summary>
-            Checks if the component we're dealing is a publisher. If it is, 
-            iterates the subscribers starting them and wiring the events.
-            </summary>
-            <param name="model">The component model.</param>
-            <param name="instance">The instance representing the component.</param>
-            <exception cref="T:Castle.Facilities.EventWiring.EventWiringException">When the subscriber is not found
-            <br/> or <br/>
-            The handler method isn't found
-            <br/> or <br/>
-            The event isn't found
-            </exception>
-        </member>
-        <member name="T:Castle.Facilities.EventWiring.WireInfo">
-            <summary>
-            Represents the information about an event.
-            </summary>
-        </member>
-        <member name="M:Castle.Facilities.EventWiring.WireInfo.#ctor(System.String,System.String)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.Facilities.EventWiring.WireInfo"/> class.
-            </summary>
-            <param name="eventName">Name of the event.</param>
-            <param name="handler">The name of the handler method.</param>
-        </member>
-        <member name="M:Castle.Facilities.EventWiring.WireInfo.GetHashCode">
-            <summary>
-            Serves as a hash function for a particular type.
-            </summary>
-            <returns>
-            A hash code for the current <see cref="T:System.Object"></see>.
-            </returns>
-        </member>
-        <member name="M:Castle.Facilities.EventWiring.WireInfo.Equals(System.Object)">
-            <summary>
-            Determines whether the specified <see cref="T:System.Object"></see> is equal to the current <see cref="T:System.Object"></see>.
-            </summary>
-            <param name="obj">The <see cref="T:System.Object"></see> to compare with the current <see cref="T:System.Object"></see>.</param>
-            <returns>
-            true if the specified <see cref="T:System.Object"></see> is equal to the current <see cref="T:System.Object"></see>; otherwise, false.
-            </returns>
-        </member>
-        <member name="P:Castle.Facilities.EventWiring.WireInfo.EventName">
-            <summary>
-            Gets the name of the event.
-            </summary>
-            <value>The name of the event.</value>
-        </member>
-        <member name="P:Castle.Facilities.EventWiring.WireInfo.Handler">
-            <summary>
-            Gets the handler method name.
-            </summary>
-            <value>The handler.</value>
-        </member>
-        <member name="T:Castle.Facilities.FactorySupport.FactoryActivator">
-            <summary>
-            
-            </summary>
-        </member>
-        <member name="T:Castle.Facilities.Remoting.RemoteActivator">
-            <summary>
-            Activates a object connecting to the remote server.
-            </summary>
-        </member>
-        <member name="M:Castle.Facilities.Remoting.RemoteActivator.#ctor(Castle.Core.ComponentModel,Castle.MicroKernel.IKernel,Castle.MicroKernel.ComponentInstanceDelegate,Castle.MicroKernel.ComponentInstanceDelegate)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.Facilities.Remoting.RemoteActivator"/> class.
-            </summary>
-            <param name="model">The model.</param>
-            <param name="kernel">The kernel.</param>
-            <param name="onCreation">The oncreation event handler.</param>
-            <param name="onDestruction">The ondestruction event handler.</param>
-        </member>
-        <member name="T:Castle.Facilities.Remoting.RemoteActivatorThroughConnector">
-            <summary>
-            Activates a client connecting to the remote server, enforcing the uri and the server activation.
-            </summary>
-        </member>
-        <member name="M:Castle.Facilities.Remoting.RemoteActivatorThroughConnector.#ctor(Castle.Core.ComponentModel,Castle.MicroKernel.IKernel,Castle.MicroKernel.ComponentInstanceDelegate,Castle.MicroKernel.ComponentInstanceDelegate)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.Facilities.Remoting.RemoteActivatorThroughConnector"/> class.
-            </summary>
-            <param name="model">The model.</param>
-            <param name="kernel">The kernel.</param>
-            <param name="onCreation">The oncreation event handler.</param>
-            <param name="onDestruction">The ondestruction event handler.</param>
-        </member>
-        <member name="T:Castle.Facilities.Remoting.RemoteActivatorThroughRegistry">
-            <summary>
-            Activates a client connecting to the remote server through the <see cref="T:Castle.Facilities.Remoting.RemotingRegistry"/>.
-            </summary>
-        </member>
-        <member name="M:Castle.Facilities.Remoting.RemoteActivatorThroughRegistry.#ctor(Castle.Core.ComponentModel,Castle.MicroKernel.IKernel,Castle.MicroKernel.ComponentInstanceDelegate,Castle.MicroKernel.ComponentInstanceDelegate)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.Facilities.Remoting.RemoteActivatorThroughRegistry"/> class.
-            </summary>
-            <param name="model">The model.</param>
-            <param name="kernel">The kernel.</param>
-            <param name="onCreation">The oncreation envent handler.</param>
-            <param name="onDestruction">The ondestruction event handler.</param>
-        </member>
-        <member name="T:Castle.Facilities.Remoting.RemoteClientActivatedActivator">
-            <summary>
-            Activates a client activated object.
-            </summary>
-        </member>
-        <member name="M:Castle.Facilities.Remoting.RemoteClientActivatedActivator.#ctor(Castle.Core.ComponentModel,Castle.MicroKernel.IKernel,Castle.MicroKernel.ComponentInstanceDelegate,Castle.MicroKernel.ComponentInstanceDelegate)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.Facilities.Remoting.RemoteClientActivatedActivator"/> class.
-            </summary>
-            <param name="model">The model.</param>
-            <param name="kernel">The kernel.</param>
-            <param name="onCreation">The oncreation event handler.</param>
-            <param name="onDestruction">The ondestruction event handler.</param>
-        </member>
-        <member name="T:Castle.Facilities.Remoting.RemoteMarshallerActivator">
-            <summary>
-            Activates and publishes a server object.
-            </summary>
-        </member>
-        <member name="M:Castle.Facilities.Remoting.RemoteMarshallerActivator.#ctor(Castle.Core.ComponentModel,Castle.MicroKernel.IKernel,Castle.MicroKernel.ComponentInstanceDelegate,Castle.MicroKernel.ComponentInstanceDelegate)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.Facilities.Remoting.RemoteMarshallerActivator"/> class.
-            </summary>
-            <param name="model">The model.</param>
-            <param name="kernel">The kernel.</param>
-            <param name="onCreation">The oncreation event handler.</param>
-            <param name="onDestruction">The ondestruction event handler.</param>
-        </member>
-        <member name="T:Castle.Facilities.Remoting.RemotingFacility">
-            <summary>
-            Facility to allow the communication with remote kernel, using the .NET Remoting infraestructure.
-            </summary>
-            <remarks>
-            TODO
-            </remarks>
-            <example>
-            TODO
-            </example>
-        </member>
-        <member name="F:Castle.Facilities.Remoting.RemotingFacility.baseUri">
-            <summary>
-            Used for client side (Expand explanation)
-            </summary>
-        </member>
-        <member name="F:Castle.Facilities.Remoting.RemotingFacility.localRegistry">
-            <summary>
-            Used for server side. 
-            Holds the local registry
-            </summary>
-        </member>
-        <member name="F:Castle.Facilities.Remoting.RemotingFacility.remoteRegistry">
-            <summary>
-            Used for client side. 
-            Holds a remote proxy to the server registry
-            </summary>
-        </member>
-        <member name="M:Castle.Facilities.Remoting.RemotingFacility.#ctor">
-            <summary>
-            Constructs a RemotingFacility
-            </summary>
-        </member>
-        <member name="M:Castle.Facilities.Remoting.RemotingFacility.Dispose">
-            <summary>
-            Performs the tasks associated with freeing, releasing, or resetting
-            the facility resources.
-            </summary>
-            <remarks>It can be overriden.</remarks>
-        </member>
-        <member name="T:Castle.Facilities.Remoting.RemotingInspector">
-            <summary>
-            Inspects the model looking for remote component configuration. If found, 
-            do the component Remoting configuration.
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.ModelBuilder.IContributeComponentModelConstruction">
-            <summary>
-            Implementors must inspect the component for 
-            a given information or parameter.
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.ModelBuilder.IContributeComponentModelConstruction.ProcessModel(Castle.MicroKernel.IKernel,Castle.Core.ComponentModel)">
-            <summary>
-            Usually the implementation will look in the configuration property 
-            of the model or the service interface, or the implementation looking for
-            something.
-            </summary>
-            <param name="kernel">The kernel instance</param>
-            <param name="model">The component model</param>
-        </member>
-        <member name="M:Castle.Facilities.Remoting.RemotingInspector.#ctor(Castle.MicroKernel.SubSystems.Conversion.ITypeConverter,System.Boolean,System.Boolean,System.String,Castle.Facilities.Remoting.RemotingRegistry,Castle.Facilities.Remoting.RemotingRegistry)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.Facilities.Remoting.RemotingInspector"/> class.
-            </summary>
-            <param name="converter">The converter.</param>
-            <param name="isServer">if set to <c>true</c> is a server.</param>
-            <param name="isClient">if set to <c>true</c> is a client.</param>
-            <param name="baseUri">The base URI.</param>
-            <param name="remoteRegistry">The remote registry.</param>
-            <param name="localRegistry">The local registry.</param>
-        </member>
-        <member name="M:Castle.Facilities.Remoting.RemotingInspector.ResetDependencies(Castle.Core.ComponentModel)">
-            <summary>
-            Client components are not created by the container
-            so there's no point collecting constructor dependencies
-            </summary>
-            <param name="model"></param>
-        </member>
-        <member name="M:Castle.Facilities.Remoting.RemotingRegistry.GetModel(System.Type)">
-            <summary>
-            Used in case of generics:
-            </summary>
-            <param name="serviceType"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.Facilities.Startable.StartableFacility.CheckWaitingList">
-            <summary>
-            For each new component registered,
-            some components in the WaitingDependency
-            state may have became valid, so we check them
-            </summary>
-        </member>
-        <member name="M:Castle.Facilities.Startable.StartableFacility.Start(System.String)">
-            <summary>
-            Request the component instance
-            </summary>
-            <param name="key"></param>
-        </member>
-        <member name="T:Castle.MicroKernel.LifecycleConcerns.ILifecycleConcern">
-            <summary>
-            Summary description for ILifecycleConcern.
-            </summary>
-        </member>
-        <member name="T:Castle.Facilities.TypedFactory.FactoryInterceptor">
-            <summary>
-            Summary description for FactoryInterceptor.
-            </summary>
-        </member>
-        <member name="T:Castle.Facilities.TypedFactory.TypedFactoryFacility">
-            <summary>
-            Summary description for TypedFactoryFacility.
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.Handlers.AbstractHandler">
-            <summary>
-            Implements the basis of <see cref="T:Castle.MicroKernel.IHandler"/>
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.IHandler">
-            <summary>
-            Contract for the IHandler, which manages an
-            component state and coordinates its creation 
-            and destruction (dispatching to activators, lifestyle managers)
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.IHandler.Init(Castle.MicroKernel.IKernel)">
-            <summary>
-            Initializes the handler with a reference to the
-            kernel.
-            </summary>
-            <param name="kernel"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.IHandler.Resolve(Castle.MicroKernel.CreationContext)">
-            <summary>
-            Implementors should return a valid instance 
-            for the component the handler is responsible.
-            It should throw an exception in the case the component
-            can't be created for some reason
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.IHandler.Release(System.Object)">
-            <summary>
-            Implementors should dispose the component instance
-            </summary>
-            <param name="instance"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.IHandler.AddCustomDependencyValue(System.String,System.Object)">
-            <summary>
-            Dictionary of String/object used to 
-            associate data with a component dependency.
-            For example, if you component SmtpServer depends on 
-            host and port, you can add those to this
-            dictionary and the handler will be able to use them.
-            </summary>
-            <remarks>
-            TODO: Document this
-            </remarks>
-        </member>
-        <member name="M:Castle.MicroKernel.IHandler.RemoveCustomDependencyValue(System.String)">
-            <summary>
-            TODO: Document this
-            </summary>
-            <param name="key"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.IHandler.HasCustomParameter(System.String)">
-            <summary>
-            TODO: Document this
-            </summary>
-            <param name="key"></param>
-            <returns></returns>
-        </member>
-        <member name="P:Castle.MicroKernel.IHandler.CurrentState">
-            <summary>
-            Gets the state of the handler
-            </summary>
-        </member>
-        <member name="P:Castle.MicroKernel.IHandler.ComponentModel">
-            <summary>
-            Gets the model of the component being 
-            managed by this handler.
-            </summary>
-        </member>
-        <member name="E:Castle.MicroKernel.IHandler.OnHandlerStateChanged">
-            <summary>
-            TODO: Document this
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.Handlers.IExposeDependencyInfo">
-            <summary>
-            Might be implemented by a handler 
-            so it can expose access to dependency information 
-            which is used to construct meaningful error messages
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.Handlers.IExposeDependencyInfo.ObtainDependencyDetails(System.Collections.IList)">
-            <summary>
-            Returns human readable list of dependencies 
-            this handler is waiting for.
-            <param name="dependenciesChecked">list of the dependecies that was already checked, used to avoid cycles.</param>
-            </summary>
-        </member>
-        <member name="F:Castle.MicroKernel.Handlers.AbstractHandler.dependenciesByService">
-            <summary>
-            Dictionary of Type to a list of <see cref="T:Castle.Core.DependencyModel"/>
-            </summary>
-        </member>
-        <member name="F:Castle.MicroKernel.Handlers.AbstractHandler.dependenciesByKey">
-            <summary>
-            Dictionary of key (string) to <see cref="T:Castle.Core.DependencyModel"/>
-            </summary>
-        </member>
-        <member name="F:Castle.MicroKernel.Handlers.AbstractHandler.customParameters">
-            <summary>
-            Custom dependencies values associated with the handler
-            </summary>
-        </member>
-        <member name="F:Castle.MicroKernel.Handlers.AbstractHandler.lifestyleManager">
-            <summary>
-            Lifestyle manager instance
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.Handlers.AbstractHandler.#ctor(Castle.Core.ComponentModel)">
-            <summary>
-            Constructs and initializes the handler
-            </summary>
-            <param name="model"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.Handlers.AbstractHandler.Init(Castle.MicroKernel.IKernel)">
-            <summary>
-            Saves the kernel instance, subscribes to 
-            <see cref="E:Castle.MicroKernel.IKernelEvents.AddedAsChildKernel"/> event,
-            creates the lifestyle manager instance and computes
-            the handler state.
-            </summary>
-            <param name="kernel"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.Handlers.AbstractHandler.Resolve(Castle.MicroKernel.CreationContext)">
-            <summary>
-            Should be implemented by derived classes: 
-            returns an instance of the component this handler
-            is responsible for
-            </summary>
-            <param name="context"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Handlers.AbstractHandler.Release(System.Object)">
-            <summary>
-            Should be implemented by derived classes: 
-            disposes the component instance (or recycle it)
-            </summary>
-            <param name="instance"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.Handlers.AbstractHandler.AddCustomDependencyValue(System.String,System.Object)">
-            <summary>
-            TODO: Pendent
-            </summary>
-            <param name="key"></param>
-            <param name="value"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.Handlers.AbstractHandler.HasCustomParameter(System.String)">
-            <summary>
-            TODO: Pendent
-            </summary>
-            <param name="key"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Handlers.AbstractHandler.RemoveCustomDependencyValue(System.String)">
-            <summary>
-            TODO: Pendent
-            </summary>
-            <param name="key"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.Handlers.AbstractHandler.ObtainDependencyDetails(System.Collections.IList)">
-            <summary>
-            Returns human readable list of dependencies 
-            this handler is waiting for.
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Handlers.AbstractHandler.CreateLifestyleManager(Castle.MicroKernel.IComponentActivator)">
-            <summary>
-            Creates an implementation of <see cref="T:Castle.MicroKernel.ILifestyleManager"/> based
-            on <see cref="T:Castle.Core.LifestyleType"/> and invokes <see cref="M:Castle.MicroKernel.ILifestyleManager.Init(Castle.MicroKernel.IComponentActivator,Castle.MicroKernel.IKernel,Castle.Core.ComponentModel)"/>
-            to initialize the newly created manager.
-            </summary>
-            <param name="activator"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Handlers.AbstractHandler.EnsureDependenciesCanBeSatisfied">
-            <summary>
-            Checks if the handler is able to, at very least, satisfy
-            the dependencies for the constructor with less parameters
-            </summary>
-            <remarks>
-            For each non*optional dependency, the implementation will invoke 
-            <see cref="M:Castle.MicroKernel.Handlers.AbstractHandler.AddDependency(Castle.Core.DependencyModel)"/>
-            </remarks>
-        </member>
-        <member name="M:Castle.MicroKernel.Handlers.AbstractHandler.AddDependency(Castle.Core.DependencyModel)">
-            <summary>
-            Invoked by <see cref="M:Castle.MicroKernel.Handlers.AbstractHandler.EnsureDependenciesCanBeSatisfied"/>
-            in order to check if a dependency can be satisfied.
-            If not, the handler is set to a 'waiting dependency' state.
-            </summary>
-            <remarks>
-            This method registers the dependencies within the correct collection 
-            or dictionary and changes the handler state to 
-            <see cref="F:Castle.MicroKernel.HandlerState.WaitingDependency"/>
-            </remarks>
-            <param name="dependency"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.Handlers.AbstractHandler.DependencySatisfied(Castle.MicroKernel.IHandler,System.Boolean@)">
-            <summary>
-            Invoked by the kernel
-            when one of registered dependencies were satisfied by 
-            new components registered.
-            </summary>
-            <remarks>
-            Handler for the event <see cref="E:Castle.MicroKernel.IKernelEvents.HandlerRegistered"/>
-            </remarks>
-            <param name="handler"></param>
-            <param name="stateChanged"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.Handlers.AbstractHandler.OnAddedAsChildKernel(System.Object,System.EventArgs)">
-            <summary>
-            Invoked when the container receives a parent container reference.
-            </summary>
-            <remarks>
-            This method implementation checks whether the parent container
-            is able to supply the dependencies for this handler.
-            </remarks>
-            <param name="sender"></param>
-            <param name="e"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.Handlers.AbstractHandler.HandlerStateChanged(System.Object,System.EventArgs)">
-            <summary>
-            Handler for the event <see cref="E:Castle.MicroKernel.Handlers.AbstractHandler.OnHandlerStateChanged"/>
-            </summary>
-            <param name="source"></param>
-            <param name="args"></param>
-        </member>
-        <member name="P:Castle.MicroKernel.Handlers.AbstractHandler.CurrentState">
-            <summary>
-            Gets the handler state.
-            </summary>
-        </member>
-        <member name="P:Castle.MicroKernel.Handlers.AbstractHandler.ComponentModel">
-            <summary>
-            Gets the component model.
-            </summary>
-        </member>
-        <member name="E:Castle.MicroKernel.Handlers.AbstractHandler.OnHandlerStateChanged">
-            <summary>
-            
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.Handlers.DefaultGenericHandler">
-            <summary>
-            Summary description for DefaultGenericHandler.
-            </summary>
-            <remarks>
-            TODO: Consider refactoring AbstractHandler moving lifestylemanager
-            creation to DefaultHandler
-            </remarks>
-        </member>
-        <member name="M:Castle.MicroKernel.Handlers.DefaultGenericHandler.#ctor(Castle.Core.ComponentModel)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.MicroKernel.Handlers.DefaultGenericHandler"/> class.
-            </summary>
-            <param name="model"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.Handlers.DefaultGenericHandler.CloneParentProperties(Castle.Core.ComponentModel)">
-            <summary>
-            Clone some of the parent componentmodel properties to the generic subhandler.
-            </summary>
-            <remarks>
-            The following properties are copied:
-            <list type="bullet">
-            <item>
-            	<description>The <see cref="T:Castle.Core.LifestyleType"/></description>
-            </item>
-            <item>
-            	<description>The <see cref="P:Castle.Core.ComponentModel.Interceptors"/></description>
-            </item>
-            </list>
-            </remarks>
-            <param name="newModel">the subhandler</param>
-        </member>
-        <member name="T:Castle.MicroKernel.Handlers.DefaultHandler">
-            <summary>
-            Summary description for DefaultHandler.
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.Handlers.DefaultHandler.#ctor(Castle.Core.ComponentModel)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.MicroKernel.Handlers.DefaultHandler"/> class.
-            </summary>
-            <param name="model"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.Handlers.DefaultHandler.Resolve(Castle.MicroKernel.CreationContext)">
-            <summary>
-            Returns an instance of the component this handler
-            is responsible for
-            </summary>
-            <param name="context"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Handlers.DefaultHandler.Release(System.Object)">
-            <summary>
-            disposes the component instance (or recycle it)
-            </summary>
-            <param name="instance"></param>
-        </member>
-        <member name="T:Castle.MicroKernel.Handlers.DefaultHandlerFactory">
-            <summary>
-            Summary description for DefaultHandlerFactory.
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.IHandlerFactory">
-            <summary>
-            Extension point to allow the developer
-            to use his implementation of <see cref="T:Castle.MicroKernel.IHandler"/>
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.Handlers.HandlerException">
-            <summary>
-            Summary description for HandlerException.
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.Handlers.HandlerException.#ctor(System.String)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.MicroKernel.Handlers.HandlerException"/> class.
-            </summary>
-            <param name="message">The message.</param>
-        </member>
-        <member name="M:Castle.MicroKernel.Handlers.HandlerException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.MicroKernel.Handlers.HandlerException"/> class.
-            </summary>
-            <param name="info">The object that holds the serialized object data.</param>
-            <param name="context">The contextual information about the source or destination.</param>
-        </member>
-        <member name="T:Castle.MicroKernel.HandlerState">
-            <summary>
-            Possible states for a IHandler instance
-            </summary>
-        </member>
-        <member name="F:Castle.MicroKernel.HandlerState.Valid">
-            <summary>
-            The component can be requested
-            </summary>
-        </member>
-        <member name="F:Castle.MicroKernel.HandlerState.WaitingDependency">
-            <summary>
-            The component can not be requested 
-            as it still depending on a external 
-            dependency not yet available
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.HandlerStateDelegate">
-            <summary>
-            
-            </summary>
-            <param name="source"></param>
-            <param name="args"></param>
-        </member>
-        <member name="T:Castle.MicroKernel.Handlers.ParentHandlerWithChildResolver">
-            <summary>
-            Redirects resolution to the main resolver, and if not found uses
-            the parent handler.
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.Handlers.ParentHandlerWithChildResolver.#ctor(Castle.MicroKernel.IHandler,Castle.MicroKernel.ISubDependencyResolver)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.MicroKernel.Handlers.ParentHandlerWithChildResolver"/> class.
-            </summary>
-            <param name="parentHandler">The parent handler.</param>
-            <param name="childResolver">The child resolver.</param>
-        </member>
-        <member name="T:Castle.MicroKernel.LifecycleConcerns.DisposalConcern">
-            <summary>
-            Summary description for DisposalConcern.
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.LifecycleConcerns.InitializationConcern">
-            <summary>
-            Summary description for InitializationConcern.
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.LifecycleConcerns.SupportInitializeConcern">
-            <summary>
-            Summary description for SupportInitializeConcern.
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.Lifestyle.Pool.IPool">
-            <summary>
-            Pool implementation contract. 
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.Lifestyle.Pool.IPool.Request(Castle.MicroKernel.CreationContext)">
-            <summary>
-            Implementors should return a component instance.
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Lifestyle.Pool.IPool.Release(System.Object)">
-            <summary>
-            Implementors should release the instance or put it
-            on the pool
-            </summary>
-            <param name="instance"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.Lifestyle.Pool.DefaultPool.InitPool">
-            <summary>
-            Initializes the pool to a initial size by requesting
-            n components and then releasing them.
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.Lifestyle.AbstractLifestyleManager">
-            <summary>
-            Summary description for AbstractLifestyleManager.
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.ILifestyleManager">
-            <summary>
-            The <c>ILifestyleManager</c> implements 
-            a strategy for a given lifestyle, like singleton, perthread
-            and transient.
-            </summary>
-            <remarks>
-            The responsability of <c>ILifestyleManager</c>
-            is only the management of lifestyle. It should rely on
-            <see cref="T:Castle.MicroKernel.IComponentActivator"/> to obtain a new component instance
-            </remarks>
-        </member>
-        <member name="M:Castle.MicroKernel.ILifestyleManager.Init(Castle.MicroKernel.IComponentActivator,Castle.MicroKernel.IKernel,Castle.Core.ComponentModel)">
-            <summary>
-            Initializes the <c>ILifestyleManager</c> with the 
-            <see cref="T:Castle.MicroKernel.IComponentActivator"/>
-            </summary>
-            <param name="componentActivator"></param>
-            <param name="kernel"></param>
-            <param name="model"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.ILifestyleManager.Resolve(Castle.MicroKernel.CreationContext)">
-            <summary>
-            Implementors should return the component instance based 
-            on the lifestyle semantic.
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.ILifestyleManager.Release(System.Object)">
-            <summary>
-            Implementors should release the component instance based
-            on the lifestyle semantic, for example, singleton components
-            should not be released on a call for release, instead they should
-            release them when disposed is invoked.
-            </summary>
-            <param name="instance"></param>
-        </member>
-        <member name="T:Castle.MicroKernel.Lifestyle.PerThreadLifestyleManager">
-            <summary>
-            Summary description for PerThreadLifestyleManager.
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.Lifestyle.PerThreadLifestyleManager.Dispose">
-            <summary>
-            
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.Lifestyle.PerWebRequestLifestyleManager">
-            <summary>
-            Implements a Lifestyle Manager for Web Apps that
-            create at most one object per web request.
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.Lifestyle.PoolableLifestyleManager">
-            <summary>
-            Implements a Poolable Lifestyle Manager. 
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.Lifestyle.SingletonLifestyleManager">
-            <summary>
-            Summary description for SingletonLifestyleManager.
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.Lifestyle.TransientLifestyleManager">
-            <summary>
-            Summary description for TransientLifestyleManager.
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.ModelBuilder.Inspectors.ComponentActivatorInspector">
-            <summary>
-            Inspects the component configuration and the type looking for a
-            definition of component activator type. The configuration preceeds whatever
-            is defined in the component.
-            </summary>
-            <remarks>
-            This inspector is not guarantee to always set up an component activator type. 
-            If nothing could be found it wont touch the model. In this case is up to
-            the kernel to establish a default component activator for components.
-            </remarks>
-        </member>
-        <member name="M:Castle.MicroKernel.ModelBuilder.Inspectors.ComponentActivatorInspector.ProcessModel(Castle.MicroKernel.IKernel,Castle.Core.ComponentModel)">
-            <summary>
-            Seaches for the component activator in the configuration and, if unsuccessful
-            look for the component activator attribute in the implementation type.
-            </summary>
-            <param name="kernel">The kernel instance</param>
-            <param name="model">The model instance</param>
-        </member>
-        <member name="M:Castle.MicroKernel.ModelBuilder.Inspectors.ComponentActivatorInspector.ReadComponentActivatorFromConfiguration(Castle.Core.ComponentModel)">
-            <summary>
-            Reads the attribute "componentActivatorType" associated with the 
-            component configuration and verifies it implements the <see cref="T:Castle.MicroKernel.IComponentActivator"/> 
-            interface. 
-            </summary>
-            <exception cref="T:System.Configuration.ConfigurationException">
-            If the type does not implement the proper interface
-            </exception>
-            <param name="model"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.ModelBuilder.Inspectors.ComponentActivatorInspector.ReadComponentActivatorFromType(Castle.Core.ComponentModel)">
-            <summary>
-            Check if the type expose one of the component activator attributes
-            defined in Castle.Core namespace.
-            </summary>
-            <param name="model"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.ModelBuilder.Inspectors.ComponentActivatorInspector.ValidateComponentActivator(System.Type)">
-            <summary>
-            Validates that the provide type implements IComponentActivator
-            </summary>
-            <param name="customComponentActivator">The custom component activator.</param>
-        </member>
-        <member name="T:Castle.MicroKernel.ModelBuilder.Inspectors.ComponentProxyInspector">
-            <summary>
-            Inspects the component configuration and type looking for information
-            that can influence the generation of a proxy for that component.
-            <para>
-            We specifically look for <c>useSingleInterfaceProxy</c> and <c>marshalByRefProxy</c> 
-            on the component configuration or the <see cref="T:Castle.Core.ComponentProxyBehaviorAttribute"/> 
-            attribute.
-            </para>
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.ModelBuilder.Inspectors.ComponentProxyInspector.ProcessModel(Castle.MicroKernel.IKernel,Castle.Core.ComponentModel)">
-            <summary>
-            Seaches for proxy behavior in the configuration and, if unsuccessful
-            look for the <see cref="T:Castle.Core.ComponentProxyBehaviorAttribute"/> attribute in 
-            the implementation type.
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.ModelBuilder.Inspectors.ComponentProxyInspector.ReadProxyBehavior(Castle.MicroKernel.IKernel,Castle.Core.ComponentModel)">
-            <summary>
-            Reads the proxy behavior associated with the 
-            component configuration/type and applies it to the model.
-            </summary>
-            <exception cref="T:System.Configuration.ConfigurationException">
-            If the conversion fails
-            </exception>
-            <param name="kernel"></param>
-            <param name="model"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.ModelBuilder.Inspectors.ComponentProxyInspector.GetProxyBehaviorFromType(System.Type)">
-            <summary>
-            Returns a <see cref="T:Castle.Core.ComponentProxyBehaviorAttribute"/> instance if the type
-            uses the attribute. Otherwise returns null.
-            </summary>
-            <param name="implementation"></param>
-        </member>
-        <member name="T:Castle.MicroKernel.ModelBuilder.Inspectors.ConfigurationModelInspector">
-            <summary>
-            Uses the ConfigurationStore registered in the kernel to obtain
-            an <see cref="T:Castle.Core.Configuration.IConfiguration"/> associated with the component.
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.ModelBuilder.Inspectors.ConfigurationModelInspector.ProcessModel(Castle.MicroKernel.IKernel,Castle.Core.ComponentModel)">
-            <summary>
-            Queries the kernel's ConfigurationStore for a configuration
-            associated with the component name.
-            </summary>
-            <param name="kernel"></param>
-            <param name="model"></param>
-        </member>
-        <member name="T:Castle.MicroKernel.ModelBuilder.Inspectors.ConfigurationParametersInspector">
-            <summary>
-            Check for a node 'parameters' within the component 
-            configuration. For each child it, a ParameterModel is created
-            and added to ComponentModel's Parameters collection
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.ModelBuilder.Inspectors.ConfigurationParametersInspector.ProcessModel(Castle.MicroKernel.IKernel,Castle.Core.ComponentModel)">
-            <summary>
-            Inspect the configuration associated with the component
-            and populates the parameter model collection accordingly
-            </summary>
-            <param name="kernel"></param>
-            <param name="model"></param>
-        </member>
-        <member name="T:Castle.MicroKernel.ModelBuilder.Inspectors.ConstructorDependenciesModelInspector">
-            <summary>
-            This implementation of <see cref="T:Castle.MicroKernel.ModelBuilder.IContributeComponentModelConstruction"/>
-            collects all available constructors and populates them in the model
-            as candidates. The Kernel will pick up one of the candidates
-            according to a heuristic.
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.ExtendedPropertiesConstants">
-            <summary>
-            Only to hold internal constants and get rid of 
-            magic numbers and hardcode names.
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.ModelBuilder.Inspectors.GenericInspector">
-            <summary>
-            
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.ModelBuilder.Inspectors.InterceptorInspector">
-            <summary>
-            Inspect the component for <c>InterceptorAttribute</c> and
-            the configuration for the interceptors node
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.ModelBuilder.Inspectors.LifecycleModelInspector">
-            <summary>
-            Inspects the type looking for interfaces that constitutes
-            lifecycle interfaces, defined in the Castle.Model namespace.
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.ModelBuilder.Inspectors.LifecycleModelInspector.ProcessModel(Castle.MicroKernel.IKernel,Castle.Core.ComponentModel)">
-            <summary>
-            Checks if the type implements <see cref="T:Castle.Core.IInitializable"/> and or
-            <see cref="T:System.IDisposable"/> interfaces.
-            </summary>
-            <param name="kernel"></param>
-            <param name="model"></param>
-        </member>
-        <member name="T:Castle.MicroKernel.ModelBuilder.Inspectors.LifestyleModelInspector">
-            <summary>
-            Inspects the component configuration and the type looking for a
-            definition of lifestyle type. The configuration preceeds whatever
-            is defined in the component.
-            </summary>
-            <remarks>
-            This inspector is not guarantee to always set up an lifestyle type. 
-            If nothing could be found it wont touch the model. In this case is up to
-            the kernel to estabish a default lifestyle for components.
-            </remarks>
-        </member>
-        <member name="M:Castle.MicroKernel.ModelBuilder.Inspectors.LifestyleModelInspector.ProcessModel(Castle.MicroKernel.IKernel,Castle.Core.ComponentModel)">
-            <summary>
-            Seaches for the lifestyle in the configuration and, if unsuccessful
-            look for the lifestyle attribute in the implementation type.
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.ModelBuilder.Inspectors.LifestyleModelInspector.ReadLifestyleFromConfiguration(Castle.Core.ComponentModel)">
-            <summary>
-            Reads the attribute "lifestyle" associated with the 
-            component configuration and tries to convert to <see cref="T:Castle.Core.LifestyleType"/>  
-            enum type. 
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.ModelBuilder.Inspectors.LifestyleModelInspector.ReadLifestyleFromType(Castle.Core.ComponentModel)">
-            <summary>
-            Check if the type expose one of the lifestyle attributes
-            defined in Castle.Model namespace.
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.ModelBuilder.Inspectors.MethodMetaInspector">
-            <summary>
-            Base for inspectors that want configuration associated with methods.
-            For each child a <see cref="T:Castle.Core.MethodMetaModel"/> is created
-            and added to ComponentModel's methods collection
-            </summary>
-            <remarks>
-            Implementors should override the <see cref="M:Castle.MicroKernel.ModelBuilder.Inspectors.MethodMetaInspector.ObtainNodeName"/> return
-            the name of the node to be inspected. For example:
-            <code>
-            <![CDATA[
-              <transactions>
-                <method name="Save" transaction="requires" />
-              </transactions>
-            ]]>
-            </code>
-            </remarks>
-        </member>
-        <member name="T:Castle.MicroKernel.ModelBuilder.Inspectors.PropertiesDependenciesModelInspector">
-            <summary>
-            This implementation of <see cref="T:Castle.MicroKernel.ModelBuilder.IContributeComponentModelConstruction"/>
-            collects all potential writable puplic properties exposed by the component 
-            implementation and populates the model with them.
-            The Kernel might be able to set some of these properties when the component 
-            is requested.
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.ModelBuilder.Inspectors.PropertiesDependenciesModelInspector.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.MicroKernel.ModelBuilder.Inspectors.PropertiesDependenciesModelInspector"/> class.
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.ModelBuilder.Inspectors.PropertiesDependenciesModelInspector.ProcessModel(Castle.MicroKernel.IKernel,Castle.Core.ComponentModel)">
-            <summary>
-            Adds the properties as optional dependencies of this component.
-            </summary>
-            <param name="kernel"></param>
-            <param name="model"></param>
-        </member>
-        <member name="T:Castle.MicroKernel.ModelBuilder.DefaultComponentModelBuilder">
-            <summary>
-            Summary description for DefaultComponentModelBuilder.
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.IComponentModelBuilder">
-            <summary>
-            Implementors must construct a populated
-            instance of ComponentModel by inspecting the component
-            and|or the configuration.
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.IComponentModelBuilder.BuildModel(System.String,System.Type,System.Type,System.Collections.IDictionary)">
-            <summary>
-            Constructs a new ComponentModel by invoking
-            the registered contributors.
-            </summary>
-            <param name="key"></param>
-            <param name="service"></param>
-            <param name="classType"></param>
-            <param name="extendedProperties"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.IComponentModelBuilder.AddContributor(Castle.MicroKernel.ModelBuilder.IContributeComponentModelConstruction)">
-            <summary>
-            "To give or supply in common with others; give to a 
-            common fund or for a common purpose". The contributor
-            should inspect the component, or even the configuration
-            associated with the component, to add or change information
-            in the model that can be used later.
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.IComponentModelBuilder.RemoveContributor(Castle.MicroKernel.ModelBuilder.IContributeComponentModelConstruction)">
-            <summary>
-            Removes the specified contributor
-            </summary>
-            <param name="contributor"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.ModelBuilder.DefaultComponentModelBuilder.#ctor(Castle.MicroKernel.IKernel)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.MicroKernel.ModelBuilder.DefaultComponentModelBuilder"/> class.
-            </summary>
-            <param name="kernel">The kernel.</param>
-        </member>
-        <member name="M:Castle.MicroKernel.ModelBuilder.DefaultComponentModelBuilder.BuildModel(System.String,System.Type,System.Type,System.Collections.IDictionary)">
-            <summary>
-            Constructs a new ComponentModel by invoking
-            the registered contributors.
-            </summary>
-            <param name="key"></param>
-            <param name="service"></param>
-            <param name="classType"></param>
-            <param name="extendedProperties"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.ModelBuilder.DefaultComponentModelBuilder.AddContributor(Castle.MicroKernel.ModelBuilder.IContributeComponentModelConstruction)">
-            <summary>
-            "To give or supply in common with others; give to a
-            common fund or for a common purpose". The contributor
-            should inspect the component, or even the configuration
-            associated with the component, to add or change information
-            in the model that can be used later.
-            </summary>
-            <param name="contributor"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.ModelBuilder.DefaultComponentModelBuilder.RemoveContributor(Castle.MicroKernel.ModelBuilder.IContributeComponentModelConstruction)">
-            <summary>
-            Removes the specified contributor
-            </summary>
-            <param name="contributor"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.ModelBuilder.DefaultComponentModelBuilder.InitializeContributors">
-            <summary>
-            Initializes the default contributors.
-            </summary>
-        </member>
-        <member name="P:Castle.MicroKernel.ModelBuilder.DefaultComponentModelBuilder.Contributors">
-            <summary>
-            Gets the contributors.
-            </summary>
-            <value>The contributors.</value>
-        </member>
-        <member name="T:Castle.MicroKernel.IProxyFactory">
-            <summary>
-            Defines the contract used by the kernel 
-            to obtain proxies for components. The implementor
-            must return a proxied instance that dispatch 
-            the invocation to the registered interceptors in the model
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.IProxyFactory.Create(Castle.MicroKernel.IKernel,System.Object,Castle.Core.ComponentModel,System.Object[])">
-            <summary>
-            Implementors must create a proxy based on 
-            the information exposed by ComponentModel
-            </summary>
-            <param name="kernel">The kernel instance</param>
-            <param name="model">The component model</param>
-            <param name="instance">The component instance to be proxy (only required in some cases)</param>
-            <param name="constructorArguments">array of parameters to the constructor (if any)</param>
-            <returns>proxy instance</returns>
-        </member>
-        <member name="M:Castle.MicroKernel.IProxyFactory.RequiresTargetInstance(Castle.MicroKernel.IKernel,Castle.Core.ComponentModel)">
-            <summary>
-            Implementor should check the component model
-            and determine if the caller must pass on the component 
-            instance to the proxy
-            </summary>
-            <param name="kernel">The kernel instance</param>
-            <param name="model">The component model</param>
-            <returns><c>true</c> if an instance must be passed to <see cref="M:Castle.MicroKernel.IProxyFactory.Create(Castle.MicroKernel.IKernel,System.Object,Castle.Core.ComponentModel,System.Object[])"/></returns>
-        </member>
-        <member name="T:Castle.MicroKernel.Proxy.IProxyHook">
-            <summary>
-            Used during the target type inspection process.
-            Implementors have a chance to interfere in the
-            proxy generation process
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.Proxy.IProxyHook.ShouldInterceptMethod(System.Type,System.Reflection.MethodInfo)">
-            <summary>
-            Invoked by the generation process to know if
-            the specified member should be proxied
-            </summary>
-            <param name="type"></param>
-            <param name="memberInfo"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Proxy.IProxyHook.NonVirtualMemberNotification(System.Type,System.Reflection.MemberInfo)">
-            <summary>
-            Invoked by the generation process to notify that a
-            member wasn't marked as virtual.
-            </summary>
-            <param name="type"></param>
-            <param name="memberInfo"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.Proxy.IProxyHook.MethodsInspected">
-            <summary>
-            Invoked by the generation process to notify 
-            that the whole process is completed.
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.Proxy.NotSupportedProxyFactory">
-            <summary>
-            This is a placeholder implementation of <see cref="T:Castle.MicroKernel.IProxyFactory"/>.
-            </summary>
-            <remarks>
-            The decision to supply no implementation for <see cref="T:Castle.MicroKernel.IProxyFactory"/>
-            is supported by the fact that the MicroKernel should be a thin
-            assembly with the minimal set of features, although extensible.
-            Providing the support for this interface would obligate 
-            the user to import another assembly, even if the large majority of
-            simple cases, no use use of interceptors will take place.
-            If you want to use however, see the Windsor container.
-            </remarks>
-        </member>
-        <member name="T:Castle.MicroKernel.Proxy.ProxyConstants">
-            <summary>
-            Holds the keys used by the proxy factories.
-            </summary>
-        </member>
-        <member name="F:Castle.MicroKernel.Proxy.ProxyConstants.ProxyOptionsKey">
-            <summary>
-            Key used to supply custom proxy options.
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.Proxy.ProxyOptions">
-            <summary>
-            Represents options to configure proxies.
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.Proxy.ProxyOptions.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.MicroKernel.Proxy.ProxyOptions"/> class.
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.Proxy.ProxyOptions.AddAdditionalInterfaces(System.Type[])">
-            <summary>
-            Adds the additional interfaces to proxy.
-            </summary>
-            <param name="interfaces">The interfaces.</param>
-        </member>
-        <member name="M:Castle.MicroKernel.Proxy.ProxyOptions.Equals(System.Object)">
-            <summary>
-            Equalses the specified obj.
-            </summary>
-            <param name="obj">The obj.</param>
-            <returns>true if equal.</returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Proxy.ProxyOptions.GetHashCode">
-            <summary>
-            Gets the hash code.
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="P:Castle.MicroKernel.Proxy.ProxyOptions.Hook">
-            <summary>
-            Gets or sets the proxy hook.
-            </summary>
-        </member>
-        <member name="P:Castle.MicroKernel.Proxy.ProxyOptions.OmitTarget">
-            <summary>
-            Determines if the proxied component uses a target.
-            </summary>
-        </member>
-        <member name="P:Castle.MicroKernel.Proxy.ProxyOptions.AllowChangeTarget">
-            <summary>
-            Determines if the proxied component can change targets.
-            </summary>
-        </member>
-        <member name="P:Castle.MicroKernel.Proxy.ProxyOptions.UseSingleInterfaceProxy">
-            <summary>
-            Determines if the proxied component should only include
-            the service interface.
-            </summary>
-        </member>
-        <member name="P:Castle.MicroKernel.Proxy.ProxyOptions.UseMarshalByRefAsBaseClass">
-            <summary>
-            Determines if the interface proxied component should inherit 
-            from <see cref="T:System.MarshalByRefObject"/>
-            </summary>
-        </member>
-        <member name="P:Castle.MicroKernel.Proxy.ProxyOptions.AdditionalInterfaces">
-            <summary>
-            Gets the additional interfaces to proxy.
-            </summary>
-            <value>The interfaces.</value>
-        </member>
-        <member name="T:Castle.MicroKernel.Proxy.ProxyUtil">
-            <summary>
-            Helper support for proxy configuration.
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.Proxy.ProxyUtil.ObtainProxyOptions(Castle.Core.ComponentModel,System.Boolean)">
-            <summary>
-            Obtains the <see cref="T:Castle.MicroKernel.Proxy.ProxyOptions"/> associated with the <see cref="T:Castle.Core.ComponentModel"/>.
-            </summary>
-            <param name="model">The component model.</param>
-            <param name="createOnDemand">true if the options should be created if not present.</param>
-            <returns>The associated proxy options for the component model.</returns>
-        </member>
-        <member name="T:Castle.MicroKernel.Registration.AllTypes">
-            <summary>
-            Describes a set of components to register in the kernel.
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.AllTypes.Of(System.Type)">
-            <summary>
-            Describes all the types based on <c>basedOn</c>.
-            </summary>
-            <param name="basedOn">The base type.</param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.AllTypes.Of``1">
-            <summary>
-            Describes all the types based on type T.
-            </summary>
-            <typeparam name="T">The base type.</typeparam>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.AllTypes.Pick">
-            <summary>
-            Describes any types that are supplied.
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.AllTypes.FromAssemblyNamed(System.String)">
-            <summary>
-            Prepares to register types from an assembly.
-            </summary>
-            <param name="assemblyName">The assembly name.</param>
-            <returns>The corresponding <see cref="T:Castle.MicroKernel.Registration.FromDescriptor"/></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.AllTypes.FromAssembly(System.Reflection.Assembly)">
-            <summary>
-            Prepares to register types from an assembly.
-            </summary>
-            <param name="assembly">The assembly.</param>
-            <returns>The corresponding <see cref="T:Castle.MicroKernel.Registration.FromDescriptor"/></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.AllTypes.From(System.Collections.Generic.IEnumerable{System.Type})">
-            <summary>
-            Prepares to register types from a list of types.
-            </summary>
-            <param name="types">The list of types.</param>
-            <returns>The corresponding <see cref="T:Castle.MicroKernel.Registration.FromDescriptor"/></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.AllTypes.Pick(System.Collections.Generic.IEnumerable{System.Type})">
-            <summary>
-            Prepares to register types from a list of types.
-            </summary>
-            <param name="types">The list of types.</param>
-            <returns>The corresponding <see cref="T:Castle.MicroKernel.Registration.FromDescriptor"/></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.AllTypes.From(System.Type[])">
-            <summary>
-            Prepares to register types from a list of types.
-            </summary>
-            <param name="types">The list of types.</param>
-            <returns>The corresponding <see cref="T:Castle.MicroKernel.Registration.FromDescriptor"/></returns>
-        </member>
-        <member name="T:Castle.MicroKernel.Registration.AllTypesOf">
-            <summary>
-            Describes a related group of components to register in the kernel.
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.AllTypesOf.FromAssemblyNamed(System.String)">
-            <summary>
-            Prepares to register types from an assembly.
-            </summary>
-            <param name="assemblyName">The assembly name.</param>
-            <returns>The corresponding <see cref="T:Castle.MicroKernel.Registration.BasedOnDescriptor"/></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.AllTypesOf.FromAssembly(System.Reflection.Assembly)">
-            <summary>
-            Prepares to register types from an assembly.
-            </summary>
-            <param name="assembly">The assembly.</param>
-            <returns>The corresponding <see cref="T:Castle.MicroKernel.Registration.BasedOnDescriptor"/></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.AllTypesOf.From(System.Collections.Generic.IEnumerable{System.Type})">
-            <summary>
-            Prepares to register types from a list of types.
-            </summary>
-            <param name="types">The list of types.</param>
-            <returns>The corresponding <see cref="T:Castle.MicroKernel.Registration.BasedOnDescriptor"/></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.AllTypesOf.Pick(System.Collections.Generic.IEnumerable{System.Type})">
-            <summary>
-            Prepares to register types from a list of types.
-            </summary>
-            <param name="types">The list of types.</param>
-            <returns>The corresponding <see cref="T:Castle.MicroKernel.Registration.BasedOnDescriptor"/></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.AllTypesOf.From(System.Type[])">
-            <summary>
-            Prepares to register types from a list of types.
-            </summary>
-            <param name="types">The list of types.</param>
-            <returns>The corresponding <see cref="T:Castle.MicroKernel.Registration.BasedOnDescriptor"/></returns>
-        </member>
-        <member name="T:Castle.MicroKernel.Registration.BasedOnDescriptor">
-            <summary>
-            Describes how to register a group of related types.
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.Registration.IRegistration">
-            <summary>
-            The contract for all registrations with the kernel.
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.IRegistration.Register(Castle.MicroKernel.IKernel)">
-            <summary>
-            Performs the registration in the <see cref="T:Castle.MicroKernel.IKernel"/>.
-            </summary>
-            <param name="kernel">The kernel.</param>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.BasedOnDescriptor.#ctor(System.Type,Castle.MicroKernel.Registration.FromDescriptor)">
-            <summary>
-            Initializes a new instance of the BasedOnDescriptor.
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.BasedOnDescriptor.If(System.Predicate{System.Type})">
-            <summary>
-            Assigns a conditional predication which must be satisfied.
-            </summary>
-            <param name="ifFilter">The predicate to satisfy.</param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.BasedOnDescriptor.Unless(System.Predicate{System.Type})">
-            <summary>
-            Assigns a conditional predication which must not be satisfied. 
-            </summary>
-            <param name="unlessFilter">The predicate not to satisify.</param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.BasedOnDescriptor.Configure(System.Action{Castle.MicroKernel.Registration.ComponentRegistration})">
-            <summary>
-            Allows customized configurations of each matching type.
-            </summary>
-            <param name="configurer">The configuration action.</param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.BasedOnDescriptor.AllowMultipleMatches">
-            <summary>
-            Allows a type to be registered multiple times.
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.BasedOnDescriptor.BasedOn``1">
-            <summary>
-            Returns the descriptor for accepting a new type.
-            </summary>
-            <typeparam name="T">The base type.</typeparam>
-            <returns>The descriptor for the type.</returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.BasedOnDescriptor.BasedOn(System.Type)">
-            <summary>
-            Returns the descriptor for accepting a new type.
-            </summary>
-            <param name="basedOn">The base type.</param>
-            <returns>The descriptor for the type.</returns>
-        </member>
-        <member name="P:Castle.MicroKernel.Registration.BasedOnDescriptor.InternalBasedOn">
-            <summary>
-            Gets the type all types must be based on.
-            </summary>
-        </member>
-        <member name="P:Castle.MicroKernel.Registration.BasedOnDescriptor.WithService">
-            <summary>
-            Gets the service descriptor.
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.Registration.FromDescriptor">
-            <summary>
-            Describes the source of types to register.
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.FromDescriptor.AllowMultipleMatches">
-            <summary>
-            Allows a type to be registered multiple times.
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.FromDescriptor.BasedOn``1">
-            <summary>
-            Returns the descriptor for accepting a type.
-            </summary>
-            <typeparam name="T">The base type.</typeparam>
-            <returns>The descriptor for the type.</returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.FromDescriptor.BasedOn(System.Type)">
-            <summary>
-            Returns the descriptor for accepting a type.
-            </summary>
-            <param name="basedOn">The base type.</param>
-            <returns>The descriptor for the type.</returns>
-        </member>
-        <member name="T:Castle.MicroKernel.Registration.ServiceDescriptor">
-            <summary>
-            Describes how to select a types service.
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.ServiceDescriptor.Base">
-            <summary>
-            Uses the base type matched on.
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.ServiceDescriptor.FirstInterface">
-            <summary>
-            Uses the first interface of a type.
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.ServiceDescriptor.Select(Castle.MicroKernel.Registration.ServiceDescriptor.ServiceSelector)">
-            <summary>
-            Assigns a custom service selection strategy.
-            </summary>
-            <param name="selector"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.Component.For(System.Type)">
-            <summary>
-            Creates a component registration for the <paramref name="serviceType"/>
-            </summary>
-            <param name="serviceType">Type of the service.</param>
-            <returns>The component registration.</returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.Component.For``1">
-            <summary>
-            Creates a component registration for the service type.
-            </summary>
-            <returns>The component registration.</returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.Component.For(Castle.Core.ComponentModel)">
-            <summary>
-            Create a component registration for an exisiting <see cref="T:Castle.Core.ComponentModel"/>
-            </summary>
-            <param name="model">The component model.</param>
-            <returns>The component registration.</returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.Component.ServiceAlreadyRegistred(Castle.MicroKernel.IKernel,Castle.Core.ComponentModel)">
-            <summary>
-            Determines if the component service is already registered.
-            </summary>
-            <param name="kernel">The kernel.</param>
-            <param name="model">The component model.</param>
-            <returns>true if the service is already registered.</returns>
-        </member>
-        <member name="T:Castle.MicroKernel.Registration.ComponentFilter">
-            <summary>
-            Delegate to filter component registration.
-            </summary>
-            <param name="kernel">The kernel.</param>
-            <param name="model">The component model.</param>
-            <returns>true if accepted.</returns>
-        </member>
-        <member name="T:Castle.MicroKernel.Registration.ComponentRegistration`1">
-            <summary>
-            Registration for a single component with the kernel.
-            </summary>
-            <typeparam name="S">The service type</typeparam>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.ComponentRegistration`1.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.MicroKernel.Registration.ComponentRegistration`1"/> class.
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.ComponentRegistration`1.#ctor(Castle.Core.ComponentModel)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.MicroKernel.Registration.ComponentRegistration`1"/> class
-            with an existing <see cref="T:Castle.Core.ComponentModel"/>.
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.ComponentRegistration`1.OverWrite">
-            <summary>
-            With the overwrite.
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.ComponentRegistration`1.Named(System.String)">
-            <summary>
-            With the name.
-            </summary>
-            <param name="name">The name.</param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.ComponentRegistration`1.Instance(`0)">
-            <summary>
-            With the instance.
-            </summary>
-            <param name="instance">The instance.</param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.ComponentRegistration`1.Activator``1">
-            <summary>
-            With the activator.
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.ComponentRegistration`1.ExtendedProperties(Castle.MicroKernel.Registration.Property[])">
-            <summary>
-            With the extended properties.
-            </summary>
-            <param name="properties">The properties.</param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.ComponentRegistration`1.ExtendedProperties(System.Object)">
-            <summary>
-            With the extended properties.
-            </summary>
-            <param name="anonymous">The properties.</param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.ComponentRegistration`1.DependsOn(Castle.MicroKernel.Registration.Property[])">
-            <summary>
-            With the custom dependencies.
-            </summary>
-            <param name="dependencies">The dependencies.</param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.ComponentRegistration`1.DependsOn(System.Collections.IDictionary)">
-            <summary>
-            With the custom dependencies.
-            </summary>
-            <param name="dependencies">The dependencies.</param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.ComponentRegistration`1.DependsOn(System.Object)">
-            <summary>
-            With the custom dependencies.
-            </summary>
-            <param name="anonymous">The dependencies.</param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.ComponentRegistration`1.CustomDependencies(Castle.MicroKernel.Registration.Property[])">
-            <summary>
-            With the custom dependencies.
-            </summary>
-            <param name="dependencies">The dependencies.</param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.ComponentRegistration`1.CustomDependencies(System.Collections.IDictionary)">
-            <summary>
-            With the custom dependencies.
-            </summary>
-            <param name="dependencies">The dependencies.</param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.ComponentRegistration`1.CustomDependencies(System.Object)">
-            <summary>
-            With the custom dependencies.
-            </summary>
-            <param name="dependencies">The dependencies.</param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.ComponentRegistration`1.ServiceOverrides(Castle.MicroKernel.Registration.ServiceOverride[])">
-            <summary>
-            With the service overrides.
-            </summary>
-            <param name="overrides">The overrides.</param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.ComponentRegistration`1.ServiceOverrides(System.Collections.IDictionary)">
-            <summary>
-            With the service overrides.
-            </summary>
-            <param name="overrides">The overrides.</param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.ComponentRegistration`1.ServiceOverrides(System.Object)">
-            <summary>
-            With the service overrides.
-            </summary>
-            <param name="anonymous">The overrides.</param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.ComponentRegistration`1.Parameters(Castle.MicroKernel.Registration.Parameter[])">
-            <summary>
-            With the configuration parameters.
-            </summary>
-            <param name="parameters">The parameters.</param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.ComponentRegistration`1.Configuration(Castle.MicroKernel.Registration.Node[])">
-            <summary>
-            With the configuration.
-            </summary>
-            <param name="configNodes">The config nodes.</param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.ComponentRegistration`1.Configuration(Castle.Core.Configuration.IConfiguration)">
-            <summary>
-            With the configuration.
-            </summary>
-            <param name="configuration">The configuration <see cref="T:Castle.Core.Configuration.MutableConfiguration"/>.</param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.ComponentRegistration`1.Interceptors(Castle.Core.InterceptorReference[])">
-            <summary>
-            With the interceptors.
-            </summary>
-            <param name="interceptors">The interceptors.</param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.ComponentRegistration`1.Startable">
-            <summary>
-            Makrs component as startable.
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.ComponentRegistration`1.StartUsingMethod(System.String)">
-            <summary>
-            Assigns the start method for the startable.
-            </summary>
-            <param name="startMethod">The start method.</param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.ComponentRegistration`1.StopUsingMethod(System.String)">
-            <summary>
-            Assigns the stop method for the startable.
-            </summary>
-            <param name="stopMethod">The stop method.</param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.ComponentRegistration`1.ActAs(System.Object[])">
-            <summary>
-            Marks the components with one or more actors.
-            </summary>
-            <param name="actors">The component actors.</param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.ComponentRegistration`1.If(Castle.MicroKernel.Registration.ComponentFilter)">
-            <summary>
-            Assigns a conditional predication which must be satisfied.
-            </summary>
-            <param name="ifFilter">The predicate to satisfy.</param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.ComponentRegistration`1.Unless(Castle.MicroKernel.Registration.ComponentFilter)">
-            <summary>
-            Assigns a conditional predication which must not be satisfied. 
-            </summary>
-            <param name="unlessFilter">The predicate not to satisify.</param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.ComponentRegistration`1.Castle#MicroKernel#Registration#IRegistration#Register(Castle.MicroKernel.IKernel)">
-            <summary>
-            Registers this component with the <see cref="T:Castle.MicroKernel.IKernel"/>.
-            </summary>
-            <param name="kernel">The kernel.</param>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.ComponentRegistration`1.AddAttributeDescriptor(System.String,System.String)">
-            <summary>
-            Adds the attribute descriptor.
-            </summary>
-            <param name="key">The key.</param>
-            <param name="value">The value.</param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.ComponentRegistration`1.AddDescriptor(Castle.MicroKernel.Registration.ComponentDescriptor{`0})">
-            <summary>
-            Adds the descriptor.
-            </summary>
-            <param name="descriptor">The descriptor.</param>
-            <returns></returns>
-        </member>
-        <member name="P:Castle.MicroKernel.Registration.ComponentRegistration`1.Proxy">
-            <summary>
-            Gets the proxy.
-            </summary>
-            <value>The proxy.</value>
-        </member>
-        <member name="P:Castle.MicroKernel.Registration.ComponentRegistration`1.LifeStyle">
-            <summary>
-            Gets the with lifestyle.
-            </summary>
-            <value>The with lifestyle.</value>
-        </member>
-        <member name="T:Castle.MicroKernel.Registration.Node">
-            <summary>
-            Represents a configuration child.
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.Node.ApplyTo(Castle.Core.Configuration.IConfiguration)">
-            <summary>
-            Applies the configuration node.
-            </summary>
-            <param name="configuration">The configuration.</param>
-        </member>
-        <member name="T:Castle.MicroKernel.Registration.Attrib">
-            <summary>
-            Represents a configuration attribute.
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.Attrib.ApplyTo(Castle.Core.Configuration.IConfiguration)">
-            <summary>
-            Applies the configuration node.
-            </summary>
-            <param name="configuration">The configuration.</param>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.Attrib.ForName(System.String)">
-            <summary>
-            Create a <see cref="T:Castle.MicroKernel.Registration.NamedAttribute"/> with name.
-            </summary>
-            <param name="name">The attribute name.</param>
-            <returns>The new <see cref="T:Castle.MicroKernel.Registration.NamedAttribute"/></returns>
-        </member>
-        <member name="T:Castle.MicroKernel.Registration.NamedAttribute">
-            <summary>
-            Represents a named attribute.
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.NamedAttribute.Eq(System.String)">
-            <summary>
-            Builds the <see cref="T:System.Attribute"/> with name/value.
-            </summary>
-            <param name="value">The attribute value.</param>
-            <returns>The new <see cref="T:Castle.MicroKernel.Registration.SimpleChild"/></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.NamedAttribute.Eq(System.Object)">
-            <summary>
-            Builds the <see cref="T:System.Attribute"/> with name/value.
-            </summary>
-            <param name="value">The attribute value.</param>
-            <returns>The new <see cref="T:Castle.MicroKernel.Registration.SimpleChild"/></returns>
-        </member>
-        <member name="T:Castle.MicroKernel.Registration.Child">
-            <summary>
-            Represents a configuration child.
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.Child.ForName(System.String)">
-            <summary>
-            Create a <see cref="T:Castle.MicroKernel.Registration.NamedChild"/> with name.
-            </summary>
-            <param name="name">The child name.</param>
-            <returns>The new <see cref="T:Castle.MicroKernel.Registration.NamedChild"/></returns>
-        </member>
-        <member name="T:Castle.MicroKernel.Registration.NamedChild">
-            <summary>
-            Represents a named child.
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.NamedChild.Eq(System.String)">
-            <summary>
-            Builds the <see cref="T:Castle.MicroKernel.Registration.SimpleChild"/> with name/value.
-            </summary>
-            <param name="value">The child value.</param>
-            <returns>The new <see cref="T:Castle.MicroKernel.Registration.SimpleChild"/></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.NamedChild.Eq(System.Object)">
-            <summary>
-            Builds the <see cref="T:Castle.MicroKernel.Registration.SimpleChild"/> with name/value.
-            </summary>
-            <param name="value">The child value.</param>
-            <returns>The new <see cref="T:Castle.MicroKernel.Registration.SimpleChild"/></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.NamedChild.Eq(Castle.Core.Configuration.IConfiguration)">
-            <summary>
-            Builds the <see cref="T:Castle.MicroKernel.Registration.ComplexChild"/> with name/config.
-            </summary>
-            <param name="configNode">The child configuration.</param>
-            <returns>The new <see cref="T:Castle.MicroKernel.Registration.ComplexChild"/></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.NamedChild.Eq(Castle.MicroKernel.Registration.Node[])">
-            <summary>
-            Builds the <see cref="T:Castle.MicroKernel.Registration.Child"/> with name/config.
-            </summary>
-            <param name="childNodes">The child nodes.</param>
-            <returns>The new <see cref="T:Castle.MicroKernel.Registration.CompoundChild"/></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.NamedChild.ApplyTo(Castle.Core.Configuration.IConfiguration)">
-            <summary>
-            Applies the configuration node.
-            </summary>
-            <param name="configuration">The configuration.</param>
-        </member>
-        <member name="T:Castle.MicroKernel.Registration.SimpleChild">
-            <summary>
-            Represents a simple child node.
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.SimpleChild.ApplyTo(Castle.Core.Configuration.IConfiguration)">
-            <summary>
-            Applies the configuration node.
-            </summary>
-            <param name="configuration">The configuration.</param>
-        </member>
-        <member name="T:Castle.MicroKernel.Registration.ComplexChild">
-            <summary>
-            Represents a complex child node.
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.ComplexChild.ApplyTo(Castle.Core.Configuration.IConfiguration)">
-            <summary>
-            Applies the configuration node.
-            </summary>
-            <param name="configuration">The configuration.</param>
-        </member>
-        <member name="T:Castle.MicroKernel.Registration.CompoundChild">
-            <summary>
-            Represents a compound child node.
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.CompoundChild.ApplyTo(Castle.Core.Configuration.IConfiguration)">
-            <summary>
-            Applies the configuration node.
-            </summary>
-            <param name="configuration">The configuration.</param>
-        </member>
-        <member name="T:Castle.MicroKernel.Registration.Parameter">
-            <summary>
-            Represents a configuration parameter.
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.Parameter.ForKey(System.String)">
-            <summary>
-            Create a <see cref="T:Castle.MicroKernel.Registration.ParameterKey"/> with key.
-            </summary>
-            <param name="key">The parameter key.</param>
-            <returns>The new <see cref="T:Castle.MicroKernel.Registration.ParameterKey"/></returns>
-        </member>
-        <member name="P:Castle.MicroKernel.Registration.Parameter.Key">
-            <summary>
-            Gets the parameter key.
-            </summary>
-        </member>
-        <member name="P:Castle.MicroKernel.Registration.Parameter.Value">
-            <summary>
-            Gets the parameter value.
-            </summary>
-        </member>
-        <member name="P:Castle.MicroKernel.Registration.Parameter.ConfigNode">
-            <summary>
-            Gets the parameter configuration.
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.Registration.ParameterKey">
-            <summary>
-            Represents a parameter key.
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.ParameterKey.Eq(System.String)">
-            <summary>
-            Builds the <see cref="T:Castle.MicroKernel.Registration.Parameter"/> with key/value.
-            </summary>
-            <param name="value">The parameter value.</param>
-            <returns>The new <see cref="T:Castle.MicroKernel.Registration.Parameter"/></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.ParameterKey.Eq(Castle.Core.Configuration.IConfiguration)">
-            <summary>
-            Builds the <see cref="T:Castle.MicroKernel.Registration.Parameter"/> with key/config.
-            </summary>
-            <param name="configNode">The parameter configuration.</param>
-            <returns>The new <see cref="T:Castle.MicroKernel.Registration.Parameter"/></returns>
-        </member>
-        <member name="P:Castle.MicroKernel.Registration.ParameterKey.Name">
-            <summary>
-            The parameter key name.
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.Registration.Property">
-            <summary>
-            Represents a key/value pair.
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.Property.ForKey(System.String)">
-            <summary>
-            Create a <see cref="T:Castle.MicroKernel.Registration.PropertyKey"/> with key.
-            </summary>
-            <param name="key">The property key.</param>
-            <returns>The new <see cref="T:Castle.MicroKernel.Registration.PropertyKey"/></returns>
-        </member>
-        <member name="P:Castle.MicroKernel.Registration.Property.Key">
-            <summary>
-            Gets the property key.
-            </summary>
-        </member>
-        <member name="P:Castle.MicroKernel.Registration.Property.Value">
-            <summary>
-            Gets the property value.
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.Registration.PropertyKey">
-            <summary>
-            Represents a property key.
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.PropertyKey.Eq(System.Object)">
-            <summary>
-            Builds the <see cref="T:Castle.MicroKernel.Registration.Property"/> with key/value.
-            </summary>
-            <param name="value">The property value.</param>
-            <returns>The new <see cref="T:Castle.MicroKernel.Registration.Property"/></returns>
-        </member>
-        <member name="P:Castle.MicroKernel.Registration.PropertyKey.Name">
-            <summary>
-            The property key name.
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.Registration.ServiceOverride">
-            <summary>
-            Represents a service override.
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.ServiceOverride.ForKey(System.String)">
-            <summary>
-            Creates a <see cref="T:Castle.MicroKernel.Registration.ServiceOverrideKey"/> with key.
-            </summary>
-            <param name="key">The service override key.</param>
-            <returns>The new <see cref="T:Castle.MicroKernel.Registration.ServiceOverrideKey"/></returns>
-        </member>
-        <member name="P:Castle.MicroKernel.Registration.ServiceOverride.Type">
-            <summary>
-            Gets the optional value type specifier.
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.Registration.ServiceOverrideKey">
-            <summary>
-            Represents a service override key.
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.ServiceOverrideKey.Eq(System.String)">
-            <summary>
-            Builds the <see cref="T:Castle.MicroKernel.Registration.ServiceOverride"/> with key/value.
-            </summary>
-            <param name="value">The service overeride value.</param>
-            <returns>The new <see cref="T:Castle.MicroKernel.Registration.ServiceOverride"/></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.ServiceOverrideKey.Eq(System.String[])">
-            <summary>
-            Builds the <see cref="T:Castle.MicroKernel.Registration.ServiceOverride"/> with key/values.
-            </summary>
-            <param name="value">The service overeride values.</param>
-            <returns>The new <see cref="T:Castle.MicroKernel.Registration.ServiceOverride"/></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.ServiceOverrideKey.Eq``1(System.String[])">
-            <summary>
-            Builds the <see cref="T:Castle.MicroKernel.Registration.ServiceOverride"/> with key/values.
-            </summary>
-            <param name="value">The service overeride values.</param>
-            <returns>The new <see cref="T:Castle.MicroKernel.Registration.ServiceOverride"/></returns>
-            <typeparam name="V">The value type.</typeparam>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.ServiceOverrideKey.Eq(System.Collections.Generic.IEnumerable{System.String})">
-            <summary>
-            Builds the <see cref="T:Castle.MicroKernel.Registration.ServiceOverride"/> with key/values.
-            </summary>
-            <param name="value">The service overeride values.</param>
-            <returns>The new <see cref="T:Castle.MicroKernel.Registration.ServiceOverride"/></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Registration.ServiceOverrideKey.Eq``1(System.Collections.Generic.IEnumerable{System.String})">
-            <summary>
-            Builds the <see cref="T:Castle.MicroKernel.Registration.ServiceOverride"/> with key/values.
-            </summary>
-            <param name="value">The service overeride values.</param>
-            <returns>The new <see cref="T:Castle.MicroKernel.Registration.ServiceOverride"/></returns>
-            <typeparam name="V">The value type.</typeparam>
-        </member>
-        <member name="P:Castle.MicroKernel.Registration.ServiceOverrideKey.Name">
-            <summary>
-            Gets the service override key name.
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.Releasers.AllComponentsReleasePolicy">
-            <summary>
-            Summary description for AllComponentsReleasePolicy.
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.IReleasePolicy">
-            <summary>
-            Summary description for IReleasePolicy.
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.Releasers.LifecycledComponentsReleasePolicy">
-            <summary>
-            Only tracks components that have decommission steps
-            registered
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.Releasers.LifecycledComponentsReleasePolicy.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.MicroKernel.Releasers.LifecycledComponentsReleasePolicy"/> class.
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.Releasers.NoTrackingReleasePolicy">
-            <summary>
-            No tracking of component instances are made.
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.Releasers.NoTrackingReleasePolicy.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.MicroKernel.Releasers.NoTrackingReleasePolicy"/> class.
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.Resolvers.DefaultDependencyResolver">
-            <summary>
-            Default implementation for <see cref="T:Castle.MicroKernel.IDependencyResolver"/>.
-            This implementation is quite simple, but still should be useful
-            for 99% of situations. 
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.IDependencyResolver">
-            <summary>
-            Implementors should use a strategy to obtain 
-            valid references to properties and/or services 
-            requested in the dependency model.
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.IDependencyResolver.Initialize(Castle.MicroKernel.DependencyDelegate)">
-            <summary>
-            This method is called with a delegate for firing the
-            IKernelEvents.DependencyResolving event.
-            </summary>
-            <param name="resolving">The delegate used to fire the event</param>
-        </member>
-        <member name="M:Castle.MicroKernel.IDependencyResolver.AddSubResolver(Castle.MicroKernel.ISubDependencyResolver)">
-            <summary>
-            Registers a sub resolver instance
-            </summary>
-            <param name="subResolver">The subresolver instance</param>
-        </member>
-        <member name="M:Castle.MicroKernel.IDependencyResolver.RemoveSubResolver(Castle.MicroKernel.ISubDependencyResolver)">
-            <summary>
-            Unregisters a sub resolver instance previously registered
-            </summary>
-            <param name="subResolver">The subresolver instance</param>
-        </member>
-        <member name="M:Castle.MicroKernel.Resolvers.DefaultDependencyResolver.#ctor(Castle.MicroKernel.IKernel)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.MicroKernel.Resolvers.DefaultDependencyResolver"/> class.
-            </summary>
-            <param name="kernel">The kernel.</param>
-        </member>
-        <member name="M:Castle.MicroKernel.Resolvers.DefaultDependencyResolver.Initialize(Castle.MicroKernel.DependencyDelegate)">
-            <summary>
-            Initializes this instance with the specified dependency delegate.
-            </summary>
-            <param name="dependencyDelegate">The dependency delegate.</param>
-        </member>
-        <member name="M:Castle.MicroKernel.Resolvers.DefaultDependencyResolver.AddSubResolver(Castle.MicroKernel.ISubDependencyResolver)">
-            <summary>
-            Registers a sub resolver instance
-            </summary>
-            <param name="subResolver">The subresolver instance</param>
-        </member>
-        <member name="M:Castle.MicroKernel.Resolvers.DefaultDependencyResolver.RemoveSubResolver(Castle.MicroKernel.ISubDependencyResolver)">
-            <summary>
-            Unregisters a sub resolver instance previously registered
-            </summary>
-            <param name="subResolver">The subresolver instance</param>
-        </member>
-        <member name="M:Castle.MicroKernel.Resolvers.DefaultDependencyResolver.CanResolve(Castle.MicroKernel.CreationContext,Castle.MicroKernel.ISubDependencyResolver,Castle.Core.ComponentModel,Castle.Core.DependencyModel)">
-            <summary>
-            Returns true if the resolver is able to satisfy the specified dependency.
-            </summary>
-            <param name="context">Creation context, which is a resolver itself</param>
-            <param name="parentResolver">Parent resolver</param>
-            <param name="model">Model of the component that is requesting the dependency</param>
-            <param name="dependency">The dependency model</param>
-            <returns><c>true</c> if the dependency can be satisfied</returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Resolvers.DefaultDependencyResolver.Resolve(Castle.MicroKernel.CreationContext,Castle.MicroKernel.ISubDependencyResolver,Castle.Core.ComponentModel,Castle.Core.DependencyModel)">
-            <summary>
-            Try to resolve the dependency by checking the parameters in 
-            the model or checking the Kernel for the requested service.
-            </summary>
-            <remarks>
-            The dependency resolver has the following precedence order:
-            <list type="bullet">
-            <item><description>
-            The dependency is checked within the <see cref="T:Castle.MicroKernel.CreationContext"/>
-            </description></item>
-            <item><description>
-            The dependency is checked within the <see cref="T:Castle.MicroKernel.IHandler"/> instance for the component
-            </description></item>
-            <item><description>
-            The dependency is checked within the registered <see cref="T:Castle.MicroKernel.ISubDependencyResolver"/>s
-            </description></item>
-            <item><description>
-            Finally the resolver tries the normal flow 
-            which is using the configuration
-            or other component to satisfy the dependency
-            </description></item>
-            </list>
-            </remarks>
-            <param name="context">Creation context, which is a resolver itself</param>
-            <param name="parentResolver">Parent resolver</param>
-            <param name="model">Model of the component that is requesting the dependency</param>
-            <param name="dependency">The dependency model</param>
-            <returns>The dependency resolved value or null</returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Resolvers.DefaultDependencyResolver.ExtractComponentKey(System.String,System.String)">
-            <summary>
-            Extracts the component name from the a ref strings which is
-            ${something}
-            </summary>
-            <param name="name"></param>
-            <param name="keyValue"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.Resolvers.DefaultDependencyResolver.RebuildContextForParameter(Castle.MicroKernel.CreationContext,System.Type)">
-            <summary>
-            This method rebuild the context for the parameter type.
-            Naive implementation.
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.Resolvers.DependencyResolverException">
-            <summary>
-            Summary description for DependencyResolverException.
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.Resolvers.DependencyResolverException.#ctor(System.String)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.MicroKernel.Resolvers.DependencyResolverException"/> class.
-            </summary>
-            <param name="message">The message.</param>
-        </member>
-        <member name="M:Castle.MicroKernel.Resolvers.DependencyResolverException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.MicroKernel.Resolvers.DependencyResolverException"/> class.
-            </summary>
-            <param name="info">The object that holds the serialized object data.</param>
-            <param name="context">The contextual information about the source or destination.</param>
-        </member>
-        <member name="T:Castle.MicroKernel.SubSystems.Configuration.DefaultConfigurationStore">
-            <summary>
-            This implementation of <see cref="T:Castle.MicroKernel.IConfigurationStore"/>
-            does not try to obtain an external configuration by any means.
-            Its only purpose is to serve as a base class for subclasses
-            that might obtain the configuration node from anywhere.
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.ISubSystem">
-            <summary>
-            A subsystem is used by the MicroKernel to deal 
-            with a specific concern.  
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.ISubSystem.Init(Castle.MicroKernel.IKernel)">
-            <summary>
-            Initializes the subsystem
-            </summary>
-            <param name="kernel"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.ISubSystem.Terminate">
-            <summary>
-            Should perform the termination
-            of the subsystem instance.
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.IConfigurationStore">
-            <summary>
-            The contract used by the kernel to obtain
-            external configuration for the components and
-            facilities.
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.IConfigurationStore.AddFacilityConfiguration(System.String,Castle.Core.Configuration.IConfiguration)">
-            <summary>
-            Associates a configuration node with a facility key
-            </summary>
-            <param name="key">item key</param>
-            <param name="config">Configuration node</param>
-        </member>
-        <member name="M:Castle.MicroKernel.IConfigurationStore.AddComponentConfiguration(System.String,Castle.Core.Configuration.IConfiguration)">
-            <summary>
-            Associates a configuration node with a component key
-            </summary>
-            <param name="key">item key</param>
-            <param name="config">Configuration node</param>
-        </member>
-        <member name="M:Castle.MicroKernel.IConfigurationStore.AddBootstrapComponentConfiguration(System.String,Castle.Core.Configuration.IConfiguration)">
-            <summary>
-            Associates a  configuration node with a bootstrap component key
-            </summary>
-            <param name="key">item key</param>
-            <param name="config">Configuration node</param>
-        </member>
-        <member name="M:Castle.MicroKernel.IConfigurationStore.AddChildContainerConfiguration(System.String,Castle.Core.Configuration.IConfiguration)">
-            <summary>
-            Adds the child container configuration.
-            </summary>
-            <param name="name">The container's name.</param>
-            <param name="config">The config.</param>
-        </member>
-        <member name="M:Castle.MicroKernel.IConfigurationStore.GetChildContainerConfiguration(System.String)">
-            <summary>
-            Returns the configuration node associated with 
-            the specified child container key. Should return null
-            if no association exists.
-            </summary>
-            <param name="key">item key</param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.IConfigurationStore.GetFacilityConfiguration(System.String)">
-            <summary>
-            Returns the configuration node associated with 
-            the specified facility key. Should return null
-            if no association exists.
-            </summary>
-            <param name="key">item key</param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.IConfigurationStore.GetComponentConfiguration(System.String)">
-            <summary>
-            Returns the configuration node associated with 
-            the specified component key. Should return null
-            if no association exists.
-            </summary>
-            <param name="key">item key</param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.IConfigurationStore.GetBootstrapComponentConfiguration(System.String)">
-            <summary>
-            Returns the configuration node associated with 
-            the specified component key. Should return null
-            if no association exists.
-            </summary>
-            <param name="key">item key</param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.IConfigurationStore.GetFacilities">
-            <summary>
-            Returns all configuration nodes for facilities
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.IConfigurationStore.GetComponents">
-            <summary>
-            Returns all configuration nodes for components
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.IConfigurationStore.GetBootstrapComponents">
-            <summary>
-            Returns all configuration nodes for bootstrap components
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.IConfigurationStore.GetConfigurationForChildContainers">
-            <summary>
-            Gets the child containers configuration nodes.
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.IConfigurationStore.GetResource(System.String,Castle.Core.Resource.IResource)">
-            <summary>
-            
-            </summary>
-            <param name="resourceUri"></param>
-            <param name="resource"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.SubSystems.Configuration.DefaultConfigurationStore.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.MicroKernel.SubSystems.Configuration.DefaultConfigurationStore"/> class.
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.SubSystems.Configuration.DefaultConfigurationStore.AddFacilityConfiguration(System.String,Castle.Core.Configuration.IConfiguration)">
-            <summary>
-            Associates a configuration node with a facility key
-            </summary>
-            <param name="key">item key</param>
-            <param name="config">Configuration node</param>
-        </member>
-        <member name="M:Castle.MicroKernel.SubSystems.Configuration.DefaultConfigurationStore.AddComponentConfiguration(System.String,Castle.Core.Configuration.IConfiguration)">
-            <summary>
-            Associates a configuration node with a component key
-            </summary>
-            <param name="key">item key</param>
-            <param name="config">Configuration node</param>
-        </member>
-        <member name="M:Castle.MicroKernel.SubSystems.Configuration.DefaultConfigurationStore.AddBootstrapComponentConfiguration(System.String,Castle.Core.Configuration.IConfiguration)">
-            <summary>
-            Associates a configuration node with a bootstrap component key
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.SubSystems.Configuration.DefaultConfigurationStore.AddChildContainerConfiguration(System.String,Castle.Core.Configuration.IConfiguration)">
-            <summary>
-            Adds the child container configuration.
-            </summary>
-            <param name="key">The key.</param>
-            <param name="config">The config.</param>
-        </member>
-        <member name="M:Castle.MicroKernel.SubSystems.Configuration.DefaultConfigurationStore.GetFacilityConfiguration(System.String)">
-            <summary>
-            Returns the configuration node associated with
-            the specified facility key. Should return null
-            if no association exists.
-            </summary>
-            <param name="key">item key</param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.SubSystems.Configuration.DefaultConfigurationStore.GetChildContainerConfiguration(System.String)">
-            <summary>
-            Returns the configuration node associated with
-            the specified child container key. Should return null
-            if no association exists.
-            </summary>
-            <param name="key">item key</param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.SubSystems.Configuration.DefaultConfigurationStore.GetComponentConfiguration(System.String)">
-            <summary>
-            Returns the configuration node associated with
-            the specified component key. Should return null
-            if no association exists.
-            </summary>
-            <param name="key">item key</param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.SubSystems.Configuration.DefaultConfigurationStore.GetBootstrapComponentConfiguration(System.String)">
-            <summary>
-            Returns the configuration node associated with 
-            the specified component key. Should return null
-            if no association exists.
-            </summary>
-            <param name="key"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.SubSystems.Configuration.DefaultConfigurationStore.GetFacilities">
-            <summary>
-            Returns all configuration nodes for facilities
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.SubSystems.Configuration.DefaultConfigurationStore.GetBootstrapComponents">
-            <summary>
-            Returns all configuration nodes for bootstrap components
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.SubSystems.Configuration.DefaultConfigurationStore.GetConfigurationForChildContainers">
-            <summary>
-            Returns all configuration nodes for child containers
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.SubSystems.Configuration.DefaultConfigurationStore.GetComponents">
-            <summary>
-            Returns all configuration nodes for components
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="T:Castle.MicroKernel.SubSystems.Conversion.AbstractTypeConverter">
-            <summary>
-            Base implementation of <see cref="T:Castle.MicroKernel.SubSystems.Conversion.ITypeConverter"/>
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.SubSystems.Conversion.ITypeConverter">
-            <summary>
-            Implements a conversion logic to a type of a
-            set of types. 
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.SubSystems.Conversion.ITypeConverter.CanHandleType(System.Type)">
-            <summary>
-            Returns true if this instance of <c>ITypeConverter</c>
-            is able to handle the specified type.
-            </summary>
-            <param name="type"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.SubSystems.Conversion.ITypeConverter.CanHandleType(System.Type,Castle.Core.Configuration.IConfiguration)">
-            <summary>
-            Returns true if this instance of <c>ITypeConverter</c>
-            is able to handle the specified type with the specified 
-            configuration
-            </summary>
-            <param name="type"></param>
-            <param name="configuration"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.SubSystems.Conversion.ITypeConverter.PerformConversion(System.String,System.Type)">
-            <summary>
-            Should perform the conversion from the
-            string representation specified to the type
-            specified.
-            </summary>
-            <param name="value"></param>
-            <param name="targetType"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.SubSystems.Conversion.ITypeConverter.PerformConversion(Castle.Core.Configuration.IConfiguration,System.Type)">
-            <summary>
-            Should perform the conversion from the
-            configuration node specified to the type
-            specified.
-            </summary>
-            <param name="configuration"></param>
-            <param name="targetType"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.SubSystems.Conversion.AbstractTypeConverter.CanHandleType(System.Type,Castle.Core.Configuration.IConfiguration)">
-            <summary>
-            Returns true if this instance of <c>ITypeConverter</c>
-            is able to handle the specified type with the specified
-            configuration
-            </summary>
-            <param name="type"></param>
-            <param name="configuration"></param>
-            <returns></returns>
-            <remarks>
-            The default behavior is to just pass it to the normal CanHadnleType
-            peeking into the configuration is used for some advanced functionality
-            </remarks>
-        </member>
-        <member name="M:Castle.MicroKernel.SubSystems.Conversion.GenericDictionaryConverter.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.MicroKernel.SubSystems.Conversion.GenericDictionaryConverter"/> class.
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.SubSystems.Conversion.IGenericCollectionConverterHelper">
-            <summary>
-            This interface is needed because we want to isolate ourself from
-            the generic parameters, so we can work type safe inside the implementations,
-            and still call from non generic types outside.
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.SubSystems.Conversion.GenericListConverter.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.MicroKernel.SubSystems.Conversion.GenericListConverter"/> class.
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.SubSystems.Conversion.AttributeAwareConverter">
-            <summary>
-            Looks for a <see cref="T:Castle.MicroKernel.SubSystems.Conversion.ConvertibleAttribute"/> on the type to be converted. 
-            If found, the TypeConverter defined by the attribute is used to perform the conversion.
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.SubSystems.Conversion.IKernelDependentConverter">
-            <summary>
-            Marker interface that signals that a converter
-            depends on IKernel to be able to perform 
-            the conversion.
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.SubSystems.Conversion.ComponentModelConverter">
-            <summary>
-            Attempts to utilize an existing <see cref="T:System.ComponentModel.TypeConverter"/> for conversion
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.SubSystems.Conversion.DefaultComplexConverter.CreateInstance(System.Type,Castle.Core.Configuration.IConfiguration)">
-            <summary>
-            Creates the target type instance.
-            </summary>
-            <param name="type">The type.</param>
-            <param name="configuration">The configuration.</param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.SubSystems.Conversion.DefaultComplexConverter.ChooseConstructor(System.Type)">
-            <summary>
-            Chooses the first non default constructor. Throws an exception if more than 
-            one non default constructor is found
-            </summary>
-            <param name="type"></param>
-            <returns>The chosen constructor, or <c>null</c> if none was found</returns>
-        </member>
-        <member name="M:Castle.MicroKernel.SubSystems.Conversion.DefaultComplexConverter.ConvertConstructorParameters(System.Reflection.ConstructorInfo,Castle.Core.Configuration.IConfiguration)">
-            <summary>
-            Converts the constructor parameters.
-            </summary>
-            <param name="constructor">The constructor.</param>
-            <param name="configuration">The configuration.</param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.SubSystems.Conversion.DefaultComplexConverter.ConvertPropertyValues(System.Object,System.Type,Castle.Core.Configuration.IConfiguration)">
-            <summary>
-            Converts the property values.
-            </summary>
-            <param name="instance">The instance.</param>
-            <param name="type">The type.</param>
-            <param name="configuration">The configuration.</param>
-        </member>
-        <member name="M:Castle.MicroKernel.SubSystems.Conversion.DefaultComplexConverter.FindChildIgnoreCase(Castle.Core.Configuration.IConfiguration,System.String)">
-            <summary>
-            Finds the child (case insensitive).
-            </summary>
-            <param name="config">The config.</param>
-            <param name="name">The name.</param>
-            <returns></returns>
-        </member>
-        <member name="P:Castle.MicroKernel.SubSystems.Conversion.DefaultComplexConverter.ConversionManager">
-            <summary>
-            Gets the conversion manager.
-            </summary>
-            <value>The conversion manager.</value>
-        </member>
-        <member name="T:Castle.MicroKernel.SubSystems.Conversion.EnumConverter">
-            <summary>
-            Converts a string representation to an enum value
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.SubSystems.Conversion.PrimitiveConverter">
-            <summary>
-            Implements all standard conversions.
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.SubSystems.Conversion.TypeNameConverter">
-            <summary>
-            Convert a type name to a Type instance.
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.SubSystems.Conversion.ConverterException">
-            <summary>
-            Summary description for ConverterException.
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.SubSystems.Conversion.ConverterException.#ctor(System.String)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.MicroKernel.SubSystems.Conversion.ConverterException"/> class.
-            </summary>
-            <param name="message">The message.</param>
-        </member>
-        <member name="M:Castle.MicroKernel.SubSystems.Conversion.ConverterException.#ctor(System.String,System.Exception)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.MicroKernel.SubSystems.Conversion.ConverterException"/> class.
-            </summary>
-            <param name="message">The message.</param>
-            <param name="innerException">The inner exception.</param>
-        </member>
-        <member name="M:Castle.MicroKernel.SubSystems.Conversion.ConverterException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.MicroKernel.SubSystems.Conversion.ConverterException"/> class.
-            </summary>
-            <param name="info">The object that holds the serialized object data.</param>
-            <param name="context">The contextual information about the source or destination.</param>
-        </member>
-        <member name="T:Castle.MicroKernel.SubSystems.Conversion.ConvertibleAttribute">
-            <summary>
-            Declares a type as being convertible by a <see cref="T:Castle.MicroKernel.SubSystems.Conversion.ITypeConverter"/> and optionally defines the converter to be used
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.SubSystems.Conversion.ConvertibleAttribute.#ctor">
-            <summary>
-            Defines the <see cref="T:Castle.MicroKernel.SubSystems.Conversion.DefaultComplexConverter"/> to be used to convert the type
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.SubSystems.Conversion.ConvertibleAttribute.#ctor(System.Type)">
-            <summary>
-            Defines the <see cref="T:Castle.MicroKernel.SubSystems.Conversion.ITypeConverter"/> to be used to convert the type
-            </summary>
-            <param name="converterType"></param>
-        </member>
-        <member name="T:Castle.MicroKernel.SubSystems.Conversion.DefaultConversionManager">
-            <summary>
-            Composition of all available conversion managers
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.SubSystems.Conversion.IConversionManager">
-            <summary>
-            Establish a composition interface and a subsystem.
-            Implementors should delegate the conversion to 
-            a instance of a type converter.
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.SubSystems.Conversion.IConversionManager.Add(Castle.MicroKernel.SubSystems.Conversion.ITypeConverter)">
-            <summary>
-            Register a type converter instance.
-            </summary>
-            <param name="converter"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.SubSystems.Naming.BinaryTreeComponentName.FindSuccessor(Castle.MicroKernel.SubSystems.Naming.TreeNode)">
-            <summary>
-            Method finds the next biggest node
-            It assumes Add puts lesser nodes on the right
-            </summary>
-        </member>
-        <member name="F:Castle.MicroKernel.SubSystems.Naming.TreeNode.left">
-            <summary>Node's left</summary>
-        </member>
-        <member name="F:Castle.MicroKernel.SubSystems.Naming.TreeNode.right">
-            <summary>Node's right</summary>
-        </member>
-        <member name="F:Castle.MicroKernel.SubSystems.Naming.TreeNode.parent">
-            <summary>Node's parent</summary>
-        </member>
-        <member name="F:Castle.MicroKernel.SubSystems.Naming.TreeNode.nextSibling">
-            <summary>DA Linked List</summary>
-        </member>
-        <member name="M:Castle.MicroKernel.SubSystems.Naming.ComponentName.#ctor(System.String)">
-            <summary>
-            Creates a ComponentName using a name pattern like
-            "service:key=value,key2=value2"
-            </summary>
-            <param name="name">Complete name</param>
-        </member>
-        <member name="M:Castle.MicroKernel.SubSystems.Naming.ComponentName.#ctor(System.String,System.String)">
-            <summary>
-            Creates a ComponentName with specified service and 
-            properties.
-            </summary>
-            <param name="service">Service name</param>
-            <param name="properties">Property list.</param>
-        </member>
-        <member name="M:Castle.MicroKernel.SubSystems.Naming.ComponentName.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
-            <summary>
-            Serialization constructor.
-            </summary>
-            <param name="info"></param>
-            <param name="context"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.SubSystems.Naming.ComponentName.Setup(System.String)">
-            <summary>
-            Parses the full name extracting the service and properties.
-            </summary>
-            <param name="name">Full name.</param>
-        </member>
-        <member name="M:Castle.MicroKernel.SubSystems.Naming.ComponentName.SetupService(System.String)">
-            <summary>
-            Sets up the service. Can be empty but can't be null.
-            </summary>
-            <param name="service"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.SubSystems.Naming.ComponentName.SetupProperties(System.String)">
-            <summary>
-            Parses and validate a properties list string like 
-            "key=value,key2=value2" and so on.
-            </summary>
-            <param name="properties">Property list.</param>
-        </member>
-        <member name="M:Castle.MicroKernel.SubSystems.Naming.ComponentName.SetupProperties(System.Collections.IDictionary)">
-            <summary>
-            Validates a properties Hashtable.
-            </summary>
-            <param name="properties">Property list.</param>
-        </member>
-        <member name="T:Castle.MicroKernel.SubSystems.Naming.DefaultNamingSubSystem">
-            <summary>
-            Default <see cref="T:Castle.MicroKernel.INamingSubSystem"/> implementation.
-            Keeps services map as a simple hash table.
-            Keeps key map as a list dictionary to maintain order.
-            Does not support a query string.
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.INamingSubSystem">
-            <summary>
-            Contract for SubSystem that wishes to keep and coordinate
-            component registration.
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.INamingSubSystem.Register(System.String,Castle.MicroKernel.IHandler)">
-            <summary>
-            Implementors should register the key and service pointing 
-            to the specified handler
-            </summary>
-            <param name="key"></param>
-            <param name="handler"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.INamingSubSystem.UnRegister(System.String)">
-            <summary>
-            Unregister the handler by the given key
-            </summary>
-            <param name="key"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.INamingSubSystem.UnRegister(System.Type)">
-            <summary>
-            Unregister the handler by the given service
-            </summary>
-            <param name="service"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.INamingSubSystem.Contains(System.String)">
-            <summary>
-            Returns true if there is a component registered 
-            for the specified key
-            </summary>
-            <param name="key"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.INamingSubSystem.Contains(System.Type)">
-            <summary>
-            Returns true if there is a component registered 
-            for the specified service
-            </summary>
-            <param name="service"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.INamingSubSystem.GetHandler(System.String)">
-            <summary>
-            Returns the <see cref="T:Castle.MicroKernel.IHandler"/> associated with
-            the specified key.
-            </summary>
-            <param name="key"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.INamingSubSystem.GetHandlers(System.String)">
-            <summary>
-            Returns an array of <see cref="T:Castle.MicroKernel.IHandler"/> that
-            satisfies the specified query.
-            </summary>
-            <param name="query"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.INamingSubSystem.GetHandler(System.Type)">
-            <summary>
-            Returns the <see cref="T:Castle.MicroKernel.IHandler"/> associated with
-            the specified service.
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.INamingSubSystem.GetHandler(System.String,System.Type)">
-            <summary>
-            Returns the <see cref="T:Castle.MicroKernel.IHandler"/> associated with
-            the specified key with the service type.
-            <remarks>
-            It is expected that this will be used mainly to resolve a generic service
-            by its key.
-            </remarks>
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.INamingSubSystem.GetHandlers(System.Type)">
-            <summary>
-            Returns an array of <see cref="T:Castle.MicroKernel.IHandler"/> associated with
-            the specified service.
-            </summary>
-            <param name="service"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.INamingSubSystem.GetHandlers">
-            <summary>
-            Returns all <see cref="T:Castle.MicroKernel.IHandler"/> registered.
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.INamingSubSystem.GetAssignableHandlers(System.Type)">
-            <summary>
-            Return <see cref="T:Castle.MicroKernel.IHandler"/>s where components are compatible
-            with the specified service.
-            </summary>
-            <param name="service"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.INamingSubSystem.GetKey2Handler">
-            <summary>
-            List of handler by key
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.INamingSubSystem.GetService2Handler">
-            <summary>
-            List of handler by service
-            </summary>
-        </member>
-        <member name="P:Castle.MicroKernel.INamingSubSystem.ComponentCount">
-            <summary>
-            Returns the number of components registered.
-            </summary>
-        </member>
-        <member name="P:Castle.MicroKernel.INamingSubSystem.Item(System.Type)">
-            <summary>
-            Associates a <see cref="T:Castle.MicroKernel.IHandler"/> with 
-            the specified service
-            </summary>
-        </member>
-        <member name="P:Castle.MicroKernel.INamingSubSystem.Item(System.String)">
-            <summary>
-            Associates a <see cref="T:Castle.MicroKernel.IHandler"/> with
-            the specified key
-            </summary>
-        </member>
-        <member name="F:Castle.MicroKernel.SubSystems.Naming.DefaultNamingSubSystem.key2Handler">
-            <summary>
-            Map(String, IHandler) to map component keys
-            to <see cref="T:Castle.MicroKernel.IHandler"/>
-            Items in this dictionary are sorted in insertion order.
-            </summary>
-        </member>
-        <member name="F:Castle.MicroKernel.SubSystems.Naming.DefaultNamingSubSystem.service2Handler">
-            <summary>
-            Map(Type, IHandler) to map a service
-            to <see cref="T:Castle.MicroKernel.IHandler"/>.
-            If there is more than a single service of the type, only the first
-            registered services is stored in this dictionary.
-            It serve as a fast lookup for the common case of having a single handler for 
-            a type.
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.SubSystems.Naming.DefaultNamingSubSystem.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.MicroKernel.SubSystems.Naming.DefaultNamingSubSystem"/> class.
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.SubSystems.Naming.KeySearchNamingSubSystem">
-            <summary>
-            When requesting a component by service, KeySearchNamingSubSystem first 
-            determines if more than one component has been registered for that service.  
-            If not, Default resolution occurs.  If so, all of the registered keys for 
-            that service are processed through the provided Predicate to determine which 
-            key to use for service resolution.  If no Predicate matches, the default 
-            resolution occurs.
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.SubSystems.Naming.KeySearchNamingSubSystem.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.MicroKernel.SubSystems.Naming.KeySearchNamingSubSystem"/> class.
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.SubSystems.Naming.KeySearchNamingSubSystem.#ctor(System.Predicate{System.String})">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.MicroKernel.SubSystems.Naming.KeySearchNamingSubSystem"/> class.
-            </summary>
-            <param name="keyPredicate">The key predicate.</param>
-        </member>
-        <member name="M:Castle.MicroKernel.SubSystems.Naming.KeySearchNamingSubSystem.Register(System.String,Castle.MicroKernel.IHandler)">
-            <summary>
-            Registers the given handler with the give key.
-            </summary>
-            <param name="key">The key.</param>
-            <param name="handler">The handler.</param>
-        </member>
-        <member name="M:Castle.MicroKernel.SubSystems.Naming.KeySearchNamingSubSystem.UnRegister(System.String)">
-            <summary>
-            Unregisters the handler associated with the given key
-            </summary>
-            <param name="key">The key.</param>
-        </member>
-        <member name="M:Castle.MicroKernel.SubSystems.Naming.KeySearchNamingSubSystem.UnRegister(System.Type)">
-            <summary>
-            Unregisters the handler associated with the given service
-            </summary>
-            <param name="service">The service.</param>
-        </member>
-        <member name="M:Castle.MicroKernel.SubSystems.Naming.KeySearchNamingSubSystem.GetHandler(System.Type)">
-            <summary>
-            Executes the Predicate against all keys for the registered service to 
-            determine which component to return.
-            </summary>
-            <param name="service">The service.</param>
-            <returns></returns>
-        </member>
-        <member name="T:Castle.MicroKernel.SubSystems.Naming.NamingPartsSubSystem">
-            <summary>
-            Alternative <see cref="T:Castle.MicroKernel.INamingSubSystem"/> implementation.
-            Extends the default implementation replacing the 
-            key support with a more complete ComponentName. Supports
-            queries.
-            </summary>
-            <example>
-            The user must register components using the following construction
-            <code>
-              service:properties
-            </code>
-            Where properties is a list of key value pairs (comma separated). Example:
-            <code>
-              protocol:secure=true,version=1.2
-            </code>
-            The user can then query for components using the same construction:
-            <code>
-              protocol:secure=true
-            </code>
-            Or to return all:
-            <code>
-              protocol:*
-            </code>
-            </example>
-        </member>
-        <member name="T:Castle.MicroKernel.SubSystems.Resource.DefaultResourceSubSystem">
-            <summary>
-            Pendent
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.SubSystems.Resource.IResourceSubSystem">
-            <summary>
-            An implementation of <c>a</c> should 
-            be able to return instances of <see cref="T:Castle.Core.Resource.IResource"/>
-            for a given resource identifier.
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.SubSystemConstants">
-            <summary>
-            Holds the keys used by Kernel to register/request 
-            a subsystem.
-            </summary>
-        </member>
-        <member name="F:Castle.MicroKernel.SubSystemConstants.ConfigurationStoreKey">
-            <summary>
-            Key used for the configuration store subsystem
-            </summary>
-        </member>
-        <member name="F:Castle.MicroKernel.SubSystemConstants.ConversionManagerKey">
-            <summary>
-            Key used for the conversion manager
-            </summary>
-        </member>
-        <member name="F:Castle.MicroKernel.SubSystemConstants.NamingKey">
-            <summary>
-            Key used for the naming subsystem
-            </summary>
-        </member>
-        <member name="F:Castle.MicroKernel.SubSystemConstants.ResourceKey">
-            <summary>
-            Key used for the resource subsystem
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.Util.ReferenceComparer">
-            <summary>
-            Compares if the reference of two objects are equals.
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.Util.ReferenceExpressionUtil">
-            <summary>
-            Summary description for ReferenceExpressionUtil.
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.DefaultKernel">
-            <summary>
-            Default implementation of <see cref="T:Castle.MicroKernel.IKernel"/>. 
-            This implementation is complete and also support a kernel 
-            hierarchy (sub containers).
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.KernelEventSupport">
-            <summary>
-            Summary description for KernelEventSupport.
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.IKernelEvents">
-            <summary>
-            Summary description for IKernelEvents.
-            </summary>
-        </member>
-        <member name="E:Castle.MicroKernel.IKernelEvents.ComponentRegistered">
-            <summary>
-            Event fired when a new component is registered 
-            on the kernel.
-            </summary>
-        </member>
-        <member name="E:Castle.MicroKernel.IKernelEvents.ComponentUnregistered">
-            <summary>
-            Event fired when a component is removed from the kernel.
-            </summary>
-        </member>
-        <member name="E:Castle.MicroKernel.IKernelEvents.ComponentModelCreated">
-            <summary>
-            Event fired after the ComponentModel is created.
-            Allows customizations that may affect the handler.
-            </summary>
-        </member>
-        <member name="E:Castle.MicroKernel.IKernelEvents.AddedAsChildKernel">
-            <summary>
-            Event fired when the kernel was added as child of
-            another kernel.
-            </summary>
-        </member>
-        <member name="E:Castle.MicroKernel.IKernelEvents.RemovedAsChildKernel">
-            <summary>
-            Event fired when the kernel was removed from being a child
-            of another kernel.
-            </summary>
-        </member>
-        <member name="E:Castle.MicroKernel.IKernelEvents.ComponentCreated">
-            <summary>
-            Event fired before the component is created.
-            </summary>
-        </member>
-        <member name="E:Castle.MicroKernel.IKernelEvents.ComponentDestroyed">
-            <summary>
-            Event fired when a component instance destroyed.
-            </summary>
-        </member>
-        <member name="E:Castle.MicroKernel.IKernelEvents.HandlerRegistered">
-            <summary>
-            Event fired when a new handler is registered 
-            (it might be in a valid or waiting dependency state)
-            </summary>
-        </member>
-        <member name="E:Castle.MicroKernel.IKernelEvents.DependencyResolving">
-            <summary>
-            Event fired when a dependency is being resolved,
-            it allows the dependency to be changed,
-            but the client ComponentModel must not be altered.
-            </summary>
-        </member>
-        <member name="E:Castle.MicroKernel.KernelEventSupport.HandlerRegistered">
-            <summary>
-            Pending
-            </summary>
-        </member>
-        <member name="E:Castle.MicroKernel.KernelEventSupport.ComponentRegistered">
-            <summary>
-            Pending
-            </summary>
-            <value></value>
-        </member>
-        <member name="E:Castle.MicroKernel.KernelEventSupport.ComponentUnregistered">
-            <summary>
-            Pending
-            </summary>
-            <value></value>
-        </member>
-        <member name="E:Castle.MicroKernel.KernelEventSupport.ComponentCreated">
-            <summary>
-            Pending
-            </summary>
-            <value></value>
-        </member>
-        <member name="E:Castle.MicroKernel.KernelEventSupport.ComponentDestroyed">
-            <summary>
-            Pending
-            </summary>
-            <value></value>
-        </member>
-        <member name="E:Castle.MicroKernel.KernelEventSupport.AddedAsChildKernel">
-            <summary>
-            Pending
-            </summary>
-            <value></value>
-        </member>
-        <member name="E:Castle.MicroKernel.KernelEventSupport.RemovedAsChildKernel">
-            <summary>
-            Pending
-            </summary>
-        </member>
-        <member name="E:Castle.MicroKernel.KernelEventSupport.ComponentModelCreated">
-            <summary>
-            Pending
-            </summary>
-            <value></value>
-        </member>
-        <member name="T:Castle.MicroKernel.IKernel">
-            <summary>
-            The <c>IKernel</c> interface exposes all the functionality
-            the MicroKernel implements.
-            </summary>
-            <remarks>
-            It allows you to register components and
-            request them by the key or the service they implemented.
-            It also allow you to register facilities and subsystem, thus 
-            augmenting the functionality exposed by the kernel alone to fits 
-            your needs.
-            <seealso cref="T:Castle.MicroKernel.IFacility"/>
-            <seealso cref="T:Castle.MicroKernel.ISubSystem"/>
-            </remarks>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.AddComponent(System.String,System.Type)">
-            <summary>
-            Adds a concrete class as a component
-            </summary>
-            <param name="key"></param>
-            <param name="classType"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.AddComponent(System.String,System.Type,Castle.Core.LifestyleType)">
-            <summary>
-            Adds a concrete class
-            as a component with the specified <paramref name="lifestyle"/>.
-            </summary>
-            <param name="key">The key with which to index the component.</param>
-            <param name="classType">The <see cref="T:System.Type"/> of the component.</param>
-            <param name="lifestyle">The specified <see cref="T:Castle.Core.LifestyleType"/> for the component.</param>
-            <remarks>
-            If you have indicated a lifestyle for the specified <paramref name="classType"/> using
-            attributes, this method will not overwrite that lifestyle. To do that, use the
-            <see cref="M:Castle.MicroKernel.IKernel.AddComponent(System.String,System.Type,Castle.Core.LifestyleType,System.Boolean)"/> method.
-            </remarks>
-            <exception cref="T:System.ArgumentNullException">
-            Thrown if <paramref name="key"/>, or <paramref name="classType"/>
-            are <see langword="null"/>.
-            </exception>
-            <exception cref="T:System.ArgumentException">
-            Thrown if <paramref name="lifestyle"/> is <see cref="F:Castle.Core.LifestyleType.Undefined"/>.
-            </exception>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.AddComponent(System.String,System.Type,Castle.Core.LifestyleType,System.Boolean)">
-            <summary>
-            Adds a concrete class
-            as a component with the specified <paramref name="lifestyle"/>.
-            </summary>
-            <param name="key">The key with which to index the component.</param>
-            <param name="classType">The <see cref="T:System.Type"/> of the component.</param>
-            <param name="lifestyle">The specified <see cref="T:Castle.Core.LifestyleType"/> for the component.</param>
-            <param name="overwriteLifestyle">
-            If <see langword="true"/>, then ignores all other configurations
-            for lifestyle and uses the value in the <paramref name="lifestyle"/> parameter.
-            </param>
-            <remarks>
-            If you have indicated a lifestyle for the specified <paramref name="classType"/> using
-            attributes, this method will not overwrite that lifestyle. To do that, use the
-            <see cref="M:Castle.MicroKernel.IKernel.AddComponent(System.String,System.Type,System.Type,Castle.Core.LifestyleType,System.Boolean)"/> method.
-            </remarks>
-            <exception cref="T:System.ArgumentNullException">
-            Thrown if <paramref name="key"/> or <paramref name="classType"/>
-            are <see langword="null"/>.
-            </exception>
-            <exception cref="T:System.ArgumentException"/>
-            Thrown if <paramref name="lifestyle"/> is <see cref="F:Castle.Core.LifestyleType.Undefined"/>.
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.AddComponent(System.String,System.Type,System.Type)">
-            <summary>
-            Adds a concrete class and an interface 
-            as a component
-            </summary>
-            <param name="key">The key with which to index the component.</param>
-            <param name="serviceType">The service <see cref="T:System.Type"/> that this component implements.</param>
-            <param name="classType">The <see cref="T:System.Type"/> of the component.</param>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.AddComponent(System.String,System.Type,System.Type,Castle.Core.LifestyleType)">
-            <summary>
-            Adds a concrete class and an interface 
-            as a component with the specified <paramref name="lifestyle"/>.
-            </summary>
-            <param name="key">The key with which to index the component.</param>
-            <param name="serviceType">The service <see cref="T:System.Type"/> that this component implements.</param>
-            <param name="classType">The <see cref="T:System.Type"/> of the component.</param>
-            <param name="lifestyle">The specified <see cref="T:Castle.Core.LifestyleType"/> for the component.</param>
-            <remarks>
-            If you have indicated a lifestyle for the specified <paramref name="classType"/> using
-            attributes, this method will not overwrite that lifestyle. To do that, use the
-            <see cref="M:Castle.MicroKernel.IKernel.AddComponent(System.String,System.Type,System.Type,Castle.Core.LifestyleType,System.Boolean)"/> method.
-            </remarks>
-            <exception cref="T:System.ArgumentNullException">
-            Thrown if <paramref name="key"/>, <paramref name="serviceType"/>, or <paramref name="classType"/>
-            are <see langword="null"/>.
-            </exception>
-            <exception cref="T:System.ArgumentException">
-            Thrown if <paramref name="lifestyle"/> is <see cref="F:Castle.Core.LifestyleType.Undefined"/>.
-            </exception>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.AddComponent(System.String,System.Type,System.Type,Castle.Core.LifestyleType,System.Boolean)">
-            <summary>
-            Adds a concrete class and an interface 
-            as a component with the specified <paramref name="lifestyle"/>.
-            </summary>
-            <param name="key">The key with which to index the component.</param>
-            <param name="serviceType">The service <see cref="T:System.Type"/> that this component implements.</param>
-            <param name="classType">The <see cref="T:System.Type"/> of the component.</param>
-            <param name="lifestyle">The specified <see cref="T:Castle.Core.LifestyleType"/> for the component.</param>
-            <param name="overwriteLifestyle">
-            If <see langword="true"/>, then ignores all other configurations
-            for lifestyle and uses the value in the <paramref name="lifestyle"/> parameter.
-            </param>
-            <remarks>
-            If you have indicated a lifestyle for the specified <paramref name="classType"/> using
-            attributes, this method will not overwrite that lifestyle. To do that, use the
-            <see cref="M:Castle.MicroKernel.IKernel.AddComponent(System.String,System.Type,System.Type,Castle.Core.LifestyleType,System.Boolean)"/> method.
-            </remarks>
-            <exception cref="T:System.ArgumentNullException">
-            Thrown if <paramref name="key"/>, <paramref name="serviceType"/>, or <paramref name="classType"/>
-            are <see langword="null"/>.
-            </exception>
-            <exception cref="T:System.ArgumentException">
-            Thrown if <paramref name="lifestyle"/> is <see cref="F:Castle.Core.LifestyleType.Undefined"/>.
-            </exception>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.AddComponent``1">
-            <summary>
-            Adds a concrete class as a component
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.AddComponent``1(Castle.Core.LifestyleType)">
-            <summary>
-            Adds a concrete class
-            as a component with the specified <paramref name="lifestyle"/>.
-            </summary>
-            <param name="lifestyle">The specified <see cref="T:Castle.Core.LifestyleType"/> for the component.</param>
-            <remarks>
-            If you have indicated a lifestyle for the specified T using
-            attributes, this method will not overwrite that lifestyle. To do that, use the
-            <see cref="M:Castle.MicroKernel.IKernel.AddComponent(System.String,System.Type,Castle.Core.LifestyleType,System.Boolean)"/> method.
-            </remarks>
-            <exception cref="T:System.ArgumentException">
-            Thrown if <paramref name="lifestyle"/> is <see cref="F:Castle.Core.LifestyleType.Undefined"/>.
-            </exception>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.AddComponent``1(Castle.Core.LifestyleType,System.Boolean)">
-            <summary>
-            Adds a concrete class
-            as a component with the specified <paramref name="lifestyle"/>.
-            </summary>
-            <param name="lifestyle">The specified <see cref="T:Castle.Core.LifestyleType"/> for the component.</param>
-            <param name="overwriteLifestyle">
-            If <see langword="true"/>, then ignores all other configurations
-            for lifestyle and uses the value in the <paramref name="lifestyle"/> parameter.
-            </param>
-            <remarks>
-            If you have indicated a lifestyle for the specified T using
-            attributes, this method will not overwrite that lifestyle. To do that, use the
-            <see cref="M:Castle.MicroKernel.IKernel.AddComponent(System.String,System.Type,Castle.Core.LifestyleType,System.Boolean)"/> method.
-            </remarks>
-            <exception cref="T:System.ArgumentException"/>
-            Thrown if <paramref name="lifestyle"/> is <see cref="F:Castle.Core.LifestyleType.Undefined"/>.
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.AddComponent``1(System.Type)">
-            <summary>
-            Adds a concrete class and an interface 
-            as a component
-            </summary>
-            <param name="serviceType">The service <see cref="T:System.Type"/> that this component implements.</param>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.AddComponent``1(System.Type,Castle.Core.LifestyleType)">
-            <summary>
-            Adds a concrete class and an interface 
-            as a component with the specified <paramref name="lifestyle"/>.
-            </summary>
-            <param name="serviceType">The service <see cref="T:System.Type"/> that this component implements.</param>
-            <param name="lifestyle">The specified <see cref="T:Castle.Core.LifestyleType"/> for the component.</param>
-            <remarks>
-            If you have indicated a lifestyle for the specified T using
-            attributes, this method will not overwrite that lifestyle. To do that, use the
-            <see cref="M:Castle.MicroKernel.IKernel.AddComponent(System.String,System.Type,System.Type,Castle.Core.LifestyleType,System.Boolean)"/> method.
-            </remarks>
-            <exception cref="T:System.ArgumentNullException">
-            are <see langword="null"/>.
-            </exception>
-            <exception cref="T:System.ArgumentException">
-            Thrown if <paramref name="lifestyle"/> is <see cref="F:Castle.Core.LifestyleType.Undefined"/>.
-            </exception>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.AddComponent``1(System.Type,Castle.Core.LifestyleType,System.Boolean)">
-            <summary>
-            Adds a concrete class and an interface 
-            as a component with the specified <paramref name="lifestyle"/>.
-            </summary>
-            <param name="serviceType">The service <see cref="T:System.Type"/> that this component implements.</param>
-            <param name="lifestyle">The specified <see cref="T:Castle.Core.LifestyleType"/> for the component.</param>
-            <param name="overwriteLifestyle">
-            If <see langword="true"/>, then ignores all other configurations
-            for lifestyle and uses the value in the <paramref name="lifestyle"/> parameter.
-            </param>
-            <remarks>
-            attributes, this method will not overwrite that lifestyle. To do that, use the
-            <see cref="M:Castle.MicroKernel.IKernel.AddComponent(System.String,System.Type,System.Type,Castle.Core.LifestyleType,System.Boolean)"/> method.
-            </remarks>
-            <exception cref="T:System.ArgumentNullException">
-            are <see langword="null"/>.
-            </exception>
-            <exception cref="T:System.ArgumentException">
-            Thrown if <paramref name="lifestyle"/> is <see cref="F:Castle.Core.LifestyleType.Undefined"/>.
-            </exception>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.AddComponentInstance``1(System.Object)">
-            <summary>
-            Used mostly by facilities. Adds an instance
-            to be used as a component.
-            </summary>
-            <param name="instance"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.AddComponentInstance``1(System.Type,System.Object)">
-            <summary>
-            Used mostly by facilities. Adds an instance
-            to be used as a component.
-            </summary>
-            <param name="serviceType"></param>
-            <param name="instance"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.AddComponentWithExtendedProperties(System.String,System.Type,System.Collections.IDictionary)">
-            <summary>
-            Adds a concrete class as a component and specify the extended properties.
-            Used by facilities, mostly.
-            </summary>
-            <param name="key"></param>
-            <param name="classType"></param>
-            <param name="extendedProperties"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.AddComponentWithExtendedProperties(System.String,System.Type,System.Type,System.Collections.IDictionary)">
-            <summary>
-            Adds a concrete class and an interface 
-            as a component and specify the extended properties.
-            Used by facilities, mostly.
-            </summary>
-            <param name="key"></param>
-            <param name="serviceType"></param>
-            <param name="classType"></param>
-            <param name="extendedProperties"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.AddCustomComponent(Castle.Core.ComponentModel)">
-            <summary>
-            Adds a custom made <see cref="T:Castle.Core.ComponentModel"/>.
-            Used by facilities.
-            </summary>
-            <param name="model"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.AddComponentInstance(System.String,System.Object)">
-            <summary>
-            Used mostly by facilities. Adds an instance
-            to be used as a component.
-            </summary>
-            <param name="key"></param>
-            <param name="instance"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.AddComponentInstance(System.String,System.Type,System.Object)">
-            <summary>
-            Used mostly by facilities. Adds an instance
-            to be used as a component.
-            </summary>
-            <param name="key"></param>
-            <param name="serviceType"></param>
-            <param name="instance"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.AddComponentInstance(System.String,System.Type,System.Type,System.Object)">
-            <summary>
-            Used mostly by facilities. Adds an instance
-            to be used as a component.
-            </summary>
-            <param name="key"></param>
-            <param name="serviceType"></param>
-            <param name="instance"></param>
-            <param name="classType"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.Register(Castle.MicroKernel.Registration.IRegistration[])">
-            <summary>
-            Registers the components provided by the <see cref="T:Castle.MicroKernel.Registration.IRegistration"/>s
-            with the <see cref="T:Castle.MicroKernel.IKernel"/>.
-            <param name="registrations">The component registrations.</param>
-            <returns>The kernel.</returns>
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.RemoveComponent(System.String)">
-            <summary>
-            Returns true if the specified component was 
-            found and could be removed (i.e. no other component depends on it)
-            </summary>
-            <param name="key">The component's key</param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.HasComponent(System.String)">
-            <summary>
-            Returns true if the specified key was registered
-            </summary>
-            <param name="key"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.HasComponent(System.Type)">
-            <summary>
-            Returns true if the specified service was registered
-            </summary>
-            <param name="service"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.Resolve(System.Type)">
-            <summary>
-            Returns the component instance by the service type
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.ResolveAll(System.Type,System.Collections.IDictionary)">
-            <summary>
-            Returns all the valid component instances by
-            the service type
-            </summary>
-            <param name="service">The service type</param>
-            <param name="arguments">Arguments to resolve the services</param>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.ResolveAll(System.Type,System.Object)">
-            <summary>
-            Returns all the valid component instances by
-            the service type
-            </summary>
-            <param name="service">The service type</param>
-            <param name="argumentsAsAnonymousType">Arguments to resolve the services</param>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.Resolve(System.Type,System.Collections.IDictionary)">
-            <summary>
-            Returns the component instance by the service type
-            using dynamic arguments
-            </summary>
-            <param name="service"></param>
-            <param name="arguments"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.Resolve(System.String,System.Collections.IDictionary)">
-            <summary>
-            Returns the component instance by the component key
-            using dynamic arguments
-            </summary>
-            <param name="key"></param>
-            <param name="arguments"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.Resolve(System.Type,System.Object)">
-            <summary>
-            Returns the component instance by the service type
-            using dynamic arguments
-            </summary>
-            <param name="service">Service to resolve</param>
-            <param name="argumentsAsAnonymousType">Arguments to resolve the services</param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.Resolve(System.String,System.Object)">
-            <summary>
-            Returns the component instance by the component key
-            using dynamic arguments
-            </summary>
-            <param name="key">Key to resolve</param>
-            <param name="argumentsAsAnonymousType">Arguments to resolve the services</param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.Resolve(System.String,System.Type)">
-            <summary>
-            Returns a component instance by the key
-            </summary>
-            <param name="key"></param>
-            <param name="service"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.Resolve``1(System.Collections.IDictionary)">
-            <summary>
-            Returns the component instance by the service type
-            using dynamic arguments
-            </summary>
-            <param name="arguments"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.Resolve``1(System.Object)">
-            <summary>
-            Returns the component instance by the service type
-            using dynamic arguments
-            </summary>
-            <param name="argumentsAsAnonymousType">Arguments to resolve the services</param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.Resolve``1">
-            <summary>
-            Returns the component instance by the component key
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.Resolve``1(System.String)">
-            <summary>
-            Returns a component instance by the key
-            </summary>
-            <param name="key">Component's key</param>
-            <typeparam name="T">Service type</typeparam>
-            <returns>The Component instance</returns>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.Resolve``1(System.String,System.Collections.IDictionary)">
-            <summary>
-            Returns a component instance by the key
-            </summary>
-            <typeparam name="T">Service type</typeparam>
-            <param name="key">Component's key</param>
-            <param name="arguments"></param>
-            <returns>The Component instance</returns>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.ResolveAll``1">
-            <summary>
-            Returns component instances that implement TService
-            </summary>
-            <typeparam name="TService"></typeparam>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.ResolveAll``1(System.Collections.IDictionary)">
-            <summary>
-            Returns component instances that implement TService
-            </summary>
-            <typeparam name="TService"></typeparam>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.ResolveAll``1(System.Object)">
-            <summary>
-            Returns component instances that implement TService
-            </summary>
-            <typeparam name="TService"></typeparam>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.Resolve(System.String,System.Type,System.Collections.IDictionary)">
-            <summary>
-            Returns a component instance by the key
-            </summary>
-            <param name="key"></param>
-            <param name="service"></param>
-            <param name="arguments"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.RegisterCustomDependencies(System.Type,System.Collections.IDictionary)">
-            <summary>
-            Associates objects with a component handler,
-            allowing it to use the specified dictionary
-            when resolving dependencies
-            </summary>
-            <param name="service"></param>
-            <param name="dependencies"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.RegisterCustomDependencies(System.Type,System.Object)">
-            <summary>
-            Associates objects with a component handler,
-            allowing it to use the specified dictionary
-            when resolving dependencies
-            </summary>
-            <param name="service"></param>
-            <param name="dependenciesAsAnonymousType"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.RegisterCustomDependencies(System.String,System.Collections.IDictionary)">
-            <summary>
-            Associates objects with a component handler,
-            allowing it to use the specified dictionary
-            when resolving dependencies
-            </summary>
-            <param name="key"></param>
-            <param name="dependencies"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.RegisterCustomDependencies(System.String,System.Object)">
-            <summary>
-            Associates objects with a component handler,
-            allowing it to use the specified dictionary
-            when resolving dependencies
-            </summary>
-            <param name="key"></param>
-            <param name="dependenciesAsAnonymousType"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.ReleaseComponent(System.Object)">
-            <summary>
-            Releases a component instance. This allows
-            the kernel to execute the proper decomission 
-            lifecycles on the component instance.
-            </summary>
-            <param name="instance"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.CreateComponentActivator(Castle.Core.ComponentModel)">
-            <summary>
-            Constructs an implementation of <see cref="T:Castle.MicroKernel.IComponentActivator"/>
-            for the given <see cref="T:Castle.Core.ComponentModel"/>
-            </summary>
-            <param name="model"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.GetHandler(System.String)">
-            <summary>
-            Returns the <see cref="T:Castle.MicroKernel.IHandler"/>
-            for the specified component key.
-            </summary>
-            <param name="key"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.GetHandler(System.Type)">
-            <summary>
-            Returns the <see cref="T:Castle.MicroKernel.IHandler"/>
-            for the specified service.
-            </summary>
-            <param name="service"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.GetHandlers(System.Type)">
-            <summary>
-            Return handlers for components that 
-            implements the specified service.
-            </summary>
-            <param name="service"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.GetAssignableHandlers(System.Type)">
-            <summary>
-            Return handlers for components that 
-            implements the specified service. 
-            The check is made using IsAssignableFrom
-            </summary>
-            <param name="service"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.AddFacility(System.String,Castle.MicroKernel.IFacility)">
-            <summary>
-            Adds a <see cref="T:Castle.MicroKernel.IFacility"/> to the kernel.
-            </summary>
-            <param name="key"></param>
-            <param name="facility"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.AddFacility``1(System.String)">
-            <summary>
-            Creates and adds an <see cref="T:Castle.MicroKernel.IFacility"/> facility to the kernel.
-            </summary>
-            <typeparam name="T">The facility type.</typeparam>
-            <param name="key"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.AddFacility``1">
-            <summary>
-            Creates and adds an <see cref="T:Castle.MicroKernel.IFacility"/> facility to the kernel.
-            </summary>
-            <typeparam name="T">The facility type.</typeparam>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.GetFacilities">
-            <summary>
-            Returns the facilities registered on the kernel.
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.AddSubSystem(System.String,Castle.MicroKernel.ISubSystem)">
-            <summary>
-            Adds (or replaces) an <see cref="T:Castle.MicroKernel.ISubSystem"/>
-            </summary>
-            <param name="key"></param>
-            <param name="subsystem"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.GetSubSystem(System.String)">
-            <summary>
-            Returns an implementation of <see cref="T:Castle.MicroKernel.ISubSystem"/>
-            for the specified key. 
-            <seealso cref="T:Castle.MicroKernel.SubSystemConstants"/>
-            </summary>
-            <param name="key"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.AddChildKernel(Castle.MicroKernel.IKernel)">
-            <summary>
-            Support for kernel hierarchy
-            </summary>
-            <param name="kernel"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.RemoveChildKernel(Castle.MicroKernel.IKernel)">
-            <summary>
-            Remove child kernel
-            </summary>
-            <param name="kernel"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.RaiseHandlerRegistered(Castle.MicroKernel.IHandler)">
-            <summary>
-            Raise the hanlder registered event, required so
-            dependant handlers will be notified about their dependant moving
-            to valid state.
-            </summary>
-            <param name="handler"></param>
-        </member>
-        <member name="P:Castle.MicroKernel.IKernel.Item(System.String)">
-            <summary>
-            Returns the component instance by the key
-            </summary>
-        </member>
-        <member name="P:Castle.MicroKernel.IKernel.Item(System.Type)">
-            <summary>
-            Returns the component instance by the service type
-            </summary>
-        </member>
-        <member name="P:Castle.MicroKernel.IKernel.ComponentModelBuilder">
-            <summary>
-            Returns the implementation of <see cref="T:Castle.MicroKernel.IComponentModelBuilder"/>
-            </summary>
-        </member>
-        <member name="P:Castle.MicroKernel.IKernel.HandlerFactory">
-            <summary>
-            Returns the implementation of <see cref="T:Castle.MicroKernel.IHandlerFactory"/>
-            </summary>
-        </member>
-        <member name="P:Castle.MicroKernel.IKernel.ConfigurationStore">
-            <summary>
-            Gets or sets the implementation of <see cref="T:Castle.MicroKernel.IConfigurationStore"/>
-            </summary>
-        </member>
-        <member name="P:Castle.MicroKernel.IKernel.ReleasePolicy">
-            <summary>
-            Gets or sets the implementation for <see cref="T:Castle.MicroKernel.IReleasePolicy"/>
-            </summary>
-        </member>
-        <member name="P:Castle.MicroKernel.IKernel.Resolver">
-            <summary>
-            Returns the implementation for <see cref="T:Castle.MicroKernel.IDependencyResolver"/>
-            </summary>
-        </member>
-        <member name="P:Castle.MicroKernel.IKernel.ProxyFactory">
-            <summary>
-            Gets or sets the implementation of <see cref="T:Castle.MicroKernel.IProxyFactory"/>
-            allowing different strategies for proxy creation.
-            </summary>
-        </member>
-        <member name="P:Castle.MicroKernel.IKernel.Parent">
-            <summary>
-            Returns the parent kernel
-            </summary>
-        </member>
-        <member name="P:Castle.MicroKernel.IKernel.GraphNodes">
-            <summary>
-            Graph of components and iteractions.
-            </summary>
-        </member>
-        <member name="F:Castle.MicroKernel.DefaultKernel.parentKernel">
-            <summary>
-            The parent kernel, if exists.
-            </summary>
-        </member>
-        <member name="F:Castle.MicroKernel.DefaultKernel.handlerFactory">
-            <summary>
-            The implementation of <see cref="T:Castle.MicroKernel.IHandlerFactory"/>
-            </summary>
-        </member>
-        <member name="F:Castle.MicroKernel.DefaultKernel.modelBuilder">
-            <summary>
-            The implementation of <see cref="T:Castle.MicroKernel.IComponentModelBuilder"/>
-            </summary>
-        </member>
-        <member name="F:Castle.MicroKernel.DefaultKernel.resolver">
-            <summary>
-            The dependency resolver.
-            </summary>
-        </member>
-        <member name="F:Castle.MicroKernel.DefaultKernel.releaserPolicy">
-            <summary>
-            Implements a policy to control component's
-            disposal that the usef forgot.
-            </summary>
-        </member>
-        <member name="F:Castle.MicroKernel.DefaultKernel.proxyFactory">
-            <summary>
-            Holds the implementation of <see cref="T:Castle.MicroKernel.IProxyFactory"/>
-            </summary>
-        </member>
-        <member name="F:Castle.MicroKernel.DefaultKernel.facilities">
-            <summary>
-            List of <see cref="T:Castle.MicroKernel.IFacility"/> registered.
-            </summary>
-        </member>
-        <member name="F:Castle.MicroKernel.DefaultKernel.subsystems">
-            <summary>
-            Map of subsystems registered.
-            </summary>
-        </member>
-        <member name="F:Castle.MicroKernel.DefaultKernel.childKernels">
-            <summary>
-            List of sub containers.
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.#ctor">
-            <summary>
-            Constructs a DefaultKernel with no component
-            proxy support.
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.#ctor(Castle.MicroKernel.IDependencyResolver,Castle.MicroKernel.IProxyFactory)">
-            <summary>
-            Constructs a DefaultKernel with the specified
-            implementation of <see cref="T:Castle.MicroKernel.IProxyFactory"/> and <see cref="T:Castle.MicroKernel.IDependencyResolver"/>
-            </summary>
-            <param name="resolver"></param>
-            <param name="proxyFactory"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.#ctor(Castle.MicroKernel.IProxyFactory)">
-            <summary>
-            Constructs a DefaultKernel with the specified
-            implementation of <see cref="T:Castle.MicroKernel.IProxyFactory"/>
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.AddComponent(System.String,System.Type,Castle.Core.LifestyleType)">
-            <summary>
-            Adds a concrete class
-            as a component with the specified <paramref name="lifestyle"/>.
-            </summary>
-            <param name="key">The key with which to index the component.</param>
-            <param name="classType">The <see cref="T:System.Type"/> of the component.</param>
-            <param name="lifestyle">The specified <see cref="T:Castle.Core.LifestyleType"/> for the component.</param>
-            <remarks>
-            If you have indicated a lifestyle for the specified <paramref name="classType"/> using
-            attributes, this method will not overwrite that lifestyle. To do that, use the
-            <see cref="M:Castle.MicroKernel.IKernel.AddComponent(System.String,System.Type,Castle.Core.LifestyleType,System.Boolean)"/> method.
-            </remarks>
-            <exception cref="T:System.ArgumentNullException">
-            Thrown if <paramref name="key"/> or <paramref name="classType"/>
-            are <see langword="null"/>.
-            </exception>
-            <exception cref="T:System.ArgumentException">
-            Thrown if <paramref name="lifestyle"/> is <see cref="F:Castle.Core.LifestyleType.Undefined"/>.
-            </exception>
-        </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.AddComponent(System.String,System.Type,Castle.Core.LifestyleType,System.Boolean)">
-            <summary>
-            Adds a concrete class
-            as a component with the specified <paramref name="lifestyle"/>.
-            </summary>
-            <param name="key">The key with which to index the component.</param>
-            <param name="classType">The <see cref="T:System.Type"/> of the component.</param>
-            <param name="lifestyle">The specified <see cref="T:Castle.Core.LifestyleType"/> for the component.</param>
-            <param name="overwriteLifestyle">
-            If <see langword="true"/>, then ignores all other configurations
-            for lifestyle and uses the value in the <paramref name="lifestyle"/> parameter.
-            </param>
-            <remarks>
-            If you have indicated a lifestyle for the specified <paramref name="classType"/> using
-            attributes, this method will not overwrite that lifestyle. To do that, use the
-            <see cref="M:Castle.MicroKernel.IKernel.AddComponent(System.String,System.Type,System.Type,Castle.Core.LifestyleType,System.Boolean)"/> method.
-            </remarks>
-            <exception cref="T:System.ArgumentNullException">
-            Thrown if <paramref name="key"/> or <paramref name="classType"/>
-            are <see langword="null"/>.
-            </exception>
-            <exception cref="T:System.ArgumentException"/>
-            Thrown if <paramref name="lifestyle"/> is <see cref="F:Castle.Core.LifestyleType.Undefined"/>.
-        </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.AddComponent(System.String,System.Type,System.Type,Castle.Core.LifestyleType)">
-            <summary>
-            Adds a concrete class and an interface 
-            as a component with the specified <paramref name="lifestyle"/>.
-            </summary>
-            <param name="key">The key with which to index the component.</param>
-            <param name="serviceType">The service <see cref="T:System.Type"/> that this component implements.</param>
-            <param name="classType">The <see cref="T:System.Type"/> of the component.</param>
-            <param name="lifestyle">The specified <see cref="T:Castle.Core.LifestyleType"/> for the component.</param>
-            <remarks>
-            If you have indicated a lifestyle for the specified <paramref name="classType"/> using
-            attributes, this method will not overwrite that lifestyle. To do that, use the
-            <see cref="M:Castle.MicroKernel.DefaultKernel.AddComponent(System.String,System.Type,System.Type,Castle.Core.LifestyleType,System.Boolean)"/> method.
-            </remarks>
-            <exception cref="T:System.ArgumentNullException">
-            Thrown if <paramref name="key"/>, <paramref name="serviceType"/>, or <paramref name="classType"/>
-            are <see langword="null"/>.
-            </exception>
-            <exception cref="T:System.ArgumentException">
-            Thrown if <paramref name="lifestyle"/> is <see cref="F:Castle.Core.LifestyleType.Undefined"/>.
-            </exception>
-        </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.AddComponent(System.String,System.Type,System.Type,Castle.Core.LifestyleType,System.Boolean)">
-            <summary>
-            Adds a concrete class and an interface 
-            as a component with the specified <paramref name="lifestyle"/>.
-            </summary>
-            <param name="key">The key with which to index the component.</param>
-            <param name="serviceType">The service <see cref="T:System.Type"/> that this component implements.</param>
-            <param name="classType">The <see cref="T:System.Type"/> of the component.</param>
-            <param name="lifestyle">The specified <see cref="T:Castle.Core.LifestyleType"/> for the component.</param>
-            <param name="overwriteLifestyle">
-            If <see langword="true"/>, then ignores all other configurations
-            for lifestyle and uses the value in the <paramref name="lifestyle"/> parameter.
-            </param>
-            <remarks>
-            If you have indicated a lifestyle for the specified <paramref name="classType"/> using
-            attributes, this method will not overwrite that lifestyle. To do that, use the
-            <see cref="M:Castle.MicroKernel.DefaultKernel.AddComponent(System.String,System.Type,System.Type,Castle.Core.LifestyleType,System.Boolean)"/> method.
-            </remarks>
-            <exception cref="T:System.ArgumentNullException">
-            Thrown if <paramref name="key"/>, <paramref name="serviceType"/>, or <paramref name="classType"/>
-            are <see langword="null"/>.
-            </exception>
-            <exception cref="T:System.ArgumentException">
-            Thrown if <paramref name="lifestyle"/> is <see cref="F:Castle.Core.LifestyleType.Undefined"/>.
-            </exception>
-        </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.AddComponentWithExtendedProperties(System.String,System.Type,System.Collections.IDictionary)">
-            <summary>
-            
-            </summary>
-            <param name="key"></param>
-            <param name="classType"></param>
-            <param name="parameters"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.AddComponentWithExtendedProperties(System.String,System.Type,System.Type,System.Collections.IDictionary)">
-            <summary>
-            
-            </summary>
-            <param name="key"></param>
-            <param name="serviceType"></param>
-            <param name="classType"></param>
-            <param name="parameters"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.AddCustomComponent(Castle.Core.ComponentModel)">
-            <summary>
-            
-            </summary>
-            <param name="model"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.AddComponentInstance(System.String,System.Object)">
-            <summary>
-            Used mostly by facilities. Adds an instance
-            to be used as a component.
-            </summary>
-            <param name="key"></param>
-            <param name="instance"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.AddComponentInstance(System.String,System.Type,System.Object)">
-            <summary>
-            Used mostly by facilities. Adds an instance
-            to be used as a component.
-            </summary>
-            <param name="key"></param>
-            <param name="serviceType"></param>
-            <param name="instance"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.AddComponent``1">
-            <summary>
-            Adds a concrete class as a component
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.AddComponent``1(Castle.Core.LifestyleType)">
-            <summary>
-            Adds a concrete class
-            as a component with the specified <paramref name="lifestyle"/>.
-            </summary>
-            <param name="lifestyle">The specified <see cref="T:Castle.Core.LifestyleType"/> for the component.</param>
-            <remarks>
-            If you have indicated a lifestyle for the specified T using
-            attributes, this method will not overwrite that lifestyle. To do that, use the
-            <see cref="M:Castle.MicroKernel.DefaultKernel.AddComponent(System.String,System.Type,Castle.Core.LifestyleType,System.Boolean)"/> method.
-            </remarks>
-            <exception cref="T:System.ArgumentException">
-            Thrown if <paramref name="lifestyle"/> is <see cref="F:Castle.Core.LifestyleType.Undefined"/>.
-            </exception>
-        </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.AddComponent``1(Castle.Core.LifestyleType,System.Boolean)">
-            <summary>
-            Adds a concrete class
-            as a component with the specified <paramref name="lifestyle"/>.
-            </summary>
-            <param name="lifestyle">The specified <see cref="T:Castle.Core.LifestyleType"/> for the component.</param>
-            <param name="overwriteLifestyle">If <see langword="true"/>, then ignores all other configurations
-            for lifestyle and uses the value in the <paramref name="lifestyle"/> parameter.</param>
-            <remarks>
-            If you have indicated a lifestyle for the specified T using
-            attributes, this method will not overwrite that lifestyle. To do that, use the
-            <see cref="M:Castle.MicroKernel.DefaultKernel.AddComponent(System.String,System.Type,Castle.Core.LifestyleType,System.Boolean)"/> method.
-            </remarks>
-            <exception cref="T:System.ArgumentException"/>
-            Thrown if 
-            <paramref name="lifestyle"/>
-             is 
-            <see cref="F:Castle.Core.LifestyleType.Undefined"/>
-            .
-        </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.AddComponent``1(System.Type)">
-            <summary>
-            Adds a concrete class and an interface
-            as a component
-            </summary>
-            <param name="serviceType">The service <see cref="T:System.Type"/> that this component implements.</param>
-        </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.AddComponent``1(System.Type,Castle.Core.LifestyleType)">
-            <summary>
-            Adds a concrete class and an interface
-            as a component with the specified <paramref name="lifestyle"/>.
-            </summary>
-            <param name="serviceType">The service <see cref="T:System.Type"/> that this component implements.</param>
-            <param name="lifestyle">The specified <see cref="T:Castle.Core.LifestyleType"/> for the component.</param>
-            <remarks>
-            If you have indicated a lifestyle for the specified T using
-            attributes, this method will not overwrite that lifestyle. To do that, use the
-            <see cref="M:Castle.MicroKernel.DefaultKernel.AddComponent(System.String,System.Type,System.Type,Castle.Core.LifestyleType,System.Boolean)"/> method.
-            </remarks>
-            <exception cref="T:System.ArgumentNullException">
-            are <see langword="null"/>.
-            </exception>
-            <exception cref="T:System.ArgumentException">
-            Thrown if <paramref name="lifestyle"/> is <see cref="F:Castle.Core.LifestyleType.Undefined"/>.
-            </exception>
-        </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.AddComponent``1(System.Type,Castle.Core.LifestyleType,System.Boolean)">
-            <summary>
-            Adds a concrete class and an interface
-            as a component with the specified <paramref name="lifestyle"/>.
-            </summary>
-            <param name="serviceType">The service <see cref="T:System.Type"/> that this component implements.</param>
-            <param name="lifestyle">The specified <see cref="T:Castle.Core.LifestyleType"/> for the component.</param>
-            <param name="overwriteLifestyle">If <see langword="true"/>, then ignores all other configurations
-            for lifestyle and uses the value in the <paramref name="lifestyle"/> parameter.</param>
-            <remarks>
-            attributes, this method will not overwrite that lifestyle. To do that, use the
-            <see cref="M:Castle.MicroKernel.DefaultKernel.AddComponent(System.String,System.Type,System.Type,Castle.Core.LifestyleType,System.Boolean)"/> method.
-            </remarks>
-            <exception cref="T:System.ArgumentNullException">
-            are <see langword="null"/>.
-            </exception>
-            <exception cref="T:System.ArgumentException">
-            Thrown if <paramref name="lifestyle"/> is <see cref="F:Castle.Core.LifestyleType.Undefined"/>.
-            </exception>
-        </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.AddComponentInstance``1(System.Object)">
-            <summary>
-            Used mostly by facilities. Adds an instance
-            to be used as a component.
-            </summary>
-            <param name="instance"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.AddComponentInstance``1(System.Type,System.Object)">
-            <summary>
-            Used mostly by facilities. Adds an instance
-            to be used as a component.
-            </summary>
-            <param name="serviceType"></param>
-            <param name="instance"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.Register(Castle.MicroKernel.Registration.IRegistration[])">
-            <summary>
-            Registers the components described by the <see cref="T:Castle.MicroKernel.Registration.ComponentRegistration`1"/>s
-            with the <see cref="T:Castle.MicroKernel.IKernel"/>.
-            <param name="registrations">The component registrations.</param>
-            <returns>The kernel.</returns>
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.Resolve``1(System.Collections.IDictionary)">
-            <summary>
-            Returns the component instance by the service type
-            using dynamic arguments
-            </summary>
-            <param name="arguments"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.Resolve``1(System.Object)">
-            <summary>
-            Returns the component instance by the service type
-            using dynamic arguments
-            </summary>
-            <param name="argumentsAsAnonymousType"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.Resolve``1">
-            <summary>
-            Returns the component instance by the component key
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.Resolve``1(System.String)">
-            <summary>
-            Returns a component instance by the key
-            </summary>
-            <param name="key">Component's key</param>
-            <typeparam name="T">Service type</typeparam>
-            <returns>The Component instance</returns>
-        </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.Resolve``1(System.String,System.Collections.IDictionary)">
-            <summary>
-            Returns a component instance by the key
-            </summary>
-            <typeparam name="T">Service type</typeparam>
-            <param name="key">Component's key</param>
-            <param name="arguments"></param>
-            <returns>The Component instance</returns>
-        </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.RemoveComponent(System.String)">
-            <summary>
-            Returns true if the specified component was
-            found and could be removed (i.e. no other component depends on it)
-            </summary>
-            <param name="key">The component's key</param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.Resolve(System.Type)">
-            <summary>
-            Returns the component instance by the service type
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.ResolveAll(System.Type,System.Collections.IDictionary)">
-            <summary>
-            Returns all the valid component instances by
-            the service type
-            </summary>
-            <param name="service">The service type</param>
-            <param name="arguments">Arguments to resolve the services</param>
-        </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.ResolveAll(System.Type,System.Object)">
-            <summary>
-            Returns all the valid component instances by
-            the service type
-            </summary>
-            <param name="service">The service type</param>
-            <param name="argumentsAsAnonymousType">Arguments to resolve the services</param>
-        </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.ResolveAll``1(System.Object)">
-            <summary>
-            Returns component instances that implement TService
-            </summary>
-            <typeparam name="TService"></typeparam>
-            <param name="argumentsAsAnonymousType"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.ResolveAll``1(System.Collections.IDictionary)">
-            <summary>
-            Returns component instances that implement TService
-            </summary>
-            <typeparam name="TService"></typeparam>
-            <param name="arguments"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.Resolve(System.Type,System.Collections.IDictionary)">
-            <summary>
-            Returns the component instance by the service type
-            using dynamic arguments
-            </summary>
-            <param name="service"></param>
-            <param name="arguments"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.Resolve(System.Type,System.Object)">
-            <summary>
-            Returns the component instance by the service type
-            using dynamic arguments
-            </summary>
-            <param name="service"></param>
-            <param name="argumentsAsAnonymousType"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.Resolve(System.String,System.Collections.IDictionary)">
-            <summary>
-            Returns the component instance by the component key
-            using dynamic arguments
-            </summary>
-            <param name="key"></param>
-            <param name="arguments"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.Resolve(System.String,System.Object)">
-            <summary>
-            Returns the component instance by the component key
-            using dynamic arguments
-            </summary>
-            <param name="key"></param>
-            <param name="argumentsAsAnonymousType"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.RegisterCustomDependencies(System.Type,System.Collections.IDictionary)">
-            <summary>
-            Associates objects with a component handler,
-            allowing it to use the specified dictionary
-            when resolving dependencies
-            </summary>
-            <param name="service"></param>
-            <param name="dependencies"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.RegisterCustomDependencies(System.Type,System.Object)">
-            <summary>
-            Associates objects with a component handler,
-            allowing it to use the specified dictionary
-            when resolving dependencies
-            </summary>
-            <param name="service"></param>
-            <param name="dependenciesAsAnonymousType"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.RegisterCustomDependencies(System.String,System.Collections.IDictionary)">
-            <summary>
-            Associates objects with a component handler,
-            allowing it to use the specified dictionary
-            when resolving dependencies
-            </summary>
-            <param name="key"></param>
-            <param name="dependencies"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.RegisterCustomDependencies(System.String,System.Object)">
-            <summary>
-            Associates objects with a component handler,
-            allowing it to use the specified dictionary
-            when resolving dependencies
-            </summary>
-            <param name="key"></param>
-            <param name="dependenciesAsAnonymousType"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.Resolve(System.String,System.Type)">
-            <summary>
-            Returns a component instance by the key
-            </summary>
-            <param name="key"></param>
-            <param name="service"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.ResolveAll``1">
-            <summary>
-            Returns component instances that implement TService
-            </summary>
-            <typeparam name="TService"></typeparam>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.Resolve(System.String,System.Type,System.Collections.IDictionary)">
-            <summary>
-            Returns a component instance by the key
-            </summary>
-            <param name="key"></param>
-            <param name="service"></param>
-            <param name="arguments"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.Resolve(System.String,System.Type,System.Object)">
-            <summary>
-            Resolves the specified key.
-            </summary>
-            <param name="key">The key.</param>
-            <param name="service">The service.</param>
-            <param name="argumentsAsAnonymousType">Type of the arguments as anonymous.</param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.ReleaseComponent(System.Object)">
-            <summary>
-            Releases a component instance. This allows
-            the kernel to execute the proper decomission
-            lifecycles on the component instance.
-            </summary>
-            <param name="instance"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.GetHandlers(System.Type)">
-            <summary>
-            Return handlers for components that 
-            implements the specified service.
-            </summary>
-            <param name="service"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.GetAssignableHandlers(System.Type)">
-            <summary>
-            Return handlers for components that 
-            implements the specified service. 
-            The check is made using IsAssignableFrom
-            </summary>
-            <param name="service"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.GetFacilities">
-            <summary>
-            Returns the facilities registered on the kernel.
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.GetService(System.Type)">
-             <summary>
-             Gets the service object of the specified type.
-             </summary>
-            
-             <returns>
-             A service object of type serviceType.
-             </returns>
-            
-             <param name="serviceType">An object that specifies the type of service object to get. </param>
-        </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.GetService``1">
-             <summary>
-             Gets the service object of the specified type.
-             </summary>
-            
-             <returns>
-             A service object of type serviceType.
-             </returns>
-        </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.Dispose">
-            <summary>
-            Starts the process of component disposal.
-            </summary>
-        </member>
-        <member name="P:Castle.MicroKernel.DefaultKernel.GraphNodes">
-            <summary>
-            Graph of components and iteractions.
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.ComponentDataDelegate">
-            <summary>
-            Represents a delegate which holds basic information about a component.
-            </summary>
-            <param name="key">Key which identifies the component</param>
-            <param name="handler">handler that holds this component and is capable of 
-            creating an instance of it.
-            </param>
-        </member>
-        <member name="T:Castle.MicroKernel.ComponentInstanceDelegate">
-            <summary>
-            Represents a delegate which holds basic information about a component
-            and its instance.
-            </summary>
-            <param name="model">Component meta information</param>
-            <param name="instance">Component instance</param>
-        </member>
-        <member name="T:Castle.MicroKernel.ComponentModelDelegate">
-            <summary>
-            Represents a delegate which holds the information about the 
-            component
-            </summary>
-        </member>
-        <member name="T:Castle.MicroKernel.HandlerDelegate">
-            <summary>
-            Represents a delegate which holds a handler
-            </summary>
-            <param name="handler">handler that holds a component and is capable of 
-            creating an instance of it.
-            </param>
-            <param name="stateChanged"></param>
-        </member>
-        <member name="T:Castle.MicroKernel.DependencyDelegate">
-            <summary>
-            Represents a delegate which holds dependency
-            resolving information.
-            </summary>
-        </member>
-    </members>
-</doc>
trunk/build/lib/app/castle/Castle.Windsor.dll
Binary file
trunk/build/lib/app/castle/Castle.Windsor.xml
@@ -1,1494 +0,0 @@
-<?xml version="1.0"?>
-<doc>
-    <assembly>
-        <name>Castle.Windsor</name>
-    </assembly>
-    <members>
-        <member name="T:Castle.Windsor.Adapters.ComponentModel.ContainerAdapter">
-            <summary>
-            Implementation of <see cref="T:Castle.Windsor.Adapters.ComponentModel.IContainerAdapter"/> that assumes ownership of the
-            wrapped <see cref="T:Castle.Windsor.IWindsorContainer"/>.  If this adapter is disposed, the underlying
-            <see cref="T:Castle.Windsor.IWindsorContainer"/> is diposed as well.
-            </summary>
-        </member>
-        <member name="T:Castle.Windsor.Adapters.ComponentModel.ContainerWrapper">
-            <summary>
-            Implementation of <see cref="T:Castle.Windsor.Adapters.ComponentModel.IContainerAdapter"/> that does not assume ownership of the
-            wrapped <see cref="T:Castle.Windsor.IWindsorContainer"/>. 
-            </summary>
-        </member>
-        <member name="T:Castle.Windsor.Adapters.ComponentModel.IContainerAdapter">
-            <summary>
-            Integrates the <see cref="T:Castle.Windsor.WindsorContainer"/> to the System.ComponentModel
-            and System.ComponentMode.Design infrastructure.
-            </summary>
-            <seealso cref="T:System.ComponentModel.IComponent"/>
-            <seealso cref="T:System.ComponentModel.IContainer"/>
-            <seealso cref="T:System.ComponentModel.Design.IServiceContainer"/>
-        </member>
-        <member name="T:Castle.Windsor.IContainerAccessor">
-            <summary>
-            This interface should be implemented by classes
-            that are available in a bigger context, exposing
-            the container to different areas in the same application.
-            <para>
-            For example, in Web application, the (global) HttpApplication
-            subclasses should implement this interface to expose 
-            the configured container
-            </para>
-            </summary>
-        </member>
-        <member name="M:Castle.Windsor.Adapters.ComponentModel.ContainerWrapper.#ctor(Castle.Windsor.IWindsorContainer)">
-            <summary>
-            Constructs an initial ContainerWrapper.
-            </summary>
-            <param name="container">The <see cref="T:Castle.Windsor.IWindsorContainer"/> to adapt.</param>
-        </member>
-        <member name="M:Castle.Windsor.Adapters.ComponentModel.ContainerWrapper.#ctor(Castle.Windsor.IWindsorContainer,System.IServiceProvider)">
-            <summary>
-            Constructs an initial ContainerWrapper.
-            </summary>
-            <param name="container">The <see cref="T:Castle.Windsor.IWindsorContainer"/> to adapt.</param>
-            <param name="parentProvider">The parent <see cref="T:System.IServiceProvider"/>.</param>
-        </member>
-        <member name="M:Castle.Windsor.Adapters.ComponentModel.ContainerWrapper.Add(System.ComponentModel.IComponent)">
-            <summary>
-            Adds the specified <see cref="T:System.ComponentModel.IComponent"/> to the <see cref="T:System.ComponentModel.IContainer"/> at the end of the list.
-            </summary>
-            <param name="component">The <see cref="T:System.ComponentModel.IComponent"/> to add.</param>
-        </member>
-        <member name="M:Castle.Windsor.Adapters.ComponentModel.ContainerWrapper.Add(System.ComponentModel.IComponent,System.String)">
-            <summary>
-            Adds the specified <see cref="T:System.ComponentModel.IComponent"/> to the <see cref="T:System.ComponentModel.IContainer"/> at the end of the list,
-            and assigns a name to the component.
-            </summary>
-            <param name="component">The <see cref="T:System.ComponentModel.IComponent"/> to add.</param>
-            <param name="name">The unique, case-insensitive name to assign to the component, or null.</param>
-        </member>
-        <member name="M:Castle.Windsor.Adapters.ComponentModel.ContainerWrapper.Remove(System.ComponentModel.IComponent)">
-            <summary>
-            Removes a component from the <see cref="T:System.ComponentModel.IContainer"/>.
-            </summary>
-            <param name="component">The <see cref="T:System.ComponentModel.IComponent"/> to remove</param>
-        </member>
-        <member name="M:Castle.Windsor.Adapters.ComponentModel.ContainerWrapper.GetService(System.Type)">
-            <summary>
-            Gets the service object of the specified type.
-            </summary>
-            <param name="serviceType">The type of service.</param>
-            <returns>An object inplementing service, or null.</returns>
-        </member>
-        <member name="M:Castle.Windsor.Adapters.ComponentModel.ContainerWrapper.AddService(System.Type,System.Object)">
-            <summary>
-            Adds the specified service to the service container.
-            </summary>
-            <param name="serviceType">The type of service to add.</param>
-            <param name="serviceInstance">The instance of the service to add.</param>
-        </member>
-        <member name="M:Castle.Windsor.Adapters.ComponentModel.ContainerWrapper.AddService(System.Type,System.ComponentModel.Design.ServiceCreatorCallback)">
-            <summary>
-            Adds the specified service to the service container.
-            </summary>
-            <param name="serviceType">The type of service to add.</param>
-            <param name="callback">A callback object that is used to create the service.</param>
-        </member>
-        <member name="M:Castle.Windsor.Adapters.ComponentModel.ContainerWrapper.AddService(System.Type,System.Object,System.Boolean)">
-            <summary>
-            Adds the specified service to the service container, and optionally
-            promotes the service to any parent service containers.
-            </summary>
-            <param name="serviceType">The type of service to add.</param>
-            <param name="serviceInstance">The instance of the service to add.</param>
-            <param name="promote">true to promote this request to any parent service containers.</param>
-        </member>
-        <member name="M:Castle.Windsor.Adapters.ComponentModel.ContainerWrapper.AddService(System.Type,System.ComponentModel.Design.ServiceCreatorCallback,System.Boolean)">
-            <summary>
-            Adds the specified service to the service container, and optionally 
-            promotes the service to parent service containers.
-            </summary>
-            <param name="serviceType">The type of service to add.</param>
-            <param name="callback">A callback object that is used to create the service.</param>
-            <param name="promote">true to promote this request to any parent service containers.</param>
-        </member>
-        <member name="M:Castle.Windsor.Adapters.ComponentModel.ContainerWrapper.RemoveService(System.Type)">
-            <summary>
-            Removes the specified service type from the service container.
-            </summary>
-            <param name="serviceType">The type of service to remove.</param>
-        </member>
-        <member name="M:Castle.Windsor.Adapters.ComponentModel.ContainerWrapper.RemoveService(System.Type,System.Boolean)">
-            <summary>
-            Removes the specified service type from the service container, 
-            and optionally promotes the service to parent service containers.
-            </summary>
-            <param name="serviceType">The type of service to remove.</param>
-            <param name="promote">true to promote this request to any parent service containers.</param>
-        </member>
-        <member name="M:Castle.Windsor.Adapters.ComponentModel.ContainerWrapper.IsIntrinsicService(System.Type)">
-            <summary>
-            Determins if the service type represents an intrinsic service.
-            </summary>
-            <param name="serviceType">The type of service to remove.</param>
-            <returns>true if the service type is an intrinsic service.</returns>
-        </member>
-        <member name="M:Castle.Windsor.Adapters.ComponentModel.ContainerWrapper.HasService(System.Type)">
-            <summary>
-            Determins if the specified service type exists in the service container.
-            </summary>
-            <param name="serviceType">The type of service to remove.</param>
-            <returns>true if the service type exists.</returns>
-        </member>
-        <member name="M:Castle.Windsor.Adapters.ComponentModel.ContainerWrapper.Dispose">
-            <summary>
-            Releases the resources used by the component.
-            </summary>
-        </member>
-        <member name="M:Castle.Windsor.Adapters.ComponentModel.ContainerWrapper.Dispose(System.Boolean)">
-            <summary>
-            Releases the resources used by the component.
-            </summary>
-            <param name="disposing">true if disposing.</param>
-        </member>
-        <member name="P:Castle.Windsor.Adapters.ComponentModel.ContainerWrapper.Site">
-            <summary>
-            Gets or sets the <see cref="T:System.ComponentModel.ISite"/> associated with the <see cref="T:System.ComponentModel.IComponent"/>.
-            </summary>
-        </member>
-        <member name="E:Castle.Windsor.Adapters.ComponentModel.ContainerWrapper.Disposed">
-            <summary>
-            Event that notifies the disposal of the <see cref="T:System.ComponentModel.IComponent"/>.
-            </summary>
-        </member>
-        <member name="P:Castle.Windsor.Adapters.ComponentModel.ContainerWrapper.Components">
-            <summary>
-            Gets all the components in the <see cref="T:System.ComponentModel.IContainer"/>.
-            </summary>
-        </member>
-        <member name="P:Castle.Windsor.Adapters.ComponentModel.ContainerWrapper.Container">
-            <summary>
-            Gets the adapted <see cref="T:Castle.Windsor.IWindsorContainer"/>
-            </summary>
-        </member>
-        <member name="M:Castle.Windsor.Adapters.ComponentModel.ContainerAdapter.#ctor">
-            <summary>
-            Constructs a default ContainerAdapter.
-            </summary>
-        </member>
-        <member name="M:Castle.Windsor.Adapters.ComponentModel.ContainerAdapter.#ctor(System.IServiceProvider)">
-            <summary>
-            Constructs a chained ContainerAdapter.
-            </summary>
-            <param name="parentProvider">The parent <see cref="T:System.IServiceProvider"/>.</param>
-        </member>
-        <member name="M:Castle.Windsor.Adapters.ComponentModel.ContainerAdapter.#ctor(Castle.Windsor.IWindsorContainer)">
-            <summary>
-            Constructs an initial ContainerAdapter.
-            </summary>
-            <param name="container">The <see cref="T:Castle.Windsor.IWindsorContainer"/> to adapt.</param>
-        </member>
-        <member name="M:Castle.Windsor.Adapters.ComponentModel.ContainerAdapter.#ctor(Castle.Windsor.IWindsorContainer,System.IServiceProvider)">
-            <summary>
-            Constructs an initial ContainerAdapter.
-            </summary>
-            <param name="container">The <see cref="T:Castle.Windsor.IWindsorContainer"/> to adapt.</param>
-            <param name="parentProvider">The parent <see cref="T:System.IServiceProvider"/>.</param>
-        </member>
-        <member name="T:Castle.Windsor.Adapters.ComponentModel.ServiceCreatorCallbackActivator">
-            <summary>
-            Custom activator to create the instance on demand.
-            </summary>
-        </member>
-        <member name="T:Castle.Windsor.Configuration.AppDomain.CastleSectionHandler">
-            <summary>
-            Implementation of <see cref="T:System.Configuration.IConfigurationSectionHandler"/>.
-            Do not support configuration inheritance.
-            </summary>
-        </member>
-        <member name="M:Castle.Windsor.Configuration.Interpreters.XmlProcessor.ElementProcessors.AbstractXmlNodeProcessor.Accept(System.Xml.XmlNode)">
-            <summary>
-            Accepts the specified node.
-            Check if node has the same name as the processor and the node.NodeType
-            is in the AcceptNodeTypes List
-            </summary>
-            <param name="node">The node.</param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.Windsor.Configuration.Interpreters.XmlProcessor.ElementProcessors.AbstractXmlNodeProcessor.GetNodeAsElement(System.Xml.XmlElement,System.Xml.XmlNode)">
-            <summary>
-            Convert and return child parameter into an XmlElement
-            An exception will be throw in case the child node cannot be converted
-            </summary>
-            <param name="element">Parent node</param>
-            <param name="child">Node to be converted</param>
-            <returns>child node as XmlElement</returns>
-        </member>
-        <member name="M:Castle.Windsor.Configuration.Interpreters.XmlProcessor.ElementProcessors.AttributesElementProcessor.Process(Castle.Windsor.Configuration.Interpreters.XmlProcessor.IXmlProcessorNodeList,Castle.Windsor.Configuration.Interpreters.XmlProcessor.IXmlProcessorEngine)">
-            <summary>
-            
-            </summary>
-            <param name="nodeList"></param>
-            <param name="engine"></param>
-            <example>
-            <code>
-            	<properties>
-            		<attributes>
-            			<myAttribute>attributeValue</myAttribute>
-            		</attributes>
-            		<myProperty>propertyValue</myProperty>
-            	</properties>
-            </code>
-            </example>
-        </member>
-        <member name="M:Castle.Windsor.Configuration.Interpreters.XmlProcessor.ElementProcessors.DefaultElementProcessor.ProcessAttributes(System.Xml.XmlElement,Castle.Windsor.Configuration.Interpreters.XmlProcessor.IXmlProcessorEngine)">
-            <summary>
-            Processes element attributes.
-            if the attribute is include will append to the element
-            all contents from the file.
-            if the attribute has a property reference the reference will be
-            expanded
-            </summary>
-            <param name="element">The element.</param>
-            <param name="engine"></param>
-        </member>
-        <member name="F:Castle.Windsor.Configuration.Interpreters.XmlProcessor.ElementProcessors.DefaultTextNodeProcessor.PropertyValidationRegExp">
-            <summary>
-            Properties names can contain a-zA-Z0-9_. 
-            i.e. #!{ my_node_name } || #{ my.node.name }
-            spaces are trimmed
-            </summary>
-        </member>
-        <member name="M:Castle.Windsor.Configuration.Interpreters.XmlProcessor.ElementProcessors.DefaultTextNodeProcessor.ProcessString(System.Xml.XmlNode,System.String,Castle.Windsor.Configuration.Interpreters.XmlProcessor.IXmlProcessorEngine)">
-            <summary>
-            Processes the string.
-            </summary>
-            <param name="node">The node.</param>
-            <param name="value">The value.</param>
-            <param name="engine">The context.</param>
-        </member>
-        <member name="M:Castle.Windsor.Configuration.Interpreters.XmlProcessor.ElementProcessors.IncludeElementProcessor.Accept(System.Xml.XmlNode)">
-            <summary>
-            Accepts the specified node.
-            Check if node has the same name as the processor and the node.NodeType
-            is in the AcceptNodeTypes List
-            NOTE: since the BatchRegistrationFacility already uses an include
-            element we will distringish between both by looking for the presence of an uri attribute
-            we should revisit this later by using xml-namespaces
-            </summary>
-            <param name="node">The node.</param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.Windsor.Configuration.Interpreters.XmlProcessor.ElementProcessors.PropertiesElementProcessor.Process(Castle.Windsor.Configuration.Interpreters.XmlProcessor.IXmlProcessorNodeList,Castle.Windsor.Configuration.Interpreters.XmlProcessor.IXmlProcessorEngine)">
-            <summary>
-            
-            </summary>
-            <param name="nodeList"></param>
-            <param name="engine"></param>
-            <example>
-            <code>
-            	<properties>
-            		<attributes>
-            			<myAttribute>attributeValue</myAttribute>
-            		</attributes>
-            		<myProperty>propertyValue</myProperty>
-            	</properties>
-            </code>
-            </example>
-        </member>
-        <member name="M:Castle.Windsor.Configuration.Interpreters.XmlProcessor.DefaultXmlProcessorEngine.#ctor(System.String)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.Windsor.Configuration.Interpreters.XmlProcessor.DefaultXmlProcessorEngine"/> class.
-            </summary>
-            <param name="environmentName">Name of the environment.</param>
-        </member>
-        <member name="M:Castle.Windsor.Configuration.Interpreters.XmlProcessor.DefaultXmlProcessorEngine.#ctor(System.String,Castle.MicroKernel.SubSystems.Resource.IResourceSubSystem)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.Windsor.Configuration.Interpreters.XmlProcessor.DefaultXmlProcessorEngine"/> class.
-            </summary>
-            <param name="environmentName">Name of the environment.</param>
-            <param name="resourceSubSystem">The resource sub system.</param>
-        </member>
-        <member name="M:Castle.Windsor.Configuration.Interpreters.XmlProcessor.DefaultXmlProcessorEngine.DispatchProcessAll(Castle.Windsor.Configuration.Interpreters.XmlProcessor.IXmlProcessorNodeList)">
-            <summary>
-            Processes the element.
-            </summary>
-            <param name="nodeList">The element.</param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.Windsor.Configuration.Interpreters.XmlProcessor.DefaultXmlProcessorEngine.DispatchProcessCurrent(Castle.Windsor.Configuration.Interpreters.XmlProcessor.IXmlProcessorNodeList)">
-            <summary>
-            Processes the element.
-            </summary>
-            <param name="nodeList">The element.</param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.Windsor.Configuration.Interpreters.XmlProcessor.DefaultXmlProcessorNodeList.CloneNodeList(System.Xml.XmlNodeList)">
-            <summary>
-            Make a shallow copy of the nodeList.
-            </summary>
-            <param name="nodeList">The nodeList to be copied.</param>
-            <returns></returns>
-        </member>
-        <member name="T:Castle.Windsor.Configuration.Interpreters.XmlProcessor.XmlProcessor">
-            <summary>
-            Pendent
-            </summary>
-        </member>
-        <member name="M:Castle.Windsor.Configuration.Interpreters.XmlProcessor.XmlProcessor.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.Windsor.Configuration.Interpreters.XmlProcessor.XmlProcessor"/> class.
-            </summary>
-        </member>
-        <member name="M:Castle.Windsor.Configuration.Interpreters.XmlProcessor.XmlProcessor.#ctor(System.String,Castle.MicroKernel.SubSystems.Resource.IResourceSubSystem)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.Windsor.Configuration.Interpreters.XmlProcessor.XmlProcessor"/> class.
-            </summary>
-            <param name="environmentName">Name of the environment.</param>
-            <param name="resourceSubSystem">The resource sub system.</param>
-        </member>
-        <member name="M:Castle.Windsor.Configuration.Interpreters.XmlProcessor.XmlProcessor.#ctor(System.String)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.Windsor.Configuration.Interpreters.XmlProcessor.XmlProcessor"/> class.
-            </summary>
-        </member>
-        <member name="T:Castle.Windsor.Configuration.Interpreters.AbstractInterpreter">
-            <summary>
-            Provides common methods for those who wants 
-            to implement <see cref="T:Castle.Windsor.Configuration.IConfigurationInterpreter"/>
-            </summary>
-        </member>
-        <member name="T:Castle.Windsor.Configuration.IConfigurationInterpreter">
-            <summary>
-            Interpreter of a specific language to describe 
-            configuration nodes in a hierachical manner.
-            </summary>
-        </member>
-        <member name="M:Castle.Windsor.Configuration.IConfigurationInterpreter.ProcessResource(Castle.Core.Resource.IResource,Castle.MicroKernel.IConfigurationStore)">
-            <summary>
-            Should obtain the contents from the resource,
-            interpret it and populate the <see cref="T:Castle.MicroKernel.IConfigurationStore"/>
-            accordingly.
-            </summary>
-            <param name="resource"></param>
-            <param name="store"></param>
-        </member>
-        <member name="P:Castle.Windsor.Configuration.IConfigurationInterpreter.EnvironmentName">
-            <summary>
-            Gets or sets the name of the environment.
-            </summary>
-            <value>The name of the environment.</value>
-        </member>
-        <member name="P:Castle.Windsor.Configuration.IConfigurationInterpreter.Source">
-            <summary>
-            Exposes the reference to <see cref="T:Castle.Core.Resource.IResource"/>
-            which the interpreter is likely to hold
-            </summary>
-        </member>
-        <member name="M:Castle.Windsor.Configuration.Interpreters.AbstractInterpreter.ProcessResource(Castle.Core.Resource.IResource,Castle.MicroKernel.IConfigurationStore)">
-            <summary>
-            Should obtain the contents from the resource,
-            interpret it and populate the <see cref="T:Castle.MicroKernel.IConfigurationStore"/>
-            accordingly.
-            </summary>
-            <param name="resource"></param>
-            <param name="store"></param>
-        </member>
-        <member name="P:Castle.Windsor.Configuration.Interpreters.AbstractInterpreter.Source">
-            <summary>
-            Exposes the reference to <see cref="T:Castle.Core.Resource.IResource"/>
-            which the interpreter is likely to hold
-            </summary>
-            <value></value>
-        </member>
-        <member name="P:Castle.Windsor.Configuration.Interpreters.AbstractInterpreter.EnvironmentName">
-            <summary>
-            Gets or sets the name of the environment.
-            </summary>
-            <value>The name of the environment.</value>
-        </member>
-        <member name="T:Castle.Windsor.Configuration.Interpreters.XmlInterpreter">
-            <summary>
-            Reads the configuration from a XmlFile. Sample structure:
-            <code>
-            &lt;configuration&gt;
-              &lt;facilities&gt;
-                &lt;facility id="myfacility"&gt;
-                
-                &lt;/facility&gt;
-              &lt;/facilities&gt;
-              
-              &lt;components&gt;
-                &lt;component id="component1"&gt;
-                
-                &lt;/component&gt;
-              &lt;/components&gt;
-            &lt;/configuration&gt;
-            </code>
-            </summary>
-        </member>
-        <member name="M:Castle.Windsor.Configuration.Interpreters.XmlInterpreter.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.Windsor.Configuration.Interpreters.XmlInterpreter"/> class.
-            </summary>
-        </member>
-        <member name="M:Castle.Windsor.Configuration.Interpreters.XmlInterpreter.#ctor(System.String)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.Windsor.Configuration.Interpreters.XmlInterpreter"/> class.
-            </summary>
-            <param name="filename">The filename.</param>
-        </member>
-        <member name="M:Castle.Windsor.Configuration.Interpreters.XmlInterpreter.#ctor(Castle.Core.Resource.IResource)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.Windsor.Configuration.Interpreters.XmlInterpreter"/> class.
-            </summary>
-            <param name="source">The source.</param>
-        </member>
-        <member name="P:Castle.Windsor.Configuration.Interpreters.XmlInterpreter.Kernel">
-            <summary>
-            Gets or sets the kernel.
-            </summary>
-            <value>The kernel.</value>
-        </member>
-        <member name="M:Castle.Windsor.Installer.Configuration.FromAppConfig">
-            <summary>
-            Installs all the components from the App.Config file.
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.Windsor.Installer.Configuration.FromXmlFile(System.String)">
-            <summary>
-            Installs all the component from the xml configuration file.
-            </summary>
-            <param name="file">The xml configuration file.</param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.Windsor.Installer.Configuration.FromXml(Castle.Core.Resource.IResource)">
-            <summary>
-            Installs all the component from the xml configuration.
-            </summary>
-            <param name="resource">The xml configuration resource.</param>
-            <returns></returns>
-        </member>
-        <member name="T:Castle.Windsor.Installer.EnvironmentDelegate">
-            <summary>
-            Delegate to provide environment name.
-            </summary>
-            <returns>The environment name.</returns>
-        </member>
-        <member name="T:Castle.Windsor.IWindsorInstaller">
-            <summary>
-            The contract to install components in the container.
-            </summary>
-        </member>
-        <member name="M:Castle.Windsor.IWindsorInstaller.Install(Castle.Windsor.IWindsorContainer,Castle.MicroKernel.IConfigurationStore)">
-            <summary>
-            Performs the installation in the <see cref="T:Castle.Windsor.IWindsorContainer"/>.
-            </summary>
-            <param name="container">The container.</param>
-            <param name="store">The configuration store.</param>
-        </member>
-        <member name="M:Castle.Windsor.Installer.ConfigurationInstaller.#ctor(Castle.Windsor.Configuration.IConfigurationInterpreter)">
-            <summary>
-            Initializes a new instance of the ConfigurationInstaller class.
-            </summary>
-        </member>
-        <member name="M:Castle.Windsor.Installer.ConfigurationInstaller.Environment(System.String)">
-            <summary>
-            Sets the configuration environment name.
-            </summary>
-            <param name="environmentName">The environment name.</param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.Windsor.Installer.ConfigurationInstaller.Environment(Castle.Windsor.Installer.EnvironmentDelegate)">
-            <summary>
-            Set the configuration environment strategy.
-            </summary>
-            <param name="environment">The environment strategy.</param>
-            <returns></returns>
-        </member>
-        <member name="T:Castle.Windsor.Installer.DefaultComponentInstaller">
-            <summary>
-            Default <see cref="T:Castle.Windsor.IComponentsInstaller"/> implementation.
-            </summary>
-        </member>
-        <member name="T:Castle.Windsor.IComponentsInstaller">
-            <summary>
-            Installs the components and facilities based on the
-            information on the configuration store.
-            </summary>
-        </member>
-        <member name="M:Castle.Windsor.IComponentsInstaller.SetUp(Castle.Windsor.IWindsorContainer,Castle.MicroKernel.IConfigurationStore)">
-            <summary>
-            Perform installation.
-            </summary>
-            <param name="container">Target container</param>
-            <param name="store">Configuration store</param>
-        </member>
-        <member name="M:Castle.Windsor.Installer.DefaultComponentInstaller.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.Windsor.Installer.DefaultComponentInstaller"/> class.
-            </summary>
-        </member>
-        <member name="M:Castle.Windsor.Installer.DefaultComponentInstaller.SetUp(Castle.Windsor.IWindsorContainer,Castle.MicroKernel.IConfigurationStore)">
-            <summary>
-            Perform installation.
-            </summary>
-            <param name="container">Target container</param>
-            <param name="store">Configuration store</param>
-        </member>
-        <member name="M:Castle.Windsor.Proxy.AbstractProxyFactory.ObtainInterceptors(Castle.MicroKernel.IKernel,Castle.Core.ComponentModel)">
-            <summary>
-            Obtains the interceptors associated with the component.
-            </summary>
-            <param name="kernel">The kernel instance</param>
-            <param name="model">The component model</param>
-            <returns>interceptors array</returns>
-        </member>
-        <member name="T:Castle.Windsor.Proxy.DefaultProxyFactory">
-            <summary>
-            This implementation of <see cref="T:Castle.MicroKernel.IProxyFactory"/> relies 
-            on DynamicProxy to expose proxy capabilies.
-            </summary>
-            <remarks>
-            Note that only virtual methods can be intercepted in a 
-            concrete class. However, if the component 
-            was registered with a service interface, we proxy
-            the interface and the methods don't need to be virtual,
-            </remarks>
-        </member>
-        <member name="M:Castle.Windsor.Proxy.DefaultProxyFactory.#ctor">
-            <summary>
-            Constructs a DefaultProxyFactory
-            </summary>
-        </member>
-        <member name="M:Castle.Windsor.Proxy.DefaultProxyFactory.Create(Castle.MicroKernel.IKernel,System.Object,Castle.Core.ComponentModel,System.Object[])">
-            <summary>
-            Creates the proxy for the supplied component.
-            </summary>
-            <param name="kernel">The kernel.</param>
-            <param name="target">The target.</param>
-            <param name="model">The model.</param>
-            <param name="constructorArguments">The constructor arguments.</param>
-            <returns>The component proxy.</returns>
-        </member>
-        <member name="M:Castle.Windsor.Proxy.DefaultProxyFactory.RequiresTargetInstance(Castle.MicroKernel.IKernel,Castle.Core.ComponentModel)">
-            <summary>
-            Determines if the component requiries a target instance for proxying.
-            </summary>
-            <param name="kernel">The kernel.</param>
-            <param name="model">The model.</param>
-            <returns>true if an instance is required.</returns>
-        </member>
-        <member name="T:Castle.Windsor.IEnvironmentInfo">
-            <summary>
-            Gets the environment information (name). Implementors should 
-            use to define their environments and how those affect the configuration.
-            It is also used by the <see cref="T:Castle.Windsor.Configuration.Interpreters.XmlInterpreter"/>
-            to define a flag with the environment name.
-            </summary>
-        </member>
-        <member name="M:Castle.Windsor.IEnvironmentInfo.GetEnvironmentName">
-            <summary>
-            Gets the name of the environment.
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="T:Castle.Windsor.IWindsorContainer">
-            <summary>
-            The <c>IWindsorContainer</c> interface exposes all the 
-            functionality the Windsor implements.
-            </summary>
-        </member>
-        <member name="M:Castle.Windsor.IWindsorContainer.AddFacility(System.String,Castle.MicroKernel.IFacility)">
-            <summary>
-            Registers a facility within the container.
-            </summary>
-            <param name="key">The key by which the <see cref="T:Castle.MicroKernel.IFacility"/> gets indexed.</param>
-            <param name="facility">The <see cref="T:Castle.MicroKernel.IFacility"/> to add to the container.</param>
-        </member>
-        <member name="M:Castle.Windsor.IWindsorContainer.AddFacility``1(System.String)">
-            <summary>
-            Creates and adds an <see cref="T:Castle.MicroKernel.IFacility"/> facility to the container.
-            </summary>
-            <typeparam name="T">The facility type.</typeparam>
-            <param name="key"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.Windsor.IWindsorContainer.AddFacility``1">
-            <summary>
-            Creates and adds an <see cref="T:Castle.MicroKernel.IFacility"/> facility to the container.
-            </summary>
-            <typeparam name="T">The facility type.</typeparam>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.Windsor.IWindsorContainer.AddComponent(System.String,System.Type)">
-            <summary>
-            Adds a component to be managed by the container
-            </summary>
-            <param name="key">The key by which the component gets indexed.</param>
-            <param name="classType">The <see cref="T:System.Type"/> to manage.</param>
-        </member>
-        <member name="M:Castle.Windsor.IWindsorContainer.AddComponent(System.String,System.Type,System.Type)">
-            <summary>
-            Adds a component to be managed by the container
-            </summary>
-            <param name="key">The key by which the component gets indexed.</param>
-            <param name="serviceType">The service <see cref="T:System.Type"/> that the component implements.</param>
-            <param name="classType">The <see cref="T:System.Type"/> to manage.</param>
-        </member>
-        <member name="M:Castle.Windsor.IWindsorContainer.AddComponentLifeStyle(System.String,System.Type,Castle.Core.LifestyleType)">
-            <summary>
-            Adds a component to be managed by the container
-            </summary>
-            <param name="key">The key by which the component gets indexed.</param>
-            <param name="classType">The <see cref="T:System.Type"/> to manage.</param>
-            <param name="lifestyle">The <see cref="T:Castle.Core.LifestyleType"/> with which to manage the component.</param>
-        </member>
-        <member name="M:Castle.Windsor.IWindsorContainer.AddComponentLifeStyle(System.String,System.Type,System.Type,Castle.Core.LifestyleType)">
-            <summary>
-            Adds a component to be managed by the container
-            </summary>
-            <param name="key">The key by which the component gets indexed.</param>
-            <param name="serviceType">The service <see cref="T:System.Type"/> that the component implements.</param>
-            <param name="classType">The <see cref="T:System.Type"/> to manage.</param>
-            <param name="lifestyle">The <see cref="T:Castle.Core.LifestyleType"/> with which to manage the component.</param>
-        </member>
-        <member name="M:Castle.Windsor.IWindsorContainer.AddComponentWithProperties(System.String,System.Type,System.Collections.IDictionary)">
-            <summary>
-            Adds a concrete class as a component and specify the extended properties.
-            Used by facilities, mostly.
-            </summary>
-            <param name="key"></param>
-            <param name="classType"></param>
-            <param name="extendedProperties"></param>
-        </member>
-        <member name="M:Castle.Windsor.IWindsorContainer.AddComponentWithProperties(System.String,System.Type,System.Type,System.Collections.IDictionary)">
-            <summary>
-            Adds a concrete class and an interface 
-            as a component and specify the extended properties.
-            Used by facilities, mostly.
-            </summary>
-            <param name="key"></param>
-            <param name="serviceType"></param>
-            <param name="classType"></param>
-            <param name="extendedProperties"></param>
-        </member>
-        <member name="M:Castle.Windsor.IWindsorContainer.AddComponent``1">
-            <summary>
-            Adds a component to be managed by the container.
-            The key to obtain the component will be the FullName of the type.
-            </summary>
-            <typeparam name="T">The <see cref="T:System.Type"/> to manage.</typeparam>
-        </member>
-        <member name="M:Castle.Windsor.IWindsorContainer.AddComponent``1(System.String)">
-            <summary>
-            Adds a component to be managed by the container
-            </summary>
-            <typeparam name="T">The <see cref="T:System.Type"/> to manage.</typeparam>
-            <param name="key">The key by which the component gets indexed.</param>		
-        </member>
-        <member name="M:Castle.Windsor.IWindsorContainer.AddComponentLifeStyle``1(Castle.Core.LifestyleType)">
-            <summary>
-            Adds a component to be managed by the container.
-            The key to obtain the component will be the FullName of the type.
-            </summary>
-            <typeparam name="T">The <see cref="T:System.Type"/> to manage.</typeparam>
-            <param name="lifestyle">The <see cref="T:Castle.Core.LifestyleType"/> with which to manage the component.</param>
-        </member>
-        <member name="M:Castle.Windsor.IWindsorContainer.AddComponentLifeStyle``1(System.String,Castle.Core.LifestyleType)">
-            <summary>
-            Adds a component to be managed by the container
-            </summary>
-            <typeparam name="T">The <see cref="T:System.Type"/> to manage.</typeparam>
-            <param name="key">The key by which the component gets indexed.</param>		
-            <param name="lifestyle">The <see cref="T:Castle.Core.LifestyleType"/> with which to manage the component.</param>
-        </member>
-        <member name="M:Castle.Windsor.IWindsorContainer.AddComponent``2">
-            <summary>
-            Adds a component to be managed by the container
-            The key to obtain the component will be the FullName of the type.
-            </summary>
-            <typeparam name="I">The service <see cref="T:System.Type"/> that the component implements.</typeparam>
-            <typeparam name="T">The <see cref="T:System.Type"/> to manage.</typeparam>
-        </member>
-        <member name="M:Castle.Windsor.IWindsorContainer.AddComponent``2(System.String)">
-            <summary>
-            Adds a component to be managed by the container
-            </summary>
-            <typeparam name="I">The service <see cref="T:System.Type"/> that the component implements.</typeparam>
-            <typeparam name="T">The <see cref="T:System.Type"/> to manage.</typeparam>
-            <param name="key">The key by which the component gets indexed.</param>
-        </member>
-        <member name="M:Castle.Windsor.IWindsorContainer.AddComponentLifeStyle``2(Castle.Core.LifestyleType)">
-            <summary>
-            Adds a component to be managed by the container
-            The key to obtain the component will be the FullName of the type.
-            </summary>
-            <typeparam name="I">The service <see cref="T:System.Type"/> that the component implements.</typeparam>
-            <typeparam name="T">The <see cref="T:System.Type"/> to manage.</typeparam>
-            <param name="lifestyle">The <see cref="T:Castle.Core.LifestyleType"/> with which to manage the component.</param>
-        </member>
-        <member name="M:Castle.Windsor.IWindsorContainer.AddComponentLifeStyle``2(System.String,Castle.Core.LifestyleType)">
-            <summary>
-            Adds a component to be managed by the container
-            </summary>
-            <typeparam name="I">The service <see cref="T:System.Type"/> that the component implements.</typeparam>
-            <typeparam name="T">The <see cref="T:System.Type"/> to manage.</typeparam>
-            <param name="key">The key by which the component gets indexed.</param>
-            <param name="lifestyle">The <see cref="T:Castle.Core.LifestyleType"/> with which to manage the component.</param>
-        </member>
-        <member name="M:Castle.Windsor.IWindsorContainer.AddComponentWithProperties``1(System.Collections.IDictionary)">
-            <summary>
-            Adds a concrete class as a component and specify the extended properties.
-            Used by facilities, mostly.
-            The key to obtain the component will be the FullName of the type.
-            </summary>
-            <typeparam name="T"></typeparam>
-            <param name="extendedProperties"></param>
-        </member>
-        <member name="M:Castle.Windsor.IWindsorContainer.AddComponentWithProperties``1(System.String,System.Collections.IDictionary)">
-            <summary>
-            Adds a concrete class as a component and specify the extended properties.
-            Used by facilities, mostly.
-            </summary>
-            <typeparam name="T"></typeparam>
-            <param name="key"></param>		
-            <param name="extendedProperties"></param>
-        </member>
-        <member name="M:Castle.Windsor.IWindsorContainer.AddComponentLifeStyle``2(System.Collections.IDictionary)">
-            <summary>
-            Adds a concrete class and an interface 
-            as a component and specify the extended properties.
-            Used by facilities, mostly.
-            The key to obtain the component will be the FullName of the type.
-            </summary>
-            <typeparam name="I"></typeparam>
-            <typeparam name="T"></typeparam>
-            <param name="extendedProperties"></param>
-        </member>
-        <member name="M:Castle.Windsor.IWindsorContainer.AddComponentLifeStyle``2(System.String,System.Collections.IDictionary)">
-            <summary>
-            Adds a concrete class and an interface 
-            as a component and specify the extended properties.
-            Used by facilities, mostly.
-            </summary>
-            <typeparam name="I"></typeparam>
-            <typeparam name="T"></typeparam>
-            <param name="key"></param>
-            <param name="extendedProperties"></param>
-        </member>
-        <member name="M:Castle.Windsor.IWindsorContainer.Register(Castle.MicroKernel.Registration.IRegistration[])">
-            <summary>
-            Registers the components provided by the <see cref="T:Castle.MicroKernel.Registration.IRegistration"/>s
-            with the <see cref="T:Castle.Windsor.IWindsorContainer"/>.
-            <param name="registrations">The component registrations.</param>
-            <returns>The container.</returns>
-            </summary>
-        </member>
-        <member name="M:Castle.Windsor.IWindsorContainer.Install(Castle.Windsor.IWindsorInstaller[])">
-            <summary>
-            Installs the components provided by the <see cref="T:Castle.Windsor.IWindsorInstaller"/>s
-            with the <see cref="T:Castle.Windsor.IWindsorContainer"/>.
-            <param name="installers">The component installers.</param>
-            <returns>The container.</returns>
-            </summary>
-        </member>
-        <member name="M:Castle.Windsor.IWindsorContainer.Resolve(System.String)">
-            <summary>
-            Returns a component instance by the key
-            </summary>
-            <param name="key"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.Windsor.IWindsorContainer.Resolve(System.String,System.Collections.IDictionary)">
-            <summary>
-            Returns a component instance by the key
-            </summary>
-            <param name="key"></param>
-            <param name="arguments"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.Windsor.IWindsorContainer.Resolve(System.String,System.Object)">
-            <summary>
-            Returns a component instance by the key
-            </summary>
-            <param name="key"></param>
-            <param name="argumentsAsAnonymousType"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.Windsor.IWindsorContainer.Resolve(System.String,System.Type)">
-            <summary>
-            Returns a component instance by the key
-            </summary>
-            <param name="key"></param>
-            <param name="service"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.Windsor.IWindsorContainer.Resolve(System.Type)">
-            <summary>
-            Returns a component instance by the service
-            </summary>
-            <param name="service"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.Windsor.IWindsorContainer.Resolve(System.Type,System.Collections.IDictionary)">
-            <summary>
-            Returns a component instance by the service
-            </summary>
-            <param name="service"></param>
-            <param name="arguments"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.Windsor.IWindsorContainer.Resolve(System.Type,System.Object)">
-            <summary>
-            Returns a component instance by the service
-            </summary>
-            <param name="service"></param>
-            <param name="argumentsAsAnonymousType"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.Windsor.IWindsorContainer.Release(System.Object)">
-            <summary>
-            Releases a component instance
-            </summary>
-            <param name="instance"></param>
-        </member>
-        <member name="M:Castle.Windsor.IWindsorContainer.AddChildContainer(Castle.Windsor.IWindsorContainer)">
-            <summary>
-            Registers a subcontainer. The components exposed
-            by this container will be accessible from subcontainers.
-            </summary>
-            <param name="childContainer"></param>
-        </member>
-        <member name="M:Castle.Windsor.IWindsorContainer.RemoveChildContainer(Castle.Windsor.IWindsorContainer)">
-            <summary>
-            Remove a child container
-            </summary>
-            <param name="childContainer"></param>
-        </member>
-        <member name="M:Castle.Windsor.IWindsorContainer.GetChildContainer(System.String)">
-            <summary>
-            Gets a child container instance by name.
-            </summary>
-            <param name="name">The container's name.</param>
-            <returns>The child container instance or null</returns>
-        </member>
-        <member name="M:Castle.Windsor.IWindsorContainer.Resolve``1">
-            <summary>
-            Returns a component instance by the service
-            </summary>
-            <typeparam name="T">Service type</typeparam>
-            <returns>The component instance</returns>
-        </member>
-        <member name="M:Castle.Windsor.IWindsorContainer.Resolve``1(System.Collections.IDictionary)">
-            <summary>
-            Returns a component instance by the service
-            </summary>
-            <typeparam name="T">Service type</typeparam>
-            <param name="arguments"></param>
-            <returns>The component instance</returns>
-        </member>
-        <member name="M:Castle.Windsor.IWindsorContainer.Resolve``1(System.Object)">
-            <summary>
-            Returns a component instance by the service
-            </summary>
-            <typeparam name="T">Service type</typeparam>
-            <param name="argumentsAsAnonymousType"></param>
-            <returns>The component instance</returns>
-        </member>
-        <member name="M:Castle.Windsor.IWindsorContainer.Resolve``1(System.String)">
-            <summary>
-            Returns a component instance by the key
-            </summary>
-            <param name="key">Component's key</param>
-            <typeparam name="T">Service type</typeparam>
-            <returns>The Component instance</returns>
-        </member>
-        <member name="M:Castle.Windsor.IWindsorContainer.Resolve``1(System.String,System.Collections.IDictionary)">
-            <summary>
-            Returns a component instance by the key
-            </summary>
-            <typeparam name="T">Service type</typeparam>
-            <param name="key">Component's key</param>
-            <param name="arguments"></param>
-            <returns>The Component instance</returns>
-        </member>
-        <member name="M:Castle.Windsor.IWindsorContainer.Resolve``1(System.String,System.Object)">
-            <summary>
-            Returns a component instance by the key
-            </summary>
-            <typeparam name="T">Service type</typeparam>
-            <param name="key">Component's key</param>
-            <param name="argumentsAsAnonymousType"></param>
-            <returns>The Component instance</returns>
-        </member>
-        <member name="M:Castle.Windsor.IWindsorContainer.Resolve(System.String,System.Type,System.Collections.IDictionary)">
-            <summary>
-            Returns a component instance by the key
-            </summary>
-            <param name="key"></param>
-            <param name="service"></param>
-            <param name="arguments"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.Windsor.IWindsorContainer.Resolve(System.String,System.Type,System.Object)">
-            <summary>
-            Returns a component instance by the key
-            </summary>
-            <param name="key"></param>
-            <param name="service"></param>
-            <param name="argumentsAsAnonymousType"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.Windsor.IWindsorContainer.ResolveAll``1">
-            <summary>
-            Resolve all valid components that match this type.
-            </summary>
-            <typeparam name="T">The service type</typeparam>
-        </member>
-        <member name="M:Castle.Windsor.IWindsorContainer.ResolveAll(System.Type)">
-            <summary>
-            Resolve all valid components that mathc this service
-            <param name="service">the service to match</param>
-            </summary>
-        </member>
-        <member name="M:Castle.Windsor.IWindsorContainer.ResolveAll(System.Type,System.Collections.IDictionary)">
-            <summary>
-            Resolve all valid components that mathc this service
-            <param name="service">the service to match</param>
-            <param name="arguments">Arguments to resolve the service</param>
-            </summary>
-        </member>
-        <member name="M:Castle.Windsor.IWindsorContainer.ResolveAll(System.Type,System.Object)">
-            <summary>
-            Resolve all valid components that mathc this service
-            <param name="service">the service to match</param>
-            <param name="argumentsAsAnonymousType">Arguments to resolve the service</param>
-            </summary>
-        </member>
-        <member name="M:Castle.Windsor.IWindsorContainer.ResolveAll``1(System.Collections.IDictionary)">
-            <summary>
-            Resolve all valid components that match this type.
-            <typeparam name="T">The service type</typeparam>
-            <param name="arguments">Arguments to resolve the service</param>
-            </summary>
-        </member>
-        <member name="M:Castle.Windsor.IWindsorContainer.ResolveAll``1(System.Object)">
-            <summary>
-            Resolve all valid components that match this type.
-            <typeparam name="T">The service type</typeparam>
-            <param name="argumentsAsAnonymousType">Arguments to resolve the service</param>
-            </summary>
-        </member>
-        <member name="P:Castle.Windsor.IWindsorContainer.Name">
-            <summary>
-            Gets the container's name
-            </summary>
-            <remarks>
-            Only useful when child containers are being used
-            </remarks>
-            <value>The container's name.</value>
-        </member>
-        <member name="P:Castle.Windsor.IWindsorContainer.Item(System.String)">
-            <summary>
-            Shortcut to <see cref="M:Castle.Windsor.IWindsorContainer.Resolve(System.String)"/>
-            </summary>
-        </member>
-        <member name="P:Castle.Windsor.IWindsorContainer.Item(System.Type)">
-            <summary>
-            Shortcut to <see cref="M:Castle.Windsor.IWindsorContainer.Resolve(System.Type)"/>
-            </summary>
-        </member>
-        <member name="P:Castle.Windsor.IWindsorContainer.Kernel">
-            <summary>
-            Returns the inner instance of the MicroKernel
-            </summary>
-        </member>
-        <member name="P:Castle.Windsor.IWindsorContainer.Parent">
-            <summary>
-            Gets or sets the parent container if this instance
-            is a sub container.
-            </summary>
-        </member>
-        <member name="T:Castle.Windsor.WindsorContainer">
-            <summary>
-            Implementation of <see cref="T:Castle.Windsor.IWindsorContainer"/>
-            which delegates to <see cref="T:Castle.MicroKernel.IKernel"/> implementation.
-            </summary>
-        </member>
-        <member name="M:Castle.Windsor.WindsorContainer.#ctor">
-            <summary>
-            Constructs a container without any external 
-            configuration reference
-            </summary>
-        </member>
-        <member name="M:Castle.Windsor.WindsorContainer.#ctor(Castle.MicroKernel.IConfigurationStore)">
-            <summary>
-            Constructs a container using the specified 
-            <see cref="T:Castle.MicroKernel.IConfigurationStore"/> implementation.
-            </summary>
-            <param name="store">The instance of an <see cref="T:Castle.MicroKernel.IConfigurationStore"/> implementation.</param>
-        </member>
-        <member name="M:Castle.Windsor.WindsorContainer.#ctor(Castle.Windsor.Configuration.IConfigurationInterpreter)">
-            <summary>
-            Constructs a container using the specified 
-            <see cref="T:Castle.Windsor.Configuration.IConfigurationInterpreter"/> implementation.
-            </summary>
-            <param name="interpreter">The instance of an <see cref="T:Castle.Windsor.Configuration.IConfigurationInterpreter"/> implementation.</param>
-        </member>
-        <member name="M:Castle.Windsor.WindsorContainer.#ctor(Castle.Windsor.Configuration.IConfigurationInterpreter,Castle.Windsor.IEnvironmentInfo)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.Windsor.WindsorContainer"/> class.
-            </summary>
-            <param name="interpreter">The interpreter.</param>
-            <param name="environmentInfo">The environment info.</param>
-        </member>
-        <member name="M:Castle.Windsor.WindsorContainer.#ctor(System.String)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.Windsor.WindsorContainer"/> class using a
-            xml file to configure it.
-            <para>
-            Equivalent to the use of <c>new WindsorContainer(new XmlInterpreter(xmlFile))</c>
-            </para>
-            </summary>
-            <param name="xmlFile">The XML file.</param>
-        </member>
-        <member name="M:Castle.Windsor.WindsorContainer.#ctor(Castle.MicroKernel.IKernel,Castle.Windsor.IComponentsInstaller)">
-            <summary>
-            Constructs a container using the specified <see cref="T:Castle.MicroKernel.IKernel"/>
-            implementation. Rarely used.
-            </summary>
-            <remarks>
-            This constructs sets the Kernel.ProxyFactory property to
-            <see cref="T:Castle.Windsor.Proxy.DefaultProxyFactory"/>
-            </remarks>
-            <param name="kernel">Kernel instance</param>
-            <param name="installer">Installer instance</param>
-        </member>
-        <member name="M:Castle.Windsor.WindsorContainer.#ctor(System.String,Castle.MicroKernel.IKernel,Castle.Windsor.IComponentsInstaller)">
-            <summary>
-            Constructs a container using the specified <see cref="T:Castle.MicroKernel.IKernel"/>
-            implementation. Rarely used.
-            </summary>
-            <remarks>
-            This constructs sets the Kernel.ProxyFactory property to
-            <see cref="T:Castle.Windsor.Proxy.DefaultProxyFactory"/>
-            </remarks>
-            <param name="name">Container's name</param>
-            <param name="kernel">Kernel instance</param>
-            <param name="installer">Installer instance</param>
-        </member>
-        <member name="M:Castle.Windsor.WindsorContainer.#ctor(Castle.MicroKernel.IProxyFactory)">
-            <summary>
-            Constructs with a given <see cref="T:Castle.MicroKernel.IProxyFactory"/>.
-            </summary>
-            <param name="proxyFactory">A instance of an <see cref="T:Castle.MicroKernel.IProxyFactory"/>.</param>
-        </member>
-        <member name="M:Castle.Windsor.WindsorContainer.#ctor(Castle.Windsor.IWindsorContainer,Castle.Windsor.Configuration.IConfigurationInterpreter)">
-            <summary>
-            Constructs a container assigning a parent container 
-            before starting the dependency resolution.
-            </summary>
-            <param name="parent">The instance of an <see cref="T:Castle.Windsor.IWindsorContainer"/></param>
-            <param name="interpreter">The instance of an <see cref="T:Castle.Windsor.Configuration.IConfigurationInterpreter"/> implementation</param>
-        </member>
-        <member name="M:Castle.Windsor.WindsorContainer.#ctor(System.String,Castle.Windsor.IWindsorContainer,Castle.Windsor.Configuration.IConfigurationInterpreter)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.Windsor.WindsorContainer"/> class.
-            </summary>
-            <param name="name">The container's name.</param>
-            <param name="parent">The parent.</param>
-            <param name="interpreter">The interpreter.</param>
-        </member>
-        <member name="M:Castle.Windsor.WindsorContainer.AddFacility(System.String,Castle.MicroKernel.IFacility)">
-            <summary>
-            Registers a facility within the kernel.
-            </summary>
-            <param name="key"></param>
-            <param name="facility"></param>
-        </member>
-        <member name="M:Castle.Windsor.WindsorContainer.AddFacility``1(System.String)">
-            <summary>
-            Creates and adds an <see cref="T:Castle.MicroKernel.IFacility"/> facility to the container.
-            </summary>
-            <typeparam name="T">The facility type.</typeparam>
-            <param name="key"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.Windsor.WindsorContainer.AddFacility``1">
-            <summary>
-            Creates and adds an <see cref="T:Castle.MicroKernel.IFacility"/> facility to the container.
-            </summary>
-            <typeparam name="T">The facility type.</typeparam>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.Windsor.WindsorContainer.AddComponent(System.String,System.Type)">
-            <summary>
-            Adds a component to be managed by the container
-            </summary>
-            <param name="key"></param>
-            <param name="classType"></param>
-        </member>
-        <member name="M:Castle.Windsor.WindsorContainer.AddComponent(System.String,System.Type,System.Type)">
-            <summary>
-            Adds a component to be managed by the container
-            </summary>
-            <param name="key"></param>
-            <param name="serviceType"></param>
-            <param name="classType"></param>
-        </member>
-        <member name="M:Castle.Windsor.WindsorContainer.AddComponentLifeStyle(System.String,System.Type,Castle.Core.LifestyleType)">
-            <summary>
-            Adds a component to be managed by the container
-            </summary>
-            <param name="key">The key by which the component gets indexed.</param>
-            <param name="classType">The <see cref="T:System.Type"/> to manage.</param>
-            <param name="lifestyle">The <see cref="T:Castle.Core.LifestyleType"/> with which to manage the component.</param>
-        </member>
-        <member name="M:Castle.Windsor.WindsorContainer.AddComponentLifeStyle(System.String,System.Type,System.Type,Castle.Core.LifestyleType)">
-            <summary>
-            Adds a component to be managed by the container
-            </summary>
-            <param name="key">The key by which the component gets indexed.</param>
-            <param name="serviceType">The service <see cref="T:System.Type"/> that the component implements.</param>
-            <param name="classType">The <see cref="T:System.Type"/> to manage.</param>
-            <param name="lifestyle">The <see cref="T:Castle.Core.LifestyleType"/> with which to manage the component.</param>
-        </member>
-        <member name="M:Castle.Windsor.WindsorContainer.AddComponent``1">
-            <summary>
-            Adds a component to be managed by the container.
-            The key to obtain the component will be the FullName of the type.
-            </summary>
-            <typeparam name="T">The <see cref="T:System.Type"/> to manage.</typeparam>
-        </member>
-        <member name="M:Castle.Windsor.WindsorContainer.AddComponent``1(System.String)">
-            <summary>
-            Adds a component to be managed by the container
-            </summary>
-            <typeparam name="T">The <see cref="T:System.Type"/> to manage.</typeparam>
-            <param name="key">The key by which the component gets indexed.</param>		
-        </member>
-        <member name="M:Castle.Windsor.WindsorContainer.AddComponentLifeStyle``1(Castle.Core.LifestyleType)">
-            <summary>
-            Adds a component to be managed by the container.
-            The key to obtain the component will be the FullName of the type.
-            </summary>
-            <typeparam name="T">The <see cref="T:System.Type"/> to manage.</typeparam>
-            <param name="lifestyle">The <see cref="T:Castle.Core.LifestyleType"/> with which to manage the component.</param>
-        </member>
-        <member name="M:Castle.Windsor.WindsorContainer.AddComponent``2(System.String)">
-            <summary>
-            Adds a component to be managed by the container
-            </summary>
-            <typeparam name="I">The service <see cref="T:System.Type"/> that the component implements.</typeparam>
-            <typeparam name="T">The <see cref="T:System.Type"/> to manage.</typeparam>
-            <param name="key">The key by which the component gets indexed.</param>
-        </member>
-        <member name="M:Castle.Windsor.WindsorContainer.AddComponentLifeStyle``2(Castle.Core.LifestyleType)">
-            <summary>
-            Adds a component to be managed by the container
-            The key to obtain the component will be the FullName of the type.
-            </summary>
-            <typeparam name="I">The service <see cref="T:System.Type"/> that the component implements.</typeparam>
-            <typeparam name="T">The <see cref="T:System.Type"/> to manage.</typeparam>
-            <param name="lifestyle">The <see cref="T:Castle.Core.LifestyleType"/> with which to manage the component.</param>
-        </member>
-        <member name="M:Castle.Windsor.WindsorContainer.AddComponentLifeStyle``1(System.String,Castle.Core.LifestyleType)">
-            <summary>
-            Adds a component to be managed by the container
-            </summary>
-            <typeparam name="T">The <see cref="T:System.Type"/> to manage.</typeparam>
-            <param name="key">The key by which the component gets indexed.</param>		
-            <param name="lifestyle">The <see cref="T:Castle.Core.LifestyleType"/> with which to manage the component.</param>
-        </member>
-        <member name="M:Castle.Windsor.WindsorContainer.AddComponent``2">
-            <summary>
-            Adds a component to be managed by the container
-            The key to obtain the component will be the FullName of the type.
-            </summary>
-            <typeparam name="I">The service <see cref="T:System.Type"/> that the component implements.</typeparam>
-            <typeparam name="T">The <see cref="T:System.Type"/> to manage.</typeparam>
-        </member>
-        <member name="M:Castle.Windsor.WindsorContainer.AddComponentLifeStyle``2(System.String,Castle.Core.LifestyleType)">
-            <summary>
-            Adds a component to be managed by the container
-            </summary>
-            <typeparam name="I">The service <see cref="T:System.Type"/> that the component implements.</typeparam>
-            <typeparam name="T">The <see cref="T:System.Type"/> to manage.</typeparam>
-            <param name="key">The key by which the component gets indexed.</param>
-            <param name="lifestyle">The <see cref="T:Castle.Core.LifestyleType"/> with which to manage the component.</param>
-        </member>
-        <member name="M:Castle.Windsor.WindsorContainer.AddComponentWithProperties``1(System.Collections.IDictionary)">
-            <summary>
-            Adds a concrete class as a component and specify the extended properties.
-            Used by facilities, mostly.
-            The key to obtain the component will be the FullName of the type.
-            </summary>
-            <typeparam name="T"></typeparam>
-            <param name="extendedProperties"></param>
-        </member>
-        <member name="M:Castle.Windsor.WindsorContainer.AddComponentWithProperties``1(System.String,System.Collections.IDictionary)">
-            <summary>
-            Adds a concrete class as a component and specify the extended properties.
-            Used by facilities, mostly.
-            </summary>
-            <typeparam name="T"></typeparam>
-            <param name="key"></param>		
-            <param name="extendedProperties"></param>
-        </member>
-        <member name="M:Castle.Windsor.WindsorContainer.AddComponentLifeStyle``2(System.Collections.IDictionary)">
-            <summary>
-            Adds a concrete class and an interface 
-            as a component and specify the extended properties.
-            Used by facilities, mostly.
-            The key to obtain the component will be the FullName of the type.
-            </summary>
-            <typeparam name="I"></typeparam>
-            <typeparam name="T"></typeparam>
-            <param name="extendedProperties"></param>
-        </member>
-        <member name="M:Castle.Windsor.WindsorContainer.AddComponentLifeStyle``2(System.String,System.Collections.IDictionary)">
-            <summary>
-            Adds a concrete class and an interface 
-            as a component and specify the extended properties.
-            Used by facilities, mostly.
-            </summary>
-            <typeparam name="I"></typeparam>
-            <typeparam name="T"></typeparam>
-            <param name="key"></param>
-            <param name="extendedProperties"></param>
-        </member>
-        <member name="M:Castle.Windsor.WindsorContainer.Register(Castle.MicroKernel.Registration.IRegistration[])">
-            <summary>
-            Registers the components described by the <see cref="T:Castle.MicroKernel.Registration.ComponentRegistration`1"/>s
-            with the <see cref="T:Castle.Windsor.IWindsorContainer"/>.
-            <param name="registrations">The component registrations.</param>
-            <returns>The container.</returns>
-            </summary>
-        </member>
-        <member name="M:Castle.Windsor.WindsorContainer.Install(Castle.Windsor.IWindsorInstaller[])">
-            <summary>
-            Installs the components provided by the <see cref="T:Castle.Windsor.IWindsorInstaller"/>s
-            with the <see cref="T:Castle.Windsor.IWindsorContainer"/>.
-            <param name="installers">The component installers.</param>
-            <returns>The container.</returns>
-            </summary>
-        </member>
-        <member name="M:Castle.Windsor.WindsorContainer.Resolve(System.String)">
-            <summary>
-            Returns a component instance by the key
-            </summary>
-            <param name="key"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.Windsor.WindsorContainer.Resolve(System.Type,System.Collections.IDictionary)">
-            <summary>
-            Returns a component instance by the service
-            </summary>
-            <param name="service"></param>
-            <param name="arguments"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.Windsor.WindsorContainer.Resolve(System.Type,System.Object)">
-            <summary>
-            Returns a component instance by the service
-            </summary>
-            <param name="service"></param>
-            <param name="argumentsAsAnonymousType"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.Windsor.WindsorContainer.Resolve(System.String,System.Collections.IDictionary)">
-            <summary>
-            Returns a component instance by the key
-            </summary>
-            <param name="key"></param>
-            <param name="arguments"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.Windsor.WindsorContainer.Resolve(System.String,System.Object)">
-            <summary>
-            Returns a component instance by the key
-            </summary>
-            <param name="key"></param>
-            <param name="argumentsAsAnonymousType"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.Windsor.WindsorContainer.Resolve(System.Type)">
-            <summary>
-            Returns a component instance by the service
-            </summary>
-            <param name="service"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.Windsor.WindsorContainer.ResolveAll``1">
-            <summary>
-            Resolve all valid components that match this type.
-            </summary>
-            <typeparam name="T">The service type</typeparam>
-        </member>
-        <member name="M:Castle.Windsor.WindsorContainer.ResolveAll``1(System.Collections.IDictionary)">
-            <summary>
-            Resolve all valid components that match this type.
-            <typeparam name="T">The service type</typeparam>
-            <param name="arguments">Arguments to resolve the service</param>
-            </summary>
-        </member>
-        <member name="M:Castle.Windsor.WindsorContainer.ResolveAll``1(System.Object)">
-            <summary>
-            Resolve all valid components that match this type.
-            <typeparam name="T">The service type</typeparam>
-            <param name="argumentsAsAnonymousType">Arguments to resolve the service</param>
-            </summary>
-        </member>
-        <member name="M:Castle.Windsor.WindsorContainer.Resolve(System.String,System.Type)">
-            <summary>
-            Returns a component instance by the key
-            </summary>
-            <param name="key"></param>
-            <param name="service"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.Windsor.WindsorContainer.Resolve(System.String,System.Type,System.Collections.IDictionary)">
-            <summary>
-            Returns a component instance by the key
-            </summary>
-            <param name="key"></param>
-            <param name="service"></param>
-            <param name="arguments"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.Windsor.WindsorContainer.Resolve(System.String,System.Type,System.Object)">
-            <summary>
-            Returns a component instance by the key
-            </summary>
-            <param name="key"></param>
-            <param name="service"></param>
-            <param name="argumentsAsAnonymousType"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.Windsor.WindsorContainer.Resolve``1(System.Collections.IDictionary)">
-            <summary>
-            Returns a component instance by the service 
-            </summary>
-            <typeparam name="T"></typeparam>
-            <param name="arguments"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.Windsor.WindsorContainer.Resolve``1(System.Object)">
-            <summary>
-            Returns a component instance by the service 
-            </summary>
-            <typeparam name="T"></typeparam>
-            <param name="argumentsAsAnonymousType"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.Windsor.WindsorContainer.Resolve``1(System.String,System.Collections.IDictionary)">
-            <summary>
-            Returns a component instance by the key
-            </summary>
-            <param name="key"></param>
-            <param name="arguments"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.Windsor.WindsorContainer.Resolve``1(System.String,System.Object)">
-            <summary>
-            Returns a component instance by the key
-            </summary>
-            <param name="key"></param>
-            <param name="argumentsAsAnonymousType"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.Windsor.WindsorContainer.Resolve``1">
-            <summary>
-            Returns a component instance by the service 
-            </summary>
-            <typeparam name="T"></typeparam>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.Windsor.WindsorContainer.Resolve``1(System.String)">
-            <summary>
-            Returns a component instance by the key
-            </summary>
-            <param name="key"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.Windsor.WindsorContainer.Release(System.Object)">
-            <summary>
-            Releases a component instance
-            </summary>
-            <param name="instance"></param>
-        </member>
-        <member name="M:Castle.Windsor.WindsorContainer.AddChildContainer(Castle.Windsor.IWindsorContainer)">
-            <summary>
-            Registers a subcontainer. The components exposed
-            by this container will be accessible from subcontainers.
-            </summary>
-            <param name="childContainer"></param>
-        </member>
-        <member name="M:Castle.Windsor.WindsorContainer.RemoveChildContainer(Castle.Windsor.IWindsorContainer)">
-            <summary>
-            Removes (unregisters) a subcontainer.  The components exposed by this container
-            will no longer be accessible to the child container.
-            </summary>
-            <param name="childContainer"></param>
-        </member>
-        <member name="M:Castle.Windsor.WindsorContainer.GetChildContainer(System.String)">
-            <summary>
-            Gets a child container instance by name.
-            </summary>
-            <param name="name">The container's name.</param>
-            <returns>The child container instance or null</returns>
-        </member>
-        <member name="M:Castle.Windsor.WindsorContainer.GetService(System.Type)">
-            <summary>
-            Gets the service object of the specified type.
-            </summary>
-            <returns>
-            A service object of type serviceType.
-            </returns>
-            <param name="serviceType">An object that specifies the type of service object to get. </param>
-        </member>
-        <member name="M:Castle.Windsor.WindsorContainer.GetService``1">
-            <summary>
-            Gets the service object of the specified type.
-            </summary>
-            <returns>
-            A service object of type serviceType.
-            </returns>
-        </member>
-        <member name="M:Castle.Windsor.WindsorContainer.Dispose">
-            <summary>
-            Executes Dispose on underlying <see cref="T:Castle.MicroKernel.IKernel"/>
-            </summary>
-        </member>
-        <member name="P:Castle.Windsor.WindsorContainer.Name">
-            <summary>
-            Gets the container's name
-            </summary>
-            <remarks>
-            Only useful when child containers are being used
-            </remarks>
-            <value>The container's name.</value>
-        </member>
-        <member name="P:Castle.Windsor.WindsorContainer.Kernel">
-            <summary>
-            Returns the inner instance of the MicroKernel
-            </summary>
-        </member>
-        <member name="P:Castle.Windsor.WindsorContainer.Parent">
-            <summary>
-            Gets or sets the parent container if this instance
-            is a sub container.
-            </summary>
-        </member>
-        <member name="P:Castle.Windsor.WindsorContainer.Item(System.String)">
-            <summary>
-            Shortcut to the method <see cref="M:Castle.Windsor.WindsorContainer.Resolve(System.String)"/>
-            </summary>
-        </member>
-        <member name="P:Castle.Windsor.WindsorContainer.Item(System.Type)">
-            <summary>
-            Shortcut to the method <see cref="M:Castle.Windsor.WindsorContainer.Resolve(System.Type)"/>
-            </summary>
-        </member>
-    </members>
-</doc>
trunk/build/lib/test/rhino.mocks/Rhino.Mocks.dll
Binary file
trunk/build/lib/test/rhino.mocks/Rhino.Mocks.xml
@@ -4,120 +4,193 @@
         <name>Rhino.Mocks</name>
     </assembly>
     <members>
-        <member name="T:Rhino.Mocks.Constraints.AbstractConstraint">
+        <member name="T:Rhino.Mocks.Arg`1">
             <summary>
-            Interface for constraints
+            Defines constraints and return values for arguments of a mock.
+            Only use Arg inside a method call on a mock that is recording.
+            Example: 
+              ExpectCall( 
+                mock.foo(
+                  Arg&lt;int&gt;.Is.GreaterThan(2),
+                  Arg&lt;string&gt;.Is.Anything
+                ));
+            Use Arg.Text for string specific constraints
+            Use Arg&lt;ListClass&gt;.List for list specific constraints
             </summary>
+            <typeparam name="T"></typeparam>
         </member>
-        <member name="M:Rhino.Mocks.Constraints.AbstractConstraint.Eval(System.Object)">
+        <member name="M:Rhino.Mocks.Arg`1.Matches(System.Linq.Expressions.Expression{System.Predicate{`0}})">
             <summary>
-            determains if the object pass the constraints
+            Register the predicate as a constraint for the current call.
             </summary>
+            <param name="predicate">The predicate.</param>
+            <returns>default(T)</returns>
+            <example>
+            Allow you to use code to create constraints
+            <code>
+            demo.AssertWasCalled(x => x.Bar(Arg{string}.Matches(a => a.StartsWith("b") &amp;&amp; a.Contains("ba"))));
+            </code>
+            </example>
         </member>
-        <member name="M:Rhino.Mocks.Constraints.AbstractConstraint.op_BitwiseAnd(Rhino.Mocks.Constraints.AbstractConstraint,Rhino.Mocks.Constraints.AbstractConstraint)">
+        <member name="M:Rhino.Mocks.Arg`1.Matches(Rhino.Mocks.Constraints.AbstractConstraint)">
             <summary>
-            And operator for constraints
+            Define a complex constraint for this argument by passing several constraints
+            combined with operators. (Use Is in simple cases.)
+            Example: Arg&lt;string&gt;.Matches(Is.Equal("Hello") || Text.EndsWith("u"));
+            </summary>
+            <param name="constraint">Constraints using Is, Text and List</param>
+            <returns>Dummy to satisfy the compiler</returns>
+        </member>
+        <member name="M:Rhino.Mocks.Arg`1.Ref(Rhino.Mocks.Constraints.AbstractConstraint,`0)">
+            <summary>
+            Define a Ref argument.
             </summary>
+            <param name="constraint">Constraints for this argument</param>
+            <param name="returnValue">value returned by the mock</param>
+            <returns></returns>
         </member>
-        <member name="M:Rhino.Mocks.Constraints.AbstractConstraint.op_LogicalNot(Rhino.Mocks.Constraints.AbstractConstraint)">
+        <member name="M:Rhino.Mocks.Arg`1.Out(`0)">
             <summary>
-            Not operator for constraints
+            Define a out parameter. Use it together with the keyword out and use the
+            Dummy field available by the return value.
+            Example:  mock.foo( out Arg&lt;string&gt;.Out("hello").Dummy );
             </summary>
+            <param name="returnValue"></param>
+            <returns></returns>
         </member>
-        <member name="M:Rhino.Mocks.Constraints.AbstractConstraint.op_BitwiseOr(Rhino.Mocks.Constraints.AbstractConstraint,Rhino.Mocks.Constraints.AbstractConstraint)">
+        <member name="P:Rhino.Mocks.Arg`1.Is">
             <summary>
-            Or operator for constraints
+            Define a simple constraint for this argument. (Use Matches in simple cases.)
+            Example: 
+              Arg&lt;int&gt;.Is.Anthing
+              Arg&lt;string&gt;.Is.Equal("hello")
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Constraints.AbstractConstraint.op_False(Rhino.Mocks.Constraints.AbstractConstraint)">
+        <member name="P:Rhino.Mocks.Arg`1.List">
             <summary>
-            Allow overriding of || or &amp;&amp;
+            Define Constraints on list arguments.
+            </summary>
+        </member>
+        <member name="T:Rhino.Mocks.Arg">
+            <summary>
+            Use the Arg class (without generic) to define Text constraints
+            </summary>
+        </member>
+        <member name="M:Rhino.Mocks.Arg.Is``1(``0)">
+            <summary>
+            Evaluate an equal constraint for <see cref="T:System.IComparable"/>.
+            </summary>
+            <param name="arg">The object the parameter should equal to</param>
+        </member>
+        <member name="P:Rhino.Mocks.Arg.Text">
+            <summary>
+            Define constraints on text arguments.
+            </summary>
+        </member>
+        <member name="T:Rhino.Mocks.ArgManager">
+            <summary>
+            Used to manage the static state of the Arg&lt;T&gt; class"/>
+            </summary>
+        </member>
+        <member name="M:Rhino.Mocks.ArgManager.Clear">
+            <summary>
+            Resets the static state
+            </summary>
+        </member>
+        <member name="M:Rhino.Mocks.ArgManager.GetAllReturnValues">
+            <summary>
+            Returns return values for the out and ref parameters
+            Note: the array returned has the size of the number of out and ref 
+            argument definitions
             </summary>
-            <param name="c"></param>
             <returns></returns>
         </member>
-        <member name="M:Rhino.Mocks.Constraints.AbstractConstraint.op_True(Rhino.Mocks.Constraints.AbstractConstraint)">
+        <member name="M:Rhino.Mocks.ArgManager.GetAllConstraints">
             <summary>
-            Allow overriding of || or &amp;&amp;
+            Returns the constraints for all arguments.
+            Out arguments have an Is.Anything constraint and are also in the list.
             </summary>
-            <param name="c"></param>
             <returns></returns>
         </member>
-        <member name="P:Rhino.Mocks.Constraints.AbstractConstraint.Message">
+        <member name="T:Rhino.Mocks.BackToRecordOptions">
             <summary>
-            Gets the message for this constraint
+            What should BackToRecord clear
             </summary>
-            <value></value>
         </member>
-        <member name="M:Rhino.Mocks.Constraints.AllPropertiesMatchConstraint.#ctor(System.Object)">
+        <member name="F:Rhino.Mocks.BackToRecordOptions.None">
             <summary>
-            Initializes a new constraint object.
+            Retain all expectations and behaviors and return to mock
             </summary>
-            <param name="expected">The expected object, The actual object is passed in as a parameter to the <see cref="M:Rhino.Mocks.Constraints.AllPropertiesMatchConstraint.Eval(System.Object)"/> method</param>
         </member>
-        <member name="M:Rhino.Mocks.Constraints.AllPropertiesMatchConstraint.Eval(System.Object)">
+        <member name="F:Rhino.Mocks.BackToRecordOptions.Expectations">
             <summary>
-            Evaluate this constraint.
+            All expectations
             </summary>
-            <param name="obj">The actual object that was passed in the method call to the mock.</param>
-            <returns>True when the constraint is met, else false.</returns>
         </member>
-        <member name="M:Rhino.Mocks.Constraints.AllPropertiesMatchConstraint.CheckReferenceType(System.Object,System.Object)">
+        <member name="F:Rhino.Mocks.BackToRecordOptions.EventSubscribers">
             <summary>
-            Checks if the properties of the <paramref name="actual"/> object
-            are the same as the properies of the <paramref name="expected"/> object.
+            Event subscribers for this instance
             </summary>
-            <param name="expected">The expected object</param>
-            <param name="actual">The actual object</param>
-            <returns>True when both objects have the same values, else False.</returns>
         </member>
-        <member name="M:Rhino.Mocks.Constraints.AllPropertiesMatchConstraint.CheckValue(System.Object,System.Object)">
+        <member name="F:Rhino.Mocks.BackToRecordOptions.OriginalMethodsToCall">
             <summary>
-            
+            Methods that should be forwarded to the base class implementation
             </summary>
-            <param name="expected"></param>
-            <param name="actual"></param>
-            <returns></returns>
-            <remarks>This is the real heart of the beast.</remarks>
         </member>
-        <member name="M:Rhino.Mocks.Constraints.AllPropertiesMatchConstraint.CheckProperties(System.Object,System.Object)">
+        <member name="F:Rhino.Mocks.BackToRecordOptions.PropertyBehavior">
             <summary>
-            Used by CheckReferenceType to check all properties of the reference type.
+            Properties that should behave like properties
             </summary>
-            <param name="expected">The expected object</param>
-            <param name="actual">The actual object</param>
-            <returns>True when both objects have the same values, else False.</returns>
         </member>
-        <member name="M:Rhino.Mocks.Constraints.AllPropertiesMatchConstraint.CheckFields(System.Object,System.Object)">
+        <member name="F:Rhino.Mocks.BackToRecordOptions.All">
             <summary>
-            Used by CheckReferenceType to check all fields of the reference type.
+            Remove all the behavior of the object
             </summary>
-            <param name="expected">The expected object</param>
-            <param name="actual">The actual object</param>
-            <returns>True when both objects have the same values, else False.</returns>
         </member>
-        <member name="M:Rhino.Mocks.Constraints.AllPropertiesMatchConstraint.CheckCollection(System.Collections.IEnumerable,System.Collections.IEnumerable)">
+        <member name="T:Rhino.Mocks.Constraints.AbstractConstraint">
             <summary>
-            Checks the items of both collections
+            Interface for constraints
             </summary>
-            <param name="expectedCollection">The expected collection</param>
-            <param name="actualCollection"></param>
-            <returns>True if both collections contain the same items in the same order.</returns>
         </member>
-        <member name="M:Rhino.Mocks.Constraints.AllPropertiesMatchConstraint.BuildPropertyName">
+        <member name="M:Rhino.Mocks.Constraints.AbstractConstraint.Eval(System.Object)">
             <summary>
-            Builds a propertyname from the Stack _properties like 'Order.Product.Price'
-            to be used in the error message.
+            Determines if the object pass the constraints
             </summary>
-            <returns>A nested property name.</returns>
         </member>
-        <member name="P:Rhino.Mocks.Constraints.AllPropertiesMatchConstraint.Message">
+        <member name="M:Rhino.Mocks.Constraints.AbstractConstraint.op_BitwiseAnd(Rhino.Mocks.Constraints.AbstractConstraint,Rhino.Mocks.Constraints.AbstractConstraint)">
             <summary>
-            Rhino.Mocks uses this property to generate an error message.
+            And operator for constraints
             </summary>
-            <value>
-            A message telling the tester why the constraint failed.
-            </value>
+        </member>
+        <member name="M:Rhino.Mocks.Constraints.AbstractConstraint.op_LogicalNot(Rhino.Mocks.Constraints.AbstractConstraint)">
+            <summary>
+            Not operator for constraints
+            </summary>
+        </member>
+        <member name="M:Rhino.Mocks.Constraints.AbstractConstraint.op_BitwiseOr(Rhino.Mocks.Constraints.AbstractConstraint,Rhino.Mocks.Constraints.AbstractConstraint)">
+            <summary>
+            Or operator for constraints
+            </summary>
+        </member>
+        <member name="M:Rhino.Mocks.Constraints.AbstractConstraint.op_False(Rhino.Mocks.Constraints.AbstractConstraint)">
+            <summary>
+            Allow overriding of || or &amp;&amp;
+            </summary>
+            <param name="c"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Rhino.Mocks.Constraints.AbstractConstraint.op_True(Rhino.Mocks.Constraints.AbstractConstraint)">
+            <summary>
+            Allow overriding of || or &amp;&amp;
+            </summary>
+            <param name="c"></param>
+            <returns></returns>
+        </member>
+        <member name="P:Rhino.Mocks.Constraints.AbstractConstraint.Message">
+            <summary>
+            Gets the message for this constraint
+            </summary>
+            <value></value>
         </member>
         <member name="T:Rhino.Mocks.Constraints.PublicFieldIs">
             <summary>
@@ -238,7 +311,7 @@
         </member>
         <member name="M:Rhino.Mocks.Constraints.TypeOf.Eval(System.Object)">
             <summary>
-            determains if the object pass the constraints
+            Determines if the object pass the constraints
             </summary>
         </member>
         <member name="P:Rhino.Mocks.Constraints.TypeOf.Message">
@@ -281,7 +354,7 @@
         </member>
         <member name="M:Rhino.Mocks.Constraints.PredicateConstraint`1.Eval(System.Object)">
             <summary>
-            determains if the object pass the constraints
+            Determines if the object pass the constraints
             </summary>
         </member>
         <member name="P:Rhino.Mocks.Constraints.PredicateConstraint`1.Message">
@@ -296,7 +369,7 @@
             because we want to be able to get good error reporting on that.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Constraints.LambdaConstraint.#ctor(System.Linq.Expressions.Expression)">
+        <member name="M:Rhino.Mocks.Constraints.LambdaConstraint.#ctor(System.Linq.Expressions.LambdaExpression)">
             <summary>
             Initializes a new instance of the <see cref="T:Rhino.Mocks.Constraints.LambdaConstraint"/> class.
             </summary>
@@ -304,7 +377,7 @@
         </member>
         <member name="M:Rhino.Mocks.Constraints.LambdaConstraint.Eval(System.Object)">
             <summary>
-            determains if the object pass the constraints
+            Determines if the object pass the constraints
             </summary>
             <param name="obj"></param>
             <returns></returns>
@@ -328,7 +401,7 @@
         </member>
         <member name="M:Rhino.Mocks.Constraints.CollectionEqual.Eval(System.Object)">
             <summary>
-            determains if the object pass the constraints
+            Determines if the object pass the constraints
             </summary>
         </member>
         <member name="P:Rhino.Mocks.Constraints.CollectionEqual.Message">
@@ -350,7 +423,7 @@
         </member>
         <member name="M:Rhino.Mocks.Constraints.OneOf.Eval(System.Object)">
             <summary>
-            determains if the object pass the constraints
+            Determines if the object pass the constraints
             </summary>
         </member>
         <member name="P:Rhino.Mocks.Constraints.OneOf.Message">
@@ -372,7 +445,7 @@
         </member>
         <member name="M:Rhino.Mocks.Constraints.IsIn.Eval(System.Object)">
             <summary>
-            determains if the object pass the constraints
+            Determines if the object pass the constraints
             </summary>
         </member>
         <member name="P:Rhino.Mocks.Constraints.IsIn.Message">
@@ -425,6 +498,29 @@
             </summary>
             <value></value>
         </member>
+        <member name="T:Rhino.Mocks.Constraints.KeyedListElement`1">
+            <summary>
+            Applies another AbstractConstraint to a specific generic keyed list element.
+            </summary>
+        </member>
+        <member name="M:Rhino.Mocks.Constraints.KeyedListElement`1.#ctor(`0,Rhino.Mocks.Constraints.AbstractConstraint)">
+            <summary>
+            Creates a new <see cref="T:KeyedListElement"/> instance.
+            </summary>
+            <param name="key">The key of the list element.</param>
+            <param name="constraint">The constraint that should be applied to the list element.</param>
+        </member>
+        <member name="M:Rhino.Mocks.Constraints.KeyedListElement`1.Eval(System.Object)">
+            <summary>
+            Determines if the parameter conforms to this constraint.
+            </summary>
+        </member>
+        <member name="P:Rhino.Mocks.Constraints.KeyedListElement`1.Message">
+            <summary>
+            Gets the message for this constraint
+            </summary>
+            <value></value>
+        </member>
         <member name="T:Rhino.Mocks.Constraints.ContainsAll">
             <summary>
             Constrains that all elements are in the parameter list
@@ -438,7 +534,7 @@
         </member>
         <member name="M:Rhino.Mocks.Constraints.ContainsAll.Eval(System.Object)">
             <summary>
-            determains if the object pass the constraints
+            Determines if the object pass the constraints
             </summary>
             <param name="obj"></param>
             <returns></returns>
@@ -463,7 +559,7 @@
         </member>
         <member name="M:Rhino.Mocks.Constraints.Or.Eval(System.Object)">
             <summary>
-            determains if the object pass the constraints
+            Determines if the object pass the constraints
             </summary>
         </member>
         <member name="P:Rhino.Mocks.Constraints.Or.Message">
@@ -485,7 +581,7 @@
         </member>
         <member name="M:Rhino.Mocks.Constraints.Not.Eval(System.Object)">
             <summary>
-            determains if the object pass the constraints
+            Determines if the object pass the constraints
             </summary>
         </member>
         <member name="P:Rhino.Mocks.Constraints.Not.Message">
@@ -509,7 +605,7 @@
         </member>
         <member name="M:Rhino.Mocks.Constraints.And.Eval(System.Object)">
             <summary>
-            determains if the object pass the constraints
+            Determines if the object pass the constraints
             </summary>
         </member>
         <member name="P:Rhino.Mocks.Constraints.And.Message">
@@ -531,7 +627,7 @@
         </member>
         <member name="M:Rhino.Mocks.Constraints.Like.Eval(System.Object)">
             <summary>
-            determains if the object pass the constraints
+            Determines if the object pass the constraints
             </summary>
         </member>
         <member name="P:Rhino.Mocks.Constraints.Like.Message">
@@ -553,7 +649,7 @@
         </member>
         <member name="M:Rhino.Mocks.Constraints.Contains.Eval(System.Object)">
             <summary>
-            determains if the object pass the constraints
+            Determines if the object pass the constraints
             </summary>
         </member>
         <member name="P:Rhino.Mocks.Constraints.Contains.Message">
@@ -575,7 +671,7 @@
         </member>
         <member name="M:Rhino.Mocks.Constraints.EndsWith.Eval(System.Object)">
             <summary>
-            determains if the object pass the constraints
+            Determines if the object pass the constraints
             </summary>
         </member>
         <member name="P:Rhino.Mocks.Constraints.EndsWith.Message">
@@ -597,7 +693,7 @@
         </member>
         <member name="M:Rhino.Mocks.Constraints.StartsWith.Eval(System.Object)">
             <summary>
-            determains if the object pass the constraints
+            Determines if the object pass the constraints
             </summary>
         </member>
         <member name="P:Rhino.Mocks.Constraints.StartsWith.Message">
@@ -619,7 +715,7 @@
         </member>
         <member name="M:Rhino.Mocks.Constraints.Equal.Eval(System.Object)">
             <summary>
-            determains if the object pass the constraints
+            Determines if the object pass the constraints
             </summary>
         </member>
         <member name="P:Rhino.Mocks.Constraints.Equal.Message">
@@ -635,7 +731,7 @@
         </member>
         <member name="M:Rhino.Mocks.Constraints.Anything.Eval(System.Object)">
             <summary>
-            determains if the object pass the constraints
+            Determines if the object pass the constraints
             </summary>
         </member>
         <member name="P:Rhino.Mocks.Constraints.Anything.Message">
@@ -656,7 +752,7 @@
         </member>
         <member name="M:Rhino.Mocks.Constraints.ComparingConstraint.Eval(System.Object)">
             <summary>
-            determains if the object pass the constraints
+            Determines if the object pass the constraints
             </summary>
         </member>
         <member name="P:Rhino.Mocks.Constraints.ComparingConstraint.Message">
@@ -665,92 +761,75 @@
             </summary>
             <value></value>
         </member>
-        <member name="T:Rhino.Mocks.Constraints.Is">
+        <member name="M:Rhino.Mocks.Constraints.AllPropertiesMatchConstraint.#ctor(System.Object)">
             <summary>
-            Central location for constraints
+            Initializes a new constraint object.
             </summary>
+            <param name="expected">The expected object, The actual object is passed in as a parameter to the <see cref="M:Rhino.Mocks.Constraints.AllPropertiesMatchConstraint.Eval(System.Object)"/> method</param>
         </member>
-        <member name="M:Rhino.Mocks.Constraints.Is.GreaterThan(System.IComparable)">
+        <member name="M:Rhino.Mocks.Constraints.AllPropertiesMatchConstraint.Eval(System.Object)">
             <summary>
-            Evaluate a greater than constraint for <see cref="T:System.IComparable"/>.
+            Evaluate this constraint.
             </summary>
-            <param name="objToCompare">The object the parameter should be greater than</param>
+            <param name="obj">The actual object that was passed in the method call to the mock.</param>
+            <returns>True when the constraint is met, else false.</returns>
         </member>
-        <member name="M:Rhino.Mocks.Constraints.Is.LessThan(System.IComparable)">
+        <member name="M:Rhino.Mocks.Constraints.AllPropertiesMatchConstraint.CheckReferenceType(System.Object,System.Object)">
             <summary>
-            Evaluate a less than constraint for <see cref="T:System.IComparable"/>.
+            Checks if the properties of the <paramref name="actual"/> object
+            are the same as the properies of the <paramref name="expected"/> object.
             </summary>
-            <param name="objToCompare">The object the parameter should be less than</param>
+            <param name="expected">The expected object</param>
+            <param name="actual">The actual object</param>
+            <returns>True when both objects have the same values, else False.</returns>
         </member>
-        <member name="M:Rhino.Mocks.Constraints.Is.LessThanOrEqual(System.IComparable)">
+        <member name="M:Rhino.Mocks.Constraints.AllPropertiesMatchConstraint.CheckValue(System.Object,System.Object)">
             <summary>
-            Evaluate a less than or equal constraint for <see cref="T:System.IComparable"/>.
+            
             </summary>
-            <param name="objToCompare">The object the parameter should be less than or equal to</param>
+            <param name="expected"></param>
+            <param name="actual"></param>
+            <returns></returns>
+            <remarks>This is the real heart of the beast.</remarks>
         </member>
-        <member name="M:Rhino.Mocks.Constraints.Is.GreaterThanOrEqual(System.IComparable)">
+        <member name="M:Rhino.Mocks.Constraints.AllPropertiesMatchConstraint.CheckProperties(System.Object,System.Object)">
             <summary>
-            Evaluate a greater than or equal constraint for <see cref="T:System.IComparable"/>.
+            Used by CheckReferenceType to check all properties of the reference type.
             </summary>
-            <param name="objToCompare">The object the parameter should be greater than or equal to</param>
+            <param name="expected">The expected object</param>
+            <param name="actual">The actual object</param>
+            <returns>True when both objects have the same values, else False.</returns>
         </member>
-        <member name="M:Rhino.Mocks.Constraints.Is.Equal(System.Object)">
+        <member name="M:Rhino.Mocks.Constraints.AllPropertiesMatchConstraint.CheckFields(System.Object,System.Object)">
             <summary>
-            Evaluate an equal constraint for <see cref="T:System.IComparable"/>.
+            Used by CheckReferenceType to check all fields of the reference type.
             </summary>
-            <param name="obj">The object the parameter should equal to</param>
+            <param name="expected">The expected object</param>
+            <param name="actual">The actual object</param>
+            <returns>True when both objects have the same values, else False.</returns>
         </member>
-        <member name="M:Rhino.Mocks.Constraints.Is.NotEqual(System.Object)">
-            <summary>
-            Evaluate a not equal constraint for <see cref="T:System.IComparable"/>.
-            </summary>
-            <param name="obj">The object the parameter should not equal to</param>
-        </member>
-        <member name="M:Rhino.Mocks.Constraints.Is.Same(System.Object)">
-            <summary>
-            Evaluate a same as constraint.
-            </summary>
-            <param name="obj">The object the parameter should the same as.</param>
-        </member>
-        <member name="M:Rhino.Mocks.Constraints.Is.NotSame(System.Object)">
-            <summary>
-            Evaluate a not same as constraint.
-            </summary>
-            <param name="obj">The object the parameter should not be the same as.</param>
-        </member>
-        <member name="M:Rhino.Mocks.Constraints.Is.Anything">
-            <summary>
-            A constraints that accept anything
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:Rhino.Mocks.Constraints.Is.Null">
-            <summary>
-            A constraint that accept only nulls
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:Rhino.Mocks.Constraints.Is.NotNull">
-            <summary>
-            A constraint that accept only non null values
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:Rhino.Mocks.Constraints.Is.TypeOf(System.Type)">
+        <member name="M:Rhino.Mocks.Constraints.AllPropertiesMatchConstraint.CheckCollection(System.Collections.IEnumerable,System.Collections.IEnumerable)">
             <summary>
-            A constraint that accept only value of the specified type
+            Checks the items of both collections
             </summary>
+            <param name="expectedCollection">The expected collection</param>
+            <param name="actualCollection"></param>
+            <returns>True if both collections contain the same items in the same order.</returns>
         </member>
-        <member name="M:Rhino.Mocks.Constraints.Is.TypeOf``1">
+        <member name="M:Rhino.Mocks.Constraints.AllPropertiesMatchConstraint.BuildPropertyName">
             <summary>
-            A constraint that accept only value of the specified type
+            Builds a propertyname from the Stack _properties like 'Order.Product.Price'
+            to be used in the error message.
             </summary>
+            <returns>A nested property name.</returns>
         </member>
-        <member name="M:Rhino.Mocks.Constraints.Is.Matching``1(System.Predicate{``0})">
+        <member name="P:Rhino.Mocks.Constraints.AllPropertiesMatchConstraint.Message">
             <summary>
-            Evaluate a parameter using a predicate
+            Rhino.Mocks uses this property to generate an error message.
             </summary>
-            <param name="predicate">The predicate to use</param>
+            <value>
+            A message telling the tester why the constraint failed.
+            </value>
         </member>
         <member name="T:Rhino.Mocks.Constraints.IsArg`1">
             <summary>
@@ -847,58 +926,15 @@
             as the argument type.
             </summary>
         </member>
-        <member name="T:Rhino.Mocks.Constraints.List">
-            <summary>
-            Central location for constraints about lists and collections
-            </summary>
-        </member>
-        <member name="M:Rhino.Mocks.Constraints.List.IsIn(System.Object)">
-            <summary>
-            Determines whether the specified obj is in the paramter.
-            The parameter must be IEnumerable.
-            </summary>
-            <param name="obj">Obj.</param>
-            <returns></returns>
-        </member>
-        <member name="M:Rhino.Mocks.Constraints.List.OneOf(System.Collections.IEnumerable)">
-            <summary>
-            Determains whatever the parameter is in the collection.
-            </summary>
-        </member>
-        <member name="M:Rhino.Mocks.Constraints.List.Equal(System.Collections.IEnumerable)">
-            <summary>
-            Determains that the parameter collection is identical to the specified collection
-            </summary>
-        </member>
-        <member name="M:Rhino.Mocks.Constraints.List.Count(Rhino.Mocks.Constraints.AbstractConstraint)">
-            <summary>
-            Determines that the parameter collection has the specified number of elements.
-            </summary>
-            <param name="constraint">The constraint that should be applied to the collection count.</param>
-        </member>
-        <member name="M:Rhino.Mocks.Constraints.List.Element(System.Int32,Rhino.Mocks.Constraints.AbstractConstraint)">
-            <summary>
-            Determines that an element of the parameter collections conforms to another AbstractConstraint.
-            </summary>
-            <param name="index">The zero-based index of the list element.</param>
-            <param name="constraint">The constraint which should be applied to the list element.</param>
-        </member>
-        <member name="M:Rhino.Mocks.Constraints.List.ContainsAll(System.Collections.IEnumerable)">
-            <summary>
-             Determines that all elements of the specified collection are in the the parameter collection 
-            </summary>
-            <param name="collection">The collection to compare against</param>
-            <returns>The constraint which should be applied to the list parameter.</returns>
-        </member>
         <member name="T:Rhino.Mocks.Constraints.ListArg`1">
             <summary>
-            Provides access to the constraintes defined in the class <see cref="T:Rhino.Mocks.Constraints.Text"/> to be used in context
+            Provides access to the constraints defined in the class <see cref="T:Rhino.Mocks.Constraints.Text"/> to be used in context
             with the <see cref="T:Rhino.Mocks.Arg`1"/> syntax.
             </summary>
         </member>
         <member name="M:Rhino.Mocks.Constraints.ListArg`1.IsIn(System.Object)">
             <summary>
-            Determines whether the specified object is in the paramter.
+            Determines whether the specified object is in the parameter.
             The parameter must be IEnumerable.
             </summary>
             <param name="obj">Obj.</param>
@@ -906,12 +942,12 @@
         </member>
         <member name="M:Rhino.Mocks.Constraints.ListArg`1.OneOf(System.Collections.IEnumerable)">
             <summary>
-            Determains whatever the parameter is in the collection.
+            Determines whatever the parameter is in the collection.
             </summary>
         </member>
         <member name="M:Rhino.Mocks.Constraints.ListArg`1.Equal(System.Collections.IEnumerable)">
             <summary>
-            Determains that the parameter collection is identical to the specified collection
+            Determines that the parameter collection is identical to the specified collection
             </summary>
         </member>
         <member name="M:Rhino.Mocks.Constraints.ListArg`1.Count(Rhino.Mocks.Constraints.AbstractConstraint)">
@@ -960,88 +996,6 @@
             Dummy field to satisfy the compiler. Used for out and ref arguments.
             </summary>
         </member>
-        <member name="T:Rhino.Mocks.Constraints.Property">
-            <summary>
-            Central location for constraints for object's properties
-            </summary>
-        </member>
-        <member name="M:Rhino.Mocks.Constraints.Property.Value(System.String,System.Object)">
-            <summary>
-            Constrains the parameter to have property with the specified value
-            </summary>
-            <param name="propertyName">Name of the property.</param>
-            <param name="expectedValue">Expected value.</param>
-            <returns></returns>
-        </member>
-        <member name="M:Rhino.Mocks.Constraints.Property.Value(System.Type,System.String,System.Object)">
-            <summary>
-            Constrains the parameter to have property with the specified value.
-            </summary>
-            <param name="declaringType">The type that declares the property, used to disambiguate between properties.</param>
-            <param name="propertyName">Name of the property.</param>
-            <param name="expectedValue">Expected value.</param>
-            <returns></returns>
-        </member>
-        <member name="M:Rhino.Mocks.Constraints.Property.ValueConstraint(System.String,Rhino.Mocks.Constraints.AbstractConstraint)">
-            <summary>
-            Constrains the parameter to have a property satisfying a specified constraint.
-            </summary>
-            <param name="propertyName">Name of the property.</param>
-            <param name="propertyConstraint">Constraint for the property.</param>
-        </member>
-        <member name="M:Rhino.Mocks.Constraints.Property.ValueConstraint(System.Type,System.String,Rhino.Mocks.Constraints.AbstractConstraint)">
-            <summary>
-            Constrains the parameter to have a property satisfying a specified constraint.
-            </summary>
-            <param name="declaringType">The type that declares the property, used to disambiguate between properties.</param>
-            <param name="propertyName">Name of the property.</param>
-            <param name="propertyConstraint">Constraint for the property.</param>
-        </member>
-        <member name="M:Rhino.Mocks.Constraints.Property.IsNull(System.String)">
-            <summary>
-            Determines whether the parameter has the specified property and that it is null.
-            </summary>
-            <param name="propertyName">Name of the property.</param>
-            <returns></returns>
-        </member>
-        <member name="M:Rhino.Mocks.Constraints.Property.IsNull(System.Type,System.String)">
-            <summary>
-            Determines whether the parameter has the specified property and that it is null.
-            </summary>
-            <param name="declaringType">The type that declares the property, used to disambiguate between properties.</param>
-            <param name="propertyName">Name of the property.</param>
-            <returns></returns>
-        </member>
-        <member name="M:Rhino.Mocks.Constraints.Property.IsNotNull(System.String)">
-            <summary>
-            Determines whether the parameter has the specified property and that it is not null.
-            </summary>
-            <param name="propertyName">Name of the property.</param>
-            <returns></returns>
-        </member>
-        <member name="M:Rhino.Mocks.Constraints.Property.IsNotNull(System.Type,System.String)">
-            <summary>
-            Determines whether the parameter has the specified property and that it is not null.
-            </summary>
-            <param name="declaringType">The type that declares the property, used to disambiguate between properties.</param>
-            <param name="propertyName">Name of the property.</param>
-            <returns></returns>
-        </member>
-        <member name="M:Rhino.Mocks.Constraints.Property.AllPropertiesMatch(System.Object)">
-            <summary>
-            constraints the parameter to have the exact same property values as the expected object.
-            </summary>
-            <param name="expected">An object, of the same type as the parameter, whose properties are set with the expected values.</param>
-            <returns>An instance of the constraint that will do the actual check.</returns>
-            <remarks>
-            The parameter's public property values and public field values will be matched against the expected object's
-            public property values and public field values. The first mismatch will be reported and no further matching is done.
-            The matching is recursive for any property or field that has properties or fields of it's own.
-            Collections are supported through IEnumerable, which means the constraint will check if the actual and expected
-            collection contain the same values in the same order, where the values contained by the collection can have properties
-            and fields of their own that will be checked as well because of the recursive nature of this constraint.
-            </remarks>
-        </member>
         <member name="T:Rhino.Mocks.Constraints.PublicField">
             <summary>
             Central location for constraints for object's public fields
@@ -1109,3012 +1063,3580 @@
             <param name="publicFieldName">Name of the public field.</param>
             <returns></returns>
         </member>
-        <member name="T:Rhino.Mocks.Constraints.Text">
+        <member name="T:Rhino.Mocks.Constraints.Is">
             <summary>
-            Central location for all text related constraints
+            Central location for constraints
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Constraints.Text.StartsWith(System.String)">
+        <member name="M:Rhino.Mocks.Constraints.Is.GreaterThan(System.IComparable)">
             <summary>
-            Constrain the argument to starts with the specified string
+            Evaluate a greater than constraint for <see cref="T:System.IComparable"/>.
             </summary>
+            <param name="objToCompare">The object the parameter should be greater than</param>
         </member>
-        <member name="M:Rhino.Mocks.Constraints.Text.EndsWith(System.String)">
+        <member name="M:Rhino.Mocks.Constraints.Is.LessThan(System.IComparable)">
             <summary>
-            Constrain the argument to end with the specified string
+            Evaluate a less than constraint for <see cref="T:System.IComparable"/>.
             </summary>
+            <param name="objToCompare">The object the parameter should be less than</param>
         </member>
-        <member name="M:Rhino.Mocks.Constraints.Text.Contains(System.String)">
+        <member name="M:Rhino.Mocks.Constraints.Is.LessThanOrEqual(System.IComparable)">
             <summary>
-            Constrain the argument to contain the specified string
+            Evaluate a less than or equal constraint for <see cref="T:System.IComparable"/>.
             </summary>
+            <param name="objToCompare">The object the parameter should be less than or equal to</param>
         </member>
-        <member name="M:Rhino.Mocks.Constraints.Text.Like(System.String)">
+        <member name="M:Rhino.Mocks.Constraints.Is.GreaterThanOrEqual(System.IComparable)">
             <summary>
-            Constrain the argument to validate according to regex pattern
+            Evaluate a greater than or equal constraint for <see cref="T:System.IComparable"/>.
             </summary>
+            <param name="objToCompare">The object the parameter should be greater than or equal to</param>
         </member>
-        <member name="T:Rhino.Mocks.Constraints.TextArg">
+        <member name="M:Rhino.Mocks.Constraints.Is.Equal(System.Object)">
             <summary>
-            Provides access to the constraintes defined in the class <see cref="T:Rhino.Mocks.Constraints.Text"/> to be used in context
-            with the <see cref="T:Rhino.Mocks.Arg"/> syntax.
+            Evaluate an equal constraint for <see cref="T:System.IComparable"/>.
             </summary>
+            <param name="obj">The object the parameter should equal to</param>
         </member>
-        <member name="M:Rhino.Mocks.Constraints.TextArg.StartsWith(System.String)">
+        <member name="M:Rhino.Mocks.Constraints.Is.NotEqual(System.Object)">
             <summary>
-            Constrain the argument to starts with the specified string
+            Evaluate a not equal constraint for <see cref="T:System.IComparable"/>.
             </summary>
-            <returns></returns>
+            <param name="obj">The object the parameter should not equal to</param>
         </member>
-        <member name="M:Rhino.Mocks.Constraints.TextArg.EndsWith(System.String)">
+        <member name="M:Rhino.Mocks.Constraints.Is.Same(System.Object)">
             <summary>
-            Constrain the argument to end with the specified string
+            Evaluate a same as constraint.
             </summary>
+            <param name="obj">The object the parameter should the same as.</param>
         </member>
-        <member name="M:Rhino.Mocks.Constraints.TextArg.Contains(System.String)">
+        <member name="M:Rhino.Mocks.Constraints.Is.NotSame(System.Object)">
             <summary>
-            Constrain the argument to contain the specified string
+            Evaluate a not same as constraint.
             </summary>
+            <param name="obj">The object the parameter should not be the same as.</param>
         </member>
-        <member name="M:Rhino.Mocks.Constraints.TextArg.Like(System.String)">
+        <member name="M:Rhino.Mocks.Constraints.Is.Anything">
             <summary>
-            Constrain the argument to validate according to regex pattern
+            A constraints that accept anything
             </summary>
+            <returns></returns>
         </member>
-        <member name="M:Rhino.Mocks.Constraints.TextArg.Equals(System.Object)">
+        <member name="M:Rhino.Mocks.Constraints.Is.Null">
             <summary>
-            Throws NotSupportedException. Don't use Equals to define constraints. Use Equal instead.
+            A constraint that accept only nulls
             </summary>
-            <param name="obj"></param>
             <returns></returns>
         </member>
-        <member name="M:Rhino.Mocks.Constraints.TextArg.GetHashCode">
+        <member name="M:Rhino.Mocks.Constraints.Is.NotNull">
             <summary>
-            Serves as a hash function for a particular type.
+            A constraint that accept only non null values
             </summary>
-            <returns>
-            A hash code for the current <see cref="T:System.Object"/>.
-            </returns>
+            <returns></returns>
         </member>
-        <member name="T:Rhino.Mocks.Exceptions.ExpectationViolationException">
+        <member name="M:Rhino.Mocks.Constraints.Is.TypeOf(System.Type)">
             <summary>
-            An expectaton violation was detected.
+            A constraint that accept only value of the specified type
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Exceptions.ExpectationViolationException.#ctor(System.String)">
+        <member name="M:Rhino.Mocks.Constraints.Is.TypeOf``1">
             <summary>
-            Creates a new <see cref="T:Rhino.Mocks.Exceptions.ExpectationViolationException"/> instance.
+            A constraint that accept only value of the specified type
             </summary>
-            <param name="message">Message.</param>
         </member>
-        <member name="M:Rhino.Mocks.Exceptions.ExpectationViolationException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+        <member name="M:Rhino.Mocks.Constraints.Is.Matching``1(System.Predicate{``0})">
             <summary>
-            Serialization constructor
+            Evaluate a parameter using a predicate
             </summary>
+            <param name="predicate">The predicate to use</param>
         </member>
-        <member name="T:Rhino.Mocks.Exceptions.ObjectNotMockFromThisRepositoryException">
+        <member name="T:Rhino.Mocks.Constraints.List">
             <summary>
-            Signals that an object was call on a mock repostiroy which doesn't
-            belong to this mock repository or not a mock
+            Central location for constraints about lists and collections
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Exceptions.ObjectNotMockFromThisRepositoryException.#ctor(System.String)">
+        <member name="M:Rhino.Mocks.Constraints.List.IsIn(System.Object)">
             <summary>
-            Creates a new <see cref="T:Rhino.Mocks.Exceptions.ObjectNotMockFromThisRepositoryException"/> instance.
+            Determines whether the specified obj is in the parameter.
+            The parameter must be IEnumerable.
             </summary>
-            <param name="message">Message.</param>
+            <param name="obj">Obj.</param>
+            <returns></returns>
         </member>
-        <member name="M:Rhino.Mocks.Exceptions.ObjectNotMockFromThisRepositoryException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+        <member name="M:Rhino.Mocks.Constraints.List.OneOf(System.Collections.IEnumerable)">
             <summary>
-            Serialization constructor
+            Determines whatever the parameter is in the collection.
             </summary>
         </member>
-        <member name="T:Rhino.Mocks.Expectations.AbstractExpectation">
+        <member name="M:Rhino.Mocks.Constraints.List.Equal(System.Collections.IEnumerable)">
             <summary>
-            Abstract class that holds common information for 
-            expectations.
+            Determines that the parameter collection is identical to the specified collection
             </summary>
         </member>
-        <member name="T:Rhino.Mocks.Interfaces.IExpectation">
+        <member name="M:Rhino.Mocks.Constraints.List.Count(Rhino.Mocks.Constraints.AbstractConstraint)">
             <summary>
-            Interface to validate that a method call is correct.
+            Determines that the parameter collection has the specified number of elements.
             </summary>
+            <param name="constraint">The constraint that should be applied to the collection count.</param>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IExpectation.IsExpected(System.Object[])">
+        <member name="M:Rhino.Mocks.Constraints.List.Element(System.Int32,Rhino.Mocks.Constraints.AbstractConstraint)">
             <summary>
-            Validate the arguments for the method.
-            This method can be called numerous times, so be careful about side effects
+            Determines that an element of the parameter collections conforms to another AbstractConstraint.
             </summary>
-            <param name="args">The arguments with which the method was called</param>
+            <param name="index">The zero-based index of the list element.</param>
+            <param name="constraint">The constraint which should be applied to the list element.</param>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IExpectation.AddActualCall">
+        <member name="M:Rhino.Mocks.Constraints.List.Element``1(``0,Rhino.Mocks.Constraints.AbstractConstraint)">
             <summary>
-            Add an actual method call to this expectation
+            Determines that an element of the parameter collections conforms to another AbstractConstraint.
             </summary>
+            <param name="key">The key of the element.</param>
+            <param name="constraint">The constraint which should be applied to the element.</param>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IExpectation.ReturnOrThrow(Castle.Core.Interceptor.IInvocation,System.Object[])">
+        <member name="M:Rhino.Mocks.Constraints.List.ContainsAll(System.Collections.IEnumerable)">
             <summary>
-            Returns the return value or throw the exception and setup any output / ref parameters
-            that has been set.
+             Determines that all elements of the specified collection are in the the parameter collection 
             </summary>
+            <param name="collection">The collection to compare against</param>
+            <returns>The constraint which should be applied to the list parameter.</returns>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IExpectation.IgnoreMissingReturnValueUntilExecuteTime">
+        <member name="T:Rhino.Mocks.Constraints.Property">
             <summary>
-            Allow to set the return value in the future, if it was already set.
+            Central location for constraints for object's properties
             </summary>
         </member>
-        <member name="P:Rhino.Mocks.Interfaces.IExpectation.ErrorMessage">
+        <member name="M:Rhino.Mocks.Constraints.Property.Value(System.String,System.Object)">
             <summary>
-            Gets the error message.
+            Constrains the parameter to have property with the specified value
             </summary>
-            <value></value>
+            <param name="propertyName">Name of the property.</param>
+            <param name="expectedValue">Expected value.</param>
+            <returns></returns>
         </member>
-        <member name="P:Rhino.Mocks.Interfaces.IExpectation.Expected">
+        <member name="M:Rhino.Mocks.Constraints.Property.Value(System.Type,System.String,System.Object)">
             <summary>
-            Range of expected calls
+            Constrains the parameter to have property with the specified value.
             </summary>
+            <param name="declaringType">The type that declares the property, used to disambiguate between properties.</param>
+            <param name="propertyName">Name of the property.</param>
+            <param name="expectedValue">Expected value.</param>
+            <returns></returns>
         </member>
-        <member name="P:Rhino.Mocks.Interfaces.IExpectation.ActualCallsCount">
+        <member name="M:Rhino.Mocks.Constraints.Property.ValueConstraint(System.String,Rhino.Mocks.Constraints.AbstractConstraint)">
             <summary>
-            Number of call actually made for this method
+            Constrains the parameter to have a property satisfying a specified constraint.
             </summary>
+            <param name="propertyName">Name of the property.</param>
+            <param name="propertyConstraint">Constraint for the property.</param>
         </member>
-        <member name="P:Rhino.Mocks.Interfaces.IExpectation.CanAcceptCalls">
+        <member name="M:Rhino.Mocks.Constraints.Property.ValueConstraint(System.Type,System.String,Rhino.Mocks.Constraints.AbstractConstraint)">
             <summary>
-            If this expectation is still waiting for calls.
+            Constrains the parameter to have a property satisfying a specified constraint.
             </summary>
+            <param name="declaringType">The type that declares the property, used to disambiguate between properties.</param>
+            <param name="propertyName">Name of the property.</param>
+            <param name="propertyConstraint">Constraint for the property.</param>
         </member>
-        <member name="P:Rhino.Mocks.Interfaces.IExpectation.ReturnValue">
+        <member name="M:Rhino.Mocks.Constraints.Property.IsNull(System.String)">
             <summary>
-            The return value for a method matching this expectation
+            Determines whether the parameter has the specified property and that it is null.
             </summary>
+            <param name="propertyName">Name of the property.</param>
+            <returns></returns>
         </member>
-        <member name="P:Rhino.Mocks.Interfaces.IExpectation.ExceptionToThrow">
+        <member name="M:Rhino.Mocks.Constraints.Property.IsNull(System.Type,System.String)">
             <summary>
-            Gets or sets the exception to throw on a method matching this expectation.
+            Determines whether the parameter has the specified property and that it is null.
             </summary>
+            <param name="declaringType">The type that declares the property, used to disambiguate between properties.</param>
+            <param name="propertyName">Name of the property.</param>
+            <returns></returns>
         </member>
-        <member name="P:Rhino.Mocks.Interfaces.IExpectation.ActionsSatisfied">
+        <member name="M:Rhino.Mocks.Constraints.Property.IsNotNull(System.String)">
             <summary>
-            Gets a value indicating whether this instance's action is staisfied.
-            A staisfied instance means that there are no more requirements from
-            this method. A method with non void return value must register either
-            a return value or an exception to throw.
+            Determines whether the parameter has the specified property and that it is not null.
             </summary>
+            <param name="propertyName">Name of the property.</param>
+            <returns></returns>
         </member>
-        <member name="P:Rhino.Mocks.Interfaces.IExpectation.Method">
+        <member name="M:Rhino.Mocks.Constraints.Property.IsNotNull(System.Type,System.String)">
             <summary>
-            Gets the method this expectation is for.
+            Determines whether the parameter has the specified property and that it is not null.
             </summary>
+            <param name="declaringType">The type that declares the property, used to disambiguate between properties.</param>
+            <param name="propertyName">Name of the property.</param>
+            <returns></returns>
         </member>
-        <member name="P:Rhino.Mocks.Interfaces.IExpectation.RepeatableOption">
+        <member name="M:Rhino.Mocks.Constraints.Property.AllPropertiesMatch(System.Object)">
             <summary>
-            Gets or sets what special condtions there are for this method
-            repeating.
+            constraints the parameter to have the exact same property values as the expected object.
             </summary>
+            <param name="expected">An object, of the same type as the parameter, whose properties are set with the expected values.</param>
+            <returns>An instance of the constraint that will do the actual check.</returns>
+            <remarks>
+            The parameter's public property values and public field values will be matched against the expected object's
+            public property values and public field values. The first mismatch will be reported and no further matching is done.
+            The matching is recursive for any property or field that has properties or fields of it's own.
+            Collections are supported through IEnumerable, which means the constraint will check if the actual and expected
+            collection contain the same values in the same order, where the values contained by the collection can have properties
+            and fields of their own that will be checked as well because of the recursive nature of this constraint.
+            </remarks>
         </member>
-        <member name="P:Rhino.Mocks.Interfaces.IExpectation.ExpectationSatisfied">
+        <member name="T:Rhino.Mocks.Constraints.Text">
             <summary>
-            Gets a value indicating whether this expectation was satisfied
+            Central location for all text related constraints
             </summary>
         </member>
-        <member name="P:Rhino.Mocks.Interfaces.IExpectation.HasReturnValue">
+        <member name="M:Rhino.Mocks.Constraints.Text.StartsWith(System.String)">
             <summary>
-            Specify whatever this expectation has a return value set
-            You can't check ReturnValue for this because a valid return value include null.
+            Constrain the argument to starts with the specified string
             </summary>
         </member>
-        <member name="P:Rhino.Mocks.Interfaces.IExpectation.ActionToExecute">
+        <member name="M:Rhino.Mocks.Constraints.Text.EndsWith(System.String)">
             <summary>
-            An action to execute when the method is matched.
+            Constrain the argument to end with the specified string
             </summary>
         </member>
-        <member name="P:Rhino.Mocks.Interfaces.IExpectation.OutRefParams">
+        <member name="M:Rhino.Mocks.Constraints.Text.Contains(System.String)">
             <summary>
-            Set the out / ref parameters for the method call.
-            The indexing is zero based and ignores any non out/ref parameter.
-            It is possible not to pass all the parameters. This method can be called only once.
+            Constrain the argument to contain the specified string
             </summary>
         </member>
-        <member name="P:Rhino.Mocks.Interfaces.IExpectation.Message">
+        <member name="M:Rhino.Mocks.Constraints.Text.Like(System.String)">
             <summary>
-            Documentation Message
+            Constrain the argument to validate according to regex pattern
             </summary>
         </member>
-        <member name="P:Rhino.Mocks.Interfaces.IExpectation.Originalinvocation">
+        <member name="T:Rhino.Mocks.Constraints.TextArg">
             <summary>
-            Gets the invocation for this expectation
+            Provides access to the constraintes defined in the class <see cref="T:Rhino.Mocks.Constraints.Text"/> to be used in context
+            with the <see cref="T:Rhino.Mocks.Arg"/> syntax.
             </summary>
-            <value>The invocation.</value>
         </member>
-        <member name="F:Rhino.Mocks.Expectations.AbstractExpectation.actualCallsCount">
+        <member name="M:Rhino.Mocks.Constraints.TextArg.StartsWith(System.String)">
             <summary>
-            Number of actuall calls made that passed this expectation
+            Constrain the argument to starts with the specified string
             </summary>
+            <returns></returns>
         </member>
-        <member name="F:Rhino.Mocks.Expectations.AbstractExpectation.expected">
+        <member name="M:Rhino.Mocks.Constraints.TextArg.EndsWith(System.String)">
             <summary>
-            Range of expected calls that should pass this expectation.
+            Constrain the argument to end with the specified string
             </summary>
         </member>
-        <member name="F:Rhino.Mocks.Expectations.AbstractExpectation.returnValue">
+        <member name="M:Rhino.Mocks.Constraints.TextArg.Contains(System.String)">
             <summary>
-            The return value for a method matching this expectation
+            Constrain the argument to contain the specified string
             </summary>
         </member>
-        <member name="F:Rhino.Mocks.Expectations.AbstractExpectation.exceptionToThrow">
+        <member name="M:Rhino.Mocks.Constraints.TextArg.Like(System.String)">
             <summary>
-            The exception to throw on a method matching this expectation.
+            Constrain the argument to validate according to regex pattern
             </summary>
         </member>
-        <member name="F:Rhino.Mocks.Expectations.AbstractExpectation.method">
+        <member name="M:Rhino.Mocks.Constraints.TextArg.Equals(System.Object)">
             <summary>
-            The method this expectation is for.
+            Throws NotSupportedException. Don't use Equals to define constraints. Use Equal instead.
             </summary>
+            <param name="obj"></param>
+            <returns></returns>
         </member>
-        <member name="F:Rhino.Mocks.Expectations.AbstractExpectation.returnValueSet">
+        <member name="M:Rhino.Mocks.Constraints.TextArg.GetHashCode">
             <summary>
-            The return value for this method was set
+            Serves as a hash function for a particular type.
             </summary>
+            <returns>
+            A hash code for the current <see cref="T:System.Object"/>.
+            </returns>
         </member>
-        <member name="F:Rhino.Mocks.Expectations.AbstractExpectation.repeatableOption">
+        <member name="T:Rhino.Mocks.Delegates">
             <summary>
-            Whether this method will repeat
-            unlimited number of times.
+            This class defines a lot of method signatures, which we will use
+            to allow compatability on net-2.0
             </summary>
         </member>
-        <member name="F:Rhino.Mocks.Expectations.AbstractExpectation.actionToExecute">
+        <member name="T:Rhino.Mocks.Delegates.Action">
             <summary>
-            A delegate that will be run when the 
-            expectation is matched.
+            dummy
             </summary>
         </member>
-        <member name="F:Rhino.Mocks.Expectations.AbstractExpectation.matchingArgs">
+        <member name="T:Rhino.Mocks.Delegates.Function`1">
             <summary>
-            The arguments that matched this expectation.
+            dummy
             </summary>
         </member>
-        <member name="F:Rhino.Mocks.Expectations.AbstractExpectation.message">
+        <member name="T:Rhino.Mocks.Delegates.Function`2">
             <summary>
-            Documentation message
+            dummy
             </summary>
         </member>
-        <member name="F:Rhino.Mocks.Expectations.AbstractExpectation.originalInvocation">
+        <member name="T:Rhino.Mocks.Delegates.Action`2">
             <summary>
-            The method originalInvocation
+            dummy
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Expectations.AbstractExpectation.GetHashCode">
+        <member name="T:Rhino.Mocks.Delegates.Function`3">
             <summary>
-            Get the hash code
+            dummy
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Expectations.AbstractExpectation.AddActualCall">
+        <member name="T:Rhino.Mocks.Delegates.Action`3">
             <summary>
-            Add an actual actualMethodCall call to this expectation
+            dummy
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Expectations.AbstractExpectation.IgnoreMissingReturnValueUntilExecuteTime">
+        <member name="T:Rhino.Mocks.Delegates.Function`4">
             <summary>
-            Allow to set the return value in the future, if it was already set.
+            dummy
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Expectations.AbstractExpectation.ReturnOrThrow(Castle.Core.Interceptor.IInvocation,System.Object[])">
+        <member name="T:Rhino.Mocks.Delegates.Action`4">
             <summary>
-            Returns the return value or throw the exception and setup output / ref parameters
+            dummy
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Expectations.AbstractExpectation.IsExpected(System.Object[])">
+        <member name="T:Rhino.Mocks.Delegates.Function`5">
             <summary>
-            Validate the arguments for the method on the child methods
+            dummy
             </summary>
-            <param name="args">The arguments with which the method was called</param>
         </member>
-        <member name="M:Rhino.Mocks.Expectations.AbstractExpectation.#ctor(Castle.Core.Interceptor.IInvocation)">
+        <member name="T:Rhino.Mocks.Delegates.Action`5">
             <summary>
-            Creates a new <see cref="T:Rhino.Mocks.Expectations.AbstractExpectation"/> instance.
+            dummy
             </summary>
-            <param name="invocation">The originalInvocation for this method, required because it contains the generic type infromation</param>
         </member>
-        <member name="M:Rhino.Mocks.Expectations.AbstractExpectation.#ctor(Rhino.Mocks.Interfaces.IExpectation)">
+        <member name="T:Rhino.Mocks.Delegates.Function`6">
             <summary>
-            Creates a new <see cref="T:Rhino.Mocks.Expectations.AbstractExpectation"/> instance.
+            dummy
             </summary>
-            <param name="expectation">Expectation.</param>
         </member>
-        <member name="M:Rhino.Mocks.Expectations.AbstractExpectation.DoIsExpected(System.Object[])">
+        <member name="T:Rhino.Mocks.Delegates.Action`6">
             <summary>
-            Validate the arguments for the method on the child methods
+            dummy
             </summary>
-            <param name="args">The arguments with which the method was called</param>
-        </member>
-        <member name="M:Rhino.Mocks.Expectations.AbstractExpectation.Equals(System.Object)">
             <summary>
-            Determines if this object equal to obj
+            dummy
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Expectations.AbstractExpectation.CreateErrorMessage(System.String)">
+        <member name="T:Rhino.Mocks.Delegates.Function`7">
             <summary>
-            The error message for these arguments
+            dummy
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Expectations.AbstractExpectation.AssertDelegateArgumentsMatchMethod(System.Delegate)">
+        <member name="T:Rhino.Mocks.Delegates.Action`7">
             <summary>
-            Asserts that the delegate has the same parameters as the expectation's method call
+            dummy
             </summary>
         </member>
-        <member name="P:Rhino.Mocks.Expectations.AbstractExpectation.OutRefParams">
+        <member name="T:Rhino.Mocks.Delegates.Function`8">
             <summary>
-            Setter for the outpur / ref parameters for this expecataion.
-            Can only be set once.
+            dummy
             </summary>
         </member>
-        <member name="P:Rhino.Mocks.Expectations.AbstractExpectation.HasReturnValue">
+        <member name="T:Rhino.Mocks.Delegates.Action`8">
             <summary>
-            Specify whatever this expectation has a return value set
-            You can't check ReturnValue for this because a valid return value include null.
+            dummy
             </summary>
         </member>
-        <member name="P:Rhino.Mocks.Expectations.AbstractExpectation.Method">
+        <member name="T:Rhino.Mocks.Delegates.Function`9">
             <summary>
-            Gets the method this expectation is for.
+            dummy
             </summary>
         </member>
-        <member name="P:Rhino.Mocks.Expectations.AbstractExpectation.Originalinvocation">
+        <member name="T:Rhino.Mocks.Delegates.Action`9">
             <summary>
-            Gets the originalInvocation for this expectation
+            dummy
             </summary>
-            <value>The originalInvocation.</value>
         </member>
-        <member name="P:Rhino.Mocks.Expectations.AbstractExpectation.RepeatableOption">
+        <member name="T:Rhino.Mocks.Delegates.Function`10">
             <summary>
-            Gets or sets what special condtions there are for this method
+            dummy
             </summary>
         </member>
-        <member name="P:Rhino.Mocks.Expectations.AbstractExpectation.Expected">
+        <member name="T:Rhino.Mocks.Delegates.Action`10">
             <summary>
-            Range of expected calls
+            dummy
             </summary>
         </member>
-        <member name="P:Rhino.Mocks.Expectations.AbstractExpectation.ActualCallsCount">
+        <member name="T:Rhino.Mocks.Delegates.Function`11">
             <summary>
-            Number of call actually made for this method
+            dummy
             </summary>
         </member>
-        <member name="P:Rhino.Mocks.Expectations.AbstractExpectation.CanAcceptCalls">
+        <member name="T:Rhino.Mocks.DoNotExpect">
             <summary>
-            If this expectation is still waiting for calls.
+            Allows expectations to be set on methods that should never be called.
+            For methods with void return value, you need to use LastCall or
+            DoNotExpect.Call() with a delegate.
             </summary>
         </member>
-        <member name="P:Rhino.Mocks.Expectations.AbstractExpectation.ExpectationSatisfied">
+        <member name="M:Rhino.Mocks.DoNotExpect.Call(System.Object)">
             <summary>
-            Gets a value indicating whether this expectation was satisfied
+            Sets LastCall.Repeat.Never() on /any/ proxy on /any/ repository on the current thread.
+            This method if not safe for multi threading scenarios.
             </summary>
         </member>
-        <member name="P:Rhino.Mocks.Expectations.AbstractExpectation.ReturnValue">
+        <member name="M:Rhino.Mocks.DoNotExpect.Call(Rhino.Mocks.Expect.Action)">
             <summary>
-            The return value for a method matching this expectation
+            Accepts a delegate that will execute inside the method which
+            LastCall.Repeat.Never() will be applied to.
+            It is expected to be used with anonymous delegates / lambda expressions and only one
+            method should be called.
             </summary>
+            <example>
+            IService mockSrv = mocks.CreateMock(typeof(IService)) as IService;
+            DoNotExpect.Call(delegate{ mockSrv.Stop(); });
+            ...
+            </example>
         </member>
-        <member name="P:Rhino.Mocks.Expectations.AbstractExpectation.ActionToExecute">
+        <member name="T:Rhino.Mocks.Exceptions.ExpectationViolationException">
             <summary>
-            An action to execute when the method is matched.
+            An expectaton violation was detected.
             </summary>
         </member>
-        <member name="P:Rhino.Mocks.Expectations.AbstractExpectation.ExceptionToThrow">
+        <member name="M:Rhino.Mocks.Exceptions.ExpectationViolationException.#ctor(System.String)">
             <summary>
-            Gets or sets the exception to throw on a method matching this expectation.
+            Creates a new <see cref="T:Rhino.Mocks.Exceptions.ExpectationViolationException"/> instance.
             </summary>
+            <param name="message">Message.</param>
         </member>
-        <member name="P:Rhino.Mocks.Expectations.AbstractExpectation.ActionsSatisfied">
+        <member name="M:Rhino.Mocks.Exceptions.ExpectationViolationException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
             <summary>
-            Gets a value indicating whether this instance's action is staisfied.
-            A staisfied instance means that there are no more requirements from
-            this method. A method with non void return value must register either
-            a return value or an exception to throw or an action to execute.
+            Serialization constructor
             </summary>
         </member>
-        <member name="P:Rhino.Mocks.Expectations.AbstractExpectation.Message">
+        <member name="T:Rhino.Mocks.Exceptions.ObjectNotMockFromThisRepositoryException">
             <summary>
-            Documentation message
+            Signals that an object was call on a mock repository which doesn't
+            belong to this mock repository or not a mock
             </summary>
         </member>
-        <member name="P:Rhino.Mocks.Expectations.AbstractExpectation.ErrorMessage">
+        <member name="M:Rhino.Mocks.Exceptions.ObjectNotMockFromThisRepositoryException.#ctor(System.String)">
             <summary>
-            Gets the error message.
+            Creates a new <see cref="T:Rhino.Mocks.Exceptions.ObjectNotMockFromThisRepositoryException"/> instance.
             </summary>
-            <value></value>
+            <param name="message">Message.</param>
         </member>
-        <member name="T:Rhino.Mocks.Expectations.AnyArgsExpectation">
+        <member name="M:Rhino.Mocks.Exceptions.ObjectNotMockFromThisRepositoryException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
             <summary>
-            Expectation that matchs any arguments for the method.
+            Serialization constructor
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Expectations.AnyArgsExpectation.#ctor(Castle.Core.Interceptor.IInvocation)">
+        <member name="T:Rhino.Mocks.Expect">
             <summary>
-            Creates a new <see cref="T:Rhino.Mocks.Expectations.AnyArgsExpectation"/> instance.
+            Allows to set expectation on methods that has return values.
+            For methods with void return value, you need to use LastCall
             </summary>
-            <param name="invocation">Invocation for this expectation</param>
         </member>
-        <member name="M:Rhino.Mocks.Expectations.AnyArgsExpectation.#ctor(Rhino.Mocks.Interfaces.IExpectation)">
+        <member name="M:Rhino.Mocks.Expect.Call``1(``0)">
             <summary>
-            Creates a new <see cref="T:Rhino.Mocks.Expectations.AnyArgsExpectation"/> instance.
+            The method options for the last call on /any/ proxy on /any/ repository on the current thread.
+            This method if not safe for multi threading scenarios, use <see cref="M:Rhino.Mocks.Expect.On(System.Object)"/>.
             </summary>
-            <param name="expectation">Expectation.</param>
         </member>
-        <member name="M:Rhino.Mocks.Expectations.AnyArgsExpectation.DoIsExpected(System.Object[])">
+        <member name="M:Rhino.Mocks.Expect.Call(Rhino.Mocks.Expect.Action)">
             <summary>
-            Validate the arguments for the method.
+            Accepts a delegate that will execute inside the method, and then return the resulting
+            <see cref="T:Rhino.Mocks.Interfaces.IMethodOptions`1"/> instance.
+            It is expected to be used with anonymous delegates / lambda expressions and only one
+            method should be called.
             </summary>
-            <param name="args">The arguments with which the method was called</param>
+            <example>
+            IService mockSrv = mocks.CreateMock(typeof(IService)) as IService;
+            Expect.Call(delegate{ mockSrv.Start(); }).Throw(new NetworkException());
+            ...
+            </example>
         </member>
-        <member name="M:Rhino.Mocks.Expectations.AnyArgsExpectation.Equals(System.Object)">
+        <member name="M:Rhino.Mocks.Expect.On(System.Object)">
             <summary>
-            Determines if the object equal to expectation
+            Get the method options for the last method call on the mockInstance.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Expectations.AnyArgsExpectation.GetHashCode">
+        <member name="T:Rhino.Mocks.Expect.Action">
             <summary>
-            Get the hash code
+            A delegate that can be used to get better syntax on Expect.Call(delegate { foo.DoSomething(); });
             </summary>
         </member>
-        <member name="P:Rhino.Mocks.Expectations.AnyArgsExpectation.ErrorMessage">
+        <member name="T:Rhino.Mocks.Expectations.AbstractExpectation">
             <summary>
-            Gets the error message.
+            Abstract class that holds common information for 
+            expectations.
             </summary>
-            <value></value>
         </member>
-        <member name="T:Rhino.Mocks.Expectations.ArgsEqualExpectation">
+        <member name="T:Rhino.Mocks.Interfaces.IExpectation">
             <summary>
-            Summary description for ArgsEqualExpectation.
+            Interface to validate that a method call is correct.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Expectations.ArgsEqualExpectation.#ctor(Castle.Core.Interceptor.IInvocation,System.Object[])">
+        <member name="M:Rhino.Mocks.Interfaces.IExpectation.IsExpected(System.Object[])">
             <summary>
-            Creates a new <see cref="T:Rhino.Mocks.Expectations.ArgsEqualExpectation"/> instance.
+            Validate the arguments for the method.
+            This method can be called numerous times, so be careful about side effects
             </summary>
-            <param name="expectedArgs">Expected args.</param>
-            <param name="invocation">The invocation for this expectation</param>
+            <param name="args">The arguments with which the method was called</param>
         </member>
-        <member name="M:Rhino.Mocks.Expectations.ArgsEqualExpectation.DoIsExpected(System.Object[])">
+        <member name="M:Rhino.Mocks.Interfaces.IExpectation.AddActualCall">
             <summary>
-            Validate the arguments for the method.
+            Add an actual method call to this expectation
             </summary>
-            <param name="args">The arguments with which the method was called</param>
         </member>
-        <member name="M:Rhino.Mocks.Expectations.ArgsEqualExpectation.Equals(System.Object)">
+        <member name="M:Rhino.Mocks.Interfaces.IExpectation.ReturnOrThrow(Castle.Core.Interceptor.IInvocation,System.Object[])">
             <summary>
-            Determines if the object equal to expectation
+            Returns the return value or throw the exception and setup any output / ref parameters
+            that has been set.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Expectations.ArgsEqualExpectation.GetHashCode">
+        <member name="M:Rhino.Mocks.Interfaces.IExpectation.BuildVerificationFailureMessage">
             <summary>
-            Get the hash code
+            Builds the verification failure message.
             </summary>
+            <returns></returns>
         </member>
-        <member name="P:Rhino.Mocks.Expectations.ArgsEqualExpectation.ErrorMessage">
+        <member name="P:Rhino.Mocks.Interfaces.IExpectation.ErrorMessage">
             <summary>
             Gets the error message.
             </summary>
             <value></value>
         </member>
-        <member name="P:Rhino.Mocks.Expectations.ArgsEqualExpectation.ExpectedArgs">
+        <member name="P:Rhino.Mocks.Interfaces.IExpectation.Expected">
             <summary>
-            Get the expected args.
+            Range of expected calls
             </summary>
         </member>
-        <member name="T:Rhino.Mocks.Expectations.CallbackExpectation">
+        <member name="P:Rhino.Mocks.Interfaces.IExpectation.ActualCallsCount">
             <summary>
-            Call a specified callback to verify the expectation
+            Number of call actually made for this method
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Expectations.CallbackExpectation.#ctor(Rhino.Mocks.Interfaces.IExpectation,System.Delegate)">
+        <member name="P:Rhino.Mocks.Interfaces.IExpectation.CanAcceptCalls">
             <summary>
-            Creates a new <see cref="T:Rhino.Mocks.Expectations.CallbackExpectation"/> instance.
+            If this expectation is still waiting for calls.
             </summary>
-            <param name="expectation">Expectation.</param>
-            <param name="callback">Callback.</param>
         </member>
-        <member name="M:Rhino.Mocks.Expectations.CallbackExpectation.#ctor(Castle.Core.Interceptor.IInvocation,System.Delegate)">
+        <member name="P:Rhino.Mocks.Interfaces.IExpectation.ReturnValue">
             <summary>
-            Creates a new <see cref="T:Rhino.Mocks.Expectations.CallbackExpectation"/> instance.
+            The return value for a method matching this expectation
             </summary>
-            <param name="invocation">Invocation for this expectation</param>
-            <param name="callback">Callback.</param>
         </member>
-        <member name="M:Rhino.Mocks.Expectations.CallbackExpectation.DoIsExpected(System.Object[])">
+        <member name="P:Rhino.Mocks.Interfaces.IExpectation.ExceptionToThrow">
             <summary>
-            Validate the arguments for the method on the child methods
+            Gets or sets the exception to throw on a method matching this expectation.
             </summary>
-            <param name="args">The arguments with which the method was called</param>
         </member>
-        <member name="M:Rhino.Mocks.Expectations.CallbackExpectation.Equals(System.Object)">
+        <member name="P:Rhino.Mocks.Interfaces.IExpectation.ActionsSatisfied">
             <summary>
-            Determines if the object equal to expectation
+            Gets a value indicating whether this instance's action is staisfied.
+            A staisfied instance means that there are no more requirements from
+            this method. A method with non void return value must register either
+            a return value or an exception to throw.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Expectations.CallbackExpectation.GetHashCode">
+        <member name="P:Rhino.Mocks.Interfaces.IExpectation.Method">
             <summary>
-            Get the hash code
+            Gets the method this expectation is for.
             </summary>
         </member>
-        <member name="P:Rhino.Mocks.Expectations.CallbackExpectation.ErrorMessage">
+        <member name="P:Rhino.Mocks.Interfaces.IExpectation.RepeatableOption">
             <summary>
-            Gets the error message.
+            Gets or sets what special condtions there are for this method
+            repeating.
             </summary>
-            <value></value>
         </member>
-        <member name="T:Rhino.Mocks.Expectations.ConstraintsExpectation">
+        <member name="P:Rhino.Mocks.Interfaces.IExpectation.ExpectationSatisfied">
             <summary>
-            Expect the method's arguments to match the contraints
+            Gets a value indicating whether this expectation was satisfied
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Expectations.ConstraintsExpectation.#ctor(Castle.Core.Interceptor.IInvocation,Rhino.Mocks.Constraints.AbstractConstraint[])">
+        <member name="P:Rhino.Mocks.Interfaces.IExpectation.HasReturnValue">
             <summary>
-            Creates a new <see cref="T:Rhino.Mocks.Expectations.ConstraintsExpectation"/> instance.
+            Specify whatever this expectation has a return value set
+            You can't check ReturnValue for this because a valid return value include null.
             </summary>
-            <param name="invocation">Invocation for this expectation</param>
-            <param name="constraints">Constraints.</param>
         </member>
-        <member name="M:Rhino.Mocks.Expectations.ConstraintsExpectation.#ctor(Rhino.Mocks.Interfaces.IExpectation,Rhino.Mocks.Constraints.AbstractConstraint[])">
+        <member name="P:Rhino.Mocks.Interfaces.IExpectation.ActionToExecute">
             <summary>
-            Creates a new <see cref="T:Rhino.Mocks.Expectations.ConstraintsExpectation"/> instance.
+            An action to execute when the method is matched.
             </summary>
-            <param name="expectation">Expectation.</param>
-            <param name="constraints">Constraints.</param>
         </member>
-        <member name="M:Rhino.Mocks.Expectations.ConstraintsExpectation.DoIsExpected(System.Object[])">
+        <member name="P:Rhino.Mocks.Interfaces.IExpectation.OutRefParams">
             <summary>
-            Validate the arguments for the method.
+            Set the out / ref parameters for the method call.
+            The indexing is zero based and ignores any non out/ref parameter.
+            It is possible not to pass all the parameters. This method can be called only once.
             </summary>
-            <param name="args">The arguments with which the method was called</param>
         </member>
-        <member name="M:Rhino.Mocks.Expectations.ConstraintsExpectation.Equals(System.Object)">
+        <member name="P:Rhino.Mocks.Interfaces.IExpectation.Message">
             <summary>
-            Determines if the object equal to expectation
+            Documentation Message
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Expectations.ConstraintsExpectation.GetHashCode">
+        <member name="P:Rhino.Mocks.Interfaces.IExpectation.Originalinvocation">
             <summary>
-            Get the hash code
+            Gets the invocation for this expectation
             </summary>
+            <value>The invocation.</value>
         </member>
-        <member name="P:Rhino.Mocks.Expectations.ConstraintsExpectation.ErrorMessage">
+        <member name="E:Rhino.Mocks.Interfaces.IExpectation.WhenCalled">
             <summary>
-            Gets the error message.
+            Occurs when the exceptation is match on a method call
             </summary>
-            <value></value>
         </member>
-        <member name="T:Rhino.Mocks.Generated.ExpectationsList">
+        <member name="P:Rhino.Mocks.Interfaces.IExpectation.AllowTentativeReturn">
             <summary>
-            ExpectationsList
+            Allow to set the return value in the future, if it was already set.
             </summary>
         </member>
-        <member name="T:Rhino.Mocks.Generated.ProxyMethodExpectationsDictionary">
+        <member name="F:Rhino.Mocks.Expectations.AbstractExpectation.actualCallsCount">
             <summary>
-            Dictionary
+            Number of actuall calls made that passed this expectation
             </summary>
         </member>
-        <member name="T:Rhino.Mocks.Generated.ProxyStateDictionary">
+        <member name="F:Rhino.Mocks.Expectations.AbstractExpectation.expected">
             <summary>
-            Dictionary class
+            Range of expected calls that should pass this expectation.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Generated.ProxyStateDictionary.#ctor">
+        <member name="F:Rhino.Mocks.Expectations.AbstractExpectation.returnValue">
             <summary>
-            Create a new instance of <c>ProxyStateDictionary</c>
+            The return value for a method matching this expectation
             </summary>
         </member>
-        <member name="T:Rhino.Mocks.Impl.RemotingMock.IRemotingProxyOperation">
+        <member name="F:Rhino.Mocks.Expectations.AbstractExpectation.exceptionToThrow">
             <summary>
-            Operation on a remoting proxy
+            The exception to throw on a method matching this expectation.
             </summary>
-            <remarks>
-            It is not possible to directly communicate to a real proxy via transparent proxy.
-            Transparent proxy impersonates a user type and only methods of that user type are callable.
-            The only methods that are guaranteed to exist on any transparent proxy are methods defined
-            in Object: namely ToString(), GetHashCode(), and Equals()).
-            
-            These three methods are the only way to tell the real proxy to do something.
-            Equals() is the most suitable of all, since it accepts an arbitrary object parameter.
-            The RemotingProxy code is built so that if it is compared to an IRemotingProxyOperation,
-            transparentProxy.Equals(operation) will call operation.Process(realProxy).
-            This way we can retrieve a real proxy from transparent proxy and perform
-            arbitrary operation on it. 
-            </remarks>
         </member>
-        <member name="T:Rhino.Mocks.Impl.RemotingMock.RemotingInvocation">
+        <member name="F:Rhino.Mocks.Expectations.AbstractExpectation.method">
             <summary>
-            Implementation of IInvocation based on remoting proxy
+            The method this expectation is for.
             </summary>
-            <remarks>Some methods are marked NotSupported since they either don't make sense
-            for remoting proxies, or they are never called by Rhino Mocks</remarks>
         </member>
-        <member name="T:Rhino.Mocks.Impl.RemotingMock.RemotingMockGenerator">
+        <member name="F:Rhino.Mocks.Expectations.AbstractExpectation.returnValueSet">
             <summary>
-            Generates remoting proxies and provides utility functions
+            The return value for this method was set
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Impl.RemotingMock.RemotingMockGenerator.CreateRemotingMock(System.Type,Castle.Core.Interceptor.IInterceptor,Rhino.Mocks.Interfaces.IMockedObject)">
+        <member name="F:Rhino.Mocks.Expectations.AbstractExpectation.repeatableOption">
             <summary>
-             Create the proxy using remoting
+            Whether this method will repeat
+            unlimited number of times.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Impl.RemotingMock.RemotingMockGenerator.IsRemotingProxy(System.Object)">
+        <member name="F:Rhino.Mocks.Expectations.AbstractExpectation.actionToExecute">
             <summary>
-            Check whether an object is a transparent proxy with a RemotingProxy behind it
+            A delegate that will be run when the 
+            expectation is matched.
             </summary>
-            <param name="obj">Object to check</param>
-            <returns>true if the object is a transparent proxy with a RemotingProxy instance behind it, false otherwise</returns>
-            <remarks>We use Equals() method to communicate with the real proxy behind the object.
-            See IRemotingProxyOperation for more details</remarks>
         </member>
-        <member name="M:Rhino.Mocks.Impl.RemotingMock.RemotingMockGenerator.GetMockedObjectFromProxy(System.Object)">
+        <member name="F:Rhino.Mocks.Expectations.AbstractExpectation.matchingArgs">
             <summary>
-            Retrieve a mocked object from a transparent proxy
+            The arguments that matched this expectation.
             </summary>
-            <param name="proxy">Transparent proxy with a RemotingProxy instance behind it</param>
-            <returns>Mocked object associated with the proxy</returns>
-            <remarks>We use Equals() method to communicate with the real proxy behind the object.
-            See IRemotingProxyOperation for more details</remarks>
         </member>
-        <member name="T:Rhino.Mocks.Impl.CreateMethodExpectation">
+        <member name="F:Rhino.Mocks.Expectations.AbstractExpectation.message">
             <summary>
-            Allows to call a method and immediatly get it's options.
+            Documentation message
             </summary>
         </member>
-        <member name="T:Rhino.Mocks.Interfaces.ICreateMethodExpectation">
+        <member name="F:Rhino.Mocks.Expectations.AbstractExpectation.originalInvocation">
             <summary>
-            Interface to allows to call a method and immediatly get it's options.
+            The method originalInvocation
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.ICreateMethodExpectation.Call``1(``0)">
+        <member name="M:Rhino.Mocks.Expectations.AbstractExpectation.GetHashCode">
             <summary>
-            Get the method options for the call
+            Get the hash code
             </summary>
-            <param name="ignored">The method call should go here, the return value is ignored</param>
         </member>
-        <member name="M:Rhino.Mocks.Impl.CreateMethodExpectation.#ctor(Rhino.Mocks.Interfaces.IMockedObject,System.Object)">
+        <member name="M:Rhino.Mocks.Expectations.AbstractExpectation.AddActualCall">
             <summary>
-            Creates a new <see cref="T:Rhino.Mocks.Impl.CreateMethodExpectation"/> instance.
+            Add an actual actualMethodCall call to this expectation
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Impl.CreateMethodExpectation.Call``1(``0)">
+        <member name="M:Rhino.Mocks.Expectations.AbstractExpectation.BuildVerificationFailureMessage">
             <summary>
-            Get the method options for the call
+            Builds the verification failure message.
             </summary>
-            <param name="ignored">The method call should go here, the return value is ignored</param>
+            <returns></returns>
         </member>
-        <member name="T:Rhino.Mocks.Impl.CreateMethodExpectationForSetupResult">
+        <member name="M:Rhino.Mocks.Expectations.AbstractExpectation.ReturnOrThrow(Castle.Core.Interceptor.IInvocation,System.Object[])">
             <summary>
-            Allows to call a method and immediatly get it's options.
-            Set the expected number for the call to Any() 
+            Returns the return value or throw the exception and setup output / ref parameters
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Impl.CreateMethodExpectationForSetupResult.#ctor(Rhino.Mocks.Interfaces.IMockedObject,System.Object)">
+        <member name="M:Rhino.Mocks.Expectations.AbstractExpectation.IsExpected(System.Object[])">
             <summary>
-            Creates a new <see cref="T:Rhino.Mocks.Impl.CreateMethodExpectationForSetupResult"/> instance.
+            Validate the arguments for the method on the child methods
             </summary>
-            <param name="mockedObject">Proxy.</param>
-            <param name="mockedInstance">Mocked instance.</param>
+            <param name="args">The arguments with which the method was called</param>
         </member>
-        <member name="M:Rhino.Mocks.Impl.CreateMethodExpectationForSetupResult.Call``1(``0)">
+        <member name="M:Rhino.Mocks.Expectations.AbstractExpectation.#ctor(Castle.Core.Interceptor.IInvocation,Rhino.Mocks.Impl.Range)">
             <summary>
-            Get the method options for the call
+            Creates a new <see cref="T:Rhino.Mocks.Expectations.AbstractExpectation"/> instance.
             </summary>
-            <param name="ignored">The method call should go here, the return value is ignored</param>
+            <param name="invocation">The originalInvocation for this method, required because it contains the generic type infromation</param>
+            <param name="expectedRange">Number of method calls for this expectations</param>
         </member>
-        <member name="T:Rhino.Mocks.Impl.DelegateTargetInterfaceCreator">
+        <member name="M:Rhino.Mocks.Expectations.AbstractExpectation.#ctor(Rhino.Mocks.Interfaces.IExpectation)">
             <summary>
-            This class is reponsible for taking a delegate and creating a wrapper
-            interface around it, so it can be mocked.
+            Creates a new <see cref="T:Rhino.Mocks.Expectations.AbstractExpectation"/> instance.
             </summary>
+            <param name="expectation">Expectation.</param>
         </member>
-        <member name="F:Rhino.Mocks.Impl.DelegateTargetInterfaceCreator.moduleScope">
+        <member name="M:Rhino.Mocks.Expectations.AbstractExpectation.DoIsExpected(System.Object[])">
             <summary>
-            The scope for all the delegate interfaces create by this mock repositroy.
+            Validate the arguments for the method on the child methods
             </summary>
+            <param name="args">The arguments with which the method was called</param>
         </member>
-        <member name="M:Rhino.Mocks.Impl.DelegateTargetInterfaceCreator.GetDelegateTargetInterface(System.Type)">
+        <member name="M:Rhino.Mocks.Expectations.AbstractExpectation.Equals(System.Object)">
             <summary>
-            Gets a type with an "Invoke" method suitable for use as a target of the
-            specified delegate type.
+            Determines if this object equal to obj
             </summary>
-            <param name="delegateType"></param>
-            <returns></returns>
         </member>
-        <member name="T:Rhino.Mocks.Impl.EventRaiser">
+        <member name="M:Rhino.Mocks.Expectations.AbstractExpectation.CreateErrorMessage(System.String)">
             <summary>
-            Raise events for all subscribers for an event
+            The error message for these arguments
             </summary>
         </member>
-        <member name="T:Rhino.Mocks.Interfaces.IEventRaiser">
+        <member name="M:Rhino.Mocks.Expectations.AbstractExpectation.AssertDelegateArgumentsMatchMethod(System.Delegate)">
             <summary>
-            Raise events for all subscribers for an event
+            Asserts that the delegate has the same parameters as the expectation's method call
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IEventRaiser.Raise(System.Object[])">
+        <member name="P:Rhino.Mocks.Expectations.AbstractExpectation.OutRefParams">
             <summary>
-            Raise the event
+            Setter for the outpur / ref parameters for this expecataion.
+            Can only be set once.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IEventRaiser.Raise(System.Object,System.EventArgs)">
+        <member name="P:Rhino.Mocks.Expectations.AbstractExpectation.HasReturnValue">
             <summary>
-            The most common form for the event handler signature
+            Specify whether this expectation has a return value set
+            You can't check ReturnValue for this because a valid return value include null.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Impl.EventRaiser.Create(System.Object,System.String)">
+        <member name="P:Rhino.Mocks.Expectations.AbstractExpectation.Method">
             <summary>
-             Create an event raise for the specified event on this instance.
+            Gets the method this expectation is for.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Impl.EventRaiser.#ctor(Rhino.Mocks.Interfaces.IMockedObject,System.String)">
+        <member name="P:Rhino.Mocks.Expectations.AbstractExpectation.Originalinvocation">
             <summary>
-            Creates a new instance of <c>EventRaiser</c>
+            Gets the originalInvocation for this expectation
             </summary>
+            <value>The originalInvocation.</value>
         </member>
-        <member name="M:Rhino.Mocks.Impl.EventRaiser.Raise(System.Object[])">
+        <member name="P:Rhino.Mocks.Expectations.AbstractExpectation.RepeatableOption">
             <summary>
-            Raise the event
+            Gets or sets what special condtions there are for this method
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Impl.EventRaiser.Raise(System.Object,System.EventArgs)">
+        <member name="P:Rhino.Mocks.Expectations.AbstractExpectation.Expected">
             <summary>
-            The most common signature for events
-            Here to allow intellisense to make better guesses about how 
-            it should suggest parameters.
+            Range of expected calls
             </summary>
         </member>
-        <member name="T:Rhino.Mocks.Impl.MethodOptions`1">
+        <member name="P:Rhino.Mocks.Expectations.AbstractExpectation.ActualCallsCount">
             <summary>
-            Allows to define what would happen when a method 
-            is called.
+            Number of call actually made for this method
             </summary>
         </member>
-        <member name="T:Rhino.Mocks.Interfaces.IMethodOptions`1">
+        <member name="P:Rhino.Mocks.Expectations.AbstractExpectation.CanAcceptCalls">
             <summary>
-            Allows to define what would happen when a method 
-            is called.
+            If this expectation is still waiting for calls.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IMethodOptions`1.Return(`0)">
+        <member name="P:Rhino.Mocks.Expectations.AbstractExpectation.ExpectationSatisfied">
             <summary>
-            Set the return value for the method.
+            Gets a value indicating whether this expectation was satisfied
             </summary>
-            <param name="objToReturn">The object the method will return</param>
-            <returns>IRepeat that defines how many times the method will return this value</returns>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IMethodOptions`1.TentativeReturn">
+        <member name="P:Rhino.Mocks.Expectations.AbstractExpectation.ReturnValue">
             <summary>
-            Allow to override this return value in the future
+            The return value for a method matching this expectation
             </summary>
-            <returns>IRepeat that defines how many times the method will return this value</returns>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IMethodOptions`1.Throw(System.Exception)">
+        <member name="P:Rhino.Mocks.Expectations.AbstractExpectation.ActionToExecute">
             <summary>
-            Throws the specified exception when the method is called.
+            An action to execute when the method is matched.
             </summary>
-            <param name="exception">Exception to throw</param>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IMethodOptions`1.IgnoreArguments">
+        <member name="P:Rhino.Mocks.Expectations.AbstractExpectation.ExceptionToThrow">
             <summary>
-            Ignores the arguments for this method. Any argument will be matched
-            againt this method.
+            Gets or sets the exception to throw on a method matching this expectation.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IMethodOptions`1.Constraints(Rhino.Mocks.Constraints.AbstractConstraint[])">
+        <member name="P:Rhino.Mocks.Expectations.AbstractExpectation.ActionsSatisfied">
             <summary>
-            Add constraints for the method's arguments.
+            Gets a value indicating whether this instance's action is staisfied.
+            A staisfied instance means that there are no more requirements from
+            this method. A method with non void return value must register either
+            a return value or an exception to throw or an action to execute.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IMethodOptions`1.Callback(System.Delegate)">
+        <member name="P:Rhino.Mocks.Expectations.AbstractExpectation.Message">
             <summary>
-            Set a callback method for the last call
+            Documentation message
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IMethodOptions`1.Callback(Rhino.Mocks.Delegates.Function{System.Boolean})">
+        <member name="E:Rhino.Mocks.Expectations.AbstractExpectation.WhenCalled">
             <summary>
-            Set a delegate to be called when the expectation is matched.
-            The delegate return value will be returned from the expectation.
+            Occurs when the exceptation is match on a method call
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IMethodOptions`1.Callback``1(Rhino.Mocks.Delegates.Function{System.Boolean,``0})">
+        <member name="P:Rhino.Mocks.Expectations.AbstractExpectation.AllowTentativeReturn">
             <summary>
-            Set a delegate to be called when the expectation is matched.
-            The delegate return value will be returned from the expectation.
+            Allow to set the return value in the future, if it was already set.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IMethodOptions`1.Callback``2(Rhino.Mocks.Delegates.Function{System.Boolean,``0,``1})">
+        <member name="P:Rhino.Mocks.Expectations.AbstractExpectation.ErrorMessage">
             <summary>
-            Set a delegate to be called when the expectation is matched.
-            The delegate return value will be returned from the expectation.
+            Gets the error message.
             </summary>
+            <value></value>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IMethodOptions`1.Callback``3(Rhino.Mocks.Delegates.Function{System.Boolean,``0,``1,``2})">
+        <member name="T:Rhino.Mocks.Expectations.AnyArgsExpectation">
             <summary>
-            Set a delegate to be called when the expectation is matched.
-            The delegate return value will be returned from the expectation.
+            Expectation that matches any arguments for the method.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IMethodOptions`1.Callback``4(Rhino.Mocks.Delegates.Function{System.Boolean,``0,``1,``2,``3})">
+        <member name="M:Rhino.Mocks.Expectations.AnyArgsExpectation.#ctor(Castle.Core.Interceptor.IInvocation,Rhino.Mocks.Impl.Range)">
             <summary>
-            Set a delegate to be called when the expectation is matched.
-            The delegate return value will be returned from the expectation.
+            Creates a new <see cref="T:Rhino.Mocks.Expectations.AnyArgsExpectation"/> instance.
             </summary>
+            <param name="invocation">Invocation for this expectation</param>
+            <param name="expectedRange">Number of method calls for this expectations</param>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IMethodOptions`1.Callback``5(Rhino.Mocks.Delegates.Function{System.Boolean,``0,``1,``2,``3,``4})">
+        <member name="M:Rhino.Mocks.Expectations.AnyArgsExpectation.#ctor(Rhino.Mocks.Interfaces.IExpectation)">
             <summary>
-            Set a delegate to be called when the expectation is matched.
-            The delegate return value will be returned from the expectation.
+            Creates a new <see cref="T:Rhino.Mocks.Expectations.AnyArgsExpectation"/> instance.
             </summary>
+            <param name="expectation">Expectation.</param>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IMethodOptions`1.Callback``6(Rhino.Mocks.Delegates.Function{System.Boolean,``0,``1,``2,``3,``4,``5})">
+        <member name="M:Rhino.Mocks.Expectations.AnyArgsExpectation.DoIsExpected(System.Object[])">
             <summary>
-            Set a delegate to be called when the expectation is matched.
-            The delegate return value will be returned from the expectation.
+            Validate the arguments for the method.
             </summary>
+            <param name="args">The arguments with which the method was called</param>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IMethodOptions`1.Callback``7(Rhino.Mocks.Delegates.Function{System.Boolean,``0,``1,``2,``3,``4,``5,``6})">
+        <member name="M:Rhino.Mocks.Expectations.AnyArgsExpectation.Equals(System.Object)">
             <summary>
-            Set a delegate to be called when the expectation is matched.
-            The delegate return value will be returned from the expectation.
+            Determines if the object equal to expectation
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IMethodOptions`1.Callback``8(Rhino.Mocks.Delegates.Function{System.Boolean,``0,``1,``2,``3,``4,``5,``6,``7})">
+        <member name="M:Rhino.Mocks.Expectations.AnyArgsExpectation.GetHashCode">
             <summary>
-            Set a delegate to be called when the expectation is matched.
-            The delegate return value will be returned from the expectation.
+            Get the hash code
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IMethodOptions`1.Callback``9(Rhino.Mocks.Delegates.Function{System.Boolean,``0,``1,``2,``3,``4,``5,``6,``7,``8})">
+        <member name="P:Rhino.Mocks.Expectations.AnyArgsExpectation.ErrorMessage">
             <summary>
-            Set a delegate to be called when the expectation is matched.
-            The delegate return value will be returned from the expectation.
+            Gets the error message.
             </summary>
+            <value></value>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IMethodOptions`1.Callback``10(Rhino.Mocks.Delegates.Function{System.Boolean,``0,``1,``2,``3,``4,``5,``6,``7,``8,``9})">
+        <member name="T:Rhino.Mocks.Expectations.ArgsEqualExpectation">
             <summary>
-            Set a delegate to be called when the expectation is matched.
-            The delegate return value will be returned from the expectation.
+            Summary description for ArgsEqualExpectation.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IMethodOptions`1.Do(System.Delegate)">
+        <member name="M:Rhino.Mocks.Expectations.ArgsEqualExpectation.#ctor(Castle.Core.Interceptor.IInvocation,System.Object[],Rhino.Mocks.Impl.Range)">
             <summary>
-            Set a delegate to be called when the expectation is matched.
-            The delegate return value will be returned from the expectation.
+            Creates a new <see cref="T:Rhino.Mocks.Expectations.ArgsEqualExpectation"/> instance.
             </summary>
+            <param name="expectedArgs">Expected args.</param>
+            <param name="invocation">The invocation for this expectation</param>
+            <param name="expectedRange">Number of method calls for this expectations</param>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IMethodOptions`1.CallOriginalMethod">
+        <member name="M:Rhino.Mocks.Expectations.ArgsEqualExpectation.DoIsExpected(System.Object[])">
             <summary>
-            Call the original method on the class, bypassing the mocking layers.
+            Validate the arguments for the method.
             </summary>
-            <returns></returns>
+            <param name="args">The arguments with which the method was called</param>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IMethodOptions`1.CallOriginalMethod(Rhino.Mocks.Interfaces.OriginalCallOptions)">
+        <member name="M:Rhino.Mocks.Expectations.ArgsEqualExpectation.Equals(System.Object)">
             <summary>
-            Call the original method on the class, optionally bypassing the mocking layers.
+            Determines if the object equal to expectation
             </summary>
-            <returns></returns>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IMethodOptions`1.PropertyBehavior">
+        <member name="M:Rhino.Mocks.Expectations.ArgsEqualExpectation.GetHashCode">
             <summary>
-            Use the property as a simple property, getting/setting the values without
-            causing mock expectations.
+            Get the hash code
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IMethodOptions`1.GetEventRaiser">
+        <member name="P:Rhino.Mocks.Expectations.ArgsEqualExpectation.ErrorMessage">
             <summary>
-            Get an event raiser for the last subscribed event.
+            Gets the error message.
             </summary>
+            <value></value>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IMethodOptions`1.OutRef(System.Object[])">
+        <member name="P:Rhino.Mocks.Expectations.ArgsEqualExpectation.ExpectedArgs">
             <summary>
-            Set the parameter values for out and ref parameters.
-            This is done using zero based indexing, and _ignoring_ any non out/ref parameter.
+            Get the expected args.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IMethodOptions`1.Message(System.String)">
+        <member name="T:Rhino.Mocks.Expectations.CallbackExpectation">
             <summary>
-            Documentation message for the expectation
+            Call a specified callback to verify the expectation
             </summary>
-            <param name="documentationMessage">Message</param>
         </member>
-        <member name="P:Rhino.Mocks.Interfaces.IMethodOptions`1.Repeat">
+        <member name="M:Rhino.Mocks.Expectations.CallbackExpectation.#ctor(Rhino.Mocks.Interfaces.IExpectation,System.Delegate)">
             <summary>
-            Better syntax to define repeats. 
+            Creates a new <see cref="T:Rhino.Mocks.Expectations.CallbackExpectation"/> instance.
             </summary>
+            <param name="expectation">Expectation.</param>
+            <param name="callback">Callback.</param>
         </member>
-        <member name="T:Rhino.Mocks.Interfaces.IRepeat`1">
+        <member name="M:Rhino.Mocks.Expectations.CallbackExpectation.#ctor(Castle.Core.Interceptor.IInvocation,System.Delegate,Rhino.Mocks.Impl.Range)">
             <summary>
-            Allows to specify the number of time for method calls
+            Creates a new <see cref="T:Rhino.Mocks.Expectations.CallbackExpectation"/> instance.
             </summary>
+            <param name="invocation">Invocation for this expectation</param>
+            <param name="callback">Callback.</param>
+            <param name="expectedRange">Number of method calls for this expectations</param>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IRepeat`1.Twice">
+        <member name="M:Rhino.Mocks.Expectations.CallbackExpectation.DoIsExpected(System.Object[])">
             <summary>
-            Repeat the method twice.
+            Validate the arguments for the method on the child methods
             </summary>
+            <param name="args">The arguments with which the method was called</param>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IRepeat`1.Once">
+        <member name="M:Rhino.Mocks.Expectations.CallbackExpectation.Equals(System.Object)">
             <summary>
-            Repeat the method once.
+            Determines if the object equal to expectation
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IRepeat`1.AtLeastOnce">
+        <member name="M:Rhino.Mocks.Expectations.CallbackExpectation.GetHashCode">
             <summary>
-            Repeat the method at least once, then repeat as many time as it would like.
+            Get the hash code
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IRepeat`1.Any">
+        <member name="P:Rhino.Mocks.Expectations.CallbackExpectation.ErrorMessage">
             <summary>
-            Repeat the method any number of times.
-            This has special affects in that this method would now ignore orderring.
+            Gets the error message.
             </summary>
+            <value></value>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IRepeat`1.Times(System.Int32,System.Int32)">
+        <member name="T:Rhino.Mocks.Expectations.ConstraintsExpectation">
             <summary>
-            Set the range to repeat an action.
+            Expect the method's arguments to match the contraints
             </summary>
-            <param name="min">Min.</param>
-            <param name="max">Max.</param>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IRepeat`1.Times(System.Int32)">
+        <member name="M:Rhino.Mocks.Expectations.ConstraintsExpectation.#ctor(Castle.Core.Interceptor.IInvocation,Rhino.Mocks.Constraints.AbstractConstraint[],Rhino.Mocks.Impl.Range)">
             <summary>
-            Set the amount of times to repeat an action.
+            Creates a new <see cref="T:Rhino.Mocks.Expectations.ConstraintsExpectation"/> instance.
             </summary>
+            <param name="invocation">Invocation for this expectation</param>
+            <param name="constraints">Constraints.</param>
+            <param name="expectedRange">Number of method calls for this expectations</param>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IRepeat`1.Never">
+        <member name="M:Rhino.Mocks.Expectations.ConstraintsExpectation.#ctor(Rhino.Mocks.Interfaces.IExpectation,Rhino.Mocks.Constraints.AbstractConstraint[])">
             <summary>
-            This method must not appear in the replay state.
-            This has special affects in that this method would now ignore orderring.
+            Creates a new <see cref="T:Rhino.Mocks.Expectations.ConstraintsExpectation"/> instance.
             </summary>
+            <param name="expectation">Expectation.</param>
+            <param name="constraints">Constraints.</param>
         </member>
-        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.#ctor(Rhino.Mocks.MockRepository,Rhino.Mocks.Impl.RecordMockState,Rhino.Mocks.Interfaces.IMockedObject,Rhino.Mocks.Interfaces.IExpectation,System.Boolean)">
+        <member name="M:Rhino.Mocks.Expectations.ConstraintsExpectation.DoIsExpected(System.Object[])">
             <summary>
-            Creates a new <see cref="T:MethodOptions`1"/> instance.
+            Validate the arguments for the method.
             </summary>
-            <param name="repository">the repository for this expectation</param>
-            <param name="record">the recorder for this proxy</param>
-            <param name="proxy">the proxy for this expectation</param>
-            <param name="expectation">Expectation.</param>
-            <param name="expectationReplacable">If the expectation still can be replaced by a Constraint call</param>
+            <param name="args">The arguments with which the method was called</param>
         </member>
-        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.Constraints(Rhino.Mocks.Constraints.AbstractConstraint[])">
+        <member name="M:Rhino.Mocks.Expectations.ConstraintsExpectation.Equals(System.Object)">
             <summary>
-            Add constraints for the method's arguments.
+            Determines if the object equal to expectation
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.Callback(System.Delegate)">
+        <member name="M:Rhino.Mocks.Expectations.ConstraintsExpectation.GetHashCode">
             <summary>
-            Set a callback method for the last call
+            Get the hash code
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.Callback(Rhino.Mocks.Delegates.Function{System.Boolean})">
+        <member name="P:Rhino.Mocks.Expectations.ConstraintsExpectation.ErrorMessage">
             <summary>
-            Set a callback method for the last call
+            Gets the error message.
             </summary>
+            <value></value>
         </member>
-        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.Callback``1(Rhino.Mocks.Delegates.Function{System.Boolean,``0})">
+        <member name="T:Rhino.Mocks.Impl.NullLogger">
             <summary>
-            Set a callback method for the last call
+            Doesn't log anything, just makes happy noises
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.Callback``2(Rhino.Mocks.Delegates.Function{System.Boolean,``0,``1})">
+        <member name="T:Rhino.Mocks.Interfaces.IExpectationLogger">
             <summary>
-            Set a callback method for the last call
+            Log expectations - allows to see what is going on inside Rhino Mocks
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.Callback``3(Rhino.Mocks.Delegates.Function{System.Boolean,``0,``1,``2})">
+        <member name="M:Rhino.Mocks.Interfaces.IExpectationLogger.LogRecordedExpectation(Castle.Core.Interceptor.IInvocation,Rhino.Mocks.Interfaces.IExpectation)">
             <summary>
-            Set a callback method for the last call
+            Logs the expectation as is was recorded
             </summary>
+            <param name="invocation">The invocation.</param>
+            <param name="expectation">The expectation.</param>
         </member>
-        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.Callback``4(Rhino.Mocks.Delegates.Function{System.Boolean,``0,``1,``2,``3})">
+        <member name="M:Rhino.Mocks.Interfaces.IExpectationLogger.LogReplayedExpectation(Castle.Core.Interceptor.IInvocation,Rhino.Mocks.Interfaces.IExpectation)">
             <summary>
-            Set a callback method for the last call
+            Logs the expectation as it was recorded
             </summary>
+            <param name="invocation">The invocation.</param>
+            <param name="expectation">The expectation.</param>
         </member>
-        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.Callback``5(Rhino.Mocks.Delegates.Function{System.Boolean,``0,``1,``2,``3,``4})">
+        <member name="M:Rhino.Mocks.Interfaces.IExpectationLogger.LogUnexpectedMethodCall(Castle.Core.Interceptor.IInvocation,System.String)">
             <summary>
-            Set a callback method for the last call
+            Logs the unexpected method call.
             </summary>
+            <param name="invocation">The invocation.</param>
+            <param name="message">The message.</param>
         </member>
-        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.Callback``6(Rhino.Mocks.Delegates.Function{System.Boolean,``0,``1,``2,``3,``4,``5})">
+        <member name="M:Rhino.Mocks.Impl.NullLogger.LogRecordedExpectation(Castle.Core.Interceptor.IInvocation,Rhino.Mocks.Interfaces.IExpectation)">
             <summary>
-            Set a callback method for the last call
+            Logs the expectation as is was recorded
             </summary>
+            <param name="invocation">The invocation.</param>
+            <param name="expectation">The expectation.</param>
         </member>
-        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.Callback``7(Rhino.Mocks.Delegates.Function{System.Boolean,``0,``1,``2,``3,``4,``5,``6})">
+        <member name="M:Rhino.Mocks.Impl.NullLogger.LogReplayedExpectation(Castle.Core.Interceptor.IInvocation,Rhino.Mocks.Interfaces.IExpectation)">
             <summary>
-            Set a callback method for the last call
+            Logs the expectation as it was recorded
             </summary>
+            <param name="invocation">The invocation.</param>
+            <param name="expectation">The expectation.</param>
         </member>
-        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.Callback``8(Rhino.Mocks.Delegates.Function{System.Boolean,``0,``1,``2,``3,``4,``5,``6,``7})">
+        <member name="M:Rhino.Mocks.Impl.NullLogger.LogUnexpectedMethodCall(Castle.Core.Interceptor.IInvocation,System.String)">
             <summary>
-            Set a callback method for the last call
+            Logs the unexpected method call.
             </summary>
+            <param name="invocation">The invocation.</param>
+            <param name="message">The message.</param>
         </member>
-        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.Callback``9(Rhino.Mocks.Delegates.Function{System.Boolean,``0,``1,``2,``3,``4,``5,``6,``7,``8})">
+        <member name="T:Rhino.Mocks.Impl.RemotingMock.IRemotingProxyOperation">
             <summary>
-            Set a callback method for the last call
+            Operation on a remoting proxy
             </summary>
+            <remarks>
+            It is not possible to directly communicate to a real proxy via transparent proxy.
+            Transparent proxy impersonates a user type and only methods of that user type are callable.
+            The only methods that are guaranteed to exist on any transparent proxy are methods defined
+            in Object: namely ToString(), GetHashCode(), and Equals()).
+            
+            These three methods are the only way to tell the real proxy to do something.
+            Equals() is the most suitable of all, since it accepts an arbitrary object parameter.
+            The RemotingProxy code is built so that if it is compared to an IRemotingProxyOperation,
+            transparentProxy.Equals(operation) will call operation.Process(realProxy).
+            This way we can retrieve a real proxy from transparent proxy and perform
+            arbitrary operation on it. 
+            </remarks>
         </member>
-        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.Callback``10(Rhino.Mocks.Delegates.Function{System.Boolean,``0,``1,``2,``3,``4,``5,``6,``7,``8,``9})">
+        <member name="T:Rhino.Mocks.Impl.RemotingMock.RemotingMockGenerator">
             <summary>
-            Set a callback method for the last call
+            Generates remoting proxies and provides utility functions
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.Do(System.Delegate)">
+        <member name="M:Rhino.Mocks.Impl.RemotingMock.RemotingMockGenerator.CreateRemotingMock(System.Type,Castle.Core.Interceptor.IInterceptor,Rhino.Mocks.Interfaces.IMockedObject)">
             <summary>
-            Set a delegate to be called when the expectation is matched.
-            The delegate return value will be returned from the expectation.
+             Create the proxy using remoting
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.Return(`0)">
+        <member name="M:Rhino.Mocks.Impl.RemotingMock.RemotingMockGenerator.IsRemotingProxy(System.Object)">
             <summary>
-            Set the return value for the method.
+            Check whether an object is a transparent proxy with a RemotingProxy behind it
             </summary>
-            <param name="objToReturn">The object the method will return</param>
-            <returns>IRepeat that defines how many times the method will return this value</returns>
+            <param name="obj">Object to check</param>
+            <returns>true if the object is a transparent proxy with a RemotingProxy instance behind it, false otherwise</returns>
+            <remarks>We use Equals() method to communicate with the real proxy behind the object.
+            See IRemotingProxyOperation for more details</remarks>
         </member>
-        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.TentativeReturn">
+        <member name="M:Rhino.Mocks.Impl.RemotingMock.RemotingMockGenerator.GetMockedObjectFromProxy(System.Object)">
             <summary>
-            Set the return value for the method, but allow to override this return value in the future
+            Retrieve a mocked object from a transparent proxy
             </summary>
-            <returns>IRepeat that defines how many times the method will return this value</returns>
+            <param name="proxy">Transparent proxy with a RemotingProxy instance behind it</param>
+            <returns>Mocked object associated with the proxy</returns>
+            <remarks>We use Equals() method to communicate with the real proxy behind the object.
+            See IRemotingProxyOperation for more details</remarks>
         </member>
-        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.Throw(System.Exception)">
+        <member name="T:Rhino.Mocks.Impl.RemotingMock.RemotingInvocation">
             <summary>
-            Throws the specified exception when the method is called.
+            Implementation of IInvocation based on remoting proxy
             </summary>
-            <param name="exception">Exception to throw</param>
+            <remarks>Some methods are marked NotSupported since they either don't make sense
+            for remoting proxies, or they are never called by Rhino Mocks</remarks>
         </member>
-        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.IgnoreArguments">
+        <member name="T:Rhino.Mocks.Impl.TextWriterExpectationLogger">
             <summary>
-            Ignores the arguments for this method. Any argument will be matched
-            againt this method.
+            Rudimetry implementation that simply logs methods calls as text.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.CallOriginalMethod">
+        <member name="M:Rhino.Mocks.Impl.TextWriterExpectationLogger.#ctor(System.IO.TextWriter)">
             <summary>
-            Call the original method on the class, bypassing the mocking layers.
+            Initializes a new instance of the <see cref="T:Rhino.Mocks.Impl.TextWriterExpectationLogger"/> class.
             </summary>
-            <returns></returns>
+            <param name="writer">The writer.</param>
         </member>
-        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.CallOriginalMethod(Rhino.Mocks.Interfaces.OriginalCallOptions)">
+        <member name="M:Rhino.Mocks.Impl.TextWriterExpectationLogger.LogRecordedExpectation(Castle.Core.Interceptor.IInvocation,Rhino.Mocks.Interfaces.IExpectation)">
             <summary>
-            Call the original method on the class, optionally bypassing the mocking layers
+            Logs the expectation as it was recorded
             </summary>
-            <returns></returns>
+            <param name="invocation">The invocation.</param>
+            <param name="expectation">The expectation.</param>
         </member>
-        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.PropertyBehavior">
+        <member name="M:Rhino.Mocks.Impl.TextWriterExpectationLogger.LogReplayedExpectation(Castle.Core.Interceptor.IInvocation,Rhino.Mocks.Interfaces.IExpectation)">
             <summary>
-            Use the property as a simple property, getting/setting the values without
-            causing mock expectations.
+            Logs the expectation as it was recorded
             </summary>
+            <param name="invocation">The invocation.</param>
+            <param name="expectation">The expectation.</param>
         </member>
-        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.GetEventRaiser">
+        <member name="M:Rhino.Mocks.Impl.TextWriterExpectationLogger.LogUnexpectedMethodCall(Castle.Core.Interceptor.IInvocation,System.String)">
             <summary>
-            Gets the event raiser for the last event
+            Logs the unexpected method call.
             </summary>
+            <param name="invocation">The invocation.</param>
+            <param name="message">The message.</param>
         </member>
-        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.OutRef(System.Object[])">
+        <member name="T:Rhino.Mocks.Impl.StubRecordMockState">
             <summary>
-            Set the parameter values for out and ref parameters.
-            This is done using zero based indexing, and _ignoring_ any non out/ref parameter.
+            Behave like a stub, all properties and events acts normally, methods calls
+            return default values by default (but can use expectations to set them up), etc.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.Twice">
+        <member name="T:Rhino.Mocks.Impl.RecordMockState">
             <summary>
-            Repeat the method twice.
+            Records all the expectations for a mock
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.Once">
+        <member name="T:Rhino.Mocks.Interfaces.IMockState">
             <summary>
-            Repeat the method once.
+            Different actions on this mock
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.AtLeastOnce">
+        <member name="M:Rhino.Mocks.Interfaces.IMockState.MethodCall(Castle.Core.Interceptor.IInvocation,System.Reflection.MethodInfo,System.Object[])">
             <summary>
-            Repeat the method at least once, then repeat as many time as it would like.
+            Add a method call for this state' mock.
             </summary>
+            <param name="invocation">The invocation for this method</param>
+            <param name="method">The method that was called</param>
+            <param name="args">The arguments this method was called with</param>
         </member>
-        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.Never">
+        <member name="M:Rhino.Mocks.Interfaces.IMockState.Verify">
             <summary>
-            This method must not appear in the replay state.
+            Verify that this mock expectations have passed.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.Message(System.String)">
+        <member name="M:Rhino.Mocks.Interfaces.IMockState.Replay">
             <summary>
-            Documentation message for the expectation
+            Verify that we can move to replay state and move 
+            to the reply state.
             </summary>
-            <param name="documentationMessage">Message</param>
         </member>
-        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.Any">
+        <member name="M:Rhino.Mocks.Interfaces.IMockState.BackToRecord">
             <summary>
-            Repeat the method any number of times.
+            Gets a mock state that match the original mock state of the object.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.Times(System.Int32,System.Int32)">
+        <member name="M:Rhino.Mocks.Interfaces.IMockState.GetLastMethodOptions``1">
             <summary>
-            Set the range to repeat an action.
+            Get the options for the last method call
             </summary>
-            <param name="min">Min.</param>
-            <param name="max">Max.</param>
         </member>
-        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.Times(System.Int32)">
+        <member name="M:Rhino.Mocks.Interfaces.IMockState.SetExceptionToThrowOnVerify(System.Exception)">
             <summary>
-            Set the amount of times to repeat an action.
+            Set the exception to throw when Verify is called.
+            This is used to report exception that may have happened but where caught in the code.
+            This way, they are reported anyway when Verify() is called.
             </summary>
         </member>
-        <member name="P:Rhino.Mocks.Impl.MethodOptions`1.Repeat">
+        <member name="M:Rhino.Mocks.Interfaces.IMockState.NotifyCallOnPropertyBehavior">
             <summary>
-            Better syntax to define repeats. 
+            This method is called to indicate that a property behavior call.
+            This is done so we generate good error message in the common case of people using
+            Stubbed properties with Return().
             </summary>
         </member>
-        <member name="T:Rhino.Mocks.Impl.MockedObjectsEquality">
+        <member name="P:Rhino.Mocks.Interfaces.IMockState.VerifyState">
             <summary>
-            This class will provide hash code for hashtables without needing
-            to call the GetHashCode() on the object, which may very well be mocked.
-            This class has no state so it is a singelton to avoid creating a lot of objects 
-            that does the exact same thing. See flyweight patterns.
+            Gets the matching verify state for this state
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Impl.MockedObjectsEquality.GetHashCode(System.Object)">
+        <member name="P:Rhino.Mocks.Interfaces.IMockState.LastMethodOptions">
             <summary>
-            Get the hash code for a proxy object without calling GetHashCode()
-            on the object.
+            Get the options for the last method call
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Impl.MockedObjectsEquality.Compare(System.Object,System.Object)">
+        <member name="M:Rhino.Mocks.Impl.RecordMockState.GetLastMethodOptions``1">
             <summary>
-            Compares two instances of mocked objects
+            Get the options for the last method call
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Impl.MockedObjectsEquality.Equals(System.Object,System.Object)">
+        <member name="M:Rhino.Mocks.Impl.RecordMockState.SetExceptionToThrowOnVerify(System.Exception)">
             <summary>
-            Compare two mocked objects
+            Set the exception to throw when Verify is called.
+            This is used to report exception that may have happened but where caught in the code.
+            This way, they are reported anyway when Verify() is called.
             </summary>
         </member>
-        <member name="P:Rhino.Mocks.Impl.MockedObjectsEquality.NextHashCode">
+        <member name="M:Rhino.Mocks.Impl.RecordMockState.NotifyCallOnPropertyBehavior">
             <summary>
-            The next hash code value for a mock object.
-            This is safe for multi threading.
+            This method is called to indicate that a property behavior call.
+            This is done so we generate good error message in the common case of people using
+            Stubbed properties with Return().
             </summary>
         </member>
-        <member name="P:Rhino.Mocks.Impl.MockedObjectsEquality.Instance">
+        <member name="M:Rhino.Mocks.Impl.RecordMockState.#ctor(Rhino.Mocks.Interfaces.IMockedObject,Rhino.Mocks.MockRepository)">
             <summary>
-            The sole instance of <see cref="T:Rhino.Mocks.Impl.MockedObjectsEquality"/>
+            Creates a new <see cref="T:Rhino.Mocks.Impl.RecordMockState"/> instance.
             </summary>
+            <param name="repository">Repository.</param>
+            <param name="mockedObject">The proxy that generates the method calls</param>
         </member>
-        <member name="T:Rhino.Mocks.Impl.NullLogger">
+        <member name="M:Rhino.Mocks.Impl.RecordMockState.MethodCall(Castle.Core.Interceptor.IInvocation,System.Reflection.MethodInfo,System.Object[])">
             <summary>
-            Doesn't log anything, just makes happy noises
+            Add a method call for this state' mock.
             </summary>
+            <param name="invocation">The invocation for this method</param>
+            <param name="method">The method that was called</param>
+            <param name="args">The arguments this method was called with</param>
         </member>
-        <member name="T:Rhino.Mocks.Interfaces.IExpectationLogger">
+        <member name="M:Rhino.Mocks.Impl.RecordMockState.Replay">
             <summary>
-            Log expectations - allows to see what is going on inside Rhino Mocks
+            Verify that we can move to replay state and move 
+            to the reply state.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IExpectationLogger.LogRecordedExpectation(Castle.Core.Interceptor.IInvocation,Rhino.Mocks.Interfaces.IExpectation)">
+        <member name="M:Rhino.Mocks.Impl.RecordMockState.DoReplay">
             <summary>
-            Logs the expectation as is was recorded
+            Verify that we can move to replay state and move 
+            to the reply state.
             </summary>
-            <param name="invocation">The invocation.</param>
-            <param name="expectation">The expectation.</param>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IExpectationLogger.LogReplayedExpectation(Castle.Core.Interceptor.IInvocation,Rhino.Mocks.Interfaces.IExpectation)">
+        <member name="M:Rhino.Mocks.Impl.RecordMockState.Verify">
             <summary>
-            Logs the expectation as it was recorded
+            Verify that this mock expectations have passed.
             </summary>
-            <param name="invocation">The invocation.</param>
-            <param name="expectation">The expectation.</param>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IExpectationLogger.LogUnexpectedMethodCall(Castle.Core.Interceptor.IInvocation,System.String)">
+        <member name="M:Rhino.Mocks.Impl.RecordMockState.BackToRecord">
             <summary>
-            Logs the unexpected method call.
+            Gets a mock state that match the original mock state of the object.
             </summary>
-            <param name="invocation">The invocation.</param>
-            <param name="message">The message.</param>
         </member>
-        <member name="M:Rhino.Mocks.Impl.NullLogger.LogRecordedExpectation(Castle.Core.Interceptor.IInvocation,Rhino.Mocks.Interfaces.IExpectation)">
+        <member name="M:Rhino.Mocks.Impl.RecordMockState.AssertPreviousMethodIsClose">
             <summary>
-            Logs the expectation as is was recorded
+            Asserts the previous method is closed (had an expectation set on it so we can replay it correctly)
             </summary>
-            <param name="invocation">The invocation.</param>
-            <param name="expectation">The expectation.</param>
         </member>
-        <member name="M:Rhino.Mocks.Impl.NullLogger.LogReplayedExpectation(Castle.Core.Interceptor.IInvocation,Rhino.Mocks.Interfaces.IExpectation)">
+        <member name="M:Rhino.Mocks.Impl.RecordMockState.GetDefaultCallCountRangeExpectation">
             <summary>
-            Logs the expectation as it was recorded
+            Get the default call count range expectation
             </summary>
-            <param name="invocation">The invocation.</param>
-            <param name="expectation">The expectation.</param>
+            <returns></returns>
         </member>
-        <member name="M:Rhino.Mocks.Impl.NullLogger.LogUnexpectedMethodCall(Castle.Core.Interceptor.IInvocation,System.String)">
+        <member name="P:Rhino.Mocks.Impl.RecordMockState.LastExpectation">
             <summary>
-            Logs the unexpected method call.
+            Gets the last expectation.
             </summary>
-            <param name="invocation">The invocation.</param>
-            <param name="message">The message.</param>
         </member>
-        <member name="T:Rhino.Mocks.Impl.ProxyInstance">
+        <member name="P:Rhino.Mocks.Impl.RecordMockState.MethodCallsCount">
             <summary>
-            This is a dummy type that is used merely to give DynamicProxy the proxy instance that
-            it needs to create IProxy's types.
+            Gets the total method calls count.
             </summary>
         </member>
-        <member name="T:Rhino.Mocks.Interfaces.IMockedObject">
+        <member name="P:Rhino.Mocks.Impl.RecordMockState.LastMethodOptions">
             <summary>
-            Interface to find the repository of a mocked object
+            Get the options for the last method call
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IMockedObject.ShouldCallOriginal(System.Reflection.MethodInfo)">
+        <member name="P:Rhino.Mocks.Impl.RecordMockState.VerifyState">
             <summary>
-            Return true if it should call the original method on the object
-            instead of pass it to the message chain.
+            Gets the matching verify state for this state
             </summary>
-            <param name="method">The method to call</param>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IMockedObject.RegisterMethodForCallingOriginal(System.Reflection.MethodInfo)">
+        <member name="M:Rhino.Mocks.Impl.StubRecordMockState.#ctor(Rhino.Mocks.Interfaces.IMockedObject,Rhino.Mocks.MockRepository)">
             <summary>
-            Register a method to be called on the object directly
+            Initializes a new instance of the <see cref="T:Rhino.Mocks.Impl.StubRecordMockState"/> class.
             </summary>
+            <param name="mockedObject">The proxy that generates the method calls</param>
+            <param name="repository">Repository.</param>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IMockedObject.RegisterPropertyBehaviorFor(System.Reflection.PropertyInfo)">
+        <member name="M:Rhino.Mocks.Impl.StubRecordMockState.AssertPreviousMethodIsClose">
             <summary>
-            Register a property on the object that will behave as a simple property
+            We don't care much about expectations here, so we will remove the expectation if
+            it is not closed.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IMockedObject.IsPropertyMethod(System.Reflection.MethodInfo)">
+        <member name="M:Rhino.Mocks.Impl.StubRecordMockState.Replay">
             <summary>
-            Check if the method was registered as a property method.
+            Verify that we can move to replay state and move
+            to the reply state.
             </summary>
+            <returns></returns>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IMockedObject.HandleProperty(System.Reflection.MethodInfo,System.Object[])">
+        <member name="M:Rhino.Mocks.Impl.StubRecordMockState.GetDefaultCallCountRangeExpectation">
             <summary>
-            Do get/set on the property, according to need.
+            Get the default call count range expectation
             </summary>
+            <returns></returns>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IMockedObject.HandleEvent(System.Reflection.MethodInfo,System.Object[])">
+        <member name="T:Rhino.Mocks.Impl.StubReplayMockState">
             <summary>
-            Do add/remove on the event
+            Validate expectations on recorded methods, but in general completely ignoring them.
+            Similar to <seealso cref="T:Rhino.Mocks.Impl.ReplayDynamicMockState"/> except that it would return a 
+            <seealso cref="T:Rhino.Mocks.Impl.StubRecordMockState"/> when BackToRecord is called.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IMockedObject.GetEventSubscribers(System.String)">
+        <member name="T:Rhino.Mocks.Impl.ReplayMockState">
             <summary>
-            Get the subscribers of a spesific event
+            Validate all expectations on a mock
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IMockedObject.GetDeclaringType(System.Reflection.MethodInfo)">
+        <member name="F:Rhino.Mocks.Impl.ReplayMockState.repository">
             <summary>
-            Gets the declaring type of the method, taking into acccount the possible generic 
-            parameters that it was created with.
+            The repository for this state
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IMockedObject.ClearState(Rhino.Mocks.BackToRecordOptions)">
+        <member name="F:Rhino.Mocks.Impl.ReplayMockState.proxy">
             <summary>
-            Clears the state of the object, remove original calls, property behavior, subscribed events, etc.
+            The proxy object for this state
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IMockedObject.GetCallArgumentsFor(System.Reflection.MethodInfo)">
+        <member name="M:Rhino.Mocks.Impl.ReplayMockState.GetLastMethodOptions``1">
             <summary>
-            Get all the method calls arguments that were made against this object with the specificed 
-            method.
+            Get the options for the last method call
             </summary>
-            <remarks>
-            Only method calls in replay mode are counted
-            </remarks>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IMockedObject.MethodCall(System.Reflection.MethodInfo,System.Object[])">
+        <member name="M:Rhino.Mocks.Impl.ReplayMockState.#ctor(Rhino.Mocks.Impl.RecordMockState)">
             <summary>
-            Records the method call
+            Creates a new <see cref="T:Rhino.Mocks.Impl.ReplayMockState"/> instance.
             </summary>
+            <param name="previousState">The previous state for this method</param>
         </member>
-        <member name="P:Rhino.Mocks.Interfaces.IMockedObject.ProxyHash">
+        <member name="M:Rhino.Mocks.Impl.ReplayMockState.MethodCall(Castle.Core.Interceptor.IInvocation,System.Reflection.MethodInfo,System.Object[])">
             <summary>
-            The unique hash code of this mock, which is not related
-            to the value of the GetHashCode() call on the object.
+            Add a method call for this state' mock.
             </summary>
+            <param name="invocation">The invocation for this method</param>
+            <param name="method">The method that was called</param>
+            <param name="args">The arguments this method was called with</param>
         </member>
-        <member name="P:Rhino.Mocks.Interfaces.IMockedObject.Repository">
+        <member name="M:Rhino.Mocks.Impl.ReplayMockState.DoMethodCall(Castle.Core.Interceptor.IInvocation,System.Reflection.MethodInfo,System.Object[])">
             <summary>
-            Gets the repository.
+            Add a method call for this state' mock.
+            This allows derived method to cleanly get a the setupresult behavior while adding
+            their own.
             </summary>
+            <param name="invocation">The invocation for this method</param>
+            <param name="method">The method that was called</param>
+            <param name="args">The arguments this method was called with</param>
         </member>
-        <member name="P:Rhino.Mocks.Interfaces.IMockedObject.ImplementedTypes">
+        <member name="M:Rhino.Mocks.Impl.ReplayMockState.SetExceptionToThrowOnVerify(System.Exception)">
             <summary>
-            Gets the implemented types by this mocked object
+            Set the exception to throw when Verify is called.
+            This is used to report exception that may have happened but where caught in the code.
+            This way, they are reported anyway when Verify() is called.
             </summary>
-            <value>The implemented.</value>
         </member>
-        <member name="P:Rhino.Mocks.Interfaces.IMockedObject.ConstructorArguments">
+        <member name="M:Rhino.Mocks.Impl.ReplayMockState.NotifyCallOnPropertyBehavior">
             <summary>
-            Gets or sets the constructor arguments.
+            not relevant
             </summary>
-            <value>The constructor arguments.</value>
         </member>
-        <member name="M:Rhino.Mocks.Impl.ProxyInstance.#ctor(Rhino.Mocks.MockRepository,System.Type[])">
+        <member name="M:Rhino.Mocks.Impl.ReplayMockState.Verify">
             <summary>
-            Create a new instance of <see cref="T:Rhino.Mocks.Impl.ProxyInstance"/>
+            Verify that this mock expectations have passed.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Impl.ProxyInstance.ShouldCallOriginal(System.Reflection.MethodInfo)">
+        <member name="M:Rhino.Mocks.Impl.ReplayMockState.Replay">
             <summary>
-            Return true if it should call the original method on the object
-            instead of pass it to the message chain.
+            Verify that we can move to replay state and move 
+            to the reply state.
             </summary>
-            <param name="method">The method to call</param>
         </member>
-        <member name="M:Rhino.Mocks.Impl.ProxyInstance.RegisterMethodForCallingOriginal(System.Reflection.MethodInfo)">
+        <member name="M:Rhino.Mocks.Impl.ReplayMockState.BackToRecord">
             <summary>
-            Register a method to be called on the object directly
+            Gets a mock state that match the original mock state of the object.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Impl.ProxyInstance.RegisterPropertyBehaviorFor(System.Reflection.PropertyInfo)">
+        <member name="P:Rhino.Mocks.Impl.ReplayMockState.LastMethodOptions">
             <summary>
-            Register a property on the object that will behave as a simple property
+            Get the options for the last method call
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Impl.ProxyInstance.IsPropertyMethod(System.Reflection.MethodInfo)">
+        <member name="P:Rhino.Mocks.Impl.ReplayMockState.VerifyState">
             <summary>
-            Check if the method was registered as a property method.
+            Gets the matching verify state for this state
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Impl.ProxyInstance.HandleProperty(System.Reflection.MethodInfo,System.Object[])">
+        <member name="M:Rhino.Mocks.Impl.StubReplayMockState.#ctor(Rhino.Mocks.Impl.RecordMockState)">
             <summary>
-            Do get/set on the property, according to need.
+            Initializes a new instance of the <see cref="T:Rhino.Mocks.Impl.StubReplayMockState"/> class.
             </summary>
+            <param name="previousState">The previous state for this method</param>
         </member>
-        <member name="M:Rhino.Mocks.Impl.ProxyInstance.HandleEvent(System.Reflection.MethodInfo,System.Object[])">
+        <member name="M:Rhino.Mocks.Impl.StubReplayMockState.DoMethodCall(Castle.Core.Interceptor.IInvocation,System.Reflection.MethodInfo,System.Object[])">
             <summary>
-            Do add/remove on the event
+            Add a method call for this state' mock.
             </summary>
+            <param name="invocation">The invocation for this method</param>
+            <param name="method">The method that was called</param>
+            <param name="args">The arguments this method was called with</param>
         </member>
-        <member name="M:Rhino.Mocks.Impl.ProxyInstance.GetEventSubscribers(System.String)">
+        <member name="M:Rhino.Mocks.Impl.StubReplayMockState.BackToRecord">
             <summary>
-            Get the subscribers of a spesific event
+            Gets a mock state that matches the original mock state of the object.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Impl.ProxyInstance.GetDeclaringType(System.Reflection.MethodInfo)">
+        <member name="T:Rhino.Mocks.Impl.TraceWriterExpectationLogger">
             <summary>
-            Gets the declaring type of the method, taking into acccount the possible generic 
-            parameters that it was created with.
+            Write rhino mocks log info to the trace
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Impl.ProxyInstance.GetCallArgumentsFor(System.Reflection.MethodInfo)">
+        <member name="M:Rhino.Mocks.Impl.TraceWriterExpectationLogger.#ctor">
             <summary>
-            Get all the method calls arguments that were made against this object with the specificed
-            method.
+            Initializes a new instance of the <see cref="T:Rhino.Mocks.Impl.TraceWriterExpectationLogger"/> class.
             </summary>
-            <param name="method"></param>
-            <returns></returns>
-            <remarks>
-            Only method calls in replay mode are counted
-            </remarks>
         </member>
-        <member name="M:Rhino.Mocks.Impl.ProxyInstance.MethodCall(System.Reflection.MethodInfo,System.Object[])">
+        <member name="M:Rhino.Mocks.Impl.TraceWriterExpectationLogger.#ctor(System.Boolean,System.Boolean,System.Boolean)">
             <summary>
-            Records the method call
+            Initializes a new instance of the <see cref="T:Rhino.Mocks.Impl.TraceWriterExpectationLogger"/> class.
             </summary>
-            <param name="method"></param>
-            <param name="args"></param>
+            <param name="logRecorded">if set to <c>true</c> [log recorded].</param>
+            <param name="logReplayed">if set to <c>true</c> [log replayed].</param>
+            <param name="logUnexpected">if set to <c>true</c> [log unexpected].</param>
         </member>
-        <member name="M:Rhino.Mocks.Impl.ProxyInstance.ClearState(Rhino.Mocks.BackToRecordOptions)">
+        <member name="M:Rhino.Mocks.Impl.TraceWriterExpectationLogger.LogRecordedExpectation(Castle.Core.Interceptor.IInvocation,Rhino.Mocks.Interfaces.IExpectation)">
             <summary>
-            Clears the state of the object, remove original calls, property behavior, subscribed events, etc.
+            Logs the expectation as is was recorded
             </summary>
+            <param name="invocation">The invocation.</param>
+            <param name="expectation">The expectation.</param>
         </member>
-        <member name="P:Rhino.Mocks.Impl.ProxyInstance.ProxyHash">
+        <member name="M:Rhino.Mocks.Impl.TraceWriterExpectationLogger.LogReplayedExpectation(Castle.Core.Interceptor.IInvocation,Rhino.Mocks.Interfaces.IExpectation)">
             <summary>
-            The unique hash code of this proxy, which is not related
-            to the value of the GetHashCode() call on the object.
+            Logs the expectation as it was recorded
             </summary>
+            <param name="invocation">The invocation.</param>
+            <param name="expectation">The expectation.</param>
         </member>
-        <member name="P:Rhino.Mocks.Impl.ProxyInstance.Repository">
+        <member name="M:Rhino.Mocks.Impl.TraceWriterExpectationLogger.LogUnexpectedMethodCall(Castle.Core.Interceptor.IInvocation,System.String)">
             <summary>
-            Gets the repository.
+            Logs the unexpected method call.
             </summary>
+            <param name="invocation">The invocation.</param>
+            <param name="message">The message.</param>
         </member>
-        <member name="P:Rhino.Mocks.Impl.ProxyInstance.ConstructorArguments">
+        <member name="T:Rhino.Mocks.Impl.TraceWriterWithStackTraceExpectationWriter">
             <summary>
-            Gets or sets the constructor arguments.
+            Writes log information as stack traces about rhino mocks activity
             </summary>
-            <value>The constructor arguments.</value>
         </member>
-        <member name="P:Rhino.Mocks.Impl.ProxyInstance.ImplementedTypes">
+        <member name="F:Rhino.Mocks.Impl.TraceWriterWithStackTraceExpectationWriter.AlternativeWriter">
             <summary>
-            Gets the implemented types by this mocked object
+            Allows to redirect output to a different location.
             </summary>
-            <value>The implemented.</value>
         </member>
-        <member name="T:Rhino.Mocks.Impl.Range">
+        <member name="M:Rhino.Mocks.Impl.TraceWriterWithStackTraceExpectationWriter.LogRecordedExpectation(Castle.Core.Interceptor.IInvocation,Rhino.Mocks.Interfaces.IExpectation)">
             <summary>
-            Range for expected method calls
+            Logs the expectation as is was recorded
             </summary>
+            <param name="invocation">The invocation.</param>
+            <param name="expectation">The expectation.</param>
         </member>
-        <member name="M:Rhino.Mocks.Impl.Range.#ctor(System.Int32,System.Int32)">
+        <member name="M:Rhino.Mocks.Impl.TraceWriterWithStackTraceExpectationWriter.LogReplayedExpectation(Castle.Core.Interceptor.IInvocation,Rhino.Mocks.Interfaces.IExpectation)">
             <summary>
-            Creates a new <see cref="T:Rhino.Mocks.Impl.Range"/> instance.
+            Logs the expectation as it was recorded
             </summary>
-            <param name="min">Min.</param>
-            <param name="max">Max.</param>
+            <param name="invocation">The invocation.</param>
+            <param name="expectation">The expectation.</param>
         </member>
-        <member name="M:Rhino.Mocks.Impl.Range.ToString">
+        <member name="M:Rhino.Mocks.Impl.TraceWriterWithStackTraceExpectationWriter.LogUnexpectedMethodCall(Castle.Core.Interceptor.IInvocation,System.String)">
             <summary>
-            Return the string representation of this range.
+            Logs the unexpected method call.
             </summary>
+            <param name="invocation">The invocation.</param>
+            <param name="message">The message.</param>
         </member>
-        <member name="P:Rhino.Mocks.Impl.Range.Min">
+        <member name="T:Rhino.Mocks.Interfaces.IPartialMockMarker">
             <summary>
-            Gets or sets the min.
+            Marker interface used to indicate that this is a partial mock.
             </summary>
-            <value></value>
         </member>
-        <member name="P:Rhino.Mocks.Impl.Range.Max">
+        <member name="T:Rhino.Mocks.Interfaces.OriginalCallOptions">
             <summary>
-            Gets or sets the max.
+            Options for CallOriginalMethod
             </summary>
-            <value></value>
         </member>
-        <member name="T:Rhino.Mocks.Impl.RecordDynamicMockState">
+        <member name="F:Rhino.Mocks.Interfaces.OriginalCallOptions.NoExpectation">
             <summary>
-            Records all the expectations for a mock and
-            return a ReplayDynamicMockState when Replay()
-            is called.
+            No expectation is created, the method will be called directly
             </summary>
         </member>
-        <member name="T:Rhino.Mocks.Impl.RecordMockState">
+        <member name="F:Rhino.Mocks.Interfaces.OriginalCallOptions.CreateExpectation">
             <summary>
-            Records all the expectations for a mock
+            Normal expectation is created, but when the method is later called, it will also call the original method
             </summary>
         </member>
-        <member name="T:Rhino.Mocks.Interfaces.IMockState">
+        <member name="T:Rhino.Mocks.MethodInvocation">
             <summary>
-            Different actions on this mock
+            This is a data structure that is used by 
+            <seealso cref="M:Rhino.Mocks.Interfaces.IMethodOptions`1.WhenCalled(System.Action{Rhino.Mocks.MethodInvocation})"/> to pass
+            the current method to the relevant delegate
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IMockState.MethodCall(Castle.Core.Interceptor.IInvocation,System.Reflection.MethodInfo,System.Object[])">
+        <member name="M:Rhino.Mocks.MethodInvocation.#ctor(Castle.Core.Interceptor.IInvocation)">
             <summary>
-            Add a method call for this state' mock.
+            Initializes a new instance of the <see cref="T:Rhino.Mocks.MethodInvocation"/> class.
             </summary>
-            <param name="invocation">The invocation for this method</param>
-            <param name="method">The method that was called</param>
-            <param name="args">The arguments this method was called with</param>
+            <param name="invocation">The invocation.</param>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IMockState.Verify">
+        <member name="P:Rhino.Mocks.MethodInvocation.Arguments">
             <summary>
-            Verify that this mock expectations have passed.
+            Gets the args for this method invocation
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IMockState.Replay">
+        <member name="P:Rhino.Mocks.MethodInvocation.Method">
             <summary>
-            Verify that we can move to replay state and move 
-            to the reply state.
+            Get the method that was caused this invocation
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IMockState.BackToRecord">
+        <member name="P:Rhino.Mocks.MethodInvocation.ReturnValue">
             <summary>
-            Gets a mock state that match the original mock state of the object.
+            Gets or sets the return value for this method invocation
             </summary>
+            <value>The return value.</value>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IMockState.GetLastMethodOptions``1">
+        <member name="T:Rhino.Mocks.MockRepository">
             <summary>
-            Get the options for the last method call
+             Adds optional new usage:
+               using(mockRepository.Record()) {
+                  Expect.Call(mock.Method()).Return(retVal);
+               }
+               using(mockRepository.Playback()) {
+                  // Execute code
+               }
+             N.B. mockRepository.ReplayAll() and mockRepository.VerifyAll()
+                  calls are taken care of by Record/Playback
             </summary>
-        </member>
-        <member name="M:Rhino.Mocks.Interfaces.IMockState.SetExceptionToThrowOnVerify(System.Exception)">
             <summary>
-            Set the exception to throw when Verify is called.
-            This is used to report exception that may have happened but where caught in the code.
-            This way, they are reported anyway when Verify() is called.
+            Creates proxied instances of types.
             </summary>
         </member>
-        <member name="P:Rhino.Mocks.Interfaces.IMockState.VerifyState">
-            <summary>
-            Gets the matching verify state for this state
-            </summary>
+        <member name="M:Rhino.Mocks.MockRepository.GenerateStub``1(System.Object[])">
+            <summary>Generates a stub without needing a <see cref="T:Rhino.Mocks.MockRepository"/></summary>
+            <param name="argumentsForConstructor">Arguments for <typeparamref name="T"/>'s constructor</param>
+            <typeparam name="T">The <see cref="T:System.Type"/> of stub to create.</typeparam>
+            <returns>The stub</returns>
+            <seealso cref="M:Rhino.Mocks.MockRepository.Stub``1(System.Object[])"/>
         </member>
-        <member name="P:Rhino.Mocks.Interfaces.IMockState.LastMethodOptions">
-            <summary>
-            Get the options for the last method call
-            </summary>
+        <member name="M:Rhino.Mocks.MockRepository.GenerateStub(System.Type,System.Object[])">
+            <summary>Generates a stub without needing a <see cref="T:Rhino.Mocks.MockRepository"/></summary>
+            <param name="type">The <see cref="T:System.Type"/> of stub.</param>
+            <param name="argumentsForConstructor">Arguments for the <paramref name="type"/>'s constructor.</param>
+            <returns>The stub</returns>
+            <seealso cref="M:Rhino.Mocks.MockRepository.Stub(System.Type,System.Object[])"/>
+        </member>
+        <member name="M:Rhino.Mocks.MockRepository.GenerateMock``1(System.Object[])">
+            <summary>Generate a mock object without needing a <see cref="T:Rhino.Mocks.MockRepository"/></summary>
+            <typeparam name="T">type <see cref="T:System.Type"/> of mock object to create.</typeparam>
+            <param name="argumentsForConstructor">Arguments for <typeparamref name="T"/>'s constructor</param>
+            <returns>the mock object</returns>
+            <seealso cref="M:Rhino.Mocks.MockRepository.DynamicMock``1(System.Object[])"/>
+        </member>
+        <member name="M:Rhino.Mocks.MockRepository.GenerateMock``2(System.Object[])">
+            <summary>Generate a multi-mock object without needing a <see cref="T:Rhino.Mocks.MockRepository"/></summary>
+            <typeparam name="T">The <c>typeof</c> object to generate a mock for.</typeparam>
+            <typeparam name="TMultiMockInterface1">A second interface to generate a multi-mock for.</typeparam>
+            <param name="argumentsForConstructor">Arguments for <typeparamref name="T"/>'s constructor</param>
+            <returns>the multi-mock object</returns>
+            <seealso cref="M:Rhino.Mocks.MockRepository.DynamicMultiMock(System.Type,System.Type[],System.Object[])"/>
+        </member>
+        <member name="M:Rhino.Mocks.MockRepository.GenerateMock``3(System.Object[])">
+            <summary>Generate a multi-mock object without without needing a <see cref="T:Rhino.Mocks.MockRepository"/></summary>
+            <typeparam name="T">The <c>typeof</c> object to generate a mock for.</typeparam>
+            <typeparam name="TMultiMockInterface1">An interface to generate a multi-mock for.</typeparam>
+            <typeparam name="TMultiMockInterface2">A second interface to generate a multi-mock for.</typeparam>
+            <param name="argumentsForConstructor">Arguments for <typeparamref name="T"/>'s constructor</param>
+            <returns>the multi-mock object</returns>
+            <seealso cref="M:Rhino.Mocks.MockRepository.DynamicMultiMock(System.Type,System.Type[],System.Object[])"/>
+        </member>
+        <member name="M:Rhino.Mocks.MockRepository.GenerateMock(System.Type,System.Type[],System.Object[])">
+            <summary>Creates a multi-mock without without needing a <see cref="T:Rhino.Mocks.MockRepository"/></summary>
+            <param name="type">The type of mock to create, this can be a class</param>
+            <param name="extraTypes">Any extra interfaces to add to the multi-mock, these can only be interfaces.</param>
+            <param name="argumentsForConstructor">Arguments for <paramref name="type"/>'s constructor</param>
+            <returns>the multi-mock object</returns>
+            <seealso cref="M:Rhino.Mocks.MockRepository.DynamicMultiMock(System.Type,System.Type[],System.Object[])"/>
+        </member>
+        <member name="M:Rhino.Mocks.MockRepository.GenerateStrictMock``1(System.Object[])">
+            <summary>Creates a strict mock without without needing a <see cref="T:Rhino.Mocks.MockRepository"/></summary>
+            <param name="argumentsForConstructor">Any arguments required for the <typeparamref name="T"/>'s constructor</param>
+            <typeparam name="T">The type of mock object to create.</typeparam>
+            <returns>The mock object with strict replay semantics</returns>
+             <seealso cref="M:Rhino.Mocks.MockRepository.StrictMock``1(System.Object[])"/>
+        </member>
+        <member name="M:Rhino.Mocks.MockRepository.GenerateStrictMock``2(System.Object[])">
+            <summary>Creates a strict multi-mock without needing a <see cref="T:Rhino.Mocks.MockRepository"/></summary>
+            <param name="argumentsForConstructor">Any arguments required for the <typeparamref name="T"/>'s constructor</param>
+            <typeparam name="T">The type of mock object to create, this can be a class.</typeparam>
+            <typeparam name="TMultiMockInterface1">An interface to generate a multi-mock for, this must be an interface!</typeparam>
+            <returns>The multi-mock object with strict replay semantics</returns>
+             <seealso cref="M:Rhino.Mocks.MockRepository.StrictMultiMock(System.Type,System.Type[],System.Object[])"/>
+        </member>
+        <member name="M:Rhino.Mocks.MockRepository.GenerateStrictMock``3(System.Object[])">
+            <summary>Creates a strict multi-mock without needing a <see cref="T:Rhino.Mocks.MockRepository"/></summary>
+            <param name="argumentsForConstructor">Any arguments required for the <typeparamref name="T"/>'s constructor</param>
+            <typeparam name="T">The type of mock object to create, this can be a class.</typeparam>
+            <typeparam name="TMultiMockInterface1">An interface to generate a multi-mock for, this must be an interface!</typeparam>
+            <typeparam name="TMultiMockInterface2">A second interface to generate a multi-mock for, this must be an interface!</typeparam>
+            <returns>The multi-mock object with strict replay semantics</returns>
+            <seealso cref="M:Rhino.Mocks.MockRepository.StrictMultiMock(System.Type,System.Type[],System.Object[])"/>
+        </member>
+        <member name="M:Rhino.Mocks.MockRepository.GenerateStrictMock(System.Type,System.Type[],System.Object[])">
+            <summary>Creates a strict multi-mock without needing a <see cref="T:Rhino.Mocks.MockRepository"/></summary>
+            <param name="type">The type of mock object to create, this can be a class</param>
+            <param name="extraTypes">Any extra interfaces to generate a multi-mock for, these must be interaces!</param>
+            <param name="argumentsForConstructor">Any arguments for the <paramref name="type"/>'s constructor</param>
+            <returns>The strict multi-mock object</returns>
+             <seealso cref="M:Rhino.Mocks.MockRepository.StrictMultiMock(System.Type,System.Type[],System.Object[])"/>
+        </member>
+        <member name="M:Rhino.Mocks.MockRepository.GeneratePartialMock``1(System.Object[])">
+            <summary>
+            </summary>
+            <param name="argumentsForConstructor"></param>
+            <typeparam name="T"></typeparam>
+            <returns></returns>
         </member>
-        <member name="M:Rhino.Mocks.Impl.RecordMockState.GetLastMethodOptions``1">
+        <member name="M:Rhino.Mocks.MockRepository.GeneratePartialMock``2(System.Object[])">
             <summary>
-            Get the options for the last method call
             </summary>
+            <param name="argumentsForConstructor"></param>
+            <typeparam name="T"></typeparam>
+            <typeparam name="TMultiMockInterface1"></typeparam>
+            <returns></returns>
         </member>
-        <member name="M:Rhino.Mocks.Impl.RecordMockState.SetExceptionToThrowOnVerify(System.Exception)">
+        <member name="M:Rhino.Mocks.MockRepository.GeneratePartialMock``3(System.Object[])">
             <summary>
-            Set the exception to throw when Verify is called.
-            This is used to report exception that may have happened but where caught in the code.
-            This way, they are reported anyway when Verify() is called.
             </summary>
+            <param name="argumentsForConstructor"></param>
+            <typeparam name="T"></typeparam>
+            <typeparam name="TMultiMockInterface1"></typeparam>
+            <typeparam name="TMultiMockInterface2"></typeparam>
+            <returns></returns>
         </member>
-        <member name="M:Rhino.Mocks.Impl.RecordMockState.#ctor(Rhino.Mocks.Interfaces.IMockedObject,Rhino.Mocks.MockRepository)">
+        <member name="M:Rhino.Mocks.MockRepository.GeneratePartialMock(System.Type,System.Type[],System.Object[])">
             <summary>
-            Creates a new <see cref="T:Rhino.Mocks.Impl.RecordMockState"/> instance.
             </summary>
-            <param name="repository">Repository.</param>
-            <param name="mockedObject">The proxy that generates the method calls</param>
+            <param name="type"></param>
+            <param name="extraTypes"></param>
+            <param name="argumentsForConstructor"></param>
+            <returns></returns>
         </member>
-        <member name="M:Rhino.Mocks.Impl.RecordMockState.MethodCall(Castle.Core.Interceptor.IInvocation,System.Reflection.MethodInfo,System.Object[])">
+        <member name="M:Rhino.Mocks.MockRepository.GenerateDynamicMockWithRemoting``1(System.Object[])">
             <summary>
-            Add a method call for this state' mock.
+            Generate a mock object with dynamic replay semantics and remoting without needing the mock repository
             </summary>
-            <param name="invocation">The invocation for this method</param>
-            <param name="method">The method that was called</param>
-            <param name="args">The arguments this method was called with</param>
         </member>
-        <member name="M:Rhino.Mocks.Impl.RecordMockState.Replay">
+        <member name="M:Rhino.Mocks.MockRepository.GenerateStrictMockWithRemoting``1(System.Object[])">
             <summary>
-            Verify that we can move to replay state and move 
-            to the reply state.
+            Generate a mock object with strict replay semantics and remoting without needing the mock repository
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Impl.RecordMockState.DoReplay">
-            <summary>
-            Verify that we can move to replay state and move 
-            to the reply state.
-            </summary>
+        <member name="M:Rhino.Mocks.MockRepository.CreateMockInReplay``1(System.Func{Rhino.Mocks.MockRepository,``0})">
+            <summary>Helper method to create a mock object without a repository instance and put the object back into replay mode.</summary>
+            <typeparam name="T">The type of mock object to create</typeparam>
+            <param name="createMock">A delegate that uses a mock repository instance to create the underlying mock</param>
+            <returns>The mock object in the replay mode.</returns>
         </member>
-        <member name="M:Rhino.Mocks.Impl.RecordMockState.Verify">
+        <member name="M:Rhino.Mocks.MockRepository.Record">
             <summary>
-            Verify that this mock expectations have passed.
             </summary>
+            <returns></returns>
         </member>
-        <member name="M:Rhino.Mocks.Impl.RecordMockState.BackToRecord">
+        <member name="M:Rhino.Mocks.MockRepository.Playback">
             <summary>
-            Gets a mock state that match the original mock state of the object.
             </summary>
+            <returns></returns>
         </member>
-        <member name="M:Rhino.Mocks.Impl.RecordMockState.AssertPreviousMethodIsClose">
+        <member name="F:Rhino.Mocks.MockRepository.generatorMap">
             <summary>
-            Asserts the previous method is closed (had an expectation set on it so we can replay it correctly)
+            This is a map of types to ProxyGenerators.
             </summary>
         </member>
-        <member name="P:Rhino.Mocks.Impl.RecordMockState.LastExpectation">
+        <member name="F:Rhino.Mocks.MockRepository.lastRepository">
             <summary>
-            Gets the last expectation.
+            This is used to record the last repository that has a method called on it.
             </summary>
         </member>
-        <member name="P:Rhino.Mocks.Impl.RecordMockState.MethodCallsCount">
+        <member name="F:Rhino.Mocks.MockRepository.lastMockedObject">
             <summary>
-            Gets the total method calls count.
+            this is used to get to the last proxy on this repository.
             </summary>
         </member>
-        <member name="P:Rhino.Mocks.Impl.RecordMockState.LastMethodOptions">
+        <member name="F:Rhino.Mocks.MockRepository.delegateProxies">
             <summary>
-            Get the options for the last method call
+            For mock delegates, maps the proxy instance from intercepted invocations
+            back to the delegate that was originally returned to client code, if any.
             </summary>
         </member>
-        <member name="P:Rhino.Mocks.Impl.RecordMockState.VerifyState">
+        <member name="F:Rhino.Mocks.MockRepository.proxies">
             <summary>
-            Gets the matching verify state for this state
+            All the proxies in the mock repositories
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Impl.RecordDynamicMockState.#ctor(Rhino.Mocks.Interfaces.IMockedObject,Rhino.Mocks.MockRepository)">
+        <member name="F:Rhino.Mocks.MockRepository.repeatableMethods">
             <summary>
-            Creates a new <see cref="T:Rhino.Mocks.Impl.RecordDynamicMockState"/> instance.
+            This is here because we can't put it in any of the recorders, since repeatable methods
+            have no orderring, and if we try to handle them using the usual manner, we would get into
+            wierd situations where repeatable method that was defined in an orderring block doesn't
+            exists until we enter this block.
             </summary>
-            <param name="repository">Repository.</param>
-            <param name="mockedObject">The proxy that generates the method calls</param>
         </member>
-        <member name="M:Rhino.Mocks.Impl.RecordDynamicMockState.DoReplay">
+        <member name="M:Rhino.Mocks.MockRepository.#ctor">
             <summary>
-            Verify that we can move to replay state and move 
-            to the reply state.
+            Creates a new <see cref="T:Rhino.Mocks.MockRepository"/> instance.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Impl.RecordDynamicMockState.BackToRecord">
+        <member name="M:Rhino.Mocks.MockRepository.Ordered">
             <summary>
-            Gets a mock state that match the original mock state of the object.
+            Move the repository to ordered mode
             </summary>
         </member>
-        <member name="T:Rhino.Mocks.Impl.RecordPartialMockState">
+        <member name="M:Rhino.Mocks.MockRepository.Unordered">
             <summary>
-            Records all the expectations for a mock and
-            return a ReplayPartialMockState when Replay()
-            is called.
+            Move the repository to un-ordered mode
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Impl.RecordPartialMockState.#ctor(Rhino.Mocks.Interfaces.IMockedObject,Rhino.Mocks.MockRepository)">
+        <member name="M:Rhino.Mocks.MockRepository.CreateMock(System.Type,System.Object[])">
             <summary>
-            Creates a new <see cref="T:Rhino.Mocks.Impl.RecordDynamicMockState"/> instance.
+            Creates a mock for the specified type.
             </summary>
-            <param name="repository">Repository.</param>
-            <param name="mockedObject">The proxy that generates the method calls</param>
+            <param name="type">Type.</param>
+            <param name="argumentsForConstructor">Arguments for the class' constructor, if mocking a concrete class</param>
         </member>
-        <member name="M:Rhino.Mocks.Impl.RecordPartialMockState.DoReplay">
+        <member name="M:Rhino.Mocks.MockRepository.StrictMock(System.Type,System.Object[])">
             <summary>
-            Verify that we can move to replay state and move 
-            to the reply state.
+            Creates a strict mock for the specified type.
             </summary>
+            <param name="type">Type.</param>
+            <param name="argumentsForConstructor">Arguments for the class' constructor, if mocking a concrete class</param>
         </member>
-        <member name="M:Rhino.Mocks.Impl.RecordPartialMockState.BackToRecord">
+        <member name="M:Rhino.Mocks.MockRepository.CreateMockWithRemoting(System.Type,System.Object[])">
             <summary>
-            Gets a mock state that match the original mock state of the object.
+            Creates a remoting mock for the specified type.
             </summary>
+            <param name="type">Type.</param>
+            <param name="argumentsForConstructor">Arguments for the class' constructor, if mocking a concrete class</param>
         </member>
-        <member name="T:Rhino.Mocks.Impl.RepeatableOption">
+        <member name="M:Rhino.Mocks.MockRepository.StrictMockWithRemoting(System.Type,System.Object[])">
             <summary>
-            Options for special repeat option
+            Creates a strict remoting mock for the specified type.
             </summary>
+            <param name="type">Type.</param>
+            <param name="argumentsForConstructor">Arguments for the class' constructor, if mocking a concrete class</param>
         </member>
-        <member name="F:Rhino.Mocks.Impl.RepeatableOption.Normal">
+        <member name="M:Rhino.Mocks.MockRepository.CreateMockWithRemoting``1(System.Object[])">
             <summary>
-            This method can be called only as many times as the IMethodOptions.Expect allows.
+            Creates a remoting mock for the specified type.
             </summary>
+            <typeparam name="T"></typeparam>
+            <param name="argumentsForConstructor">Arguments for the class' constructor, if mocking a concrete class</param>
+            <returns></returns>
         </member>
-        <member name="F:Rhino.Mocks.Impl.RepeatableOption.Never">
+        <member name="M:Rhino.Mocks.MockRepository.StrictMockWithRemoting``1(System.Object[])">
             <summary>
-            This method should never be called
+            Creates a strict remoting mock for the specified type.
             </summary>
+            <typeparam name="T"></typeparam>
+            <param name="argumentsForConstructor">Arguments for the class' constructor, if mocking a concrete class</param>
+            <returns></returns>
         </member>
-        <member name="F:Rhino.Mocks.Impl.RepeatableOption.Any">
+        <member name="M:Rhino.Mocks.MockRepository.CreateMultiMock(System.Type,System.Type[])">
             <summary>
-            This method can be call any number of times
+            Creates a mock from several types, with strict semantics.
+            Only <paramref name="mainType"/> may be a class.
             </summary>
         </member>
-        <member name="F:Rhino.Mocks.Impl.RepeatableOption.OriginalCall">
+        <member name="M:Rhino.Mocks.MockRepository.StrictMultiMock(System.Type,System.Type[])">
             <summary>
-            This method will call the original method
+            Creates a strict mock from several types, with strict semantics.
+            Only <paramref name="mainType"/> may be a class.
             </summary>
         </member>
-        <member name="F:Rhino.Mocks.Impl.RepeatableOption.OriginalCallBypassingMocking">
+        <member name="M:Rhino.Mocks.MockRepository.CreateMultiMock(System.Type,System.Type[],System.Object[])">
             <summary>
-            This method will call the original method, bypassing the mocking layer
+            Creates a mock from several types, with strict semantics.
+            Only <paramref name="mainType"/> may be a class.
             </summary>
+            <param name="mainType">The main type to mock.</param>
+            <param name="extraTypes">Extra interface types to mock.</param>
+            <param name="argumentsForConstructor">Arguments for the class' constructor, if mocking a concrete class.</param>
         </member>
-        <member name="F:Rhino.Mocks.Impl.RepeatableOption.PropertyBehavior">
+        <member name="M:Rhino.Mocks.MockRepository.StrictMultiMock(System.Type,System.Type[],System.Object[])">
             <summary>
-            This method will simulate simple property behavior
+            Creates a strict mock from several types, with strict semantics.
+            Only <paramref name="mainType"/> may be a class.
             </summary>
+            <param name="mainType">The main type to mock.</param>
+            <param name="extraTypes">Extra interface types to mock.</param>
+            <param name="argumentsForConstructor">Arguments for the class' constructor, if mocking a concrete class.</param>
         </member>
-        <member name="T:Rhino.Mocks.Impl.ReplayDynamicMockState">
+        <member name="M:Rhino.Mocks.MockRepository.DynamicMultiMock(System.Type,System.Type[])">
             <summary>
-            Validate all expectations on a mock and ignores calls to
-            any method that was not setup properly.
+            Creates a mock from several types, with dynamic semantics.
+            Only <paramref name="mainType"/> may be a class.
             </summary>
+            <param name="mainType">The main type to mock.</param>
+            <param name="extraTypes">Extra interface types to mock.</param>
         </member>
-        <member name="T:Rhino.Mocks.Impl.ReplayMockState">
+        <member name="M:Rhino.Mocks.MockRepository.DynamicMultiMock(System.Type,System.Type[],System.Object[])">
             <summary>
-            Validate all expectations on a mock
+            Creates a mock from several types, with dynamic semantics.
+            Only <paramref name="mainType"/> may be a class.
             </summary>
+            <param name="mainType">The main type to mock.</param>
+            <param name="extraTypes">Extra interface types to mock.</param>
+            <param name="argumentsForConstructor">Arguments for the class' constructor, if mocking a concrete class.</param>
         </member>
-        <member name="F:Rhino.Mocks.Impl.ReplayMockState.repository">
-            <summary>
-            The repository for this state
-            </summary>
+        <member name="M:Rhino.Mocks.MockRepository.DynamicMock(System.Type,System.Object[])">
+            <summary>Creates a dynamic mock for the specified type.</summary>
+            <param name="type">Type.</param>
+            <param name="argumentsForConstructor">Arguments for the class' constructor, if mocking a concrete class</param>
         </member>
-        <member name="F:Rhino.Mocks.Impl.ReplayMockState.proxy">
-            <summary>
-            The proxy object for this state
-            </summary>
+        <member name="M:Rhino.Mocks.MockRepository.DynamicMockWithRemoting(System.Type,System.Object[])">
+            <summary>Creates a dynamic mock for the specified type.</summary>
+            <param name="type">Type.</param>
+            <param name="argumentsForConstructor">Arguments for the class' constructor, if mocking a concrete class</param>
         </member>
-        <member name="M:Rhino.Mocks.Impl.ReplayMockState.GetLastMethodOptions``1">
-            <summary>
-            Get the options for the last method call
-            </summary>
+        <member name="M:Rhino.Mocks.MockRepository.DynamicMockWithRemoting``1(System.Object[])">
+            <summary>Creates a dynamic mock for the specified type.</summary>
+            <typeparam name="T"></typeparam>
+            <param name="argumentsForConstructor">Arguments for the class' constructor, if mocking a concrete class</param>
+            <returns></returns>
         </member>
-        <member name="M:Rhino.Mocks.Impl.ReplayMockState.#ctor(Rhino.Mocks.Impl.RecordMockState)">
-            <summary>
-            Creates a new <see cref="T:Rhino.Mocks.Impl.ReplayMockState"/> instance.
-            </summary>
-            <param name="previousState">The previous state for this method</param>
+        <member name="M:Rhino.Mocks.MockRepository.PartialMock(System.Type,System.Object[])">
+            <summary>Creates a mock object that defaults to calling the class methods if no expectation is set on the method.</summary>
+            <param name="type">Type.</param>
+            <param name="argumentsForConstructor">Arguments for the class' constructor.</param>
+        </member>
+        <member name="M:Rhino.Mocks.MockRepository.PartialMultiMock(System.Type,System.Type[])">
+            <summary>Creates a mock object that defaults to calling the class methods.</summary>
+            <param name="type">Type.</param>
+            <param name="extraTypes">Extra interface types to mock.</param>
+        </member>
+        <member name="M:Rhino.Mocks.MockRepository.PartialMultiMock(System.Type,System.Type[],System.Object[])">
+            <summary>Creates a mock object that defaults to calling the class methods.</summary>
+            <param name="type">Type.</param>
+            <param name="extraTypes">Extra interface types to mock.</param>
+            <param name="argumentsForConstructor">Arguments for the class' constructor.</param>
+        </member>
+        <member name="M:Rhino.Mocks.MockRepository.RemotingMock(System.Type,Rhino.Mocks.MockRepository.CreateMockState)">
+            <summary>Creates a mock object using remoting proxies</summary>
+            <param name="type">Type to mock - must be MarshalByRefObject</param>
+            <returns>Mock object</returns>
+            <remarks>Proxy mock can mock non-virtual methods, but not static methods</remarks>
+            <param name="factory">Creates the mock state for this proxy</param>
+        </member>
+        <member name="M:Rhino.Mocks.MockRepository.Replay(System.Object)">
+            <summary>
+            Cause the mock state to change to replay, any further call is compared to the 
+            ones that were called in the record state.
+            </summary>
+            <remarks>This method *cannot* be called from inside an ordering.</remarks>
+            <param name="obj">the object to move to replay state</param>
+        </member>
+        <member name="M:Rhino.Mocks.MockRepository.ReplayCore(System.Object,System.Boolean)">
+            <summary>
+            Cause the mock state to change to replay, any further call is compared to the 
+            ones that were called in the record state.
+            </summary>
+            <param name="obj">the object to move to replay state</param>
+            <param name="checkInsideOrdering"></param>
+        </member>
+        <member name="M:Rhino.Mocks.MockRepository.BackToRecord(System.Object)">
+            <summary>Move the mocked object back to record state.<para>You can (and it's recommended) to run {Verify()} before you use this method.</para></summary>
+            <remarks>Will delete all current expectations!</remarks>
+        </member>
+        <member name="M:Rhino.Mocks.MockRepository.BackToRecord(System.Object,Rhino.Mocks.BackToRecordOptions)">
+            <summary>
+            Move the mocked object back to record state.
+            Optionally, can delete all current expectations, but allows more granularity about how
+            it would behave with regard to the object state.
+            </summary>
+        </member>
+        <member name="M:Rhino.Mocks.MockRepository.Verify(System.Object)">
+            <summary>
+            Verify that all the expectations for this object were fulfilled.
+            </summary>
+            <param name="obj">the object to verify the expectations for</param>
+        </member>
+        <member name="M:Rhino.Mocks.MockRepository.LastMethodCall``1(System.Object)">
+            <summary>
+            Get the method options for the last call on
+            mockedInstance.
+            </summary>
+            <param name="mockedInstance">The mock object</param>
+            <returns>Method options for the last call</returns>
+        </member>
+        <member name="M:Rhino.Mocks.MockRepository.GetMockObjectFromInvocationProxy(System.Object)">
+            <summary>
+            Maps an invocation proxy back to the mock object instance that was originally
+            returned to client code which might have been a delegate to this proxy.
+            </summary>
+            <param name="invocationProxy">The mock object proxy from the intercepted invocation</param>
+            <returns>The mock object</returns>
+        </member>
+        <member name="M:Rhino.Mocks.MockRepository.CreateMockObject(System.Type,Rhino.Mocks.MockRepository.CreateMockState,System.Type[],System.Object[])">
+            <summary>This is provided to allow advance extention functionality, where Rhino Mocks standard functionality is not enough.</summary>
+            <param name="type">The type to mock</param>
+            <param name="factory">Delegate that create the first state of the mocked object (usualy the record state).</param>
+            <param name="extras">Additional types to be implemented, this can be only interfaces </param>
+            <param name="argumentsForConstructor">optional arguments for the constructor</param>
+            <returns></returns>
+        </member>
+        <member name="M:Rhino.Mocks.MockRepository.GetMockedObject(System.Object)">
+            <summary>
+             Method: GetMockedObject
+             Get an IProxy from a mocked object instance, or throws if the 
+             object is not a mock object.
+            </summary>
+        </member>
+        <member name="M:Rhino.Mocks.MockRepository.GetMockedObjectOrNull(System.Object)">
+            <summary>
+            Method: GetMockedObjectOrNull
+            Get an IProxy from a mocked object instance, or null if the
+            object is not a mock object.
+            </summary>
+        </member>
+        <member name="M:Rhino.Mocks.MockRepository.PopRecorder">
+            <summary>Pops the recorder.</summary>
+        </member>
+        <member name="M:Rhino.Mocks.MockRepository.PushRecorder(Rhino.Mocks.Interfaces.IMethodRecorder)">
+            <summary>Pushes the recorder.</summary>
+            <param name="newRecorder">New recorder.</param>
+        </member>
+        <member name="M:Rhino.Mocks.MockRepository.BackToRecordAll">
+            <summary>
+            All the mock objects in this repository will be moved
+            to record state.
+            </summary>
+        </member>
+        <member name="M:Rhino.Mocks.MockRepository.BackToRecordAll(Rhino.Mocks.BackToRecordOptions)">
+            <summary>
+            All the mock objects in this repository will be moved
+            to record state.
+            </summary>
+        </member>
+        <member name="M:Rhino.Mocks.MockRepository.ReplayAll">
+            <summary>
+            Replay all the mocks from this repository
+            </summary>
+        </member>
+        <member name="M:Rhino.Mocks.MockRepository.VerifyAll">
+            <summary>
+            Verify all the mocks from this repository
+            </summary>
+        </member>
+        <member name="M:Rhino.Mocks.MockRepository.GetProxyGenerator(System.Type)">
+            <summary>
+            Gets the proxy generator for a specific type. Having a single ProxyGenerator
+            with multiple types linearly degrades the performance so this implementation
+            keeps one ProxyGenerator per type. 
+            </summary>
+        </member>
+        <member name="M:Rhino.Mocks.MockRepository.SetExceptionToBeThrownOnVerify(System.Object,Rhino.Mocks.Exceptions.ExpectationViolationException)">
+            <summary>Set the exception to be thrown when verified is called.</summary>
+        </member>
+        <member name="M:Rhino.Mocks.MockRepository.CreateMock``1(System.Object[])">
+            <summary>
+            Creates a mock for the spesified type with strict mocking semantics.
+            <para>Strict semantics means that any call that wasn't explicitly recorded is considered an error and would cause an exception to be thrown.</para>
+            </summary>
+            <param name="argumentsForConstructor">Arguments for the class' constructor, if mocking a concrete class</param>
+        </member>
+        <member name="M:Rhino.Mocks.MockRepository.StrictMock``1(System.Object[])">
+            <summary>
+            Creates a mock for the spesified type with strict mocking semantics.
+            <para>Strict semantics means that any call that wasn't explicitly recorded is considered an error and would cause an exception to be thrown.</para>
+            </summary>
+            <param name="argumentsForConstructor">Arguments for the class' constructor, if mocking a concrete class</param>
+        </member>
+        <member name="M:Rhino.Mocks.MockRepository.DynamicMock``1(System.Object[])">
+            <summary>
+            Creates a dynamic mock for the specified type.
+            </summary>
+            <param name="argumentsForConstructor">Arguments for the class' constructor, if mocking a concrete class</param>
+        </member>
+        <member name="M:Rhino.Mocks.MockRepository.CreateMultiMock``1(System.Type[])">
+            <summary>
+            Creates a mock object from several types.
+            </summary>
+        </member>
+        <member name="M:Rhino.Mocks.MockRepository.StrictMultiMock``1(System.Type[])">
+            <summary>
+            Creates a strict mock object from several types.
+            </summary>
+        </member>
+        <member name="M:Rhino.Mocks.MockRepository.DynamicMultiMock``1(System.Type[])">
+            <summary>
+            Create a mock object from several types with dynamic semantics.
+            </summary>
+        </member>
+        <member name="M:Rhino.Mocks.MockRepository.PartialMultiMock``1(System.Type[])">
+            <summary>
+            Create a mock object from several types with partial semantics.
+            </summary>
+        </member>
+        <member name="M:Rhino.Mocks.MockRepository.CreateMultiMock``1(System.Type[],System.Object[])">
+            <summary>
+            Create a mock object from several types with strict semantics.
+            </summary>
+            <param name="extraTypes">Extra interface types to mock.</param>
+            <param name="argumentsForConstructor">Arguments for the class' constructor, if mocking a concrete class</param>
+        </member>
+        <member name="M:Rhino.Mocks.MockRepository.StrictMultiMock``1(System.Type[],System.Object[])">
+            <summary>
+            Create a strict mock object from several types with strict semantics.
+            </summary>
+            <param name="extraTypes">Extra interface types to mock.</param>
+            <param name="argumentsForConstructor">Arguments for the class' constructor, if mocking a concrete class</param>
+        </member>
+        <member name="M:Rhino.Mocks.MockRepository.DynamicMultiMock``1(System.Type[],System.Object[])">
+            <summary>
+            Create a mock object from several types with dynamic semantics.
+            </summary>
+            <param name="extraTypes">Extra interface types to mock.</param>
+            <param name="argumentsForConstructor">Arguments for the class' constructor, if mocking a concrete class</param>
+        </member>
+        <member name="M:Rhino.Mocks.MockRepository.PartialMultiMock``1(System.Type[],System.Object[])">
+            <summary>
+            Create a mock object from several types with partial semantics.
+            </summary>
+            <param name="extraTypes">Extra interface types to mock.</param>
+            <param name="argumentsForConstructor">Arguments for the class' constructor, if mocking a concrete class</param>
+        </member>
+        <member name="M:Rhino.Mocks.MockRepository.PartialMock``1(System.Object[])">
+            <summary>
+            Create a mock object with from a class that defaults to calling the class methods
+            </summary>
+            <param name="argumentsForConstructor">Arguments for the class' constructor, if mocking a concrete class</param>
+        </member>
+        <member name="M:Rhino.Mocks.MockRepository.Stub``1(System.Object[])">
+            <summary>
+            Create a stub object, one that has properties and events ready for use, and 
+            can have methods called on it. It requires an explicit step in order to create 
+            an expectation for a stub.
+            </summary>
+            <param name="argumentsForConstructor">The arguments for constructor.</param>
+        </member>
+        <member name="M:Rhino.Mocks.MockRepository.Stub(System.Type,System.Object[])">
+            <summary>
+            Create a stub object, one that has properties and events ready for use, and
+            can have methods called on it. It requires an explicit step in order to create
+            an expectation for a stub.
+            </summary>
+            <param name="type">The type.</param>
+            <param name="argumentsForConstructor">The arguments for constructor.</param>
+            <returns>The stub</returns>
+        </member>
+        <member name="M:Rhino.Mocks.MockRepository.IsInReplayMode(System.Object)">
+            <summary>
+            Returns true if the passed mock is currently in replay mode.
+            </summary>
+            <param name="mock">The mock to test.</param>
+            <returns>True if the mock is in replay mode, false otherwise.</returns>
+        </member>
+        <member name="M:Rhino.Mocks.MockRepository.IsStub(System.Object)">
+            <summary>
+            Determines whether the specified proxy is a stub.
+            </summary>
+            <param name="proxy">The proxy.</param>
+        </member>
+        <member name="M:Rhino.Mocks.MockRepository.RegisterPropertyBehaviorOn(Rhino.Mocks.Interfaces.IMockedObject)">
+            <summary>
+            Register a call on a prperty behavior 
+            </summary>
+            <param name="instance"></param>
+        </member>
+        <member name="P:Rhino.Mocks.MockRepository.Recorder">
+            <summary>
+            Gets the recorder.
+            </summary>
+            <value></value>
+        </member>
+        <member name="P:Rhino.Mocks.MockRepository.Replayer">
+            <summary>
+            Gets the replayer for this repository.
+            </summary>
+            <value></value>
+        </member>
+        <member name="P:Rhino.Mocks.MockRepository.LastMockedObject">
+            <summary>
+            Gets the last proxy which had a method call.
+            </summary>
+        </member>
+        <member name="T:Rhino.Mocks.MockRepository.CreateMockState">
+            <summary>
+             Delegate: CreateMockState
+             This is used internally to cleanly handle the creation of different 
+             RecordMockStates.
+            </summary>
+        </member>
+        <member name="T:Rhino.Mocks.RhinoMocksExtensions">
+            <summary>
+            A set of extension methods that adds Arrange Act Assert mode to Rhino Mocks
+            </summary>
+        </member>
+        <member name="M:Rhino.Mocks.RhinoMocksExtensions.Expect``1(``0,System.Action{``0})">
+            <summary>
+            Create an expectation on this mock for this action to occur
+            </summary>
+            <typeparam name="T"></typeparam>
+            <param name="mock">The mock.</param>
+            <param name="action">The action.</param>
+            <returns></returns>
+        </member>
+        <member name="M:Rhino.Mocks.RhinoMocksExtensions.BackToRecord``1(``0)">
+            <summary>
+            Reset all expectations on this mock object
+            </summary>
+            <typeparam name="T"></typeparam>
+            <param name="mock">The mock.</param>
+        </member>
+        <member name="M:Rhino.Mocks.RhinoMocksExtensions.BackToRecord``1(``0,Rhino.Mocks.BackToRecordOptions)">
+            <summary>
+            Reset the selected expectation on this mock object
+            </summary>
+            <typeparam name="T"></typeparam>
+            <param name="mock">The mock.</param>
+            <param name="options">The options to reset the expectations on this mock.</param>
+        </member>
+        <member name="M:Rhino.Mocks.RhinoMocksExtensions.Replay``1(``0)">
+            <summary>
+            Cause the mock state to change to replay, any further call is compared to the 
+            ones that were called in the record state.
+            </summary>
+            <param name="mock">the mocked object to move to replay state</param>
+        </member>
+        <member name="M:Rhino.Mocks.RhinoMocksExtensions.GetMockRepository``1(``0)">
+            <summary>
+            Gets the mock repository for this specificied mock object
+            </summary>
+            <typeparam name="T"></typeparam>
+            <param name="mock">The mock.</param>
+            <returns></returns>
+        </member>
+        <member name="M:Rhino.Mocks.RhinoMocksExtensions.Expect``2(``0,Rhino.Mocks.Function{``0,``1})">
+            <summary>
+            Create an expectation on this mock for this action to occur
+            </summary>
+            <typeparam name="T"></typeparam>
+            <typeparam name="R"></typeparam>
+            <param name="mock">The mock.</param>
+            <param name="action">The action.</param>
+            <returns></returns>
+        </member>
+        <member name="M:Rhino.Mocks.RhinoMocksExtensions.Stub``1(``0,System.Action{``0})">
+            <summary>
+            Tell the mock object to perform a certain action when a matching 
+            method is called.
+            Does not create an expectation for this method.
+            </summary>
+            <typeparam name="T"></typeparam>
+            <param name="mock">The mock.</param>
+            <param name="action">The action.</param>
+            <returns></returns>
+        </member>
+        <member name="M:Rhino.Mocks.RhinoMocksExtensions.Stub``2(``0,Rhino.Mocks.Function{``0,``1})">
+            <summary>
+            Tell the mock object to perform a certain action when a matching
+            method is called.
+            Does not create an expectation for this method.
+            </summary>
+            <typeparam name="T"></typeparam>
+            <typeparam name="R"></typeparam>
+            <param name="mock">The mock.</param>
+            <param name="action">The action.</param>
+            <returns></returns>
+        </member>
+        <member name="M:Rhino.Mocks.RhinoMocksExtensions.GetArgumentsForCallsMadeOn``1(``0,System.Action{``0})">
+            <summary>
+            Gets the arguments for calls made on this mock object and the method that was called
+            in the action.
+            </summary>
+            <typeparam name="T"></typeparam>
+            <param name="mock">The mock.</param>
+            <param name="action">The action.</param>
+            <returns></returns>
+            <example>
+            Here we will get all the arguments for all the calls made to DoSomething(int)
+            <code>
+            var argsForCalls = foo54.GetArgumentsForCallsMadeOn(x =&gt; x.DoSomething(0))
+            </code>
+            </example>
+        </member>
+        <member name="M:Rhino.Mocks.RhinoMocksExtensions.GetArgumentsForCallsMadeOn``1(``0,System.Action{``0},System.Action{Rhino.Mocks.Interfaces.IMethodOptions{System.Object}})">
+            <summary>
+            Gets the arguments for calls made on this mock object and the method that was called
+            in the action and matches the given constraints
+            </summary>
+            <typeparam name="T"></typeparam>
+            <param name="mock">The mock.</param>
+            <param name="action">The action.</param>
+            <param name="setupConstraints">The setup constraints.</param>
+            <returns></returns>
+            <example>
+            Here we will get all the arguments for all the calls made to DoSomething(int)
+            <code>
+            var argsForCalls = foo54.GetArgumentsForCallsMadeOn(x =&gt; x.DoSomething(0))
+            </code>
+            </example>
+        </member>
+        <member name="M:Rhino.Mocks.RhinoMocksExtensions.AssertWasCalled``1(``0,System.Action{``0})">
+            <summary>
+            Asserts that a particular method was called on this mock object
+            </summary>
+            <typeparam name="T"></typeparam>
+            <param name="mock">The mock.</param>
+            <param name="action">The action.</param>
         </member>
-        <member name="M:Rhino.Mocks.Impl.ReplayMockState.MethodCall(Castle.Core.Interceptor.IInvocation,System.Reflection.MethodInfo,System.Object[])">
+        <member name="M:Rhino.Mocks.RhinoMocksExtensions.AssertWasCalled``1(``0,System.Action{``0},System.Action{Rhino.Mocks.Interfaces.IMethodOptions{System.Object}})">
             <summary>
-            Add a method call for this state' mock.
+            Asserts that a particular method was called on this mock object that match
+            a particular constraint set.
             </summary>
-            <param name="invocation">The invocation for this method</param>
-            <param name="method">The method that was called</param>
-            <param name="args">The arguments this method was called with</param>
+            <typeparam name="T"></typeparam>
+            <param name="mock">The mock.</param>
+            <param name="action">The action.</param>
+            <param name="setupConstraints">The setup constraints.</param>
         </member>
-        <member name="M:Rhino.Mocks.Impl.ReplayMockState.DoMethodCall(Castle.Core.Interceptor.IInvocation,System.Reflection.MethodInfo,System.Object[])">
+        <member name="M:Rhino.Mocks.RhinoMocksExtensions.AssertWasCalled``1(``0,System.Func{``0,System.Object})">
             <summary>
-            Add a method call for this state' mock.
-            This allows derived method to cleanly get a the setupresult behavior while adding
-            their own.
+            Asserts that a particular method was called on this mock object that match
+            a particular constraint set.
             </summary>
-            <param name="invocation">The invocation for this method</param>
-            <param name="method">The method that was called</param>
-            <param name="args">The arguments this method was called with</param>
+            <typeparam name="T"></typeparam>
+            <param name="mock">The mock.</param>
+            <param name="action">The action.</param>
         </member>
-        <member name="M:Rhino.Mocks.Impl.ReplayMockState.SetExceptionToThrowOnVerify(System.Exception)">
+        <member name="M:Rhino.Mocks.RhinoMocksExtensions.AssertWasCalled``1(``0,System.Func{``0,System.Object},System.Action{Rhino.Mocks.Interfaces.IMethodOptions{System.Object}})">
             <summary>
-            Set the exception to throw when Verify is called.
-            This is used to report exception that may have happened but where caught in the code.
-            This way, they are reported anyway when Verify() is called.
+            Asserts that a particular method was called on this mock object that match
+            a particular constraint set.
             </summary>
+            <typeparam name="T"></typeparam>
+            <param name="mock">The mock.</param>
+            <param name="action">The action.</param>
+            <param name="setupConstraints">The setup constraints.</param>
         </member>
-        <member name="M:Rhino.Mocks.Impl.ReplayMockState.Verify">
+        <member name="M:Rhino.Mocks.RhinoMocksExtensions.AssertWasNotCalled``1(``0,System.Action{``0})">
             <summary>
-            Verify that this mock expectations have passed.
+            Asserts that a particular method was NOT called on this mock object
             </summary>
+            <typeparam name="T"></typeparam>
+            <param name="mock">The mock.</param>
+            <param name="action">The action.</param>
         </member>
-        <member name="M:Rhino.Mocks.Impl.ReplayMockState.Replay">
+        <member name="M:Rhino.Mocks.RhinoMocksExtensions.AssertWasNotCalled``1(``0,System.Action{``0},System.Action{Rhino.Mocks.Interfaces.IMethodOptions{System.Object}})">
             <summary>
-            Verify that we can move to replay state and move 
-            to the reply state.
+            Asserts that a particular method was NOT called on this mock object that match
+            a particular constraint set.
             </summary>
+            <typeparam name="T"></typeparam>
+            <param name="mock">The mock.</param>
+            <param name="action">The action.</param>
+            <param name="setupConstraints">The setup constraints.</param>
         </member>
-        <member name="M:Rhino.Mocks.Impl.ReplayMockState.BackToRecord">
+        <member name="M:Rhino.Mocks.RhinoMocksExtensions.AssertWasNotCalled``1(``0,System.Func{``0,System.Object})">
             <summary>
-            Gets a mock state that match the original mock state of the object.
+            Asserts that a particular method was NOT called on this mock object
             </summary>
+            <typeparam name="T"></typeparam>
+            <param name="mock">The mock.</param>
+            <param name="action">The action.</param>
         </member>
-        <member name="P:Rhino.Mocks.Impl.ReplayMockState.LastMethodOptions">
+        <member name="M:Rhino.Mocks.RhinoMocksExtensions.AssertWasNotCalled``1(``0,System.Func{``0,System.Object},System.Action{Rhino.Mocks.Interfaces.IMethodOptions{System.Object}})">
             <summary>
-            Get the options for the last method call
+            Asserts that a particular method was NOT called on this mock object
             </summary>
+            <typeparam name="T"></typeparam>
+            <param name="mock">The mock.</param>
+            <param name="action">The action.</param>
+            <param name="setupConstraints">The setup constraints.</param>
         </member>
-        <member name="P:Rhino.Mocks.Impl.ReplayMockState.VerifyState">
+        <member name="M:Rhino.Mocks.RhinoMocksExtensions.FindAppropriteType``1(Rhino.Mocks.Interfaces.IMockedObject)">
             <summary>
-            Gets the matching verify state for this state
+            Finds the approprite implementation type of this item.
+            This is the class or an interface outside of the rhino mocks.
             </summary>
+            <param name="mockedObj">The mocked obj.</param>
+            <returns></returns>
         </member>
-        <member name="M:Rhino.Mocks.Impl.ReplayDynamicMockState.#ctor(Rhino.Mocks.Impl.RecordDynamicMockState)">
+        <member name="M:Rhino.Mocks.RhinoMocksExtensions.VerifyAllExpectations(System.Object)">
             <summary>
-            Creates a new <see cref="T:Rhino.Mocks.Impl.ReplayDynamicMockState"/> instance.
+            Verifies all expectations on this mock object
             </summary>
-            <param name="previousState">The previous state for this method</param>
+            <param name="mockObject">The mock object.</param>
         </member>
-        <member name="M:Rhino.Mocks.Impl.ReplayDynamicMockState.DoMethodCall(Castle.Core.Interceptor.IInvocation,System.Reflection.MethodInfo,System.Object[])">
+        <member name="M:Rhino.Mocks.RhinoMocksExtensions.GetEventRaiser``1(``0,System.Action{``0})">
             <summary>
-            Add a method call for this state' mock.
+            Gets the event raiser for the event that was called in the action passed
             </summary>
-            <param name="invocation">The invocation for this method</param>
-            <param name="method">The method that was called</param>
-            <param name="args">The arguments this method was called with</param>
+            <typeparam name="TEventSource">The type of the event source.</typeparam>
+            <param name="mockObject">The mock object.</param>
+            <param name="eventSubscription">The event subscription.</param>
+            <returns></returns>
         </member>
-        <member name="M:Rhino.Mocks.Impl.ReplayDynamicMockState.BackToRecord">
+        <member name="M:Rhino.Mocks.RhinoMocksExtensions.Raise``1(``0,System.Action{``0},System.Object,System.EventArgs)">
             <summary>
-            Gets a mock state that match the original mock state of the object.
+            Raise the specified event using the passed arguments.
+            The even is extracted from the passed labmda
             </summary>
+            <typeparam name="TEventSource">The type of the event source.</typeparam>
+            <param name="mockObject">The mock object.</param>
+            <param name="eventSubscription">The event subscription.</param>
+            <param name="sender">The sender.</param>
+            <param name="args">The <see cref="T:System.EventArgs"/> instance containing the event data.</param>
         </member>
-        <member name="T:Rhino.Mocks.Impl.ReplayPartialMockState">
+        <member name="M:Rhino.Mocks.RhinoMocksExtensions.Raise``1(``0,System.Action{``0},System.Object[])">
             <summary>
-            Validate all expectations on a mock and ignores calls to
-            any method that was not setup properly.
+            Raise the specified event using the passed arguments.
+            The even is extracted from the passed labmda
             </summary>
+            <typeparam name="TEventSource">The type of the event source.</typeparam>
+            <param name="mockObject">The mock object.</param>
+            <param name="eventSubscription">The event subscription.</param>
+            <param name="args">The args.</param>
         </member>
-        <member name="M:Rhino.Mocks.Impl.ReplayPartialMockState.#ctor(Rhino.Mocks.Impl.RecordPartialMockState)">
+        <member name="M:Rhino.Mocks.RhinoMocksExtensions.AssertExactlySingleExpectaton``1(Rhino.Mocks.MockRepository,``0)">
+            <summary>TODO: Make this better!  It currently breaks down when mocking classes or
+            ABC's that call other virtual methods which are getting intercepted too.  I wish
+            we could just walk Expression{Action{Action{T}} to assert only a single
+            method is being made.
+            
+            The workaround is to not call foo.AssertWasCalled .. rather foo.VerifyAllExpectations()</summary>
+            <typeparam name="T">The type of mock object</typeparam>
+            <param name="mocks">The mock repository</param>
+            <param name="mockToRecordExpectation">The actual mock object to assert expectations on.</param>
+        </member>
+        <member name="T:Rhino.Mocks.RhinoMocksExtensions.VoidType">
             <summary>
-            Creates a new <see cref="T:Rhino.Mocks.Impl.ReplayDynamicMockState"/> instance.
+            Fake type that disallow creating it.
+            Should have been System.Type, but we can't use it.
             </summary>
-            <param name="previousState">The previous state for this method</param>
         </member>
-        <member name="M:Rhino.Mocks.Impl.ReplayPartialMockState.DoMethodCall(Castle.Core.Interceptor.IInvocation,System.Reflection.MethodInfo,System.Object[])">
+        <member name="T:Rhino.Mocks.Utilities.GenericsUtil">
             <summary>
-            Add a method call for this state' mock.
+            Utility class for dealing with messing generics scenarios.
             </summary>
-            <param name="invocation">The invocation for this method</param>
-            <param name="method">The method that was called</param>
-            <param name="args">The arguments this method was called with</param>
         </member>
-        <member name="M:Rhino.Mocks.Impl.ReplayPartialMockState.BackToRecord">
+        <member name="M:Rhino.Mocks.Utilities.GenericsUtil.HasOpenGenericParam(System.Type)">
             <summary>
-            Gets a mock state that match the original mock state of the object.
+            There are issues with trying to get this to work correctly with open generic types, since this is an edge case, 
+            I am letting the runtime handle it.
             </summary>
         </member>
-        <member name="T:Rhino.Mocks.Impl.RhinoInterceptor">
+        <member name="M:Rhino.Mocks.Utilities.GenericsUtil.GetRealType(System.Type,Castle.Core.Interceptor.IInvocation)">
             <summary>
-            Summary description for RhinoInterceptor.
+            Gets the real type, including de-constructing and constructing the type of generic
+            methods parameters.
             </summary>
+            <param name="type">The type.</param>
+            <param name="invocation">The invocation.</param>
+            <returns></returns>
         </member>
-        <member name="M:Rhino.Mocks.Impl.RhinoInterceptor.#ctor(Rhino.Mocks.MockRepository,Rhino.Mocks.Interfaces.IMockedObject)">
+        <member name="M:Rhino.Mocks.Utilities.GenericsUtil.ReconstructGenericType(System.Type,System.Collections.Generic.Dictionary{System.String,System.Type})">
             <summary>
-            Creates a new <see cref="T:Rhino.Mocks.Impl.RhinoInterceptor"/> instance.
+            Because we need to support complex types here (simple generics were handled above) we
+            need to be aware of the following scenarios:
+            List[T] and List[Foo[T]]
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Impl.RhinoInterceptor.Intercept(Castle.Core.Interceptor.IInvocation)">
+        <member name="T:Rhino.Mocks.Generated.ExpectationsList">
             <summary>
-            Intercept a method call and direct it to the repository.
+            ExpectationsList
             </summary>
         </member>
-        <member name="T:Rhino.Mocks.Impl.StubRecordMockState">
+        <member name="T:Rhino.Mocks.Generated.ProxyMethodExpectationsDictionary">
             <summary>
-            Behave like a stub, all properties and events acts normally, methods calls
-            return default values by default (but can use expectations to set them up), etc.
+            Dictionary
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Impl.StubRecordMockState.#ctor(Rhino.Mocks.Interfaces.IMockedObject,Rhino.Mocks.MockRepository)">
+        <member name="T:Rhino.Mocks.Generated.ProxyStateDictionary">
             <summary>
-            Initializes a new instance of the <see cref="T:Rhino.Mocks.Impl.StubRecordMockState"/> class.
+            Dictionary class
             </summary>
-            <param name="mockedObject">The proxy that generates the method calls</param>
-            <param name="repository">Repository.</param>
         </member>
-        <member name="M:Rhino.Mocks.Impl.StubRecordMockState.AssertPreviousMethodIsClose">
+        <member name="M:Rhino.Mocks.Generated.ProxyStateDictionary.#ctor">
             <summary>
-            We don't care much about expectations here, so we will remove the exepctation if
-            it is not closed.
+            Create a new instance of <c>ProxyStateDictionary</c>
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Impl.StubRecordMockState.Replay">
+        <member name="T:Rhino.Mocks.Impl.CreateMethodExpectation">
             <summary>
-            Verify that we can move to replay state and move
-            to the reply state.
+            Allows to call a method and immediately get it's options.
             </summary>
-            <returns></returns>
         </member>
-        <member name="T:Rhino.Mocks.Impl.StubReplayMockState">
+        <member name="T:Rhino.Mocks.Interfaces.ICreateMethodExpectation">
             <summary>
-            Validate expectations on recorded methods, but in general completely ignoring them.
-            Similar to <seealso cref="T:Rhino.Mocks.Impl.ReplayDynamicMockState"/> except that it would return a 
-            <seealso cref="T:Rhino.Mocks.Impl.StubRecordMockState"/> when BackToRecord is called.
+            Interface to allow calling a method and immediately get it's options.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Impl.StubReplayMockState.#ctor(Rhino.Mocks.Impl.RecordMockState)">
+        <member name="M:Rhino.Mocks.Interfaces.ICreateMethodExpectation.Call``1(``0)">
             <summary>
-            Initializes a new instance of the <see cref="T:Rhino.Mocks.Impl.StubReplayMockState"/> class.
+            Get the method options for the call
             </summary>
-            <param name="previousState">The previous state for this method</param>
+            <param name="ignored">The method call should go here, the return value is ignored</param>
         </member>
-        <member name="M:Rhino.Mocks.Impl.StubReplayMockState.DoMethodCall(Castle.Core.Interceptor.IInvocation,System.Reflection.MethodInfo,System.Object[])">
+        <member name="M:Rhino.Mocks.Impl.CreateMethodExpectation.#ctor(Rhino.Mocks.Interfaces.IMockedObject,System.Object)">
             <summary>
-            Add a method call for this state' mock.
+            Creates a new <see cref="T:Rhino.Mocks.Impl.CreateMethodExpectation"/> instance.
             </summary>
-            <param name="invocation">The invocation for this method</param>
-            <param name="method">The method that was called</param>
-            <param name="args">The arguments this method was called with</param>
         </member>
-        <member name="M:Rhino.Mocks.Impl.StubReplayMockState.BackToRecord">
+        <member name="M:Rhino.Mocks.Impl.CreateMethodExpectation.Call``1(``0)">
             <summary>
-            Gets a mock state that match the original mock state of the object.
+            Get the method options for the call
             </summary>
+            <param name="ignored">The method call should go here, the return value is ignored</param>
         </member>
-        <member name="T:Rhino.Mocks.Impl.TextWriterExpectationLogger">
+        <member name="T:Rhino.Mocks.Impl.CreateMethodExpectationForSetupResult">
             <summary>
-            Rudimetry implementation that simply logs methods calls as text.
+            Allows to call a method and immediately get it's options.
+            Set the expected number for the call to Any() 
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Impl.TextWriterExpectationLogger.#ctor(System.IO.TextWriter)">
+        <member name="M:Rhino.Mocks.Impl.CreateMethodExpectationForSetupResult.#ctor(Rhino.Mocks.Interfaces.IMockedObject,System.Object)">
             <summary>
-            Initializes a new instance of the <see cref="T:Rhino.Mocks.Impl.TextWriterExpectationLogger"/> class.
+            Creates a new <see cref="T:Rhino.Mocks.Impl.CreateMethodExpectationForSetupResult"/> instance.
             </summary>
-            <param name="writer">The writer.</param>
+            <param name="mockedObject">Proxy.</param>
+            <param name="mockedInstance">Mocked instance.</param>
         </member>
-        <member name="M:Rhino.Mocks.Impl.TextWriterExpectationLogger.LogRecordedExpectation(Castle.Core.Interceptor.IInvocation,Rhino.Mocks.Interfaces.IExpectation)">
+        <member name="M:Rhino.Mocks.Impl.CreateMethodExpectationForSetupResult.Call``1(``0)">
             <summary>
-            Logs the expectation as is was recorded
+            Get the method options for the call
+            </summary>
+            <param name="ignored">The method call should go here, the return value is ignored</param>
+        </member>
+        <member name="T:Rhino.Mocks.Impl.DelegateTargetInterfaceCreator">
+            <summary>
+            This class is reponsible for taking a delegate and creating a wrapper
+            interface around it, so it can be mocked.
+            </summary>
+        </member>
+        <member name="F:Rhino.Mocks.Impl.DelegateTargetInterfaceCreator.moduleScope">
+            <summary>
+            The scope for all the delegate interfaces create by this mock repository.
+            </summary>
+        </member>
+        <member name="M:Rhino.Mocks.Impl.DelegateTargetInterfaceCreator.GetDelegateTargetInterface(System.Type)">
+            <summary>
+            Gets a type with an "Invoke" method suitable for use as a target of the
+            specified delegate type.
+            </summary>
+            <param name="delegateType"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Rhino.Mocks.Impl.EventRaiser">
+            <summary>
+            Raise events for all subscribers for an event
+            </summary>
+        </member>
+        <member name="T:Rhino.Mocks.Interfaces.IEventRaiser">
+            <summary>
+            Raise events for all subscribers for an event
+            </summary>
+        </member>
+        <member name="M:Rhino.Mocks.Interfaces.IEventRaiser.Raise(System.Object[])">
+            <summary>
+            Raise the event
+            </summary>
+        </member>
+        <member name="M:Rhino.Mocks.Interfaces.IEventRaiser.Raise(System.Object,System.EventArgs)">
+            <summary>
+            The most common form for the event handler signature
+            </summary>
+        </member>
+        <member name="M:Rhino.Mocks.Impl.EventRaiser.Create(System.Object,System.String)">
+            <summary>
+             Create an event raiser for the specified event on this instance.
+            </summary>
+        </member>
+        <member name="M:Rhino.Mocks.Impl.EventRaiser.#ctor(Rhino.Mocks.Interfaces.IMockedObject,System.String)">
+            <summary>
+            Creates a new instance of <c>EventRaiser</c>
             </summary>
-            <param name="invocation">The invocation.</param>
-            <param name="expectation">The expectation.</param>
         </member>
-        <member name="M:Rhino.Mocks.Impl.TextWriterExpectationLogger.LogReplayedExpectation(Castle.Core.Interceptor.IInvocation,Rhino.Mocks.Interfaces.IExpectation)">
+        <member name="M:Rhino.Mocks.Impl.EventRaiser.Raise(System.Object[])">
             <summary>
-            Logs the expectation as it was recorded
+            Raise the event
             </summary>
-            <param name="invocation">The invocation.</param>
-            <param name="expectation">The expectation.</param>
         </member>
-        <member name="M:Rhino.Mocks.Impl.TextWriterExpectationLogger.LogUnexpectedMethodCall(Castle.Core.Interceptor.IInvocation,System.String)">
+        <member name="M:Rhino.Mocks.Impl.EventRaiser.Raise(System.Object,System.EventArgs)">
             <summary>
-            Logs the unexpected method call.
+            The most common signature for events
+            Here to allow intellisense to make better guesses about how 
+            it should suggest parameters.
             </summary>
-            <param name="invocation">The invocation.</param>
-            <param name="message">The message.</param>
         </member>
-        <member name="T:Rhino.Mocks.Impl.TraceWriterExpectationLogger">
+        <member name="T:Rhino.Mocks.Impl.MethodOptions`1">
             <summary>
-            Write rhino mocks log info to the trace
+            Allows to define what would happen when a method 
+            is called.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Impl.TraceWriterExpectationLogger.#ctor">
+        <member name="T:Rhino.Mocks.Interfaces.IMethodOptions`1">
             <summary>
-            Initializes a new instance of the <see cref="T:Rhino.Mocks.Impl.TraceWriterExpectationLogger"/> class.
+            Allows to define what would happen when a method 
+            is called.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Impl.TraceWriterExpectationLogger.#ctor(System.Boolean,System.Boolean,System.Boolean)">
+        <member name="M:Rhino.Mocks.Interfaces.IMethodOptions`1.Return(`0)">
             <summary>
-            Initializes a new instance of the <see cref="T:Rhino.Mocks.Impl.TraceWriterExpectationLogger"/> class.
+            Set the return value for the method.
             </summary>
-            <param name="logRecorded">if set to <c>true</c> [log recorded].</param>
-            <param name="logReplayed">if set to <c>true</c> [log replayed].</param>
-            <param name="logUnexpected">if set to <c>true</c> [log unexpected].</param>
+            <param name="objToReturn">The object the method will return</param>
+            <returns>IRepeat that defines how many times the method will return this value</returns>
         </member>
-        <member name="M:Rhino.Mocks.Impl.TraceWriterExpectationLogger.LogRecordedExpectation(Castle.Core.Interceptor.IInvocation,Rhino.Mocks.Interfaces.IExpectation)">
+        <member name="M:Rhino.Mocks.Interfaces.IMethodOptions`1.TentativeReturn">
             <summary>
-            Logs the expectation as is was recorded
+            Allow to override this return value in the future
             </summary>
-            <param name="invocation">The invocation.</param>
-            <param name="expectation">The expectation.</param>
+            <returns>IRepeat that defines how many times the method will return this value</returns>
         </member>
-        <member name="M:Rhino.Mocks.Impl.TraceWriterExpectationLogger.LogReplayedExpectation(Castle.Core.Interceptor.IInvocation,Rhino.Mocks.Interfaces.IExpectation)">
+        <member name="M:Rhino.Mocks.Interfaces.IMethodOptions`1.Throw(System.Exception)">
             <summary>
-            Logs the expectation as it was recorded
+            Throws the specified exception when the method is called.
             </summary>
-            <param name="invocation">The invocation.</param>
-            <param name="expectation">The expectation.</param>
+            <param name="exception">Exception to throw</param>
         </member>
-        <member name="M:Rhino.Mocks.Impl.TraceWriterExpectationLogger.LogUnexpectedMethodCall(Castle.Core.Interceptor.IInvocation,System.String)">
+        <member name="M:Rhino.Mocks.Interfaces.IMethodOptions`1.IgnoreArguments">
             <summary>
-            Logs the unexpected method call.
+            Ignores the arguments for this method. Any argument will be matched
+            againt this method.
             </summary>
-            <param name="invocation">The invocation.</param>
-            <param name="message">The message.</param>
         </member>
-        <member name="T:Rhino.Mocks.Impl.TraceWriterWithStackTraceExpectationWriter">
+        <member name="M:Rhino.Mocks.Interfaces.IMethodOptions`1.Constraints(Rhino.Mocks.Constraints.AbstractConstraint[])">
             <summary>
-            Writes log information as stack traces about rhino mocks activity
+            Add constraints for the method's arguments.
             </summary>
         </member>
-        <member name="F:Rhino.Mocks.Impl.TraceWriterWithStackTraceExpectationWriter.AlternativeWriter">
+        <member name="M:Rhino.Mocks.Interfaces.IMethodOptions`1.Callback(System.Delegate)">
             <summary>
-            Allows to redirect output to a different location.
+            Set a callback method for the last call
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Impl.TraceWriterWithStackTraceExpectationWriter.LogRecordedExpectation(Castle.Core.Interceptor.IInvocation,Rhino.Mocks.Interfaces.IExpectation)">
+        <member name="M:Rhino.Mocks.Interfaces.IMethodOptions`1.Callback(Rhino.Mocks.Delegates.Function{System.Boolean})">
             <summary>
-            Logs the expectation as is was recorded
+            Set a delegate to be called when the expectation is matched.
+            The delegate return value will be returned from the expectation.
             </summary>
-            <param name="invocation">The invocation.</param>
-            <param name="expectation">The expectation.</param>
         </member>
-        <member name="M:Rhino.Mocks.Impl.TraceWriterWithStackTraceExpectationWriter.LogReplayedExpectation(Castle.Core.Interceptor.IInvocation,Rhino.Mocks.Interfaces.IExpectation)">
+        <member name="M:Rhino.Mocks.Interfaces.IMethodOptions`1.Callback``1(Rhino.Mocks.Delegates.Function{System.Boolean,``0})">
             <summary>
-            Logs the expectation as it was recorded
+            Set a delegate to be called when the expectation is matched.
+            The delegate return value will be returned from the expectation.
             </summary>
-            <param name="invocation">The invocation.</param>
-            <param name="expectation">The expectation.</param>
         </member>
-        <member name="M:Rhino.Mocks.Impl.TraceWriterWithStackTraceExpectationWriter.LogUnexpectedMethodCall(Castle.Core.Interceptor.IInvocation,System.String)">
+        <member name="M:Rhino.Mocks.Interfaces.IMethodOptions`1.Callback``2(Rhino.Mocks.Delegates.Function{System.Boolean,``0,``1})">
             <summary>
-            Logs the unexpected method call.
+            Set a delegate to be called when the expectation is matched.
+            The delegate return value will be returned from the expectation.
             </summary>
-            <param name="invocation">The invocation.</param>
-            <param name="message">The message.</param>
         </member>
-        <member name="T:Rhino.Mocks.Impl.Validate">
+        <member name="M:Rhino.Mocks.Interfaces.IMethodOptions`1.Callback``3(Rhino.Mocks.Delegates.Function{System.Boolean,``0,``1,``2})">
             <summary>
-            Validate arguments for methods
+            Set a delegate to be called when the expectation is matched.
+            The delegate return value will be returned from the expectation.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Impl.Validate.IsNotNull(System.Object,System.String)">
+        <member name="M:Rhino.Mocks.Interfaces.IMethodOptions`1.Callback``4(Rhino.Mocks.Delegates.Function{System.Boolean,``0,``1,``2,``3})">
             <summary>
-            Validate that the passed argument is not null.
+            Set a delegate to be called when the expectation is matched.
+            The delegate return value will be returned from the expectation.
             </summary>
-            <param name="obj">The object to validate</param>
-            <param name="name">The name of the argument</param>
-            <exception cref="T:System.ArgumentNullException">
-            If the obj is null, an ArgumentNullException with the passed name
-            is thrown.
-            </exception>
         </member>
-        <member name="M:Rhino.Mocks.Impl.Validate.ArgsEqual(System.Object[],System.Object[])">
+        <member name="M:Rhino.Mocks.Interfaces.IMethodOptions`1.Callback``5(Rhino.Mocks.Delegates.Function{System.Boolean,``0,``1,``2,``3,``4})">
             <summary>
-            Validate that the arguments are equal.
+            Set a delegate to be called when the expectation is matched.
+            The delegate return value will be returned from the expectation.
             </summary>
-            <param name="expectedArgs">Expected args.</param>
-            <param name="actualArgs">Actual Args.</param>
         </member>
-        <member name="M:Rhino.Mocks.Impl.Validate.AreEqual(System.Object,System.Object)">
+        <member name="M:Rhino.Mocks.Interfaces.IMethodOptions`1.Callback``6(Rhino.Mocks.Delegates.Function{System.Boolean,``0,``1,``2,``3,``4,``5})">
             <summary>
-            Validate that the two argument are equals, including validation for
-            when the arguments are collections, in which case it will validate their values.
+            Set a delegate to be called when the expectation is matched.
+            The delegate return value will be returned from the expectation.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Impl.Validate.SafeEquals(System.Object,System.Object)">
+        <member name="M:Rhino.Mocks.Interfaces.IMethodOptions`1.Callback``7(Rhino.Mocks.Delegates.Function{System.Boolean,``0,``1,``2,``3,``4,``5,``6})">
             <summary>
-            This method is safe for use even if any of the objects is a mocked object
-            that override equals.
+            Set a delegate to be called when the expectation is matched.
+            The delegate return value will be returned from the expectation.
             </summary>
         </member>
-        <member name="T:Rhino.Mocks.Impl.VerifiedMockState">
+        <member name="M:Rhino.Mocks.Interfaces.IMethodOptions`1.Callback``8(Rhino.Mocks.Delegates.Function{System.Boolean,``0,``1,``2,``3,``4,``5,``6,``7})">
             <summary>
-            Throw an object already verified when accessed
+            Set a delegate to be called when the expectation is matched.
+            The delegate return value will be returned from the expectation.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Impl.VerifiedMockState.#ctor(Rhino.Mocks.Interfaces.IMockState)">
+        <member name="M:Rhino.Mocks.Interfaces.IMethodOptions`1.Callback``9(Rhino.Mocks.Delegates.Function{System.Boolean,``0,``1,``2,``3,``4,``5,``6,``7,``8})">
             <summary>
-            Create a new instance of VerifiedMockState 
+            Set a delegate to be called when the expectation is matched.
+            The delegate return value will be returned from the expectation.
             </summary>
-            <param name="previous">The previous mock state, used to get the initial record state</param>
         </member>
-        <member name="M:Rhino.Mocks.Impl.VerifiedMockState.MethodCall(Castle.Core.Interceptor.IInvocation,System.Reflection.MethodInfo,System.Object[])">
+        <member name="M:Rhino.Mocks.Interfaces.IMethodOptions`1.Callback``10(Rhino.Mocks.Delegates.Function{System.Boolean,``0,``1,``2,``3,``4,``5,``6,``7,``8,``9})">
             <summary>
-            Add a method call for this state' mock.
+            Set a delegate to be called when the expectation is matched.
+            The delegate return value will be returned from the expectation.
             </summary>
-            <param name="invocation">The invocation for this method</param>
-            <param name="method">The method that was called</param>
-            <param name="args">The arguments this method was called with</param>
         </member>
-        <member name="M:Rhino.Mocks.Impl.VerifiedMockState.Verify">
+        <member name="M:Rhino.Mocks.Interfaces.IMethodOptions`1.Do(System.Delegate)">
             <summary>
-            Verify that this mock expectations have passed.
+            Set a delegate to be called when the expectation is matched.
+            The delegate return value will be returned from the expectation.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Impl.VerifiedMockState.Replay">
+        <member name="M:Rhino.Mocks.Interfaces.IMethodOptions`1.WhenCalled(System.Action{Rhino.Mocks.MethodInvocation})">
             <summary>
-            Verify that we can move to replay state and move 
-            to the reply state.
+            Set a delegate to be called when the expectation is matched
+            and allow to optionally modify the invocation as needed
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Impl.VerifiedMockState.BackToRecord">
+        <member name="M:Rhino.Mocks.Interfaces.IMethodOptions`1.CallOriginalMethod">
             <summary>
-            Gets a mock state that match the original mock state of the object.
+            Call the original method on the class, bypassing the mocking layers.
             </summary>
+            <returns></returns>
         </member>
-        <member name="M:Rhino.Mocks.Impl.VerifiedMockState.GetLastMethodOptions``1">
+        <member name="M:Rhino.Mocks.Interfaces.IMethodOptions`1.CallOriginalMethod(Rhino.Mocks.Interfaces.OriginalCallOptions)">
             <summary>
-            Get the options for the last method call
+            Call the original method on the class, optionally bypassing the mocking layers.
             </summary>
+            <returns></returns>
         </member>
-        <member name="M:Rhino.Mocks.Impl.VerifiedMockState.SetExceptionToThrowOnVerify(System.Exception)">
+        <member name="M:Rhino.Mocks.Interfaces.IMethodOptions`1.PropertyBehavior">
             <summary>
-            Set the exception to throw when Verify is called.
-            This is used to report exception that may have happened but where caught in the code.
-            This way, they are reported anyway when Verify() is called.
+            Use the property as a simple property, getting/setting the values without
+            causing mock expectations.
             </summary>
         </member>
-        <member name="P:Rhino.Mocks.Impl.VerifiedMockState.VerifyState">
+        <member name="M:Rhino.Mocks.Interfaces.IMethodOptions`1.SetPropertyAndIgnoreArgument">
             <summary>
-            Gets the matching verify state for this state
+            Expect last (property) call as property setting, ignore the argument given
             </summary>
+            <returns></returns>
         </member>
-        <member name="P:Rhino.Mocks.Impl.VerifiedMockState.LastMethodOptions">
+        <member name="M:Rhino.Mocks.Interfaces.IMethodOptions`1.SetPropertyWithArgument(`0)">
             <summary>
-            Get the options for the last method call
+            Expect last (property) call as property setting with a given argument.
             </summary>
+            <param name="argument"></param>
+            <returns></returns>
         </member>
-        <member name="T:Rhino.Mocks.Interfaces.IMethodRecorder">
+        <member name="M:Rhino.Mocks.Interfaces.IMethodOptions`1.GetEventRaiser">
             <summary>
-            Records the actions on all the mocks created by a repository.
+            Get an event raiser for the last subscribed event.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IMethodRecorder.Record(System.Object,System.Reflection.MethodInfo,Rhino.Mocks.Interfaces.IExpectation)">
+        <member name="M:Rhino.Mocks.Interfaces.IMethodOptions`1.OutRef(System.Object[])">
             <summary>
-            Records the specified call with the specified args on the mocked object.
+            Set the parameter values for out and ref parameters.
+            This is done using zero based indexing, and _ignoring_ any non out/ref parameter.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IMethodRecorder.GetRecordedExpectation(Castle.Core.Interceptor.IInvocation,System.Object,System.Reflection.MethodInfo,System.Object[])">
+        <member name="M:Rhino.Mocks.Interfaces.IMethodOptions`1.Message(System.String)">
             <summary>
-            Get the expectation for this method on this object with this arguments 
+            Documentation message for the expectation
             </summary>
+            <param name="documentationMessage">Message</param>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IMethodRecorder.GetRepeatableExpectation(System.Object,System.Reflection.MethodInfo,System.Object[])">
+        <member name="P:Rhino.Mocks.Interfaces.IMethodOptions`1.Repeat">
             <summary>
-            This check the methods that were setup using the SetupResult.For()
-            or LastCall.Repeat.Any() and that bypass the whole expectation model.
+            Better syntax to define repeats. 
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IMethodRecorder.GetAllExpectationsForProxyAndMethod(System.Object,System.Reflection.MethodInfo)">
+        <member name="T:Rhino.Mocks.Interfaces.IRepeat`1">
             <summary>
-            Gets the all expectations for a mocked object and method combination,
-            regardless of the expected arguments / callbacks / contraints.
+            Allows to specify the number of time for method calls
             </summary>
-            <param name="proxy">Mocked object.</param>
-            <param name="method">Method.</param>
-            <returns>List of all relevant expectation</returns>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IMethodRecorder.GetAllExpectationsForProxy(System.Object)">
+        <member name="M:Rhino.Mocks.Interfaces.IRepeat`1.Twice">
             <summary>
-            Gets the all expectations for proxy.
+            Repeat the method twice.
             </summary>
-            <param name="proxy">Mocked object.</param>
-            <returns>List of all relevant expectation</returns>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IMethodRecorder.RemoveAllRepeatableExpectationsForProxy(System.Object)">
+        <member name="M:Rhino.Mocks.Interfaces.IRepeat`1.Once">
             <summary>
-            Removes all the repeatable expectations for proxy.
+            Repeat the method once.
             </summary>
-            <param name="proxy">Mocked object.</param>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IMethodRecorder.ReplaceExpectation(System.Object,System.Reflection.MethodInfo,Rhino.Mocks.Interfaces.IExpectation,Rhino.Mocks.Interfaces.IExpectation)">
+        <member name="M:Rhino.Mocks.Interfaces.IRepeat`1.AtLeastOnce">
             <summary>
-            Replaces the old expectation with the new expectation for the specified proxy/method pair.
-            This replace ALL expectations that equal to old expectations.
+            Repeat the method at least once, then repeat as many time as it would like.
             </summary>
-            <param name="proxy">Proxy.</param>
-            <param name="method">Method.</param>
-            <param name="oldExpectation">Old expectation.</param>
-            <param name="newExpectation">New expectation.</param>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IMethodRecorder.AddRecorder(Rhino.Mocks.Interfaces.IMethodRecorder)">
+        <member name="M:Rhino.Mocks.Interfaces.IRepeat`1.Any">
             <summary>
-            Adds the recorder and turn it into the active recorder.
+            Repeat the method any number of times.
+            This has special affects in that this method would now ignore orderring.
             </summary>
-            <param name="recorder">Recorder.</param>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IMethodRecorder.MoveToPreviousRecorder">
+        <member name="M:Rhino.Mocks.Interfaces.IRepeat`1.Times(System.Int32,System.Int32)">
             <summary>
-            Moves to previous recorder.
+            Set the range to repeat an action.
             </summary>
+            <param name="min">Min.</param>
+            <param name="max">Max.</param>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IMethodRecorder.GetRecordedExpectationOrNull(System.Object,System.Reflection.MethodInfo,System.Object[])">
+        <member name="M:Rhino.Mocks.Interfaces.IRepeat`1.Times(System.Int32)">
             <summary>
-            Gets the recorded expectation or null.
+            Set the amount of times to repeat an action.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IMethodRecorder.GetExpectedCallsMessage">
+        <member name="M:Rhino.Mocks.Interfaces.IRepeat`1.Never">
             <summary>
-            Gets the next expected calls string.
+            This method must not appear in the replay state.
+            This has special affects in that this method would now ignore orderring.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IMethodRecorder.MoveToParentReplayer">
+        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.#ctor(Rhino.Mocks.MockRepository,Rhino.Mocks.Impl.RecordMockState,Rhino.Mocks.Interfaces.IMockedObject,Rhino.Mocks.Interfaces.IExpectation)">
             <summary>
-            Moves to parent recorder.
+            Creates a new <see cref="T:Rhino.Mocks.Interfaces.IMethodOptions`1"/> instance.
             </summary>
+            <param name="repository">the repository for this expectation</param>
+            <param name="record">the recorder for this proxy</param>
+            <param name="proxy">the proxy for this expectation</param>
+            <param name="expectation">Expectation.</param>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IMethodRecorder.AddToRepeatableMethods(System.Object,System.Reflection.MethodInfo,Rhino.Mocks.Interfaces.IExpectation)">
+        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.Constraints(Rhino.Mocks.Constraints.AbstractConstraint[])">
             <summary>
-            Set the expectation so it can repeat any number of times.
+            Add constraints for the method's arguments.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IMethodRecorder.RemoveExpectation(Rhino.Mocks.Interfaces.IExpectation)">
+        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.Callback(System.Delegate)">
             <summary>
-            Removes the expectation from the recorder
+            Set a callback method for the last call
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IMethodRecorder.ClearReplayerToCall(Rhino.Mocks.Interfaces.IMethodRecorder)">
+        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.Callback(Rhino.Mocks.Delegates.Function{System.Boolean})">
             <summary>
-            Clear the replayer to call (and all its chain of replayers)
-            This also removes it from the list of expectations, so it will never be considered again
+            Set a callback method for the last call
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Interfaces.IMethodRecorder.UnexpectedMethodCall(Castle.Core.Interceptor.IInvocation,System.Object,System.Reflection.MethodInfo,System.Object[])">
+        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.Callback``1(Rhino.Mocks.Delegates.Function{System.Boolean,``0})">
             <summary>
-            Get the expectation for this method on this object with this arguments 
+            Set a callback method for the last call
             </summary>
         </member>
-        <member name="P:Rhino.Mocks.Interfaces.IMethodRecorder.HasExpectations">
+        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.Callback``2(Rhino.Mocks.Delegates.Function{System.Boolean,``0,``1})">
             <summary>
-            Gets a value indicating whether this instance has expectations that weren't satisfied yet.
+            Set a callback method for the last call
             </summary>
-            <value>
-            	<c>true</c> if this instance has expectations; otherwise, <c>false</c>.
-            </value>
         </member>
-        <member name="T:Rhino.Mocks.Interfaces.IPartialMockMarker">
+        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.Callback``3(Rhino.Mocks.Delegates.Function{System.Boolean,``0,``1,``2})">
             <summary>
-            Marker interface used to indicate that this is a partial mock.
+            Set a callback method for the last call
             </summary>
         </member>
-        <member name="T:Rhino.Mocks.Interfaces.OriginalCallOptions">
+        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.Callback``4(Rhino.Mocks.Delegates.Function{System.Boolean,``0,``1,``2,``3})">
             <summary>
-            Options for CallOriginalMethod
+            Set a callback method for the last call
             </summary>
         </member>
-        <member name="F:Rhino.Mocks.Interfaces.OriginalCallOptions.NoExpectation">
+        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.Callback``5(Rhino.Mocks.Delegates.Function{System.Boolean,``0,``1,``2,``3,``4})">
             <summary>
-            No expectation is created, the method will be called directly
+            Set a callback method for the last call
             </summary>
         </member>
-        <member name="F:Rhino.Mocks.Interfaces.OriginalCallOptions.CreateExpectation">
+        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.Callback``6(Rhino.Mocks.Delegates.Function{System.Boolean,``0,``1,``2,``3,``4,``5})">
             <summary>
-            Normal expectation is created, but when the method is later called, it will also call the original method
+            Set a callback method for the last call
             </summary>
         </member>
-        <member name="T:Rhino.Mocks.MethodRecorders.MethodRecorderBase">
+        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.Callback``7(Rhino.Mocks.Delegates.Function{System.Boolean,``0,``1,``2,``3,``4,``5,``6})">
             <summary>
-            Base class for method recorders, handle delegating to inner recorder if needed.
+            Set a callback method for the last call
             </summary>
         </member>
-        <member name="F:Rhino.Mocks.MethodRecorders.MethodRecorderBase.recordedActions">
+        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.Callback``8(Rhino.Mocks.Delegates.Function{System.Boolean,``0,``1,``2,``3,``4,``5,``6,``7})">
             <summary>
-            List of the expected actions on for this recorder
-            The legal values are:
-            	* Expectations
-            	* Method Recorders
+            Set a callback method for the last call
             </summary>
         </member>
-        <member name="F:Rhino.Mocks.MethodRecorders.MethodRecorderBase.recorderToCall">
+        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.Callback``9(Rhino.Mocks.Delegates.Function{System.Boolean,``0,``1,``2,``3,``4,``5,``6,``7,``8})">
             <summary>
-            The current recorder.
+            Set a callback method for the last call
             </summary>
         </member>
-        <member name="F:Rhino.Mocks.MethodRecorders.MethodRecorderBase.replayerToCall">
+        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.Callback``10(Rhino.Mocks.Delegates.Function{System.Boolean,``0,``1,``2,``3,``4,``5,``6,``7,``8,``9})">
             <summary>
-            The current replayer;
+            Set a callback method for the last call
             </summary>
         </member>
-        <member name="F:Rhino.Mocks.MethodRecorders.MethodRecorderBase.parentRecorder">
+        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.Do(System.Delegate)">
             <summary>
-            The parent recorder of this one, may be null.
+            Set a delegate to be called when the expectation is matched.
+            The delegate return value will be returned from the expectation.
             </summary>
         </member>
-        <member name="F:Rhino.Mocks.MethodRecorders.MethodRecorderBase.replayersToIgnoreForThisCall">
+        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.WhenCalled(System.Action{Rhino.Mocks.MethodInvocation})">
             <summary>
-            This contains a list of all the replayers that should be ignored
-            for a spesific method call. A replayer gets into this list by calling 
-            ClearReplayerToCall() on its parent. This list is Clear()ed on each new invocation.
+            Set a delegate to be called when the expectation is matched.
+            The delegate return value will be returned from the expectation.
             </summary>
         </member>
-        <member name="F:Rhino.Mocks.MethodRecorders.MethodRecorderBase.repeatableMethods">
+        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.Return(`0)">
             <summary>
-            All the repeatable methods calls.
+            Set the return value for the method.
             </summary>
+            <param name="objToReturn">The object the method will return</param>
+            <returns>IRepeat that defines how many times the method will return this value</returns>
         </member>
-        <member name="F:Rhino.Mocks.MethodRecorders.MethodRecorderBase.recursionDepth">
+        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.TentativeReturn">
             <summary>
-            Counts the recursion depth of the current expectation search stack
+            Set the return value for the method, but allow to override this return value in the future
             </summary>
+            <returns>IRepeat that defines how many times the method will return this value</returns>
         </member>
-        <member name="M:Rhino.Mocks.MethodRecorders.MethodRecorderBase.#ctor(Rhino.Mocks.Generated.ProxyMethodExpectationsDictionary)">
+        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.Throw(System.Exception)">
             <summary>
-            Creates a new <see cref="T:Rhino.Mocks.MethodRecorders.MethodRecorderBase"/> instance.
+            Throws the specified exception when the method is called.
             </summary>
+            <param name="exception">Exception to throw</param>
         </member>
-        <member name="M:Rhino.Mocks.MethodRecorders.MethodRecorderBase.#ctor(Rhino.Mocks.Interfaces.IMethodRecorder,Rhino.Mocks.Generated.ProxyMethodExpectationsDictionary)">
+        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.IgnoreArguments">
             <summary>
-            Creates a new <see cref="T:Rhino.Mocks.MethodRecorders.MethodRecorderBase"/> instance.
+            Ignores the arguments for this method. Any argument will be matched
+            againt this method.
             </summary>
-            <param name="parentRecorder">Parent recorder.</param>
-            <param name="repeatableMethods">Repeatable methods</param>
         </member>
-        <member name="M:Rhino.Mocks.MethodRecorders.MethodRecorderBase.Record(System.Object,System.Reflection.MethodInfo,Rhino.Mocks.Interfaces.IExpectation)">
+        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.CallOriginalMethod">
             <summary>
-            Records the specified call with the specified args on the mocked object.
+            Call the original method on the class, bypassing the mocking layers.
             </summary>
+            <returns></returns>
         </member>
-        <member name="M:Rhino.Mocks.MethodRecorders.MethodRecorderBase.GetRecordedExpectation(Castle.Core.Interceptor.IInvocation,System.Object,System.Reflection.MethodInfo,System.Object[])">
+        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.CallOriginalMethod(Rhino.Mocks.Interfaces.OriginalCallOptions)">
             <summary>
-            Get the expectation for this method on this object with this arguments 
+            Call the original method on the class, optionally bypassing the mocking layers
             </summary>
+            <returns></returns>
         </member>
-        <member name="M:Rhino.Mocks.MethodRecorders.MethodRecorderBase.GetAllExpectationsForProxyAndMethod(System.Object,System.Reflection.MethodInfo)">
+        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.PropertyBehavior">
             <summary>
-            Gets the all expectations for a mocked object and method combination,
-            regardless of the expected arguments / callbacks / contraints.
+            Use the property as a simple property, getting/setting the values without
+            causing mock expectations.
             </summary>
-            <param name="proxy">Mocked object.</param>
-            <param name="method">Method.</param>
-            <returns>List of all relevant expectation</returns>
         </member>
-        <member name="M:Rhino.Mocks.MethodRecorders.MethodRecorderBase.GetAllExpectationsForProxy(System.Object)">
+        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.SetPropertyAndIgnoreArgument">
             <summary>
-            Gets the all expectations for proxy.
+            Expect last (property) call as property setting, ignore the argument given
             </summary>
-            <param name="proxy">Mocked object.</param>
-            <returns>List of all relevant expectation</returns>
+            <returns></returns>
         </member>
-        <member name="M:Rhino.Mocks.MethodRecorders.MethodRecorderBase.ReplaceExpectation(System.Object,System.Reflection.MethodInfo,Rhino.Mocks.Interfaces.IExpectation,Rhino.Mocks.Interfaces.IExpectation)">
+        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.SetPropertyWithArgument(`0)">
             <summary>
-            Replaces the old expectation with the new expectation for the specified proxy/method pair.
-            This replace ALL expectations that equal to old expectations.
+            Expect last (property) call as property setting with a given argument.
             </summary>
-            <param name="proxy">Proxy.</param>
-            <param name="method">Method.</param>
-            <param name="oldExpectation">Old expectation.</param>
-            <param name="newExpectation">New expectation.</param>
+            <param name="argument"></param>
+            <returns></returns>
         </member>
-        <member name="M:Rhino.Mocks.MethodRecorders.MethodRecorderBase.RemoveAllRepeatableExpectationsForProxy(System.Object)">
+        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.GetEventRaiser">
             <summary>
-            Remove the all repeatable expectations for proxy.
+            Gets the event raiser for the last event
             </summary>
-            <param name="proxy">Mocked object.</param>
         </member>
-        <member name="M:Rhino.Mocks.MethodRecorders.MethodRecorderBase.AddToRepeatableMethods(System.Object,System.Reflection.MethodInfo,Rhino.Mocks.Interfaces.IExpectation)">
+        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.OutRef(System.Object[])">
             <summary>
-            Set the expectation so it can repeat any number of times.
+            Set the parameter values for out and ref parameters.
+            This is done using zero based indexing, and _ignoring_ any non out/ref parameter.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.MethodRecorders.MethodRecorderBase.RemoveExpectation(Rhino.Mocks.Interfaces.IExpectation)">
+        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.Twice">
             <summary>
-            Removes the expectation from the recorder
+            Repeat the method twice.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.MethodRecorders.MethodRecorderBase.AddRecorder(Rhino.Mocks.Interfaces.IMethodRecorder)">
+        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.Once">
             <summary>
-            Adds the recorder and turn it into the active recorder.
+            Repeat the method once.
             </summary>
-            <param name="recorder">Recorder.</param>
         </member>
-        <member name="M:Rhino.Mocks.MethodRecorders.MethodRecorderBase.MoveToPreviousRecorder">
+        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.AtLeastOnce">
             <summary>
-            Moves to previous recorder.
+            Repeat the method at least once, then repeat as many time as it would like.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.MethodRecorders.MethodRecorderBase.MoveToParentReplayer">
+        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.Never">
             <summary>
-            Moves to parent recorder.
+            This method must not appear in the replay state.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.MethodRecorders.MethodRecorderBase.GetRecordedExpectationOrNull(System.Object,System.Reflection.MethodInfo,System.Object[])">
+        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.Message(System.String)">
             <summary>
-            Gets the recorded expectation or null.
+            Documentation message for the expectation
             </summary>
+            <param name="documentationMessage">Message</param>
         </member>
-        <member name="M:Rhino.Mocks.MethodRecorders.MethodRecorderBase.ClearReplayerToCall(Rhino.Mocks.Interfaces.IMethodRecorder)">
+        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.Any">
             <summary>
-            Clear the replayer to call (and all its chain of replayers).
-            This also removes it from the list of expectations, so it will never be considered again
+            Repeat the method any number of times.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.MethodRecorders.MethodRecorderBase.UnexpectedMethodCall(Castle.Core.Interceptor.IInvocation,System.Object,System.Reflection.MethodInfo,System.Object[])">
+        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.Times(System.Int32,System.Int32)">
             <summary>
-            Get the expectation for this method on this object with this arguments 
+            Set the range to repeat an action.
             </summary>
+            <param name="min">Min.</param>
+            <param name="max">Max.</param>
         </member>
-        <member name="M:Rhino.Mocks.MethodRecorders.MethodRecorderBase.GetExpectedCallsMessage">
+        <member name="M:Rhino.Mocks.Impl.MethodOptions`1.Times(System.Int32)">
             <summary>
-            Gets the next expected calls string.
+            Set the amount of times to repeat an action.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.MethodRecorders.MethodRecorderBase.DoGetRecordedExpectationOrNull(System.Object,System.Reflection.MethodInfo,System.Object[])">
+        <member name="P:Rhino.Mocks.Impl.MethodOptions`1.Repeat">
             <summary>
-            Handles the real getting of the recorded expectation or null.
+            Better syntax to define repeats. 
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.MethodRecorders.MethodRecorderBase.DoRecord(System.Object,System.Reflection.MethodInfo,Rhino.Mocks.Interfaces.IExpectation)">
+        <member name="T:Rhino.Mocks.Impl.MockedObjectsEquality">
             <summary>
-            Handle the real execution of this method for the derived class
+            This class will provide hash code for hashtables without needing
+            to call the GetHashCode() on the object, which may very well be mocked.
+            This class has no state so it is a singelton to avoid creating a lot of objects 
+            that does the exact same thing. See flyweight patterns.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.MethodRecorders.MethodRecorderBase.DoGetRecordedExpectation(Castle.Core.Interceptor.IInvocation,System.Object,System.Reflection.MethodInfo,System.Object[])">
+        <member name="M:Rhino.Mocks.Impl.MockedObjectsEquality.GetHashCode(System.Object)">
             <summary>
-            Handle the real execution of this method for the derived class
+            Get the hash code for a proxy object without calling GetHashCode()
+            on the object.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.MethodRecorders.MethodRecorderBase.DoGetAllExpectationsForProxy(System.Object)">
+        <member name="M:Rhino.Mocks.Impl.MockedObjectsEquality.Compare(System.Object,System.Object)">
             <summary>
-            Handle the real execution of this method for the derived class
+            Compares two instances of mocked objects
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.MethodRecorders.MethodRecorderBase.DoReplaceExpectation(System.Object,System.Reflection.MethodInfo,Rhino.Mocks.Interfaces.IExpectation,Rhino.Mocks.Interfaces.IExpectation)">
+        <member name="M:Rhino.Mocks.Impl.MockedObjectsEquality.Equals(System.Object,System.Object)">
             <summary>
-            Handle the real execution of this method for the derived class
+            Compare two mocked objects
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.MethodRecorders.MethodRecorderBase.DoRemoveExpectation(Rhino.Mocks.Interfaces.IExpectation)">
+        <member name="P:Rhino.Mocks.Impl.MockedObjectsEquality.NextHashCode">
             <summary>
-            Handle the real execution of this method for the derived class
+            The next hash code value for a mock object.
+            This is safe for multi threading.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.MethodRecorders.MethodRecorderBase.DoAddRecorder(Rhino.Mocks.Interfaces.IMethodRecorder)">
+        <member name="P:Rhino.Mocks.Impl.MockedObjectsEquality.Instance">
             <summary>
-            Handle the real execution of this method for the derived class
+            The sole instance of <see cref="T:Rhino.Mocks.Impl.MockedObjectsEquality"/>
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.MethodRecorders.MethodRecorderBase.ShouldConsiderThisReplayer(Rhino.Mocks.Interfaces.IMethodRecorder)">
+        <member name="T:Rhino.Mocks.Impl.ProxyInstance">
             <summary>
-            Should this replayer be considered valid for this call?
+            This is a dummy type that is used merely to give DynamicProxy the proxy instance that
+            it needs to create IProxy's types.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.MethodRecorders.MethodRecorderBase.GetRepeatableExpectation(System.Object,System.Reflection.MethodInfo,System.Object[])">
+        <member name="T:Rhino.Mocks.Interfaces.IMockedObject">
             <summary>
-            This check the methods that were setup using the SetupResult.For()
-            or LastCall.Repeat.Any() and that bypass the whole expectation model.
+            Interface to find the repository of a mocked object
             </summary>
         </member>
-        <member name="P:Rhino.Mocks.MethodRecorders.MethodRecorderBase.HasExpectations">
+        <member name="M:Rhino.Mocks.Interfaces.IMockedObject.ShouldCallOriginal(System.Reflection.MethodInfo)">
             <summary>
-            Gets a value indicating whether this instance has expectations that weren't satisfied yet.
+            Return true if it should call the original method on the object
+            instead of pass it to the message chain.
             </summary>
-            <value>
-            	<c>true</c> if this instance has expectations; otherwise, <c>false</c>.
-            </value>
+            <param name="method">The method to call</param>
         </member>
-        <member name="P:Rhino.Mocks.MethodRecorders.MethodRecorderBase.DoHasExpectations">
+        <member name="M:Rhino.Mocks.Interfaces.IMockedObject.RegisterMethodForCallingOriginal(System.Reflection.MethodInfo)">
             <summary>
-            Handle the real execution of this method for the derived class
+            Register a method to be called on the object directly
             </summary>
         </member>
-        <member name="T:Rhino.Mocks.MethodRecorders.OrderedMethodRecorder">
+        <member name="M:Rhino.Mocks.Interfaces.IMockedObject.RegisterPropertyBehaviorFor(System.Reflection.PropertyInfo)">
             <summary>
-            Ordered collection of methods, methods must arrive in specified order
-            in order to pass.
+            Register a property on the object that will behave as a simple property
             </summary>
         </member>
-        <member name="T:Rhino.Mocks.MethodRecorders.UnorderedMethodRecorder">
+        <member name="M:Rhino.Mocks.Interfaces.IMockedObject.IsPropertyMethod(System.Reflection.MethodInfo)">
             <summary>
-            Unordered collection of method records, any expectation that exist
-            will be matched.
+            Check if the method was registered as a property method.
             </summary>
         </member>
-        <member name="F:Rhino.Mocks.MethodRecorders.UnorderedMethodRecorder.parentRecorderRedirection">
+        <member name="M:Rhino.Mocks.Interfaces.IMockedObject.HandleProperty(System.Reflection.MethodInfo,System.Object[])">
             <summary>
-            The parent recorder we have redirected to.
-            Useful for certain edge cases in orderring.
-            See: FieldProblem_Entropy for the details.
+            Do get/set on the property, according to need.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.MethodRecorders.UnorderedMethodRecorder.#ctor(Rhino.Mocks.Interfaces.IMethodRecorder,Rhino.Mocks.Generated.ProxyMethodExpectationsDictionary)">
+        <member name="M:Rhino.Mocks.Interfaces.IMockedObject.HandleEvent(System.Reflection.MethodInfo,System.Object[])">
             <summary>
-            Creates a new <see cref="T:Rhino.Mocks.MethodRecorders.UnorderedMethodRecorder"/> instance.
+            Do add/remove on the event
             </summary>
-            <param name="parentRecorder">Parent recorder.</param>
-            <param name="repeatableMethods">Repeatable methods</param>
         </member>
-        <member name="M:Rhino.Mocks.MethodRecorders.UnorderedMethodRecorder.#ctor(Rhino.Mocks.Generated.ProxyMethodExpectationsDictionary)">
+        <member name="M:Rhino.Mocks.Interfaces.IMockedObject.GetEventSubscribers(System.String)">
             <summary>
-            Creates a new <see cref="T:Rhino.Mocks.MethodRecorders.UnorderedMethodRecorder"/> instance.
+            Get the subscribers of a spesific event
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.MethodRecorders.UnorderedMethodRecorder.DoRecord(System.Object,System.Reflection.MethodInfo,Rhino.Mocks.Interfaces.IExpectation)">
+        <member name="M:Rhino.Mocks.Interfaces.IMockedObject.GetDeclaringType(System.Reflection.MethodInfo)">
             <summary>
-            Records the specified call with the specified args on the mocked object.
+            Gets the declaring type of the method, taking into acccount the possible generic 
+            parameters that it was created with.
             </summary>
-            <param name="proxy">Mocked object.</param>
-            <param name="method">Method.</param>
-            <param name="expectation">Expectation.</param>
         </member>
-        <member name="M:Rhino.Mocks.MethodRecorders.UnorderedMethodRecorder.DoGetRecordedExpectation(Castle.Core.Interceptor.IInvocation,System.Object,System.Reflection.MethodInfo,System.Object[])">
+        <member name="M:Rhino.Mocks.Interfaces.IMockedObject.ClearState(Rhino.Mocks.BackToRecordOptions)">
             <summary>
-            Get the expectation for this method on this object with this arguments 
+            Clears the state of the object, remove original calls, property behavior, subscribed events, etc.
             </summary>
-            <param name="invocation">Invocation for this method</param>
-            <param name="proxy">Mocked object.</param>
-            <param name="method">Method.</param>
-            <param name="args">Args.</param>
-            <returns>True is the call was recorded, false otherwise</returns>
         </member>
-        <member name="M:Rhino.Mocks.MethodRecorders.UnorderedMethodRecorder.GetAllExpectationsForProxyAndMethod(System.Object,System.Reflection.MethodInfo)">
+        <member name="M:Rhino.Mocks.Interfaces.IMockedObject.GetCallArgumentsFor(System.Reflection.MethodInfo)">
             <summary>
-            Gets the all expectations for a mocked object and method combination,
-            regardless of the expected arguments / callbacks / contraints.
+            Get all the method calls arguments that were made against this object with the specificed 
+            method.
             </summary>
-            <param name="proxy">Mocked object.</param>
-            <param name="method">Method.</param>
-            <returns>List of all relevant expectation</returns>
+            <remarks>
+            Only method calls in replay mode are counted
+            </remarks>
         </member>
-        <member name="M:Rhino.Mocks.MethodRecorders.UnorderedMethodRecorder.DoGetAllExpectationsForProxy(System.Object)">
+        <member name="M:Rhino.Mocks.Interfaces.IMockedObject.MethodCall(System.Reflection.MethodInfo,System.Object[])">
             <summary>
-            Gets the all expectations for proxy.
+            Records the method call
             </summary>
-            <param name="proxy">Mocked object.</param>
-            <returns>List of all relevant expectation</returns>
         </member>
-        <member name="M:Rhino.Mocks.MethodRecorders.UnorderedMethodRecorder.DoReplaceExpectation(System.Object,System.Reflection.MethodInfo,Rhino.Mocks.Interfaces.IExpectation,Rhino.Mocks.Interfaces.IExpectation)">
+        <member name="P:Rhino.Mocks.Interfaces.IMockedObject.DependentMocks">
             <summary>
-            Replaces the old expectation with the new expectation for the specified proxy/method pair.
-            This replace ALL expectations that equal to old expectations.
+            Mocks that are tied to this mock lifestyle
             </summary>
-            <param name="proxy">Proxy.</param>
-            <param name="method">Method.</param>
-            <param name="oldExpectation">Old expectation.</param>
-            <param name="newExpectation">New expectation.</param>
         </member>
-        <member name="M:Rhino.Mocks.MethodRecorders.UnorderedMethodRecorder.DoRemoveExpectation(Rhino.Mocks.Interfaces.IExpectation)">
+        <member name="P:Rhino.Mocks.Interfaces.IMockedObject.ProxyHash">
             <summary>
-            Handle the real execution of this method for the derived class
+            The unique hash code of this mock, which is not related
+            to the value of the GetHashCode() call on the object.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.MethodRecorders.UnorderedMethodRecorder.DoGetRecordedExpectationOrNull(System.Object,System.Reflection.MethodInfo,System.Object[])">
+        <member name="P:Rhino.Mocks.Interfaces.IMockedObject.Repository">
             <summary>
-            Handles the real getting of the recorded expectation or null.
+            Gets the repository.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.MethodRecorders.UnorderedMethodRecorder.DoAddRecorder(Rhino.Mocks.Interfaces.IMethodRecorder)">
+        <member name="P:Rhino.Mocks.Interfaces.IMockedObject.ImplementedTypes">
             <summary>
-            Handle the real execution of this method for the derived class
+            Gets the implemented types by this mocked object
             </summary>
+            <value>The implemented.</value>
         </member>
-        <member name="M:Rhino.Mocks.MethodRecorders.UnorderedMethodRecorder.GetExpectedCallsMessage">
+        <member name="P:Rhino.Mocks.Interfaces.IMockedObject.ConstructorArguments">
             <summary>
-            Gets the next expected calls string.
+            Gets or sets the constructor arguments.
             </summary>
+            <value>The constructor arguments.</value>
         </member>
-        <member name="M:Rhino.Mocks.MethodRecorders.UnorderedMethodRecorder.UnexpectedMethodCall(Castle.Core.Interceptor.IInvocation,System.Object,System.Reflection.MethodInfo,System.Object[])">
+        <member name="P:Rhino.Mocks.Interfaces.IMockedObject.MockedObjectInstance">
             <summary>
-            Create an exception for an unexpected method call.
+            The mocked instance that this is representing
             </summary>
         </member>
-        <member name="P:Rhino.Mocks.MethodRecorders.UnorderedMethodRecorder.DoHasExpectations">
+        <member name="M:Rhino.Mocks.Impl.ProxyInstance.#ctor(Rhino.Mocks.MockRepository,System.Type[])">
             <summary>
-            Gets a value indicating whether this instance has expectations that weren't satisfied yet.
+            Create a new instance of <see cref="T:Rhino.Mocks.Impl.ProxyInstance"/>
             </summary>
-            <value>
-            	<c>true</c> if this instance has expectations; otherwise, <c>false</c>.
-            </value>
         </member>
-        <member name="M:Rhino.Mocks.MethodRecorders.OrderedMethodRecorder.#ctor(Rhino.Mocks.Interfaces.IMethodRecorder,Rhino.Mocks.Generated.ProxyMethodExpectationsDictionary)">
+        <member name="M:Rhino.Mocks.Impl.ProxyInstance.ShouldCallOriginal(System.Reflection.MethodInfo)">
             <summary>
-            Creates a new <see cref="T:Rhino.Mocks.MethodRecorders.OrderedMethodRecorder"/> instance.
+            Return true if it should call the original method on the object
+            instead of pass it to the message chain.
             </summary>
-            <param name="parentRecorder">Parent recorder.</param>
-            <param name="repeatableMethods">Repetable methods</param>
+            <param name="method">The method to call</param>
         </member>
-        <member name="M:Rhino.Mocks.MethodRecorders.OrderedMethodRecorder.#ctor(Rhino.Mocks.Generated.ProxyMethodExpectationsDictionary)">
+        <member name="M:Rhino.Mocks.Impl.ProxyInstance.RegisterMethodForCallingOriginal(System.Reflection.MethodInfo)">
             <summary>
-            Creates a new <see cref="T:Rhino.Mocks.MethodRecorders.OrderedMethodRecorder"/> instance.
+            Register a method to be called on the object directly
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.MethodRecorders.OrderedMethodRecorder.DoGetRecordedExpectationOrNull(System.Object,System.Reflection.MethodInfo,System.Object[])">
+        <member name="M:Rhino.Mocks.Impl.ProxyInstance.RegisterPropertyBehaviorFor(System.Reflection.PropertyInfo)">
             <summary>
-            Handles the real getting of the recorded expectation or null.
+            Register a property on the object that will behave as a simple property
+            Return true if there is already a value for the property
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.MethodRecorders.OrderedMethodRecorder.UnexpectedMethodCall(Castle.Core.Interceptor.IInvocation,System.Object,System.Reflection.MethodInfo,System.Object[])">
+        <member name="M:Rhino.Mocks.Impl.ProxyInstance.IsPropertyMethod(System.Reflection.MethodInfo)">
             <summary>
-            Get the expectation for this method on this object with this arguments 
+            Check if the method was registered as a property method.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.MethodRecorders.OrderedMethodRecorder.GetExpectedCallsMessage">
+        <member name="M:Rhino.Mocks.Impl.ProxyInstance.HandleProperty(System.Reflection.MethodInfo,System.Object[])">
             <summary>
-            Gets the next expected calls string.
+            Do get/set on the property, according to need.
             </summary>
         </member>
-        <member name="T:Rhino.Mocks.MethodRecorders.ProxyMethodExpectationTriplet">
+        <member name="M:Rhino.Mocks.Impl.ProxyInstance.HandleEvent(System.Reflection.MethodInfo,System.Object[])">
             <summary>
-            Hold an expectation for a method call on an object
+            Do add/remove on the event
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.MethodRecorders.ProxyMethodExpectationTriplet.#ctor(System.Object,System.Reflection.MethodInfo,Rhino.Mocks.Interfaces.IExpectation)">
+        <member name="M:Rhino.Mocks.Impl.ProxyInstance.GetEventSubscribers(System.String)">
             <summary>
-            Creates a new <see cref="T:Rhino.Mocks.MethodRecorders.ProxyMethodExpectationTriplet"/> instance.
+            Get the subscribers of a spesific event
             </summary>
-            <param name="proxy">Proxy.</param>
-            <param name="method">Method.</param>
-            <param name="expectation">Expectation.</param>
         </member>
-        <member name="M:Rhino.Mocks.MethodRecorders.ProxyMethodExpectationTriplet.Equals(System.Object)">
+        <member name="M:Rhino.Mocks.Impl.ProxyInstance.GetDeclaringType(System.Reflection.MethodInfo)">
             <summary>
-            Determains if the object equal to this instance
+            Gets the declaring type of the method, taking into acccount the possible generic 
+            parameters that it was created with.
             </summary>
-            <param name="obj">Obj.</param>
-            <returns></returns>
         </member>
-        <member name="M:Rhino.Mocks.MethodRecorders.ProxyMethodExpectationTriplet.GetHashCode">
+        <member name="M:Rhino.Mocks.Impl.ProxyInstance.GetCallArgumentsFor(System.Reflection.MethodInfo)">
             <summary>
-            Gets the hash code.
+            Get all the method calls arguments that were made against this object with the specificed
+            method.
             </summary>
+            <param name="method"></param>
             <returns></returns>
+            <remarks>
+            Only method calls in replay mode are counted
+            </remarks>
         </member>
-        <member name="P:Rhino.Mocks.MethodRecorders.ProxyMethodExpectationTriplet.Proxy">
+        <member name="M:Rhino.Mocks.Impl.ProxyInstance.MethodCall(System.Reflection.MethodInfo,System.Object[])">
             <summary>
-            Gets the proxy.
+            Records the method call
             </summary>
-            <value></value>
+            <param name="method"></param>
+            <param name="args"></param>
         </member>
-        <member name="P:Rhino.Mocks.MethodRecorders.ProxyMethodExpectationTriplet.Method">
+        <member name="M:Rhino.Mocks.Impl.ProxyInstance.ClearState(Rhino.Mocks.BackToRecordOptions)">
             <summary>
-            Gets the method.
+            Clears the state of the object, remove original calls, property behavior, subscribed events, etc.
             </summary>
-            <value></value>
         </member>
-        <member name="P:Rhino.Mocks.MethodRecorders.ProxyMethodExpectationTriplet.Expectation">
+        <member name="P:Rhino.Mocks.Impl.ProxyInstance.DependentMocks">
             <summary>
-            Gets the expectation.
+            Mocks that are tied to this mock lifestyle
             </summary>
-            <value></value>
         </member>
-        <member name="T:Rhino.Mocks.MethodRecorders.ProxyMethodPair">
+        <member name="P:Rhino.Mocks.Impl.ProxyInstance.ProxyHash">
             <summary>
-            Holds a pair of mocked object and a method
-            and allows to compare them against each other.
-            This allows us to have a distinction between mockOne.MyMethod() and
-            mockTwo.MyMethod()...
+            The unique hash code of this proxy, which is not related
+            to the value of the GetHashCode() call on the object.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.MethodRecorders.ProxyMethodPair.#ctor(System.Object,System.Reflection.MethodInfo)">
+        <member name="P:Rhino.Mocks.Impl.ProxyInstance.Repository">
             <summary>
-            Creates a new <see cref="T:Rhino.Mocks.MethodRecorders.ProxyMethodPair"/> instance.
+            Gets the repository.
             </summary>
-            <param name="proxy">Proxy.</param>
-            <param name="method">Method.</param>
         </member>
-        <member name="M:Rhino.Mocks.MethodRecorders.ProxyMethodPair.Equals(System.Object)">
+        <member name="P:Rhino.Mocks.Impl.ProxyInstance.ConstructorArguments">
             <summary>
-            Determains whatever obj equals to this instance.
-            ProxyMethodPairs are equals when they point to the same /instance/ of
-            an object, and to the same method.
+            Gets or sets the constructor arguments.
             </summary>
-            <param name="obj">Obj.</param>
-            <returns></returns>
+            <value>The constructor arguments.</value>
         </member>
-        <member name="M:Rhino.Mocks.MethodRecorders.ProxyMethodPair.GetHashCode">
+        <member name="P:Rhino.Mocks.Impl.ProxyInstance.MockedObjectInstance">
             <summary>
-            Gets the hash code.
+            The mocked instance that this is representing
             </summary>
-            <returns></returns>
         </member>
-        <member name="P:Rhino.Mocks.MethodRecorders.ProxyMethodPair.Proxy">
+        <member name="P:Rhino.Mocks.Impl.ProxyInstance.ImplementedTypes">
             <summary>
-            Gets the proxy.
+            Gets the implemented types by this mocked object
             </summary>
-            <value></value>
+            <value>The implemented.</value>
         </member>
-        <member name="P:Rhino.Mocks.MethodRecorders.ProxyMethodPair.Method">
+        <member name="T:Rhino.Mocks.Impl.Range">
             <summary>
-            Gets the method.
+            Range for expected method calls
             </summary>
-            <value></value>
         </member>
-        <member name="T:Rhino.Mocks.MethodRecorders.RecorderChanger">
+        <member name="M:Rhino.Mocks.Impl.Range.#ctor(System.Int32,System.Nullable{System.Int32})">
             <summary>
-            Change the recorder from ordered to unordered and vice versa
+            Creates a new <see cref="T:Rhino.Mocks.Impl.Range"/> instance.
             </summary>
+            <param name="min">Min.</param>
+            <param name="max">Max.</param>
         </member>
-        <member name="M:Rhino.Mocks.MethodRecorders.RecorderChanger.#ctor(Rhino.Mocks.MockRepository,Rhino.Mocks.Interfaces.IMethodRecorder,Rhino.Mocks.Interfaces.IMethodRecorder)">
+        <member name="M:Rhino.Mocks.Impl.Range.ToString">
             <summary>
-            Creates a new <see cref="T:Rhino.Mocks.MethodRecorders.RecorderChanger"/> instance.
+            Return the string representation of this range.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.MethodRecorders.RecorderChanger.Dispose">
+        <member name="P:Rhino.Mocks.Impl.Range.Min">
             <summary>
-            Disposes this instance.
+            Gets or sets the min.
             </summary>
+            <value></value>
         </member>
-        <member name="T:Rhino.Mocks.Utilities.GenericsUtil">
+        <member name="P:Rhino.Mocks.Impl.Range.Max">
             <summary>
-            Utility class for dealing with messing generics scenarios.
+            Gets or sets the max.
             </summary>
+            <value></value>
         </member>
-        <member name="M:Rhino.Mocks.Utilities.GenericsUtil.HasOpenGenericParam(System.Type)">
+        <member name="T:Rhino.Mocks.Impl.RecordDynamicMockState">
             <summary>
-            There are issues with trying to get this to work correctly with open generic types, since this is an edge case, 
-            I am letting the runtime handle it.
+            Records all the expectations for a mock and
+            return a ReplayDynamicMockState when Replay()
+            is called.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Utilities.GenericsUtil.GetRealType(System.Type,Castle.Core.Interceptor.IInvocation)">
+        <member name="M:Rhino.Mocks.Impl.RecordDynamicMockState.#ctor(Rhino.Mocks.Interfaces.IMockedObject,Rhino.Mocks.MockRepository)">
             <summary>
-            Gets the real type, including de-constructing and constructing the type of generic
-            methods parameters.
+            Creates a new <see cref="T:Rhino.Mocks.Impl.RecordDynamicMockState"/> instance.
             </summary>
-            <param name="type">The type.</param>
-            <param name="invocation">The invocation.</param>
-            <returns></returns>
+            <param name="repository">Repository.</param>
+            <param name="mockedObject">The proxy that generates the method calls</param>
         </member>
-        <member name="M:Rhino.Mocks.Utilities.GenericsUtil.ReconstructGenericType(System.Type,System.Collections.Generic.Dictionary{System.String,System.Type})">
+        <member name="M:Rhino.Mocks.Impl.RecordDynamicMockState.DoReplay">
             <summary>
-            Because we need to support complex types here (simple generics were handled above) we
-            need to be aware of the following scenarios:
-            List[T] and List[Foo[T]]
+            Verify that we can move to replay state and move 
+            to the reply state.
             </summary>
         </member>
-        <member name="T:Rhino.Mocks.Utilities.MethodCallUtil">
+        <member name="M:Rhino.Mocks.Impl.RecordDynamicMockState.GetDefaultCallCountRangeExpectation">
             <summary>
-            Utility class for working with method calls.
+            Get the default call count range expectation
             </summary>
+            <returns></returns>
         </member>
-        <member name="M:Rhino.Mocks.Utilities.MethodCallUtil.StringPresentation(Castle.Core.Interceptor.IInvocation,Rhino.Mocks.Utilities.MethodCallUtil.FormatArgumnet,System.Reflection.MethodInfo,System.Object[])">
+        <member name="M:Rhino.Mocks.Impl.RecordDynamicMockState.BackToRecord">
             <summary>
-            Return the string representation of a method call and its arguments.
+            Gets a mock state that match the original mock state of the object.
             </summary>
-            <param name="method">The method</param>
-            <param name="args">The method arguments</param>
-            <param name="invocation">Invocation of the method, used to get the generics arguments</param>
-            <param name="format">Delegate to format the parameter</param>
-            <returns>The string representation of this method call</returns>
         </member>
-        <member name="M:Rhino.Mocks.Utilities.MethodCallUtil.StringPresentation(Castle.Core.Interceptor.IInvocation,System.Reflection.MethodInfo,System.Object[])">
+        <member name="T:Rhino.Mocks.Impl.RecordPartialMockState">
             <summary>
-            Return the string representation of a method call and its arguments.
+            Records all the expectations for a mock and
+            return a ReplayPartialMockState when Replay()
+            is called.
             </summary>
-            <param name="invocation">The invocation of the method, used to get the generic parameters</param>
-            <param name="method">The method</param>
-            <param name="args">The method arguments</param>
-            <returns>The string representation of this method call</returns>
         </member>
-        <member name="T:Rhino.Mocks.Utilities.MethodCallUtil.FormatArgumnet">
+        <member name="M:Rhino.Mocks.Impl.RecordPartialMockState.#ctor(Rhino.Mocks.Interfaces.IMockedObject,Rhino.Mocks.MockRepository)">
             <summary>
-            Delegate to format the argument for the string representation of
-            the method call.
+            Creates a new <see cref="T:Rhino.Mocks.Impl.RecordDynamicMockState"/> instance.
             </summary>
+            <param name="repository">Repository.</param>
+            <param name="mockedObject">The proxy that generates the method calls</param>
         </member>
-        <member name="T:Rhino.Mocks.Utilities.ReturnValueUtil">
+        <member name="M:Rhino.Mocks.Impl.RecordPartialMockState.DoReplay">
             <summary>
-            Utility to get the default value for a type
+            Verify that we can move to replay state and move 
+            to the reply state.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Utilities.ReturnValueUtil.DefaultValue(System.Type,Castle.Core.Interceptor.IInvocation)">
+        <member name="M:Rhino.Mocks.Impl.RecordPartialMockState.BackToRecord">
             <summary>
-            The default value for a type.
-            Null for reference types and void
-            0 for value types.
-            First element for enums
-            Note that we need to get the value even for opened generic types, such as those from
-            generic methods.
+            Gets a mock state that matches the original mock state of the object.
             </summary>
-            <param name="type">Type.</param>
-            <param name="invocation">The invocation.</param>
-            <returns>the default value</returns>
         </member>
-        <member name="T:Rhino.Mocks.Arg`1">
+        <member name="T:Rhino.Mocks.Impl.RepeatableOption">
             <summary>
-            Defines constraints and return values for arguments of a mock.
-            Only use Arg inside a method call on a mock that is recording.
-            Example: 
-              ExpectCall( 
-                mock.foo(
-                  Arg&lt;int&gt;.Is.GreaterThan(2),
-                  Arg&lt;string&gt;.Is.Anything
-                ));
-            Use Arg.Text for string specific constraints
-            Use Arg&lt;ListClass&gt;.List for list specific constraints
+            Options for special repeat option
+            </summary>
+        </member>
+        <member name="F:Rhino.Mocks.Impl.RepeatableOption.Normal">
+            <summary>
+            This method can be called only as many times as the IMethodOptions.Expect allows.
             </summary>
-            <typeparam name="T"></typeparam>
         </member>
-        <member name="M:Rhino.Mocks.Arg`1.Matches(System.Linq.Expressions.Expression{System.Predicate{`0}})">
+        <member name="F:Rhino.Mocks.Impl.RepeatableOption.Never">
             <summary>
-            Register the predicate as a constraint for the current call.
+            This method should never be called
             </summary>
-            <param name="predicate">The predicate.</param>
-            <returns>default(T)</returns>
-            <example>
-            Allow you to use code to create constraints
-            <code>
-            demo.AssertWasCalled(x => x.Bar(Arg{string}.Matches(a => a.StartsWith("b") &amp;&amp; a.Contains("ba"))));
-            </code>
-            </example>
         </member>
-        <member name="M:Rhino.Mocks.Arg`1.Matches(Rhino.Mocks.Constraints.AbstractConstraint)">
+        <member name="F:Rhino.Mocks.Impl.RepeatableOption.Any">
             <summary>
-            Define a complex constraint for this argument by passing several constraints
-            combined with operators. (Use Is in simple cases.)
-            Example: Arg&lt;string&gt;.Matches(Is.Equal("Hello") || Text.EndsWith("u"));
+            This method can be call any number of times
             </summary>
-            <param name="constraint">Constraints using Is, Text and List</param>
-            <returns>Dummy to satisfy the compiler</returns>
         </member>
-        <member name="M:Rhino.Mocks.Arg`1.Ref(Rhino.Mocks.Constraints.AbstractConstraint,`0)">
+        <member name="F:Rhino.Mocks.Impl.RepeatableOption.OriginalCall">
             <summary>
-            Define a Ref argument.
+            This method will call the original method
             </summary>
-            <param name="constraint">Constraints for this argument</param>
-            <param name="returnValue">value returned by the mock</param>
-            <returns></returns>
         </member>
-        <member name="M:Rhino.Mocks.Arg`1.Out(`0)">
+        <member name="F:Rhino.Mocks.Impl.RepeatableOption.OriginalCallBypassingMocking">
             <summary>
-            Define a out parameter. Use it together with the keyword out and use the
-            Dummy field available by the return value.
-            Example:  mock.foo( out Arg&lt;string&gt;.Out("hello").Dummy );
+            This method will call the original method, bypassing the mocking layer
             </summary>
-            <param name="returnValue"></param>
-            <returns></returns>
         </member>
-        <member name="P:Rhino.Mocks.Arg`1.Is">
+        <member name="F:Rhino.Mocks.Impl.RepeatableOption.PropertyBehavior">
             <summary>
-            Define a simple constraint for this argument. (Use Matches in simple cases.)
-            Example: 
-              Arg&lt;int&gt;.Is.Anthing
-              Arg&lt;string&gt;.Is.Equal("hello")
+            This method will simulate simple property behavior
             </summary>
         </member>
-        <member name="P:Rhino.Mocks.Arg`1.List">
+        <member name="T:Rhino.Mocks.Impl.ReplayDynamicMockState">
             <summary>
-            Define Constraints on list arguments.
+            Validate all expectations on a mock and ignores calls to
+            any method that was not setup properly.
             </summary>
         </member>
-        <member name="T:Rhino.Mocks.Arg">
+        <member name="M:Rhino.Mocks.Impl.ReplayDynamicMockState.#ctor(Rhino.Mocks.Impl.RecordDynamicMockState)">
             <summary>
-            Use the Arg class (without generic) to define Text constraints
+            Creates a new <see cref="T:Rhino.Mocks.Impl.ReplayDynamicMockState"/> instance.
             </summary>
+            <param name="previousState">The previous state for this method</param>
         </member>
-        <member name="P:Rhino.Mocks.Arg.Text">
+        <member name="M:Rhino.Mocks.Impl.ReplayDynamicMockState.DoMethodCall(Castle.Core.Interceptor.IInvocation,System.Reflection.MethodInfo,System.Object[])">
             <summary>
-            Define constraints on text arguments.
+            Add a method call for this state' mock.
             </summary>
+            <param name="invocation">The invocation for this method</param>
+            <param name="method">The method that was called</param>
+            <param name="args">The arguments this method was called with</param>
         </member>
-        <member name="T:Rhino.Mocks.ArgManager">
+        <member name="M:Rhino.Mocks.Impl.ReplayDynamicMockState.BackToRecord">
             <summary>
-            Used to manage the static state of the Arg&lt;T&gt; class"/>
+            Gets a mock state that match the original mock state of the object.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.ArgManager.Clear">
+        <member name="T:Rhino.Mocks.Impl.ReplayPartialMockState">
             <summary>
-            Resets the static state
+            Validate all expectations on a mock and ignores calls to
+            any method that was not setup properly.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.ArgManager.GetAllReturnValues">
+        <member name="M:Rhino.Mocks.Impl.ReplayPartialMockState.#ctor(Rhino.Mocks.Impl.RecordPartialMockState)">
             <summary>
-            Returns return values for the out and ref parameters
-            Note: the array returned has the size of the number of out and ref 
-            argument definitions
+            Creates a new <see cref="T:Rhino.Mocks.Impl.ReplayDynamicMockState"/> instance.
             </summary>
-            <returns></returns>
+            <param name="previousState">The previous state for this method</param>
         </member>
-        <member name="M:Rhino.Mocks.ArgManager.GetAllConstraints">
+        <member name="M:Rhino.Mocks.Impl.ReplayPartialMockState.DoMethodCall(Castle.Core.Interceptor.IInvocation,System.Reflection.MethodInfo,System.Object[])">
             <summary>
-            Returns the constraints for all arguments.
-            Out arguments have an Is.Anything constraint and are also in the list.
+            Add a method call for this state' mock.
             </summary>
-            <returns></returns>
+            <param name="invocation">The invocation for this method</param>
+            <param name="method">The method that was called</param>
+            <param name="args">The arguments this method was called with</param>
         </member>
-        <member name="T:Rhino.Mocks.BackToRecordOptions">
+        <member name="M:Rhino.Mocks.Impl.ReplayPartialMockState.BackToRecord">
             <summary>
-            What should BackToRecord clear
+            Gets a mock state that match the original mock state of the object.
             </summary>
         </member>
-        <member name="F:Rhino.Mocks.BackToRecordOptions.None">
+        <member name="T:Rhino.Mocks.Impl.RhinoInterceptor">
             <summary>
-            Retain all expectations and behaviors and return to mock
+            Summary description for RhinoInterceptor.
             </summary>
         </member>
-        <member name="F:Rhino.Mocks.BackToRecordOptions.Expectations">
+        <member name="M:Rhino.Mocks.Impl.RhinoInterceptor.#ctor(Rhino.Mocks.MockRepository,Rhino.Mocks.Interfaces.IMockedObject)">
             <summary>
-            All expectations
+            Creates a new <see cref="T:Rhino.Mocks.Impl.RhinoInterceptor"/> instance.
             </summary>
         </member>
-        <member name="F:Rhino.Mocks.BackToRecordOptions.EventSubscribers">
+        <member name="M:Rhino.Mocks.Impl.RhinoInterceptor.Intercept(Castle.Core.Interceptor.IInvocation)">
             <summary>
-            Event subscribers for this instance
+            Intercept a method call and direct it to the repository.
             </summary>
         </member>
-        <member name="F:Rhino.Mocks.BackToRecordOptions.OriginalMethodsToCall">
+        <member name="T:Rhino.Mocks.Impl.Validate">
             <summary>
-            Methods that should be forwarded to the base class implementation
+            Validate arguments for methods
             </summary>
         </member>
-        <member name="F:Rhino.Mocks.BackToRecordOptions.PropertyBehavior">
+        <member name="M:Rhino.Mocks.Impl.Validate.IsNotNull(System.Object,System.String)">
             <summary>
-            Properties that should behave like properties
+            Validate that the passed argument is not null.
             </summary>
+            <param name="obj">The object to validate</param>
+            <param name="name">The name of the argument</param>
+            <exception cref="T:System.ArgumentNullException">
+            If the obj is null, an ArgumentNullException with the passed name
+            is thrown.
+            </exception>
         </member>
-        <member name="F:Rhino.Mocks.BackToRecordOptions.All">
+        <member name="M:Rhino.Mocks.Impl.Validate.ArgsEqual(System.Object[],System.Object[])">
             <summary>
-            Remove all the behavior of the object
+            Validate that the arguments are equal.
             </summary>
+            <param name="expectedArgs">Expected args.</param>
+            <param name="actualArgs">Actual Args.</param>
         </member>
-        <member name="T:Rhino.Mocks.Delegates">
+        <member name="M:Rhino.Mocks.Impl.Validate.AreEqual(System.Object,System.Object)">
             <summary>
-            This class defines a lot of method signatures, which we will use
-            to allow compatability on net-2.0
+            Validate that the two arguments are equals, including validation for
+            when the arguments are collections, in which case it will validate their values.
             </summary>
         </member>
-        <member name="T:Rhino.Mocks.Delegates.Action">
+        <member name="M:Rhino.Mocks.Impl.Validate.SafeEquals(System.Object,System.Object)">
             <summary>
-            dummy
+            This method is safe for use even if any of the objects is a mocked object
+            that override equals.
             </summary>
         </member>
-        <member name="T:Rhino.Mocks.Delegates.Function`1">
+        <member name="T:Rhino.Mocks.Impl.VerifiedMockState">
             <summary>
-            dummy
+            Throw an object already verified when accessed
             </summary>
         </member>
-        <member name="T:Rhino.Mocks.Delegates.Function`2">
+        <member name="M:Rhino.Mocks.Impl.VerifiedMockState.#ctor(Rhino.Mocks.Interfaces.IMockState)">
             <summary>
-            dummy
+            Create a new instance of VerifiedMockState 
             </summary>
+            <param name="previous">The previous mock state, used to get the initial record state</param>
         </member>
-        <member name="T:Rhino.Mocks.Delegates.Action`2">
+        <member name="M:Rhino.Mocks.Impl.VerifiedMockState.MethodCall(Castle.Core.Interceptor.IInvocation,System.Reflection.MethodInfo,System.Object[])">
             <summary>
-            dummy
+            Add a method call for this state' mock.
             </summary>
+            <param name="invocation">The invocation for this method</param>
+            <param name="method">The method that was called</param>
+            <param name="args">The arguments this method was called with</param>
         </member>
-        <member name="T:Rhino.Mocks.Delegates.Function`3">
+        <member name="M:Rhino.Mocks.Impl.VerifiedMockState.Verify">
             <summary>
-            dummy
+            Verify that this mock expectations have passed.
             </summary>
         </member>
-        <member name="T:Rhino.Mocks.Delegates.Action`3">
+        <member name="M:Rhino.Mocks.Impl.VerifiedMockState.Replay">
             <summary>
-            dummy
+            Verify that we can move to replay state and move 
+            to the reply state.
             </summary>
         </member>
-        <member name="T:Rhino.Mocks.Delegates.Function`4">
+        <member name="M:Rhino.Mocks.Impl.VerifiedMockState.BackToRecord">
             <summary>
-            dummy
+            Gets a mock state that match the original mock state of the object.
             </summary>
         </member>
-        <member name="T:Rhino.Mocks.Delegates.Action`4">
+        <member name="M:Rhino.Mocks.Impl.VerifiedMockState.GetLastMethodOptions``1">
             <summary>
-            dummy
+            Get the options for the last method call
             </summary>
         </member>
-        <member name="T:Rhino.Mocks.Delegates.Function`5">
+        <member name="M:Rhino.Mocks.Impl.VerifiedMockState.SetExceptionToThrowOnVerify(System.Exception)">
             <summary>
-            dummy
+            Set the exception to throw when Verify is called.
+            This is used to report exception that may have happened but where caught in the code.
+            This way, they are reported anyway when Verify() is called.
             </summary>
         </member>
-        <member name="T:Rhino.Mocks.Delegates.Action`5">
+        <member name="M:Rhino.Mocks.Impl.VerifiedMockState.NotifyCallOnPropertyBehavior">
             <summary>
-            dummy
+            not relevant
             </summary>
         </member>
-        <member name="T:Rhino.Mocks.Delegates.Function`6">
+        <member name="P:Rhino.Mocks.Impl.VerifiedMockState.VerifyState">
             <summary>
-            dummy
+            Gets the matching verify state for this state
             </summary>
         </member>
-        <member name="T:Rhino.Mocks.Delegates.Action`6">
+        <member name="P:Rhino.Mocks.Impl.VerifiedMockState.LastMethodOptions">
             <summary>
-            dummy
+            Get the options for the last method call
             </summary>
+        </member>
+        <member name="T:Rhino.Mocks.Interfaces.IMethodRecorder">
             <summary>
-            dummy
+            Records the actions on all the mocks created by a repository.
             </summary>
         </member>
-        <member name="T:Rhino.Mocks.Delegates.Function`7">
+        <member name="M:Rhino.Mocks.Interfaces.IMethodRecorder.Record(System.Object,System.Reflection.MethodInfo,Rhino.Mocks.Interfaces.IExpectation)">
             <summary>
-            dummy
+            Records the specified call with the specified args on the mocked object.
             </summary>
         </member>
-        <member name="T:Rhino.Mocks.Delegates.Action`7">
+        <member name="M:Rhino.Mocks.Interfaces.IMethodRecorder.GetRecordedExpectation(Castle.Core.Interceptor.IInvocation,System.Object,System.Reflection.MethodInfo,System.Object[])">
             <summary>
-            dummy
+            Get the expectation for this method on this object with this arguments 
             </summary>
         </member>
-        <member name="T:Rhino.Mocks.Delegates.Function`8">
+        <member name="M:Rhino.Mocks.Interfaces.IMethodRecorder.GetRepeatableExpectation(System.Object,System.Reflection.MethodInfo,System.Object[])">
             <summary>
-            dummy
+            This check the methods that were setup using the SetupResult.For()
+            or LastCall.Repeat.Any() and that bypass the whole expectation model.
             </summary>
         </member>
-        <member name="T:Rhino.Mocks.Delegates.Action`8">
+        <member name="M:Rhino.Mocks.Interfaces.IMethodRecorder.GetAllExpectationsForProxyAndMethod(System.Object,System.Reflection.MethodInfo)">
             <summary>
-            dummy
+            Gets the all expectations for a mocked object and method combination,
+            regardless of the expected arguments / callbacks / contraints.
             </summary>
+            <param name="proxy">Mocked object.</param>
+            <param name="method">Method.</param>
+            <returns>List of all relevant expectation</returns>
         </member>
-        <member name="T:Rhino.Mocks.Delegates.Function`9">
+        <member name="M:Rhino.Mocks.Interfaces.IMethodRecorder.GetAllExpectationsForProxy(System.Object)">
             <summary>
-            dummy
+            Gets the all expectations for proxy.
             </summary>
+            <param name="proxy">Mocked object.</param>
+            <returns>List of all relevant expectation</returns>
         </member>
-        <member name="T:Rhino.Mocks.Delegates.Action`9">
+        <member name="M:Rhino.Mocks.Interfaces.IMethodRecorder.RemoveAllRepeatableExpectationsForProxy(System.Object)">
             <summary>
-            dummy
+            Removes all the repeatable expectations for proxy.
             </summary>
+            <param name="proxy">Mocked object.</param>
         </member>
-        <member name="T:Rhino.Mocks.Delegates.Function`10">
+        <member name="M:Rhino.Mocks.Interfaces.IMethodRecorder.ReplaceExpectation(System.Object,System.Reflection.MethodInfo,Rhino.Mocks.Interfaces.IExpectation,Rhino.Mocks.Interfaces.IExpectation)">
             <summary>
-            dummy
+            Replaces the old expectation with the new expectation for the specified proxy/method pair.
+            This replace ALL expectations that equal to old expectations.
             </summary>
+            <param name="proxy">Proxy.</param>
+            <param name="method">Method.</param>
+            <param name="oldExpectation">Old expectation.</param>
+            <param name="newExpectation">New expectation.</param>
         </member>
-        <member name="T:Rhino.Mocks.Delegates.Action`10">
+        <member name="M:Rhino.Mocks.Interfaces.IMethodRecorder.AddRecorder(Rhino.Mocks.Interfaces.IMethodRecorder)">
             <summary>
-            dummy
+            Adds the recorder and turn it into the active recorder.
             </summary>
+            <param name="recorder">Recorder.</param>
         </member>
-        <member name="T:Rhino.Mocks.Delegates.Function`11">
+        <member name="M:Rhino.Mocks.Interfaces.IMethodRecorder.MoveToPreviousRecorder">
             <summary>
-            dummy
+            Moves to previous recorder.
             </summary>
         </member>
-        <member name="T:Rhino.Mocks.DoNotExpect">
+        <member name="M:Rhino.Mocks.Interfaces.IMethodRecorder.GetRecordedExpectationOrNull(System.Object,System.Reflection.MethodInfo,System.Object[])">
             <summary>
-            Allows expectations to be set on methods that should never be called.
-            For methods with void return value, you need to use LastCall or
-            DoNotExpect.Call() with a delegate.
+            Gets the recorded expectation or null.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.DoNotExpect.Call(System.Object)">
+        <member name="M:Rhino.Mocks.Interfaces.IMethodRecorder.GetExpectedCallsMessage">
             <summary>
-            Sets LastCall.Repeat.Never() on /any/ proxy on /any/ repository on the current thread.
-            This method if not safe for multi threading scenarios.
+            Gets the next expected calls string.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.DoNotExpect.Call(Rhino.Mocks.Expect.Action)">
+        <member name="M:Rhino.Mocks.Interfaces.IMethodRecorder.MoveToParentReplayer">
             <summary>
-            Accepts a delegate that will execute inside the method which
-            LastCall.Repeat.Never() will be applied to.
-            It is expected to be used with anonymous delegates / lambda expressions and only one
-            method should be called.
+            Moves to parent recorder.
             </summary>
-            <example>
-            IService mockSrv = mocks.CreateMock(typeof(IService)) as IService;
-            DoNotExpect.Call(delegate{ mockSrv.Stop(); });
-            ...
-            </example>
         </member>
-        <member name="T:Rhino.Mocks.Expect">
+        <member name="M:Rhino.Mocks.Interfaces.IMethodRecorder.AddToRepeatableMethods(System.Object,System.Reflection.MethodInfo,Rhino.Mocks.Interfaces.IExpectation)">
             <summary>
-            Allows to set expectation on methods that has return values.
-            For methods with void return value, you need to use LastCall
+            Set the expectation so it can repeat any number of times.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Expect.Call``1(``0)">
+        <member name="M:Rhino.Mocks.Interfaces.IMethodRecorder.RemoveExpectation(Rhino.Mocks.Interfaces.IExpectation)">
             <summary>
-            The method options for the last call on /any/ proxy on /any/ repository on the current thread.
-            This method if not safe for multi threading scenarios, use <see cref="M:Rhino.Mocks.Expect.On(System.Object)"/>.
+            Removes the expectation from the recorder
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.Expect.Call(Rhino.Mocks.Expect.Action)">
+        <member name="M:Rhino.Mocks.Interfaces.IMethodRecorder.ClearReplayerToCall(Rhino.Mocks.Interfaces.IMethodRecorder)">
             <summary>
-            Accepts a delegate that will execute inside the method, and then return the resulting
-            <see cref="T:Rhino.Mocks.Interfaces.IMethodOptions`1"/> instance.
-            It is expected to be used with anonymous delegates / lambda expressions and only one
-            method should be called.
+            Clear the replayer to call (and all its chain of replayers)
+            This also removes it from the list of expectations, so it will never be considered again
             </summary>
-            <example>
-            IService mockSrv = mocks.CreateMock(typeof(IService)) as IService;
-            Expect.Call(delegate{ mockSrv.Start(); }).Throw(new NetworkException());
-            ...
-            </example>
         </member>
-        <member name="M:Rhino.Mocks.Expect.On(System.Object)">
+        <member name="M:Rhino.Mocks.Interfaces.IMethodRecorder.UnexpectedMethodCall(Castle.Core.Interceptor.IInvocation,System.Object,System.Reflection.MethodInfo,System.Object[])">
             <summary>
-            Get the method options for the last method call on the mockInstance.
+            Get the expectation for this method on this object with this arguments 
             </summary>
         </member>
-        <member name="T:Rhino.Mocks.Expect.Action">
+        <member name="P:Rhino.Mocks.Interfaces.IMethodRecorder.HasExpectations">
             <summary>
-            A delegate that can be used to get better syntax on Expect.Call(delegate { foo.DoSomething(); });
+            Gets a value indicating whether this instance has expectations that weren't satisfied yet.
             </summary>
+            <value>
+            	<c>true</c> if this instance has expectations; otherwise, <c>false</c>.
+            </value>
         </member>
         <member name="T:Rhino.Mocks.LastCall">
             <summary>
@@ -4265,708 +4787,476 @@
             Better syntax to define repeats. 
             </summary>
         </member>
-        <member name="T:Rhino.Mocks.Mocker">
-            <summary>
-            Accessor for the current mocker
-            </summary>
-        </member>
-        <member name="P:Rhino.Mocks.Mocker.Current">
-            <summary>
-            The current mocker
-            </summary>
-        </member>
-        <member name="T:Rhino.Mocks.MockRepository">
-            <summary>
-            Creates proxied instances of types.
-            </summary>
-            <summary>
-             Adds optional new usage:
-               using(mockRepository.Record()) {
-                  Expect.Call(mock.Method()).Return(retVal);
-               }
-               using(mockRepository.Playback()) {
-                  // Execute code
-               }
-             N.B. mockRepository.ReplayAll() and mockRepository.VerifyAll()
-                  calls are taken care of by Record/Playback
-            </summary>
-        </member>
-        <member name="F:Rhino.Mocks.MockRepository.generatorMap">
-            <summary>
-            This is a map of types to ProxyGenerators.
-            </summary>
-        </member>
-        <member name="F:Rhino.Mocks.MockRepository.lastRepository">
-            <summary>
-            This is used to record the last repository that has a method called on it.
-            </summary>
-        </member>
-        <member name="F:Rhino.Mocks.MockRepository.lastMockedObject">
-            <summary>
-            this is used to get to the last proxy on this repository.
-            </summary>
-        </member>
-        <member name="F:Rhino.Mocks.MockRepository.delegateProxies">
-            <summary>
-            For mock delegates, maps the proxy instance from intercepted invocations
-            back to the delegate that was originally returned to client code, if any.
-            </summary>
-        </member>
-        <member name="F:Rhino.Mocks.MockRepository.proxies">
-            <summary>
-            All the proxies in the mock repositories
-            </summary>
-        </member>
-        <member name="F:Rhino.Mocks.MockRepository.repeatableMethods">
-            <summary>
-            This is here because we can't put it in any of the recorders, since repeatable methods
-            have no orderring, and if we try to handle them using the usual manner, we would get into
-            wierd situations where repeatable method that was defined in an orderring block doesn't
-            exists until we enter this block.
-            </summary>
-        </member>
-        <member name="M:Rhino.Mocks.MockRepository.#ctor">
-            <summary>
-            Creates a new <see cref="T:Rhino.Mocks.MockRepository"/> instance.
-            </summary>
-        </member>
-        <member name="M:Rhino.Mocks.MockRepository.Ordered">
-            <summary>
-            Move the repository to ordered mode
-            </summary>
-        </member>
-        <member name="M:Rhino.Mocks.MockRepository.Unordered">
-            <summary>
-            Move the repository to un-ordered mode
-            </summary>
-        </member>
-        <member name="M:Rhino.Mocks.MockRepository.CreateMock(System.Type,System.Object[])">
-            <summary>
-            Creates a mock for the specified type.
-            </summary>
-            <param name="type">Type.</param>
-            <param name="argumentsForConstructor">Arguments for the class' constructor, if mocking a concrete class</param>
-        </member>
-        <member name="M:Rhino.Mocks.MockRepository.StrictMock(System.Type,System.Object[])">
-            <summary>
-            Creates a strict mock for the specified type.
-            </summary>
-            <param name="type">Type.</param>
-            <param name="argumentsForConstructor">Arguments for the class' constructor, if mocking a concrete class</param>
-        </member>
-        <member name="M:Rhino.Mocks.MockRepository.CreateMockWithRemoting(System.Type,System.Object[])">
-            <summary>
-            Creates a remoting mock for the specified type.
-            </summary>
-            <param name="type">Type.</param>
-            <param name="argumentsForConstructor">Arguments for the class' constructor, if mocking a concrete class</param>
-        </member>
-        <member name="M:Rhino.Mocks.MockRepository.StrictMockWithRemoting(System.Type,System.Object[])">
-            <summary>
-            Creates a strict remoting mock for the specified type.
-            </summary>
-            <param name="type">Type.</param>
-            <param name="argumentsForConstructor">Arguments for the class' constructor, if mocking a concrete class</param>
-        </member>
-        <member name="M:Rhino.Mocks.MockRepository.CreateMockWithRemoting``1(System.Object[])">
-            <summary>
-            Creates a remoting mock for the specified type.
-            </summary>
-            <typeparam name="T"></typeparam>
-            <param name="argumentsForConstructor">Arguments for the class' constructor, if mocking a concrete class</param>
-            <returns></returns>
-        </member>
-        <member name="M:Rhino.Mocks.MockRepository.StrictMockWithRemoting``1(System.Object[])">
-            <summary>
-            Creates a strict remoting mock for the specified type.
-            </summary>
-            <typeparam name="T"></typeparam>
-            <param name="argumentsForConstructor">Arguments for the class' constructor, if mocking a concrete class</param>
-            <returns></returns>
-        </member>
-        <member name="M:Rhino.Mocks.MockRepository.CreateMultiMock(System.Type,System.Type[])">
-            <summary>
-            Creates a mock from several types, with strict semantics.
-            Only <paramref name="mainType"/> may be a class.
-            </summary>
-        </member>
-        <member name="M:Rhino.Mocks.MockRepository.StrictMultiMock(System.Type,System.Type[])">
+        <member name="T:Rhino.Mocks.MethodRecorders.MethodRecorderBase">
             <summary>
-            Creates a strict mock from several types, with strict semantics.
-            Only <paramref name="mainType"/> may be a class.
+            Base class for method recorders, handle delegating to inner recorder if needed.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.MockRepository.CreateMultiMock(System.Type,System.Type[],System.Object[])">
+        <member name="F:Rhino.Mocks.MethodRecorders.MethodRecorderBase.recordedActions">
             <summary>
-            Creates a mock from several types, with strict semantics.
-            Only <paramref name="mainType"/> may be a class.
+            List of the expected actions on for this recorder
+            The legal values are:
+            	* Expectations
+            	* Method Recorders
             </summary>
-            <param name="mainType">The main type to mock.</param>
-            <param name="extraTypes">Extra interface types to mock.</param>
-            <param name="argumentsForConstructor">Arguments for the class' constructor, if mocking a concrete class.</param>
         </member>
-        <member name="M:Rhino.Mocks.MockRepository.StrictMultiMock(System.Type,System.Type[],System.Object[])">
+        <member name="F:Rhino.Mocks.MethodRecorders.MethodRecorderBase.recorderToCall">
             <summary>
-            Creates a strict mock from several types, with strict semantics.
-            Only <paramref name="mainType"/> may be a class.
+            The current recorder.
             </summary>
-            <param name="mainType">The main type to mock.</param>
-            <param name="extraTypes">Extra interface types to mock.</param>
-            <param name="argumentsForConstructor">Arguments for the class' constructor, if mocking a concrete class.</param>
         </member>
-        <member name="M:Rhino.Mocks.MockRepository.DynamicMultiMock(System.Type,System.Type[])">
+        <member name="F:Rhino.Mocks.MethodRecorders.MethodRecorderBase.replayerToCall">
             <summary>
-            Creates a mock from several types, with dynamic semantics.
-            Only <paramref name="mainType"/> may be a class.
+            The current replayer;
             </summary>
-            <param name="mainType">The main type to mock.</param>
-            <param name="extraTypes">Extra interface types to mock.</param>
         </member>
-        <member name="M:Rhino.Mocks.MockRepository.DynamicMultiMock(System.Type,System.Type[],System.Object[])">
+        <member name="F:Rhino.Mocks.MethodRecorders.MethodRecorderBase.parentRecorder">
             <summary>
-            Creates a mock from several types, with dynamic semantics.
-            Only <paramref name="mainType"/> may be a class.
+            The parent recorder of this one, may be null.
             </summary>
-            <param name="mainType">The main type to mock.</param>
-            <param name="extraTypes">Extra interface types to mock.</param>
-            <param name="argumentsForConstructor">Arguments for the class' constructor, if mocking a concrete class.</param>
         </member>
-        <member name="M:Rhino.Mocks.MockRepository.DynamicMock(System.Type,System.Object[])">
+        <member name="F:Rhino.Mocks.MethodRecorders.MethodRecorderBase.replayersToIgnoreForThisCall">
             <summary>
-            Creates a dynamic mock for the specified type.
+            This contains a list of all the replayers that should be ignored
+            for a spesific method call. A replayer gets into this list by calling 
+            ClearReplayerToCall() on its parent. This list is Clear()ed on each new invocation.
             </summary>
-            <param name="type">Type.</param>
-            <param name="argumentsForConstructor">Arguments for the class' constructor, if mocking a concrete class</param>
         </member>
-        <member name="M:Rhino.Mocks.MockRepository.DynamicMockWithRemoting(System.Type,System.Object[])">
+        <member name="F:Rhino.Mocks.MethodRecorders.MethodRecorderBase.repeatableMethods">
             <summary>
-            Creates a dynamic mock for the specified type.
+            All the repeatable methods calls.
             </summary>
-            <param name="type">Type.</param>
-            <param name="argumentsForConstructor">Arguments for the class' constructor, if mocking a concrete class</param>
         </member>
-        <member name="M:Rhino.Mocks.MockRepository.DynamicMockWithRemoting``1(System.Object[])">
+        <member name="F:Rhino.Mocks.MethodRecorders.MethodRecorderBase.recursionDepth">
             <summary>
-            Creates a dynamic mock for the specified type.
+            Counts the recursion depth of the current expectation search stack
             </summary>
-            <typeparam name="T"></typeparam>
-            <param name="argumentsForConstructor">Arguments for the class' constructor, if mocking a concrete class</param>
-            <returns></returns>
         </member>
-        <member name="M:Rhino.Mocks.MockRepository.PartialMock(System.Type,System.Object[])">
+        <member name="M:Rhino.Mocks.MethodRecorders.MethodRecorderBase.#ctor(Rhino.Mocks.Generated.ProxyMethodExpectationsDictionary)">
             <summary>
-            Creates a mock object that defaults to calling the class methods.
+            Creates a new <see cref="T:Rhino.Mocks.MethodRecorders.MethodRecorderBase"/> instance.
             </summary>
-            <param name="type">Type.</param>
-            <param name="argumentsForConstructor">Arguments for the class' constructor.</param>
         </member>
-        <member name="M:Rhino.Mocks.MockRepository.PartialMultiMock(System.Type,System.Type[])">
+        <member name="M:Rhino.Mocks.MethodRecorders.MethodRecorderBase.#ctor(Rhino.Mocks.Interfaces.IMethodRecorder,Rhino.Mocks.Generated.ProxyMethodExpectationsDictionary)">
             <summary>
-            Creates a mock object that defaults to calling the class methods.
+            Creates a new <see cref="T:Rhino.Mocks.MethodRecorders.MethodRecorderBase"/> instance.
             </summary>
-            <param name="type">Type.</param>
-            <param name="extraTypes">Extra interface types to mock.</param>
+            <param name="parentRecorder">Parent recorder.</param>
+            <param name="repeatableMethods">Repeatable methods</param>
         </member>
-        <member name="M:Rhino.Mocks.MockRepository.PartialMultiMock(System.Type,System.Type[],System.Object[])">
+        <member name="M:Rhino.Mocks.MethodRecorders.MethodRecorderBase.Record(System.Object,System.Reflection.MethodInfo,Rhino.Mocks.Interfaces.IExpectation)">
             <summary>
-            Creates a mock object that defaults to calling the class methods.
+            Records the specified call with the specified args on the mocked object.
             </summary>
-            <param name="type">Type.</param>
-            <param name="extraTypes">Extra interface types to mock.</param>
-            <param name="argumentsForConstructor">Arguments for the class' constructor.</param>
         </member>
-        <member name="M:Rhino.Mocks.MockRepository.RemotingMock(System.Type,Rhino.Mocks.MockRepository.CreateMockState)">
+        <member name="M:Rhino.Mocks.MethodRecorders.MethodRecorderBase.GetRecordedExpectation(Castle.Core.Interceptor.IInvocation,System.Object,System.Reflection.MethodInfo,System.Object[])">
             <summary>
-            Creates a mock object using remoting proxies
+            Get the expectation for this method on this object with this arguments 
             </summary>
-            <param name="type">Type to mock - must be MarshalByRefObject</param>
-            <returns>Mock object</returns>
-            <remarks>Proxy mock can mock non-virtual methods, but not static methods</remarks>
-            <param name="factory">Creates the mock state for this proxy</param>
         </member>
-        <member name="M:Rhino.Mocks.MockRepository.Replay(System.Object)">
+        <member name="M:Rhino.Mocks.MethodRecorders.MethodRecorderBase.GetAllExpectationsForProxyAndMethod(System.Object,System.Reflection.MethodInfo)">
             <summary>
-            Cause the mock state to change to replay, any further call is compared to the 
-            ones that were called in the record state.
+            Gets the all expectations for a mocked object and method combination,
+            regardless of the expected arguments / callbacks / contraints.
             </summary>
-            <param name="obj">the object to move to replay state</param>
+            <param name="proxy">Mocked object.</param>
+            <param name="method">Method.</param>
+            <returns>List of all relevant expectation</returns>
         </member>
-        <member name="M:Rhino.Mocks.MockRepository.ReplayCore(System.Object,System.Boolean)">
+        <member name="M:Rhino.Mocks.MethodRecorders.MethodRecorderBase.GetAllExpectationsForProxy(System.Object)">
             <summary>
-            Cause the mock state to change to replay, any further call is compared to the 
-            ones that were called in the record state.
+            Gets the all expectations for proxy.
             </summary>
-            <param name="obj">the object to move to replay state</param>
-            <param name="checkInsideOrdering"></param>
+            <param name="proxy">Mocked object.</param>
+            <returns>List of all relevant expectation</returns>
         </member>
-        <member name="M:Rhino.Mocks.MockRepository.BackToRecord(System.Object)">
+        <member name="M:Rhino.Mocks.MethodRecorders.MethodRecorderBase.ReplaceExpectation(System.Object,System.Reflection.MethodInfo,Rhino.Mocks.Interfaces.IExpectation,Rhino.Mocks.Interfaces.IExpectation)">
             <summary>
-            Move the mocked object back to record state.
-            Will delete all current expectations!
+            Replaces the old expectation with the new expectation for the specified proxy/method pair.
+            This replace ALL expectations that equal to old expectations.
             </summary>
+            <param name="proxy">Proxy.</param>
+            <param name="method">Method.</param>
+            <param name="oldExpectation">Old expectation.</param>
+            <param name="newExpectation">New expectation.</param>
         </member>
-        <member name="M:Rhino.Mocks.MockRepository.BackToRecord(System.Object,Rhino.Mocks.BackToRecordOptions)">
+        <member name="M:Rhino.Mocks.MethodRecorders.MethodRecorderBase.RemoveAllRepeatableExpectationsForProxy(System.Object)">
             <summary>
-            Move the mocked object back to record state.
-            Optionally, can delete all current expectations, but allows more granularity about how
-            it would behave with regard to the object state.
+            Remove the all repeatable expectations for proxy.
             </summary>
+            <param name="proxy">Mocked object.</param>
         </member>
-        <member name="M:Rhino.Mocks.MockRepository.Verify(System.Object)">
+        <member name="M:Rhino.Mocks.MethodRecorders.MethodRecorderBase.AddToRepeatableMethods(System.Object,System.Reflection.MethodInfo,Rhino.Mocks.Interfaces.IExpectation)">
             <summary>
-            Verify that all the expectations for this object were fulfilled.
+            Set the expectation so it can repeat any number of times.
             </summary>
-            <param name="obj">the object to verify the expectations for</param>
         </member>
-        <member name="M:Rhino.Mocks.MockRepository.LastMethodCall``1(System.Object)">
+        <member name="M:Rhino.Mocks.MethodRecorders.MethodRecorderBase.RemoveExpectation(Rhino.Mocks.Interfaces.IExpectation)">
             <summary>
-            Get the method options for the last call on
-            mockedInstance.
+            Removes the expectation from the recorder
             </summary>
-            <param name="mockedInstance">The mock object</param>
-            <returns>Method options for the last call</returns>
         </member>
-        <member name="M:Rhino.Mocks.MockRepository.GetMockObjectFromInvocationProxy(System.Object)">
+        <member name="M:Rhino.Mocks.MethodRecorders.MethodRecorderBase.AddRecorder(Rhino.Mocks.Interfaces.IMethodRecorder)">
             <summary>
-            Maps an invocation proxy back to the mock object instance that was originally
-            returned to client code which might have been a delegate to this proxy.
+            Adds the recorder and turn it into the active recorder.
             </summary>
-            <param name="invocationProxy">The mock object proxy from the intercepted invocation</param>
-            <returns>The mock object</returns>
+            <param name="recorder">Recorder.</param>
         </member>
-        <member name="M:Rhino.Mocks.MockRepository.CreateMockObject(System.Type,Rhino.Mocks.MockRepository.CreateMockState,System.Type[],System.Object[])">
+        <member name="M:Rhino.Mocks.MethodRecorders.MethodRecorderBase.MoveToPreviousRecorder">
             <summary>
-            This is provided to allow advance extention functionality, where Rhino Mocks standard
-            functionality is not enough.
+            Moves to previous recorder.
             </summary>
-            <param name="type">The type to mock</param>
-            <param name="factory">Delegate that create the first state of the mocked object (usualy the record state).</param>
-            <param name="extras">Additional types to be implemented, this can be only interfaces </param>
-            <param name="argumentsForConstructor">optional arguments for the constructor</param>
-            <returns></returns>
         </member>
-        <member name="M:Rhino.Mocks.MockRepository.GetMockedObject(System.Object)">
+        <member name="M:Rhino.Mocks.MethodRecorders.MethodRecorderBase.MoveToParentReplayer">
             <summary>
-             Method: GetMockedObject
-             Get an IProxy from a mocked object instance, or throws if the 
-             object is not a mock object.
+            Moves to parent recorder.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.MockRepository.GetMockedObjectOrNull(System.Object)">
+        <member name="M:Rhino.Mocks.MethodRecorders.MethodRecorderBase.GetRecordedExpectationOrNull(System.Object,System.Reflection.MethodInfo,System.Object[])">
             <summary>
-            Method: GetMockedObjectOrNull
-            Get an IProxy from a mocked object instance, or null if the
-            object is not a mock object.
+            Gets the recorded expectation or null.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.MockRepository.PopRecorder">
+        <member name="M:Rhino.Mocks.MethodRecorders.MethodRecorderBase.ClearReplayerToCall(Rhino.Mocks.Interfaces.IMethodRecorder)">
             <summary>
-            Pops the recorder.
+            Clear the replayer to call (and all its chain of replayers).
+            This also removes it from the list of expectations, so it will never be considered again
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.MockRepository.PushRecorder(Rhino.Mocks.Interfaces.IMethodRecorder)">
+        <member name="M:Rhino.Mocks.MethodRecorders.MethodRecorderBase.UnexpectedMethodCall(Castle.Core.Interceptor.IInvocation,System.Object,System.Reflection.MethodInfo,System.Object[])">
             <summary>
-            Pushes the recorder.
+            Get the expectation for this method on this object with this arguments 
             </summary>
-            <param name="newRecorder">New recorder.</param>
         </member>
-        <member name="M:Rhino.Mocks.MockRepository.BackToRecordAll">
+        <member name="M:Rhino.Mocks.MethodRecorders.MethodRecorderBase.GetExpectedCallsMessage">
             <summary>
-            All the mock objects in this repository will be moved
-            to record state.
+            Gets the next expected calls string.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.MockRepository.BackToRecordAll(Rhino.Mocks.BackToRecordOptions)">
+        <member name="M:Rhino.Mocks.MethodRecorders.MethodRecorderBase.DoGetRecordedExpectationOrNull(System.Object,System.Reflection.MethodInfo,System.Object[])">
             <summary>
-            All the mock objects in this repository will be moved
-            to record state.
+            Handles the real getting of the recorded expectation or null.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.MockRepository.ReplayAll">
+        <member name="M:Rhino.Mocks.MethodRecorders.MethodRecorderBase.DoRecord(System.Object,System.Reflection.MethodInfo,Rhino.Mocks.Interfaces.IExpectation)">
             <summary>
-            Replay all the mocks from this repository
+            Handle the real execution of this method for the derived class
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.MockRepository.VerifyAll">
+        <member name="M:Rhino.Mocks.MethodRecorders.MethodRecorderBase.DoGetRecordedExpectation(Castle.Core.Interceptor.IInvocation,System.Object,System.Reflection.MethodInfo,System.Object[])">
             <summary>
-            Verify all the mocks from this repository
+            Handle the real execution of this method for the derived class
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.MockRepository.GetProxyGenerator(System.Type)">
+        <member name="M:Rhino.Mocks.MethodRecorders.MethodRecorderBase.DoGetAllExpectationsForProxy(System.Object)">
             <summary>
-            Gets the proxy generator for a specific type. Having a single ProxyGenerator
-            with multiple types linearly degrades the performance so this implementation
-            keeps one ProxyGenerator per type. 
+            Handle the real execution of this method for the derived class
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.MockRepository.SetExceptionToBeThrownOnVerify(System.Object,Rhino.Mocks.Exceptions.ExpectationViolationException)">
+        <member name="M:Rhino.Mocks.MethodRecorders.MethodRecorderBase.DoReplaceExpectation(System.Object,System.Reflection.MethodInfo,Rhino.Mocks.Interfaces.IExpectation,Rhino.Mocks.Interfaces.IExpectation)">
             <summary>
-            Set the exception to be thrown when verified is called.
+            Handle the real execution of this method for the derived class
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.MockRepository.CreateMock``1(System.Object[])">
+        <member name="M:Rhino.Mocks.MethodRecorders.MethodRecorderBase.DoRemoveExpectation(Rhino.Mocks.Interfaces.IExpectation)">
             <summary>
-            Creates a mock for the spesified type.
+            Handle the real execution of this method for the derived class
             </summary>
-            <param name="argumentsForConstructor">Arguments for the class' constructor, if mocking a concrete class</param>
         </member>
-        <member name="M:Rhino.Mocks.MockRepository.StrictMock``1(System.Object[])">
+        <member name="M:Rhino.Mocks.MethodRecorders.MethodRecorderBase.DoAddRecorder(Rhino.Mocks.Interfaces.IMethodRecorder)">
             <summary>
-            Creates a strict mock for the spesified type.
+            Handle the real execution of this method for the derived class
             </summary>
-            <param name="argumentsForConstructor">Arguments for the class' constructor, if mocking a concrete class</param>
         </member>
-        <member name="M:Rhino.Mocks.MockRepository.DynamicMock``1(System.Object[])">
+        <member name="M:Rhino.Mocks.MethodRecorders.MethodRecorderBase.ShouldConsiderThisReplayer(Rhino.Mocks.Interfaces.IMethodRecorder)">
             <summary>
-            Creates a dynamic mock for the specified type.
+            Should this replayer be considered valid for this call?
             </summary>
-            <param name="argumentsForConstructor">Arguments for the class' constructor, if mocking a concrete class</param>
         </member>
-        <member name="M:Rhino.Mocks.MockRepository.CreateMultiMock``1(System.Type[])">
+        <member name="M:Rhino.Mocks.MethodRecorders.MethodRecorderBase.GetRepeatableExpectation(System.Object,System.Reflection.MethodInfo,System.Object[])">
             <summary>
-            Creates a mock object from several types.
+            This check the methods that were setup using the SetupResult.For()
+            or LastCall.Repeat.Any() and that bypass the whole expectation model.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.MockRepository.StrictMultiMock``1(System.Type[])">
+        <member name="P:Rhino.Mocks.MethodRecorders.MethodRecorderBase.HasExpectations">
             <summary>
-            Creates a strict mock object from several types.
+            Gets a value indicating whether this instance has expectations that weren't satisfied yet.
             </summary>
+            <value>
+            	<c>true</c> if this instance has expectations; otherwise, <c>false</c>.
+            </value>
         </member>
-        <member name="M:Rhino.Mocks.MockRepository.DynamicMultiMock``1(System.Type[])">
+        <member name="P:Rhino.Mocks.MethodRecorders.MethodRecorderBase.DoHasExpectations">
             <summary>
-            Create a mock object from several types with dynamic semantics.
+            Handle the real execution of this method for the derived class
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.MockRepository.PartialMultiMock``1(System.Type[])">
+        <member name="T:Rhino.Mocks.MethodRecorders.OrderedMethodRecorder">
             <summary>
-            Create a mock object from several types with partial semantics.
+            Ordered collection of methods, methods must arrive in specified order
+            in order to pass.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.MockRepository.CreateMultiMock``1(System.Type[],System.Object[])">
+        <member name="T:Rhino.Mocks.MethodRecorders.UnorderedMethodRecorder">
             <summary>
-            Create a mock object from several types with strict semantics.
+            Unordered collection of method records, any expectation that exist
+            will be matched.
             </summary>
-            <param name="extraTypes">Extra interface types to mock.</param>
-            <param name="argumentsForConstructor">Arguments for the class' constructor, if mocking a concrete class</param>
         </member>
-        <member name="M:Rhino.Mocks.MockRepository.StrictMultiMock``1(System.Type[],System.Object[])">
+        <member name="F:Rhino.Mocks.MethodRecorders.UnorderedMethodRecorder.parentRecorderRedirection">
             <summary>
-            Create a strict mock object from several types with strict semantics.
+            The parent recorder we have redirected to.
+            Useful for certain edge cases in orderring.
+            See: FieldProblem_Entropy for the details.
             </summary>
-            <param name="extraTypes">Extra interface types to mock.</param>
-            <param name="argumentsForConstructor">Arguments for the class' constructor, if mocking a concrete class</param>
         </member>
-        <member name="M:Rhino.Mocks.MockRepository.DynamicMultiMock``1(System.Type[],System.Object[])">
+        <member name="M:Rhino.Mocks.MethodRecorders.UnorderedMethodRecorder.#ctor(Rhino.Mocks.Interfaces.IMethodRecorder,Rhino.Mocks.Generated.ProxyMethodExpectationsDictionary)">
             <summary>
-            Create a mock object from several types with dynamic semantics.
+            Creates a new <see cref="T:Rhino.Mocks.MethodRecorders.UnorderedMethodRecorder"/> instance.
             </summary>
-            <param name="extraTypes">Extra interface types to mock.</param>
-            <param name="argumentsForConstructor">Arguments for the class' constructor, if mocking a concrete class</param>
+            <param name="parentRecorder">Parent recorder.</param>
+            <param name="repeatableMethods">Repeatable methods</param>
         </member>
-        <member name="M:Rhino.Mocks.MockRepository.PartialMultiMock``1(System.Type[],System.Object[])">
+        <member name="M:Rhino.Mocks.MethodRecorders.UnorderedMethodRecorder.#ctor(Rhino.Mocks.Generated.ProxyMethodExpectationsDictionary)">
             <summary>
-            Create a mock object from several types with partial semantics.
+            Creates a new <see cref="T:Rhino.Mocks.MethodRecorders.UnorderedMethodRecorder"/> instance.
             </summary>
-            <param name="extraTypes">Extra interface types to mock.</param>
-            <param name="argumentsForConstructor">Arguments for the class' constructor, if mocking a concrete class</param>
         </member>
-        <member name="M:Rhino.Mocks.MockRepository.PartialMock``1(System.Object[])">
+        <member name="M:Rhino.Mocks.MethodRecorders.UnorderedMethodRecorder.DoRecord(System.Object,System.Reflection.MethodInfo,Rhino.Mocks.Interfaces.IExpectation)">
             <summary>
-            Create a mock object with from a class that defaults to calling the class methods
+            Records the specified call with the specified args on the mocked object.
             </summary>
-            <param name="argumentsForConstructor">Arguments for the class' constructor, if mocking a concrete class</param>
+            <param name="proxy">Mocked object.</param>
+            <param name="method">Method.</param>
+            <param name="expectation">Expectation.</param>
         </member>
-        <member name="M:Rhino.Mocks.MockRepository.Stub``1(System.Object[])">
+        <member name="M:Rhino.Mocks.MethodRecorders.UnorderedMethodRecorder.DoGetRecordedExpectation(Castle.Core.Interceptor.IInvocation,System.Object,System.Reflection.MethodInfo,System.Object[])">
             <summary>
-            Create a stub object, one that has properties and events ready for use, and 
-            can have methods called on it. It requires an explicit step in order to create 
-            an expectation for a stub.
+            Get the expectation for this method on this object with this arguments 
             </summary>
-            <param name="argumentsForConstructor">The arguments for constructor.</param>
+            <param name="invocation">Invocation for this method</param>
+            <param name="proxy">Mocked object.</param>
+            <param name="method">Method.</param>
+            <param name="args">Args.</param>
+            <returns>True is the call was recorded, false otherwise</returns>
         </member>
-        <member name="M:Rhino.Mocks.MockRepository.Stub(System.Type,System.Object[])">
+        <member name="M:Rhino.Mocks.MethodRecorders.UnorderedMethodRecorder.GetAllExpectationsForProxyAndMethod(System.Object,System.Reflection.MethodInfo)">
             <summary>
-            Create a stub object, one that has properties and events ready for use, and
-            can have methods called on it. It requires an explicit step in order to create
-            an expectation for a stub.
+            Gets the all expectations for a mocked object and method combination,
+            regardless of the expected arguments / callbacks / contraints.
             </summary>
-            <param name="type">The type.</param>
-            <param name="argumentsForConstructor">The arguments for constructor.</param>
-            <returns></returns>
+            <param name="proxy">Mocked object.</param>
+            <param name="method">Method.</param>
+            <returns>List of all relevant expectation</returns>
         </member>
-        <member name="M:Rhino.Mocks.MockRepository.GenerateStub``1(System.Object[])">
+        <member name="M:Rhino.Mocks.MethodRecorders.UnorderedMethodRecorder.DoGetAllExpectationsForProxy(System.Object)">
             <summary>
-            Generates a stub without mock repository
+            Gets the all expectations for proxy.
             </summary>
-            <param name="argumentsForConstructor">The arguments for constructor.</param>
-            <returns></returns>
+            <param name="proxy">Mocked object.</param>
+            <returns>List of all relevant expectation</returns>
         </member>
-        <member name="M:Rhino.Mocks.MockRepository.GenerateStub(System.Type,System.Object[])">
+        <member name="M:Rhino.Mocks.MethodRecorders.UnorderedMethodRecorder.DoReplaceExpectation(System.Object,System.Reflection.MethodInfo,Rhino.Mocks.Interfaces.IExpectation,Rhino.Mocks.Interfaces.IExpectation)">
             <summary>
-            Generates the stub without mock repository
+            Replaces the old expectation with the new expectation for the specified proxy/method pair.
+            This replace ALL expectations that equal to old expectations.
             </summary>
-            <param name="type">The type.</param>
-            <param name="argumentsForConstructor">The arguments for constructor.</param>
+            <param name="proxy">Proxy.</param>
+            <param name="method">Method.</param>
+            <param name="oldExpectation">Old expectation.</param>
+            <param name="newExpectation">New expectation.</param>
         </member>
-        <member name="M:Rhino.Mocks.MockRepository.IsInReplayMode(System.Object)">
+        <member name="M:Rhino.Mocks.MethodRecorders.UnorderedMethodRecorder.DoRemoveExpectation(Rhino.Mocks.Interfaces.IExpectation)">
             <summary>
-            Returns true if the passed mock is currently in replay mode.
+            Handle the real execution of this method for the derived class
             </summary>
-            <param name="mock">The mock to test.</param>
-            <returns>True if the mock is in replay mode, false otherwise.</returns>
         </member>
-        <member name="M:Rhino.Mocks.MockRepository.GenerateMock``1">
+        <member name="M:Rhino.Mocks.MethodRecorders.UnorderedMethodRecorder.DoGetRecordedExpectationOrNull(System.Object,System.Reflection.MethodInfo,System.Object[])">
             <summary>
-            Generate a mock object without needing the mock repository
+            Handles the real getting of the recorded expectation or null.
             </summary>
         </member>
-        <member name="M:Rhino.Mocks.MockRepository.IsStub(System.Object)">
+        <member name="M:Rhino.Mocks.MethodRecorders.UnorderedMethodRecorder.DoAddRecorder(Rhino.Mocks.Interfaces.IMethodRecorder)">
             <summary>
-            Determines whether the specified proxy is a stub.
+            Handle the real execution of this method for the derived class
             </summary>
-            <param name="proxy">The proxy.</param>
         </member>
-        <member name="M:Rhino.Mocks.MockRepository.Record">
+        <member name="M:Rhino.Mocks.MethodRecorders.UnorderedMethodRecorder.GetExpectedCallsMessage">
             <summary>
+            Gets the next expected calls string.
             </summary>
-            <returns></returns>
         </member>
-        <member name="M:Rhino.Mocks.MockRepository.Playback">
+        <member name="M:Rhino.Mocks.MethodRecorders.UnorderedMethodRecorder.UnexpectedMethodCall(Castle.Core.Interceptor.IInvocation,System.Object,System.Reflection.MethodInfo,System.Object[])">
             <summary>
+            Create an exception for an unexpected method call.
             </summary>
-            <returns></returns>
         </member>
-        <member name="P:Rhino.Mocks.MockRepository.Recorder">
+        <member name="P:Rhino.Mocks.MethodRecorders.UnorderedMethodRecorder.DoHasExpectations">
             <summary>
-            Gets the recorder.
+            Gets a value indicating whether this instance has expectations that weren't satisfied yet.
             </summary>
-            <value></value>
+            <value>
+            	<c>true</c> if this instance has expectations; otherwise, <c>false</c>.
+            </value>
         </member>
-        <member name="P:Rhino.Mocks.MockRepository.Replayer">
+        <member name="M:Rhino.Mocks.MethodRecorders.OrderedMethodRecorder.#ctor(Rhino.Mocks.Interfaces.IMethodRecorder,Rhino.Mocks.Generated.ProxyMethodExpectationsDictionary)">
             <summary>
-            Gets the replayer for this repository.
+            Creates a new <see cref="T:Rhino.Mocks.MethodRecorders.OrderedMethodRecorder"/> instance.
             </summary>
-            <value></value>
+            <param name="parentRecorder">Parent recorder.</param>
+            <param name="repeatableMethods">Repetable methods</param>
         </member>
-        <member name="P:Rhino.Mocks.MockRepository.LastMockedObject">
+        <member name="M:Rhino.Mocks.MethodRecorders.OrderedMethodRecorder.#ctor(Rhino.Mocks.Generated.ProxyMethodExpectationsDictionary)">
             <summary>
-            Gets the last proxy which had a method call.
+            Creates a new <see cref="T:Rhino.Mocks.MethodRecorders.OrderedMethodRecorder"/> instance.
             </summary>
         </member>
-        <member name="T:Rhino.Mocks.MockRepository.CreateMockState">
+        <member name="M:Rhino.Mocks.MethodRecorders.OrderedMethodRecorder.DoGetRecordedExpectationOrNull(System.Object,System.Reflection.MethodInfo,System.Object[])">
             <summary>
-             Delegate: CreateMockState
-             This is used internally to cleanly handle the creation of different 
-             RecordMockStates.
+            Handles the real getting of the recorded expectation or null.
             </summary>
         </member>
-        <member name="T:Rhino.Mocks.RhinoMocks">
+        <member name="M:Rhino.Mocks.MethodRecorders.OrderedMethodRecorder.UnexpectedMethodCall(Castle.Core.Interceptor.IInvocation,System.Object,System.Reflection.MethodInfo,System.Object[])">
             <summary>
-            Used for [assembly: InternalsVisibleTo(RhinoMocks.StrongName)]
-            Used for [assembly: InternalsVisibleTo(RhinoMocks.NormalName)]
+            Get the expectation for this method on this object with this arguments 
             </summary>
         </member>
-        <member name="F:Rhino.Mocks.RhinoMocks.StrongName">
+        <member name="M:Rhino.Mocks.MethodRecorders.OrderedMethodRecorder.GetExpectedCallsMessage">
             <summary>
-            Strong name for the Dynamic Proxy assemblies. Used for InternalsVisibleTo specification.
+            Gets the next expected calls string.
             </summary>
         </member>
-        <member name="F:Rhino.Mocks.RhinoMocks.NormalName">
+        <member name="T:Rhino.Mocks.MethodRecorders.ProxyMethodExpectationTriplet">
             <summary>
-            Normal name for dynamic proxy assemblies. Used for InternalsVisibleTo specification.
+            Hold an expectation for a method call on an object
             </summary>
         </member>
-        <member name="F:Rhino.Mocks.RhinoMocks.Logger">
+        <member name="M:Rhino.Mocks.MethodRecorders.ProxyMethodExpectationTriplet.#ctor(System.Object,System.Reflection.MethodInfo,Rhino.Mocks.Interfaces.IExpectation)">
             <summary>
-            Logs all method calls for methods
+            Creates a new <see cref="T:Rhino.Mocks.MethodRecorders.ProxyMethodExpectationTriplet"/> instance.
             </summary>
+            <param name="proxy">Proxy.</param>
+            <param name="method">Method.</param>
+            <param name="expectation">Expectation.</param>
         </member>
-        <member name="T:Rhino.Mocks.RhinoMocksExtensions">
+        <member name="M:Rhino.Mocks.MethodRecorders.ProxyMethodExpectationTriplet.Equals(System.Object)">
             <summary>
-            A set of extension methods that adds Arrange Act Assert mode to Rhino Mocks
+            Determines if the object equal to this instance
             </summary>
+            <param name="obj">Obj.</param>
+            <returns></returns>
         </member>
-        <member name="M:Rhino.Mocks.RhinoMocksExtensions.Expect``1(``0,System.Action{``0})">
+        <member name="M:Rhino.Mocks.MethodRecorders.ProxyMethodExpectationTriplet.GetHashCode">
             <summary>
-            Create an expectation on this mock for this action to occur
+            Gets the hash code.
             </summary>
-            <typeparam name="T"></typeparam>
-            <param name="mock">The mock.</param>
-            <param name="action">The action.</param>
             <returns></returns>
         </member>
-        <member name="M:Rhino.Mocks.RhinoMocksExtensions.BackToRecord``1(``0)">
+        <member name="P:Rhino.Mocks.MethodRecorders.ProxyMethodExpectationTriplet.Proxy">
             <summary>
-            Reset all expectations on this mock object
+            Gets the proxy.
             </summary>
-            <typeparam name="T"></typeparam>
-            <param name="mock">The mock.</param>
+            <value></value>
         </member>
-        <member name="M:Rhino.Mocks.RhinoMocksExtensions.BackToRecord``1(``0,Rhino.Mocks.BackToRecordOptions)">
+        <member name="P:Rhino.Mocks.MethodRecorders.ProxyMethodExpectationTriplet.Method">
             <summary>
-            Reset the selected expectation on this mock object
+            Gets the method.
             </summary>
-            <typeparam name="T"></typeparam>
-            <param name="mock">The mock.</param>
-            <param name="options">The options to reset the expectations on this mock.</param>
+            <value></value>
         </member>
-        <member name="M:Rhino.Mocks.RhinoMocksExtensions.Replay``1(``0)">
+        <member name="P:Rhino.Mocks.MethodRecorders.ProxyMethodExpectationTriplet.Expectation">
             <summary>
-            Cause the mock state to change to replay, any further call is compared to the 
-            ones that were called in the record state.
+            Gets the expectation.
             </summary>
-            <param name="mock">the mocked object to move to replay state</param>
+            <value></value>
         </member>
-        <member name="M:Rhino.Mocks.RhinoMocksExtensions.GetMockRepository``1(``0)">
+        <member name="T:Rhino.Mocks.MethodRecorders.ProxyMethodPair">
             <summary>
-            Gets the mock repository for this specificied mock object
+            Holds a pair of mocked object and a method
+            and allows to compare them against each other.
+            This allows us to have a distinction between mockOne.MyMethod() and
+            mockTwo.MyMethod()...
             </summary>
-            <typeparam name="T"></typeparam>
-            <param name="mock">The mock.</param>
-            <returns></returns>
         </member>
-        <member name="M:Rhino.Mocks.RhinoMocksExtensions.Expect``2(``0,System.Func{``0,``1})">
+        <member name="M:Rhino.Mocks.MethodRecorders.ProxyMethodPair.#ctor(System.Object,System.Reflection.MethodInfo)">
             <summary>
-            Create an expectation on this mock for this action to occur
+            Creates a new <see cref="T:Rhino.Mocks.MethodRecorders.ProxyMethodPair"/> instance.
             </summary>
-            <typeparam name="T"></typeparam>
-            <typeparam name="R"></typeparam>
-            <param name="mock">The mock.</param>
-            <param name="action">The action.</param>
-            <returns></returns>
+            <param name="proxy">Proxy.</param>
+            <param name="method">Method.</param>
         </member>
-        <member name="M:Rhino.Mocks.RhinoMocksExtensions.Stub``1(``0,System.Action{``0})">
+        <member name="M:Rhino.Mocks.MethodRecorders.ProxyMethodPair.Equals(System.Object)">
             <summary>
-            Tell the mock object to perform a certain action when a matching 
-            method is called.
-            Does not create an expectation for this method.
+            Determines whatever obj equals to this instance.
+            ProxyMethodPairs are equal when they point to the same /instance/ of
+            an object, and to the same method.
             </summary>
-            <typeparam name="T"></typeparam>
-            <param name="mock">The mock.</param>
-            <param name="action">The action.</param>
+            <param name="obj">Obj.</param>
             <returns></returns>
         </member>
-        <member name="M:Rhino.Mocks.RhinoMocksExtensions.Stub``2(``0,System.Func{``0,``1})">
+        <member name="M:Rhino.Mocks.MethodRecorders.ProxyMethodPair.GetHashCode">
             <summary>
-            Tell the mock object to perform a certain action when a matching
-            method is called.
-            Does not create an expectation for this method.
+            Gets the hash code.
             </summary>
-            <typeparam name="T"></typeparam>
-            <typeparam name="R"></typeparam>
-            <param name="mock">The mock.</param>
-            <param name="action">The action.</param>
             <returns></returns>
         </member>
-        <member name="M:Rhino.Mocks.RhinoMocksExtensions.GetArgumentsForCallsMadeOn``1(``0,System.Action{``0})">
+        <member name="P:Rhino.Mocks.MethodRecorders.ProxyMethodPair.Proxy">
             <summary>
-            Gets the arguments for calls made on this mock object and the method that was called
-            in the action.
+            Gets the proxy.
             </summary>
-            <typeparam name="T"></typeparam>
-            <param name="mock">The mock.</param>
-            <param name="action">The action.</param>
-            <returns></returns>
-            <example>
-            Here we will get all the arguments for all the calls made to DoSomething(int)
-            <code>
-            var argsForCalls = foo54.GetArgumentsForCallsMadeOn(x =&gt; x.DoSomething(0))
-            </code>
-            </example>
+            <value></value>
         </member>
-        <member name="M:Rhino.Mocks.RhinoMocksExtensions.GetArgumentsForCallsMadeOn``1(``0,System.Action{``0},System.Action{Rhino.Mocks.Interfaces.IMethodOptions{System.Object}})">
+        <member name="P:Rhino.Mocks.MethodRecorders.ProxyMethodPair.Method">
             <summary>
-            Gets the arguments for calls made on this mock object and the method that was called
-            in the action and matches the given constraints
+            Gets the method.
             </summary>
-            <typeparam name="T"></typeparam>
-            <param name="mock">The mock.</param>
-            <param name="action">The action.</param>
-            <param name="setupConstraints">The setup constraints.</param>
-            <returns></returns>
-            <example>
-            Here we will get all the arguments for all the calls made to DoSomething(int)
-            <code>
-            var argsForCalls = foo54.GetArgumentsForCallsMadeOn(x =&gt; x.DoSomething(0))
-            </code>
-            </example>
+            <value></value>
         </member>
-        <member name="M:Rhino.Mocks.RhinoMocksExtensions.AssertWasCalled``1(``0,System.Action{``0})">
+        <member name="T:Rhino.Mocks.MethodRecorders.RecorderChanger">
             <summary>
-            Asserts that a particular method was called on this mock object
+            Change the recorder from ordered to unordered and vice versa
             </summary>
-            <typeparam name="T"></typeparam>
-            <param name="mock">The mock.</param>
-            <param name="action">The action.</param>
         </member>
-        <member name="M:Rhino.Mocks.RhinoMocksExtensions.AssertWasCalled``1(``0,System.Action{``0},System.Action{Rhino.Mocks.Interfaces.IMethodOptions{System.Object}})">
+        <member name="M:Rhino.Mocks.MethodRecorders.RecorderChanger.#ctor(Rhino.Mocks.MockRepository,Rhino.Mocks.Interfaces.IMethodRecorder,Rhino.Mocks.Interfaces.IMethodRecorder)">
             <summary>
-            Asserts that a particular method was called on this mock object that match
-            a particular constraint set.
+            Creates a new <see cref="T:Rhino.Mocks.MethodRecorders.RecorderChanger"/> instance.
             </summary>
-            <typeparam name="T"></typeparam>
-            <param name="mock">The mock.</param>
-            <param name="action">The action.</param>
-            <param name="setupConstraints">The setup constraints.</param>
         </member>
-        <member name="M:Rhino.Mocks.RhinoMocksExtensions.AssertWasNotCalled``1(``0,System.Action{``0})">
+        <member name="M:Rhino.Mocks.MethodRecorders.RecorderChanger.Dispose">
             <summary>
-            Asserts that a particular method was NOT called on this mock object
+            Disposes this instance.
             </summary>
-            <typeparam name="T"></typeparam>
-            <param name="mock">The mock.</param>
-            <param name="action">The action.</param>
         </member>
-        <member name="M:Rhino.Mocks.RhinoMocksExtensions.AssertWasNotCalled``1(``0,System.Action{``0},System.Action{Rhino.Mocks.Interfaces.IMethodOptions{System.Object}})">
+        <member name="T:Rhino.Mocks.Mocker">
             <summary>
-            Asserts that a particular method was NOT called on this mock object that match
-            a particular constraint set.
+            Accessor for the current mocker
             </summary>
-            <typeparam name="T"></typeparam>
-            <param name="mock">The mock.</param>
-            <param name="action">The action.</param>
-            <param name="setupConstraints">The setup constraints.</param>
         </member>
-        <member name="M:Rhino.Mocks.RhinoMocksExtensions.VerifyAllExpectations(System.Object)">
+        <member name="P:Rhino.Mocks.Mocker.Current">
             <summary>
-            Verifies all expectations on this mock object
+            The current mocker
             </summary>
-            <param name="mockObject">The mock object.</param>
         </member>
-        <member name="M:Rhino.Mocks.RhinoMocksExtensions.GetEventRaiser``1(``0,System.Action{``0})">
+        <member name="T:Rhino.Mocks.RhinoMocks">
             <summary>
-            Gets the event raiser for the event that was called in the action passed
+            Used for [assembly: InternalsVisibleTo(RhinoMocks.StrongName)]
+            Used for [assembly: InternalsVisibleTo(RhinoMocks.NormalName)]
             </summary>
-            <typeparam name="TEventSource">The type of the event source.</typeparam>
-            <param name="mockObject">The mock object.</param>
-            <param name="eventSubscription">The event subscription.</param>
-            <returns></returns>
         </member>
-        <member name="M:Rhino.Mocks.RhinoMocksExtensions.Raise``1(``0,System.Action{``0},System.Object,System.EventArgs)">
+        <member name="F:Rhino.Mocks.RhinoMocks.StrongName">
             <summary>
-            Raise the specified event using the passed arguments.
-            The even is extracted from the passed labmda
+            Strong name for the Dynamic Proxy assemblies. Used for InternalsVisibleTo specification.
             </summary>
-            <typeparam name="TEventSource">The type of the event source.</typeparam>
-            <param name="mockObject">The mock object.</param>
-            <param name="eventSubscription">The event subscription.</param>
-            <param name="sender">The sender.</param>
-            <param name="args">The <see cref="T:System.EventArgs"/> instance containing the event data.</param>
         </member>
-        <member name="M:Rhino.Mocks.RhinoMocksExtensions.Raise``1(``0,System.Action{``0},System.Object[])">
+        <member name="F:Rhino.Mocks.RhinoMocks.NormalName">
             <summary>
-            Raise the specified event using the passed arguments.
-            The even is extracted from the passed labmda
+            Normal name for dynamic proxy assemblies. Used for InternalsVisibleTo specification.
             </summary>
-            <typeparam name="TEventSource">The type of the event source.</typeparam>
-            <param name="mockObject">The mock object.</param>
-            <param name="eventSubscription">The event subscription.</param>
-            <param name="args">The args.</param>
         </member>
-        <member name="T:Rhino.Mocks.RhinoMocksExtensions.VoidType">
+        <member name="F:Rhino.Mocks.RhinoMocks.Logger">
             <summary>
-            Fake type that disallow creating it.
-            Should have been System.Type, but we can't use it.
+            Logs all method calls for methods
             </summary>
         </member>
         <member name="T:Rhino.Mocks.SetupResult">
@@ -4988,6 +5278,54 @@
             This also means that the method would transcend ordering
             </summary>
         </member>
+        <member name="T:Rhino.Mocks.Utilities.MethodCallUtil">
+            <summary>
+            Utility class for working with method calls.
+            </summary>
+        </member>
+        <member name="M:Rhino.Mocks.Utilities.MethodCallUtil.StringPresentation(Castle.Core.Interceptor.IInvocation,Rhino.Mocks.Utilities.MethodCallUtil.FormatArgumnet,System.Reflection.MethodInfo,System.Object[])">
+            <summary>
+            Return the string representation of a method call and its arguments.
+            </summary>
+            <param name="method">The method</param>
+            <param name="args">The method arguments</param>
+            <param name="invocation">Invocation of the method, used to get the generics arguments</param>
+            <param name="format">Delegate to format the parameter</param>
+            <returns>The string representation of this method call</returns>
+        </member>
+        <member name="M:Rhino.Mocks.Utilities.MethodCallUtil.StringPresentation(Castle.Core.Interceptor.IInvocation,System.Reflection.MethodInfo,System.Object[])">
+            <summary>
+            Return the string representation of a method call and its arguments.
+            </summary>
+            <param name="invocation">The invocation of the method, used to get the generic parameters</param>
+            <param name="method">The method</param>
+            <param name="args">The method arguments</param>
+            <returns>The string representation of this method call</returns>
+        </member>
+        <member name="T:Rhino.Mocks.Utilities.MethodCallUtil.FormatArgumnet">
+            <summary>
+            Delegate to format the argument for the string representation of
+            the method call.
+            </summary>
+        </member>
+        <member name="T:Rhino.Mocks.Utilities.ReturnValueUtil">
+            <summary>
+            Utility to get the default value for a type
+            </summary>
+        </member>
+        <member name="M:Rhino.Mocks.Utilities.ReturnValueUtil.DefaultValue(System.Type,Castle.Core.Interceptor.IInvocation)">
+            <summary>
+            The default value for a type.
+            Null for reference types and void
+            0 for value types.
+            First element for enums
+            Note that we need to get the value even for opened generic types, such as those from
+            generic methods.
+            </summary>
+            <param name="type">Type.</param>
+            <param name="invocation">The invocation.</param>
+            <returns>the default value</returns>
+        </member>
         <member name="T:Rhino.Mocks.With">
             <summary>
             Allows easier access to MockRepository, works closely with Mocker.Current to
@@ -5058,5 +5396,18 @@
             Verifies previously defined expectations
             </summary>
         </member>
+        <member name="T:Rhino.Mocks.Function`2">
+            <summary>
+            This delegate is compatible with the System.Func{T,R} signature
+            We have to define our own to get compatability with 2.0
+            </summary>
+        </member>
+        <member name="T:__ProtectAttribute">
+            <summary>
+            This attribute is here so we can get better Pex integration
+            Using this means that Pex will not try to inspect the work of 
+            the actual proxies being generated by Rhino Mocks
+            </summary>
+        </member>
     </members>
 </doc>
trunk/build/build.bat
@@ -1,4 +0,0 @@
-@echo off
-cls
-tools\nant\nant.exe -buildfile:project.build %* -nologo
-@echo %time%
trunk/build/build.csproj
@@ -3,7 +3,7 @@
   <PropertyGroup>
     <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
     <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProductVersion>9.0.21022</ProductVersion>
+    <ProductVersion>9.0.30729</ProductVersion>
     <SchemaVersion>2.0</SchemaVersion>
     <ProjectGuid>{0C1D81CE-3081-4DB6-98FE-DB2BCB0D9C53}</ProjectGuid>
     <OutputType>Library</OutputType>
@@ -45,11 +45,9 @@
     <Reference Include="System.Xml" />
   </ItemGroup>
   <ItemGroup>
-    <None Include="build.bat" />
     <None Include="config\app.config.template" />
     <None Include="config\log4net.config.xml.template" />
-    <None Include="lib\test\mbunit\Gallio.MbUnit2Adapter.plugin" />
-    <None Include="local.Properties.template" />
+    <None Include="local.properties.xml.template" />
     <None Include="project.build" />
     <None Include="project.test.build" />
     <None Include="tools\gallio\Gallio.Echo.exe.config" />
@@ -61,20 +59,10 @@
     <None Include="tools\nant\NAnt.exe.config" />
   </ItemGroup>
   <ItemGroup>
-    <Content Include="lib\test\mbunit\Gallio.MbUnit2Adapter.dll" />
     <Content Include="lib\test\mbunit\MbUnit.Framework.2.0.dll" />
     <Content Include="lib\test\mbunit\MbUnit.Framework.2.0.xml" />
     <Content Include="lib\test\mbunit\MbUnit.Framework.dll" />
     <Content Include="lib\test\mbunit\MbUnit.Framework.xml" />
-    <Content Include="lib\test\mbunit\QuickGraph.Algorithms.dll" />
-    <Content Include="lib\test\mbunit\QuickGraph.Algorithms.xml" />
-    <Content Include="lib\test\mbunit\QuickGraph.dll" />
-    <Content Include="lib\test\mbunit\QuickGraph.xml" />
-    <Content Include="lib\test\mbunit\Readme.txt" />
-    <Content Include="lib\test\mbunit\Refly.dll" />
-    <Content Include="lib\test\mbunit\Refly.xml" />
-    <Content Include="lib\test\mbunit\TestFu.dll" />
-    <Content Include="lib\test\mbunit\TestFu.xml" />
     <Content Include="lib\test\rhino.mocks\Rhino.Mocks.dll" />
     <Content Include="lib\test\rhino.mocks\Rhino.Mocks.xml" />
     <Content Include="local.properties.xml" />
@@ -202,4 +190,4 @@
   <Target Name="AfterBuild">
   </Target>
   -->
-</Project>
\ No newline at end of file
+</Project>
trunk/build/local.Properties.template
@@ -1,4 +0,0 @@
-<project name="spec.dox">
-	<property name="debug" value="true"/>	
-	<property name="path.to.browser" value="c:\program files\mozilla firefox\firefox.exe"/>	
-</project>
trunk/build/local.properties.xml.template
@@ -0,0 +1,5 @@
+<project name="spec.dox">
+	<property name="debug" value="true"/>	
+	<property name="path.to.browser" value="c:\program files (x86)\mozilla firefox\firefox.exe"/>	
+	<property name="platform" value="x86" />
+</project>
trunk/build/project.build
@@ -22,7 +22,7 @@
 	</target>
 	
 	<target name="compile" depends="clean.up">
-		<csc target="exe" output="${build.compile.dir}\${name.to.compile.to}" debug="${debug}" win32icon="${build.res.dir}\mokhan.ico">
+		<csc target="exe" output="${build.compile.dir}\${name.to.compile.to}" debug="${debug}" win32icon="${build.res.dir}\mokhan.ico" platform="${platform}">
 			<sources basedir="${product.dir}">
 				<include name="**\*.cs" />
 				<exclude name="**\AssemblyInfo.cs" />
@@ -73,7 +73,7 @@
 		<echo message="${path.to.browser} ${build.compile.dir}\report.html" />
 		<exec
 			program="${path.to.browser}"
-			commandline="&quot;${build.compile.dir}\report.html&quot;"
+			commandline="&quot;${build.compile.dir}\test\report.html&quot;"
 			/>
 	</target>
 
trunk/product/Spec.Dox/Domain/Repositories/ITestContextRepository.cs
@@ -1,31 +1,34 @@
-using System;
 using System.Collections.Generic;
+using System.Linq;
 using System.Reflection;
-using Spec.Dox.Domain;
 
-namespace Spec.Dox.Domain.Repositories {
-    public interface ITestContextRepository {
-        IEnumerable<ITestContext> All();
+namespace Spec.Dox.Domain.Repositories
+{
+    public interface ITestContextRepository
+    {
+        IEnumerable<ITestContext> All(string path_to_assembly);
     }
 
-    public class TestContextRepository : ITestContextRepository {
-        private readonly Assembly assemblyToInspect;
-        private ITypeContainsSpecifications criteria;
+    public class TestContextRepository : ITestContextRepository
+    {
+        ITypeContainsSpecifications criteria;
 
-        public TestContextRepository(ITypeContainsSpecifications criteria)
-            : this(Environment.GetCommandLineArgs()[1], criteria) {}
+        public TestContextRepository() : this(new TypeContainsSpecifications()) {}
 
-        public TestContextRepository(string pathToAssembly, ITypeContainsSpecifications criteria) {
-            assemblyToInspect = Assembly.LoadFrom(pathToAssembly);
+        public TestContextRepository(ITypeContainsSpecifications criteria)
+        {
             this.criteria = criteria;
         }
 
-        public IEnumerable<ITestContext> All() {
-            foreach (var type in assemblyToInspect.GetTypes()) {
-                if (criteria.IsSatisfiedBy(type)) {
-                    yield return new TestContext(type);
-                }
-            }
+        public IEnumerable<ITestContext> All(string path_to_assembly)
+        {
+            return Assembly
+                .LoadFrom(path_to_assembly)
+                .GetTypes()
+                .Where(type => criteria.IsSatisfiedBy(type))
+                .Select(type => new TestContext(type))
+                .Cast<ITestContext>()
+                ;
         }
     }
 }
\ No newline at end of file
trunk/product/Spec.Dox/Domain/IMethodIsDecoratedBySpecificationAttribute.cs
@@ -2,23 +2,27 @@ using System;
 using System.Reflection;
 using Spec.Dox.Utility.Core;
 
-namespace Spec.Dox.Domain {
+namespace Spec.Dox.Domain
+{
     public interface IMethodIsDecoratedBySpecificationAttribute : ISpecification<MethodInfo> {}
 
-    public class MethodIsDecoratedBySpecificationAttribute : IMethodIsDecoratedBySpecificationAttribute {
-        private readonly string name_of_the_attribute_to_lookup;
+    public class MethodIsDecoratedBySpecificationAttribute : IMethodIsDecoratedBySpecificationAttribute
+    {
+        readonly string name_of_the_attribute_to_lookup;
 
         public MethodIsDecoratedBySpecificationAttribute() : this(Environment.GetCommandLineArgs()[2]) {}
 
-        public MethodIsDecoratedBySpecificationAttribute(string nameOfAttributeToLookup) {
+        public MethodIsDecoratedBySpecificationAttribute(string nameOfAttributeToLookup)
+        {
             name_of_the_attribute_to_lookup = nameOfAttributeToLookup;
         }
 
-        public bool IsSatisfiedBy(MethodInfo item) {
-            foreach (var attribute in item.GetCustomAttributes(true)) {
-                if (attribute.GetType().Name.Equals(name_of_the_attribute_to_lookup)) {
+        public bool IsSatisfiedBy(MethodInfo item)
+        {
+            foreach (var attribute in item.GetCustomAttributes(true))
+            {
+                if (attribute.GetType().Name.Equals(name_of_the_attribute_to_lookup))
                     return true;
-                }
             }
             return false;
         }
trunk/product/Spec.Dox/Domain/ITestContext.cs
@@ -1,19 +1,23 @@
 using System;
 using System.Collections.Generic;
 
-namespace Spec.Dox.Domain {
-    public interface ITestContext {
+namespace Spec.Dox.Domain
+{
+    public interface ITestContext
+    {
         string Name { get; }
         IEnumerable<ITestSpecification> AllSpecifications();
     }
 
-    public class TestContext : ITestContext {
-        private readonly Type type;
-        private IMethodIsDecoratedBySpecificationAttribute methodCriteria;
+    public class TestContext : ITestContext
+    {
+        readonly Type type;
+        IMethodIsDecoratedBySpecificationAttribute methodCriteria;
 
         public TestContext(Type type) : this(type, new MethodIsDecoratedBySpecificationAttribute()) {}
 
-        public TestContext(Type type, IMethodIsDecoratedBySpecificationAttribute methodCriteria) {
+        public TestContext(Type type, IMethodIsDecoratedBySpecificationAttribute methodCriteria)
+        {
             this.type = type;
             this.methodCriteria = methodCriteria;
             Name = type.Name;
@@ -21,11 +25,12 @@ namespace Spec.Dox.Domain {
 
         public string Name { get; private set; }
 
-        public IEnumerable<ITestSpecification> AllSpecifications() {
-            foreach (var method in type.GetMethods()) {
-                if (methodCriteria.IsSatisfiedBy(method)) {
+        public IEnumerable<ITestSpecification> AllSpecifications()
+        {
+            foreach (var method in type.GetMethods())
+            {
+                if (methodCriteria.IsSatisfiedBy(method))
                     yield return new TestSpecification(method);
-                }
             }
         }
     }
trunk/product/Spec.Dox/Domain/ITestSpecification.cs
@@ -1,12 +1,16 @@
 using System.Reflection;
 
-namespace Spec.Dox.Domain {
-    public interface ITestSpecification {
+namespace Spec.Dox.Domain
+{
+    public interface ITestSpecification
+    {
         string Name { get; }
     }
 
-    public class TestSpecification : ITestSpecification {
-        public TestSpecification(MethodInfo method) {
+    public class TestSpecification : ITestSpecification
+    {
+        public TestSpecification(MethodInfo method)
+        {
             Name = method.Name;
         }
 
trunk/product/Spec.Dox/Domain/ITypeContainsSpecifications.cs
@@ -1,21 +1,26 @@
 using System;
 using Spec.Dox.Utility.Core;
 
-namespace Spec.Dox.Domain {
+namespace Spec.Dox.Domain
+{
     public interface ITypeContainsSpecifications : ISpecification<Type> {}
 
-    public class TypeContainsSpecifications : ITypeContainsSpecifications {
-        private IMethodIsDecoratedBySpecificationAttribute criteria;
+    public class TypeContainsSpecifications : ITypeContainsSpecifications
+    {
+        IMethodIsDecoratedBySpecificationAttribute criteria;
+        public TypeContainsSpecifications() : this(new MethodIsDecoratedBySpecificationAttribute()) {}
 
-        public TypeContainsSpecifications(IMethodIsDecoratedBySpecificationAttribute criteria) {
+        public TypeContainsSpecifications(IMethodIsDecoratedBySpecificationAttribute criteria)
+        {
             this.criteria = criteria;
         }
 
-        public bool IsSatisfiedBy(Type item) {
-            foreach (var method in item.GetMethods()) {
-                if (criteria.IsSatisfiedBy(method)) {
+        public bool IsSatisfiedBy(Type item)
+        {
+            foreach (var method in item.GetMethods())
+            {
+                if (criteria.IsSatisfiedBy(method))
                     return true;
-                }
             }
             return false;
         }
trunk/product/Spec.Dox/Domain/MethodDecoratedBySpecificationAttributeSpecs.cs
@@ -5,48 +5,57 @@ using Spec.Dox.Test.Extensions;
 using Spec.Dox.Test.MetaData;
 using Spec.Dox.Utility.Core;
 
-namespace Spec.Dox.Domain {
+namespace Spec.Dox.Domain
+{
     public class MethodDecoratedBySpecificationAttributeSpecs {}
 
     [Concern(typeof (MethodIsDecoratedBySpecificationAttribute))]
     public class when_checking_if_a_method_is_decorated_with_an_attribute_that_it_is_decorated_with :
-        context_spec<ISpecification<MethodInfo>> {
-        private bool result;
-        private MethodInfo methodToInspect;
+        context_spec<ISpecification<MethodInfo>>
+    {
+        bool result;
+        MethodInfo methodToInspect;
 
-        protected override ISpecification<MethodInfo> UnderTheseConditions() {
+        protected override ISpecification<MethodInfo> EstablishContext()
+        {
             methodToInspect = GetType().GetMethod("should_return_true");
             return new MethodIsDecoratedBySpecificationAttribute("TestAttribute");
         }
 
-        protected override void BecauseOf() {
+        protected override void Because()
+        {
             result = sut.IsSatisfiedBy(methodToInspect);
         }
 
         [Test]
-        public void should_return_true() {
+        public void should_return_true()
+        {
             result.should_be_equal_to(true);
         }
-        }
+    }
 
     [Concern(typeof (MethodIsDecoratedBySpecificationAttribute))]
     public class when_checking_if_a_method_is_decorated_with_an_attribute_that_it_is_not :
-        context_spec<ISpecification<MethodInfo>> {
-        private bool result;
-        private MethodInfo methodToInspect;
+        context_spec<ISpecification<MethodInfo>>
+    {
+        bool result;
+        MethodInfo methodToInspect;
 
-        protected override ISpecification<MethodInfo> UnderTheseConditions() {
+        protected override ISpecification<MethodInfo> EstablishContext()
+        {
             methodToInspect = GetType().GetMethod("should_return_false");
             return new MethodIsDecoratedBySpecificationAttribute("SerializableAttribute");
         }
 
-        protected override void BecauseOf() {
+        protected override void Because()
+        {
             result = sut.IsSatisfiedBy(methodToInspect);
         }
 
         [Test]
-        public void should_return_false() {
+        public void should_return_false()
+        {
             result.should_be_equal_to(false);
         }
-        }
+    }
 }
\ No newline at end of file
trunk/product/Spec.Dox/Infrastructure/Container/DependencyRegistrySpecs.cs
@@ -1,58 +0,0 @@
-using System.Security.Principal;
-using Castle.Windsor;
-using MbUnit.Framework;
-using Spec.Dox.Test;
-using Spec.Dox.Test.Extensions;
-using Spec.Dox.Test.MetaData;
-
-namespace Spec.Dox.Infrastructure.Container {
-    public class DependencyRegistrySpecs {}
-
-
-    [Concern(typeof (DependencyRegistry))]
-    public class when_creating_a_new_dependency_registry : context_spec<IDependencyRegistry> {
-        private IContainerFactory containerFactory;
-
-        protected override IDependencyRegistry UnderTheseConditions() {
-            containerFactory = Dependency<IContainerFactory>();
-            return new DependencyRegistry(containerFactory);
-        }
-
-        protected override void BecauseOf() {}
-
-        [Test]
-        public void should_initialize_the_underlying_container() {
-            containerFactory.should_have_been_asked_to(f => f.Create());
-        }
-    }
-
-    [Concern(typeof (DependencyRegistry))]
-    public class when_retrieving_an_implementation_of_a_contract : context_spec<IDependencyRegistry> {
-        private IContainerFactory containerFactory;
-        private IIdentity result;
-        private IIdentity identity_to_return;
-        private IWindsorContainer container;
-
-        protected override IDependencyRegistry UnderTheseConditions() {
-            containerFactory = Dependency<IContainerFactory>();
-            container = Stub<IWindsorContainer>();
-            identity_to_return = Stub<IIdentity>();
-
-            containerFactory
-                .setup_result_for(f => f.Create())
-                .Return(container);
-            container.setup_result_for(c => c.Resolve<IIdentity>())
-                .Return(identity_to_return);
-            return new DependencyRegistry(containerFactory);
-        }
-
-        protected override void BecauseOf() {
-            result = sut.GetAnImplementationOf<IIdentity>();
-        }
-
-        [Test]
-        public void should_leverage_the_windsor_container_to_resolve_the_dependency() {
-            result.should_be_equal_to(identity_to_return);
-        }
-    }
-}
\ No newline at end of file
trunk/product/Spec.Dox/Infrastructure/Container/IContainerFactory.cs
@@ -1,27 +0,0 @@
-using Castle.MicroKernel.Registration;
-using Castle.Windsor;
-using Spec.Dox.Utility.Core;
-
-namespace Spec.Dox.Infrastructure.Container {
-    public interface IContainerFactory : IFactory<IWindsorContainer> {}
-
-    public class ContainerFactory : IContainerFactory {
-        private static readonly IWindsorContainer container;
-
-        static ContainerFactory() {
-            container = new WindsorContainer();
-            container.Register(
-                AllTypes
-                    .Pick()
-                    .FromAssembly(typeof (ContainerFactory).Assembly)
-                    .WithService.FirstInterface()
-                    .Unless(t => t.IsAbstract)
-                    .AllowMultipleMatches()
-                );
-        }
-
-        public IWindsorContainer Create() {
-            return container;
-        }
-    }
-}
\ No newline at end of file
trunk/product/Spec.Dox/Infrastructure/Container/IDependencyRegistry.cs
@@ -1,21 +0,0 @@
-using Castle.Windsor;
-
-namespace Spec.Dox.Infrastructure.Container {
-    public interface IDependencyRegistry {
-        Contract GetAnImplementationOf<Contract>();
-    }
-
-    public class DependencyRegistry : IDependencyRegistry {
-        private IWindsorContainer container;
-
-        public DependencyRegistry() : this(new ContainerFactory()) {}
-
-        public DependencyRegistry(IContainerFactory containerFactory) {
-            container = containerFactory.Create();
-        }
-
-        public Contract GetAnImplementationOf<Contract>() {
-            return container.Resolve<Contract>();
-        }
-    }
-}
\ No newline at end of file
trunk/product/Spec.Dox/Infrastructure/Container/Resolve.cs
@@ -1,21 +0,0 @@
-namespace Spec.Dox.Infrastructure.Container {
-    public static class Resolve {
-        private static IDependencyRegistry underlying_registry;
-
-        public static void IntializeWith(IDependencyRegistry registry) {
-            underlying_registry = registry;
-        }
-
-        public static bool IsInitialized() {
-            return null != underlying_registry;
-        }
-
-        public static Contract AnImplementationOf<Contract>() {
-            if (!IsInitialized()) {
-                underlying_registry = new DependencyRegistry();
-            }
-
-            return underlying_registry.GetAnImplementationOf<Contract>();
-        }
-    }
-}
\ No newline at end of file
trunk/product/Spec.Dox/Infrastructure/Container/ResolveSpecs.cs
@@ -1,39 +0,0 @@
-using System.ComponentModel;
-using MbUnit.Framework;
-using Spec.Dox.Test;
-using Spec.Dox.Test.Extensions;
-using Spec.Dox.Test.MetaData;
-
-namespace Spec.Dox.Infrastructure.Container {
-    public class ResolveSpecs {}
-
-    [Concern(typeof (Resolve))]
-    public class when_attempting_to_resolve_a_dependency : context_spec {
-        private ISynchronizeInvoke result;
-        private IDependencyRegistry registry;
-        private ISynchronizeInvoke item_to_return;
-
-        protected override void UnderTheseConditions() {
-            registry = Mock<IDependencyRegistry>();
-            item_to_return = Stub<ISynchronizeInvoke>();
-            registry
-                .setup_result_for(r => r.GetAnImplementationOf<ISynchronizeInvoke>())
-                .Return(item_to_return);
-            Resolve.IntializeWith(registry);
-        }
-
-        protected override void BecauseOf() {
-            result = Resolve.AnImplementationOf<ISynchronizeInvoke>();
-        }
-
-        [Test]
-        public void should_leverage_the_underlying_resolver_to_satisfy_the_dependency() {
-            registry.should_have_been_asked_to(r => r.GetAnImplementationOf<ISynchronizeInvoke>());
-        }
-
-        [Test]
-        public void should_return_the_same_item_retrieve_from_the_registry() {
-            result.should_be_equal_to(item_to_return);
-        }
-    }
-}
\ No newline at end of file
trunk/product/Spec.Dox/Presentation/Presenters/IReportPresenter.cs
@@ -1,25 +1,33 @@
+using System.Collections.Generic;
+using System.Linq;
 using Spec.Dox.Domain.Repositories;
 using Spec.Dox.Presentation.Views;
 
-namespace Spec.Dox.Presentation.Presenters {
-    public interface IReportPresenter {
-        void Initialize();
+namespace Spec.Dox.Presentation.Presenters
+{
+    public interface IReportPresenter
+    {
+        void Initialize(IEnumerable<string> command_line_arguments);
     }
 
-    public class ReportPresenter : IReportPresenter {
-        private readonly IHtmlReport report;
-        private readonly ITestContextRepository repository;
+    public class ReportPresenter : IReportPresenter
+    {
+        readonly IHtmlReport report;
+        readonly ITestContextRepository repository;
 
-        public ReportPresenter(IHtmlReport report, ITestContextRepository repository) {
+        public ReportPresenter() : this(new HtmlReport(), new TestContextRepository()) {}
+
+        public ReportPresenter(IHtmlReport report, ITestContextRepository repository)
+        {
             this.report = report;
             this.repository = repository;
         }
 
-        public void Initialize() {
-            foreach (var context in repository.All()) {
+        public void Initialize(IEnumerable<string> command_line_arguments)
+        {
+            foreach (var context in repository.All(command_line_arguments.ElementAt(0)))
                 report.Add(context, context.AllSpecifications());
-            }
-            report.PublishToFinalDestination();
+            report.publish_to_same_folder_as(command_line_arguments.ElementAt(0));
         }
     }
 }
\ No newline at end of file
trunk/product/Spec.Dox/Presentation/Presenters/ReportPresenterSpecs.cs
@@ -2,60 +2,62 @@ using System.Collections.Generic;
 using MbUnit.Framework;
 using Spec.Dox.Domain;
 using Spec.Dox.Domain.Repositories;
-using Spec.Dox.Presentation.Presenters;
 using Spec.Dox.Presentation.Views;
 using Spec.Dox.Test;
 using Spec.Dox.Test.Extensions;
 using Spec.Dox.Test.MetaData;
 
-namespace Spec.Dox.Presentation.Presenters {
+namespace Spec.Dox.Presentation.Presenters
+{
     public interface ReportPresenterSpecs {}
 
     [Concern(typeof (ReportPresenter))]
-    public class when_initializing_the_report_presenter : context_spec<IReportPresenter> {
-        private ITestContextRepository repository;
-        private ITestContext context;
-        private IHtmlReport view;
-        private IList<ITestSpecification> specifications;
-
-        protected override IReportPresenter UnderTheseConditions() {
+    public class when_initializing_the_report_presenter : context_spec<IReportPresenter>
+    {
+        ITestContextRepository repository;
+        ITestContext context;
+        IHtmlReport view;
+        IList<ITestSpecification> specifications;
+        string[] args = new[] {"1", "2"};
+
+        protected override IReportPresenter EstablishContext()
+        {
             repository = Dependency<ITestContextRepository>();
             view = Dependency<IHtmlReport>();
             context = Stub<ITestContext>();
             specifications = new List<ITestSpecification>();
 
             repository
-                .setup_result_for(r => r.All())
+                .is_told_to(r => r.All("1"))
                 .Return(new List<ITestContext> {context});
             context
-                .setup_result_for(c => c.AllSpecifications())
+                .is_told_to(c => c.AllSpecifications())
                 .Return(specifications);
 
             return new ReportPresenter(view, repository);
         }
 
-        protected override void BecauseOf() {
-            sut.Initialize();
-        }
-
-        [Test]
-        public void should_retrieving_all_the_contexts_to_display() {
-            repository.should_have_been_asked_to(r => r.All());
+        protected override void Because()
+        {
+            sut.Initialize(args);
         }
 
         [Test]
-        public void should_retrieve_each_of_the_specification_that_belong_to_the_context() {
-            context.should_have_been_asked_to(c => c.AllSpecifications());
+        public void should_retrieve_each_of_the_specification_that_belong_to_the_context()
+        {
+            context.received(c => c.AllSpecifications());
         }
 
         [Test]
-        public void should_display_the_specification_for_each_context() {
-            view.should_have_been_asked_to(v => v.Add(context, specifications));
+        public void should_display_the_specification_for_each_context()
+        {
+            view.received(v => v.Add(context, specifications));
         }
 
         [Test]
-        public void should_generate_the_report() {
-            view.should_have_been_asked_to(v => v.PublishToFinalDestination());
+        public void should_generate_the_report()
+        {
+            view.received(v => v.publish_to_same_folder_as("1"));
         }
     }
 }
\ No newline at end of file
trunk/product/Spec.Dox/Presentation/Views/HtmlReportSpecs.cs
@@ -6,38 +6,43 @@ using Spec.Dox.Test;
 using Spec.Dox.Test.Extensions;
 using Spec.Dox.Test.MetaData;
 
-namespace Spec.Dox.Presentation.Views {
+namespace Spec.Dox.Presentation.Views
+{
     public class HtmlReportSpecs {}
 
     [Concern(typeof (HtmlReport))]
-    public class when_publishing_an_html_report_with_specification_added_to_it : context_spec<IHtmlReport> {
-        private IReportPublisher publisher;
+    public class when_publishing_an_html_report_with_specification_added_to_it : context_spec<IHtmlReport>
+    {
+        IReportPublisher publisher;
 
-        protected override IHtmlReport UnderTheseConditions() {
+        protected override IHtmlReport EstablishContext()
+        {
             publisher = Dependency<IReportPublisher>();
 
             var fixture = Stub<ITestContext>();
             var testSpecification = Stub<ITestSpecification>();
 
 
-            fixture.setup_result_for(f => f.Name).Return("when_a_blah_blah");
-            testSpecification.setup_result_for(t => t.Name).Return("should_do_some_stuff");
+            fixture.is_told_to(f => f.Name).Return("when_a_blah_blah");
+            testSpecification.is_told_to(t => t.Name).Return("should_do_some_stuff");
 
             var context = new HtmlReport(publisher);
             context.Add(fixture, new List<ITestSpecification> {testSpecification});
             return context;
         }
 
-        protected override void BecauseOf() {
-            sut.PublishToFinalDestination();
+        protected override void Because()
+        {
+            sut.publish_to_same_folder_as("path");
         }
 
         [Test]
-        public void should_publish_the_correct_html() {
+        public void should_publish_the_correct_html()
+        {
             var expected_html =
                 "<html><head><title>Specifications Document</title></head><body><h1>when a blah blah</h1><ul><li>should do some stuff</li></ul></body></html>";
 
-            publisher.should_have_been_asked_to(p => p.Publish(Arg<string>.Is.Equal(expected_html)));
+            publisher.received(p => p.Publish(Arg<string>.Is.Equal(expected_html), "path"));
         }
     }
 }
\ No newline at end of file
trunk/product/Spec.Dox/Presentation/Views/IHtmlReport.cs
@@ -2,34 +2,43 @@ using System.Collections.Generic;
 using System.Text;
 using Spec.Dox.Domain;
 
-namespace Spec.Dox.Presentation.Views {
-    public interface IHtmlReport {
+namespace Spec.Dox.Presentation.Views
+{
+    public interface IHtmlReport
+    {
         void Add(ITestContext context, IEnumerable<ITestSpecification> specifications);
-        void PublishToFinalDestination();
+        void publish_to_same_folder_as(string test_assembly_path);
     }
 
-    public class HtmlReport : IHtmlReport {
-        private readonly IReportPublisher publisher;
-        private readonly StringBuilder builder;
+    public class HtmlReport : IHtmlReport
+    {
+        readonly IReportPublisher publisher;
+        readonly StringBuilder builder;
 
-        public HtmlReport(IReportPublisher publisher) {
+        public HtmlReport() : this(new ReportPublisher()) {}
+
+        public HtmlReport(IReportPublisher publisher)
+        {
             this.publisher = publisher;
             builder = new StringBuilder();
             builder.Append("<html><head><title>Specifications Document</title></head><body>");
         }
 
-        public void Add(ITestContext context, IEnumerable<ITestSpecification> specifications) {
+        public void Add(ITestContext context, IEnumerable<ITestSpecification> specifications)
+        {
             builder.AppendFormat("<h1>{0}</h1>", context.Name.Replace("_", " "));
             builder.Append("<ul>");
-            foreach (var specification in specifications) {
+            foreach (var specification in specifications)
+            {
                 builder.AppendFormat("<li>{0}</li>", specification.Name.Replace("_", " "));
             }
             builder.Append("</ul>");
         }
 
-        public void PublishToFinalDestination() {
+        public void publish_to_same_folder_as(string test_assembly_path)
+        {
             builder.Append("</body></html>");
-            publisher.Publish(builder.ToString());
+            publisher.Publish(builder.ToString(), test_assembly_path);
         }
     }
 }
\ No newline at end of file
trunk/product/Spec.Dox/Presentation/Views/IReportPublisher.cs
@@ -1,14 +1,17 @@
-using System;
 using System.IO;
 
-namespace Spec.Dox.Presentation.Views {
-    public interface IReportPublisher {
-        void Publish(string expected_html);
+namespace Spec.Dox.Presentation.Views
+{
+    public interface IReportPublisher
+    {
+        void Publish(string expected_html, string test_assembly_path);
     }
 
-    public class ReportPublisher : IReportPublisher {
-        public void Publish(string html_to_publish) {
-            var pathToWriteReportTo = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "report.html");
+    public class ReportPublisher : IReportPublisher
+    {
+        public void Publish(string html_to_publish, string test_assembly_path)
+        {
+            var pathToWriteReportTo = Path.Combine(new FileInfo(test_assembly_path).DirectoryName, "report.html");
             File.WriteAllText(pathToWriteReportTo, html_to_publish);
             System.Console.Out.WriteLine("Report published to... {0}", pathToWriteReportTo);
         }
trunk/product/Spec.Dox/Test/Extensions/AssertionExtensions.cs
@@ -1,8 +1,11 @@
 using MbUnit.Framework;
 
-namespace Spec.Dox.Test.Extensions {
-    public static class AssertionExtensions {
-        public static void should_be_equal_to<T>(this T itemToCheck, T itemToBeEqualTo) {
+namespace Spec.Dox.Test.Extensions
+{
+    static public class AssertionExtensions
+    {
+        static public void should_be_equal_to<T>(this T itemToCheck, T itemToBeEqualTo)
+        {
             Assert.AreEqual(itemToBeEqualTo, itemToCheck);
         }
     }
trunk/product/Spec.Dox/Test/Extensions/MockingExtensions.cs
@@ -2,13 +2,17 @@ using System;
 using Rhino.Mocks;
 using Rhino.Mocks.Interfaces;
 
-namespace Spec.Dox.Test.Extensions {
-    public static class MockingExtensions {
-        public static void should_have_been_asked_to<T>(this T typeToVerify, Action<T> actionToPerform) {
+namespace Spec.Dox.Test.Extensions
+{
+    static public class MockingExtensions
+    {
+        static public void received<T>(this T typeToVerify, Action<T> actionToPerform)
+        {
             typeToVerify.AssertWasCalled(actionToPerform);
         }
 
-        public static IMethodOptions<R> setup_result_for<T, R>(this T typeToVerify, Func<T, R> actionToPerform) {
+        static public IMethodOptions<R> is_told_to<T, R>(this T typeToVerify, Function<T, R> actionToPerform) where T : class
+        {
             return typeToVerify.Stub(actionToPerform);
         }
     }
trunk/product/Spec.Dox/Test/MetaData/ConcernAttribute.cs
@@ -1,9 +1,12 @@
 using System;
 
-namespace Spec.Dox.Test.MetaData {
+namespace Spec.Dox.Test.MetaData
+{
     [AttributeUsage(AttributeTargets.Class)]
-    public class ConcernAttribute : Attribute {
-        public ConcernAttribute(Type systemUnderTest) {
+    public class ConcernAttribute : Attribute
+    {
+        public ConcernAttribute(Type systemUnderTest)
+        {
             SystemUnderTest = systemUnderTest;
         }
 
trunk/product/Spec.Dox/Test/context_spec.cs
@@ -1,11 +1,14 @@
 using MbUnit.Framework;
 using Rhino.Mocks;
 
-namespace Spec.Dox.Test {
+namespace Spec.Dox.Test
+{
     [TestFixture]
-    public abstract class context_spec {
+    public abstract class context_spec
+    {
         [SetUp]
-        public void SetUp() {
+        public void SetUp()
+        {
             UnderTheseConditions();
             BecauseOf();
         }
@@ -17,35 +20,41 @@ namespace Spec.Dox.Test {
 
         protected abstract void BecauseOf();
 
-        protected TypeToMock Mock<TypeToMock>() {
+        protected TypeToMock Mock<TypeToMock>() where TypeToMock : class
+        {
             return MockRepository.GenerateMock<TypeToMock>();
         }
 
-        protected TypeToMock Stub<TypeToMock>() {
+        protected TypeToMock Stub<TypeToMock>() where TypeToMock : class
+        {
             return MockRepository.GenerateStub<TypeToMock>();
         }
     }
 
     [TestFixture]
-    public abstract class context_spec<SystemUnderTest> {
+    public abstract class context_spec<SystemUnderTest>
+    {
         [SetUp]
-        public void SetUp() {
-            sut = UnderTheseConditions();
-            BecauseOf();
+        public void SetUp()
+        {
+            sut = EstablishContext();
+            Because();
         }
 
         [TearDown]
         public virtual void Cleanup() {}
 
-        protected abstract SystemUnderTest UnderTheseConditions();
+        protected abstract SystemUnderTest EstablishContext();
 
-        protected abstract void BecauseOf();
+        protected abstract void Because();
 
-        protected TypeToMock Dependency<TypeToMock>() {
+        protected TypeToMock Dependency<TypeToMock>() where TypeToMock : class
+        {
             return MockRepository.GenerateMock<TypeToMock>();
         }
 
-        protected TypeToMock Stub<TypeToMock>() {
+        protected TypeToMock Stub<TypeToMock>() where TypeToMock : class
+        {
             return MockRepository.GenerateStub<TypeToMock>();
         }
 
trunk/product/Spec.Dox/Utility/Core/IFactory.cs
@@ -1,5 +1,7 @@
-namespace Spec.Dox.Utility.Core {
-    public interface IFactory<TypeToCreate> {
+namespace Spec.Dox.Utility.Core
+{
+    public interface IFactory<TypeToCreate>
+    {
         TypeToCreate Create();
     }
 }
\ No newline at end of file
trunk/product/Spec.Dox/Utility/Core/ISpecification.cs
@@ -1,5 +1,7 @@
-namespace Spec.Dox.Utility.Core {
-    public interface ISpecification<TypeToInspect> {
+namespace Spec.Dox.Utility.Core
+{
+    public interface ISpecification<TypeToInspect>
+    {
         bool IsSatisfiedBy(TypeToInspect item);
     }
 }
\ No newline at end of file
trunk/product/Spec.Dox/ConsoleSpecs.cs
@@ -4,28 +4,34 @@ using Spec.Dox.Test;
 using Spec.Dox.Test.Extensions;
 using Spec.Dox.Test.MetaData;
 
-namespace Spec.Dox {
-    public class ConsoleSpecs {}
+namespace Spec.Dox
+{
+    public class ConsoleSpecs
+    {
+        [Concern(typeof (Console))]
+        public class when_the_console_is_given_valid_console_arguments : context_spec<IConsole>
+        {
+            string[] command_line_arguments;
+            IReportPresenter presenter;
 
-    [Concern(typeof (Console))]
-    public class when_the_console_is_given_valid_console_arguments : context_spec<IConsole> {
-        private string[] command_line_arguments;
-        private IReportPresenter presenter;
+            protected override IConsole EstablishContext()
+            {
+                command_line_arguments = new[] {"path", "testfixtureattributename"};
+                presenter = Dependency<IReportPresenter>();
 
-        protected override IConsole UnderTheseConditions() {
-            command_line_arguments = new[] {"path", "testfixtureattributename"};
-            presenter = Dependency<IReportPresenter>();
+                return new Console(presenter);
+            }
 
-            return new Console(presenter);
-        }
-
-        protected override void BecauseOf() {
-            sut.Execute(command_line_arguments);
-        }
+            protected override void Because()
+            {
+                sut.Execute(command_line_arguments);
+            }
 
-        [Test]
-        public void should_initialize_the_report_presenter() {
-            presenter.should_have_been_asked_to(p => p.Initialize());
+            [Test]
+            public void should_initialize_the_report_presenter()
+            {
+                presenter.received(p => p.Initialize(command_line_arguments));
+            }
         }
     }
 }
\ No newline at end of file
trunk/product/Spec.Dox/IConsole.cs
@@ -1,19 +1,27 @@
+using System.Collections.Generic;
 using Spec.Dox.Presentation.Presenters;
 
-namespace Spec.Dox {
-    public interface IConsole {
-        void Execute(string[] command_line_arguments);
+namespace Spec.Dox
+{
+    public interface IConsole
+    {
+        void Execute(IEnumerable<string> command_line_arguments);
     }
 
-    public class Console : IConsole {
-        private readonly IReportPresenter presenter;
+    public class Console : IConsole
+    {
+        readonly IReportPresenter presenter;
 
-        public Console(IReportPresenter presenter) {
+        public Console() : this(new ReportPresenter()) {}
+
+        public Console(IReportPresenter presenter)
+        {
             this.presenter = presenter;
         }
 
-        public void Execute(string[] command_line_arguments) {
-            presenter.Initialize();
+        public void Execute(IEnumerable<string> command_line_arguments)
+        {
+            presenter.Initialize(command_line_arguments);
         }
     }
 }
\ No newline at end of file
trunk/product/Spec.Dox/Program.cs
@@ -1,17 +1,40 @@
-using Spec.Dox.Infrastructure.Container;
+using System;
+using System.Collections.Generic;
+using System.Reflection;
 
-namespace Spec.Dox {
-    public class Program {
-        private static void Main(string[] args) {
-            try {
-                Resolve.AnImplementationOf<IConsole>().Execute(args);
+namespace Spec.Dox
+{
+    public class Program
+    {
+        static void Main(string[] args)
+        {
+            try
+            {
+                dispay(args);
+                new Console().Execute(args);
             }
-            catch {
-                System.Console.Out.WriteLine(
-                    "spec.dox.exe [full path to assembly to inspect] [full name of attribute decorating each test]");
+            catch (ReflectionTypeLoadException e)
+            {
+                System.Console.Out.WriteLine(e);
+                foreach (var error in e.LoaderExceptions)
+                {
+                    System.Console.Out.WriteLine(error);
+                }
+            }
+            catch (Exception e)
+            {
+                System.Console.Out.WriteLine(e);
+                System.Console.Out.WriteLine("spec.dox.exe [full path to assembly to inspect] [full name of attribute decorating each test]");
                 System.Console.Out.WriteLine("e.g...");
-                System.Console.Out.WriteLine("spec.dox.exe 'c:/development/test.dll' TestAttribute");
+                System.Console.Out.WriteLine("spec.dox.exe c:/development/test.dll TestAttribute");
             }
         }
+
+        static void dispay(IEnumerable<string> args)
+        {
+            System.Console.Out.WriteLine("Received:");
+            foreach (var arg in args) System.Console.Out.WriteLine(arg);
+            System.Console.Out.WriteLine();
+        }
     }
 }
\ No newline at end of file
trunk/product/Spec.Dox/Spec.Dox.csproj
@@ -3,7 +3,7 @@
   <PropertyGroup>
     <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
     <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProductVersion>9.0.21022</ProductVersion>
+    <ProductVersion>9.0.30729</ProductVersion>
     <SchemaVersion>2.0</SchemaVersion>
     <ProjectGuid>{7CD0C4CC-2ADD-47DA-BAB4-277BA79025C0}</ProjectGuid>
     <OutputType>Exe</OutputType>
@@ -21,6 +21,7 @@
     <DefineConstants>DEBUG;TRACE</DefineConstants>
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
+    <PlatformTarget>x86</PlatformTarget>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
     <DebugType>pdbonly</DebugType>
@@ -31,22 +32,6 @@
     <WarningLevel>4</WarningLevel>
   </PropertyGroup>
   <ItemGroup>
-    <Reference Include="Castle.Core, Version=1.0.3.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
-      <SpecificVersion>False</SpecificVersion>
-      <HintPath>..\..\build\lib\app\castle\Castle.Core.dll</HintPath>
-    </Reference>
-    <Reference Include="Castle.DynamicProxy2, Version=2.0.3.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
-      <SpecificVersion>False</SpecificVersion>
-      <HintPath>..\..\build\lib\app\castle\Castle.DynamicProxy2.dll</HintPath>
-    </Reference>
-    <Reference Include="Castle.MicroKernel, Version=1.0.3.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
-      <SpecificVersion>False</SpecificVersion>
-      <HintPath>..\..\build\lib\app\castle\Castle.MicroKernel.dll</HintPath>
-    </Reference>
-    <Reference Include="Castle.Windsor, Version=1.0.3.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
-      <SpecificVersion>False</SpecificVersion>
-      <HintPath>..\..\build\lib\app\castle\Castle.Windsor.dll</HintPath>
-    </Reference>
     <Reference Include="MbUnit.Framework, Version=2.4.2.175, Culture=neutral, PublicKeyToken=5e72ecd30bc408d5">
       <SpecificVersion>False</SpecificVersion>
       <HintPath>..\..\build\lib\test\mbunit\MbUnit.Framework.dll</HintPath>
@@ -76,11 +61,6 @@
     <Compile Include="Domain\ITypeContainsSpecifications.cs" />
     <Compile Include="Domain\MethodDecoratedBySpecificationAttributeSpecs.cs" />
     <Compile Include="IConsole.cs" />
-    <Compile Include="Infrastructure\Container\DependencyRegistrySpecs.cs" />
-    <Compile Include="Infrastructure\Container\IContainerFactory.cs" />
-    <Compile Include="Infrastructure\Container\IDependencyRegistry.cs" />
-    <Compile Include="Infrastructure\Container\Resolve.cs" />
-    <Compile Include="Infrastructure\Container\ResolveSpecs.cs" />
     <Compile Include="Presentation\Presenters\IReportPresenter.cs" />
     <Compile Include="Presentation\Presenters\ReportPresenterSpecs.cs" />
     <Compile Include="Program.cs" />
trunk/.gitignore
@@ -0,0 +1,7 @@
+[Bb]in
+[Oo]bj
+*.suo
+*.swp
+*.user
+build/compile
+local.properties.xml
trunk/build.bat
@@ -0,0 +1,4 @@
+@echo off
+cls
+build\tools\nant\nant.exe -buildfile:build\project.build %* -nologo
+@echo %time%
trunk/spec.dox.sln → trunk/studio.sln
File renamed without changes