/// <summary>
        /// Allows the configuration of the given <paramref name="handler"/>.
        /// </summary>
        /// <param name="context">The <see cref="IMansionWebContext"/>.</param>
        /// <param name="handler">The <see cref="RequestHandler"/> selected to handle the request.</param>
        /// <exception cref="ArgumentNullException">Thrown if one of the parameters is null.</exception>
        public void Configure(IMansionWebContext context, RequestHandler handler)
        {
            // validate arguments
            if (context == null)
                throw new ArgumentNullException("context");
            if (handler == null)
                throw new ArgumentNullException("handler");

            // invoke template method
            DoConfigure(context, handler);
        }
 /// <summary>
 /// Allows the configuration of the given <paramref name="handler"/>.
 /// </summary>
 /// <param name="context">The <see cref="IMansionWebContext"/>.</param>
 /// <param name="handler">The <see cref="RequestHandler"/> selected to handle the request.</param>
 protected abstract void DoConfigure(IMansionWebContext context, RequestHandler handler);