/// <summary>
        /// Gets a List of performance metrics that will be measured on the action whose data is
        /// represented by the given action info
        /// </summary>
        /// <param name="info">An ActionInfo object that contains info about the action whose performance
        /// is being measured</param>
        /// <returns>A List of PerformanceMetricBase objects of the metrics to be measured on this action</returns>
        public static List <PerformanceMetricBase> GetPerformanceMetrics(ActionInfo info)
        {
            if (performanceMetrics.ContainsKey(info) == false)
            {
                lock (lockObject)
                {
                    // Check Again
                    if (performanceMetrics.ContainsKey(info) == false)
                    {
                        List <PerformanceMetricBase> metrics = CreateMetricsForAction(info);
                        PerformanceMetricContainer   pmc     = new PerformanceMetricContainer(info, metrics);
                        performanceMetrics.Add(info, pmc);
                    }
                }
            }

            return(performanceMetrics[info].GetPerformanceMetrics());
        }
        /// <summary>
        /// Gets a List of performance metrics that will be measured on the action whose data is 
        /// represented by the given action info
        /// </summary>
        /// <param name="info">An ActionInfo object that contains info about the action whose performance
        /// is being measured</param>
        /// <returns>A List of PerformanceMetricBase objects of the metrics to be measured on this action</returns>
        public static List<PerformanceMetricBase> GetPerformanceMetrics(ActionInfo info)
        {
            if (performanceMetrics.ContainsKey(info) == false)
            {
                lock (lockObject)
                {
                    // Check Again
                    if (performanceMetrics.ContainsKey(info) == false)
                    {
                        List<PerformanceMetricBase> metrics = CreateMetricsForAction(info);
                         PerformanceMetricContainer pmc = new PerformanceMetricContainer(info, metrics);
                        performanceMetrics.Add(info, pmc);
                    }
                }
            }

            return performanceMetrics[info].GetPerformanceMetrics();
        }