/// <summary> Creates the counter and adds it to the internal collection. </summary>
        /// <param name="expression">The expression to derive counter name from.</param>
        /// <param name="openCounterCount">The open counter count.</param>
        /// <param name="closeCounterCount">The close counter count.</param>
        /// <returns>instance of the new counter</returns>
        protected ExecutionCounter CreateCounterForCtor <T>(Expression <Func <T> > expression, int openCounterCount,
                                                            int closeCounterCount)
        {
            var    methodInfo  = Express.Constructor(expression);
            string counterName = StringUtil.FormatInvariant("{0}.{1}", methodInfo.DeclaringType.Name, methodInfo.Name);

            return(CreateCounter(counterName, openCounterCount, closeCounterCount));
        }