/// <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 CreateCounter(Expression <Action> expression, int openCounterCount, int closeCounterCount)
        {
            var    methodInfo  = Express.Method(expression);
            string counterName = StringUtil.FormatInvariant("{0}.{1}", methodInfo.DeclaringType.Name, methodInfo.Name);

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