/// <summary>
        /// Provides the instance of the type using the <see cref="CommonProvider" />.
        /// </summary>
        /// <param name="type">The type.</param>
        /// <returns>The provided instance.</returns>
        /// <exception cref="NotSupportedException">The type is not correctly configured to allow for
        /// instantiation.</exception>
        public static object ProvideInstanceOf([NotNull] this Type type, [NotNull] IObjectContainer container)
        {
            Contract.Requires(container != null, "container is null.");

            return(container.ProvideType(type));
        }