/// <summary>
        /// Retrieves a specific value for the INDIVIDUAL header value. NOTE: Do not pass a flag combination here. It will break if you do!
        /// </summary>
        /// <param name="header"></param>
        /// <returns></returns>
        protected virtual string GetHeaderValue(InstanceTraceListenerHeaders header, StackFrame frame)
        {
            try
            {
                switch (header)
                {
                case InstanceTraceListenerHeaders.DateAndTime:
                    return(DateTime.Now.ToString());

                case InstanceTraceListenerHeaders.Filename:
                    if (_trimPathFromFile)
                    {
                        return(System.IO.Path.GetFileName(frame.GetFileName()));
                    }
                    return(frame.GetFileName());

                case InstanceTraceListenerHeaders.LineNumber:
                    int line = frame.GetFileLineNumber() - 1;
                    return(line.ToString());

                case InstanceTraceListenerHeaders.NameSpace:
                    return(frame.GetMethod().DeclaringType.Namespace);

                case InstanceTraceListenerHeaders.TypeName:
                    if (_trimNamespaceFromType)
                    {
                        return(frame.GetMethod().DeclaringType.Name);
                    }
                    return(frame.GetMethod().DeclaringType.FullName);

                case InstanceTraceListenerHeaders.MethodName:
                    return("." + frame.GetMethod().Name + "()");
                }
                ;
            }
            catch (System.Exception systemException)
            {
                System.Diagnostics.Debug.WriteLine(systemException);
            }
            return(null);
        }
		/// <summary>
		/// Retrieves a specific value for the INDIVIDUAL header value. NOTE: Do not pass a flag combination here. It will break if you do!
		/// </summary>
		/// <param name="header"></param>
		/// <returns></returns>
		protected virtual string GetHeaderValue(InstanceTraceListenerHeaders header, StackFrame frame)
		{
			try
			{
				switch(header)
				{
				case InstanceTraceListenerHeaders.DateAndTime:
					return DateTime.Now.ToString();

				case InstanceTraceListenerHeaders.Filename:
					if (_trimPathFromFile)
						return System.IO.Path.GetFileName(frame.GetFileName());
					return frame.GetFileName();

				case InstanceTraceListenerHeaders.LineNumber:
					int line = frame.GetFileLineNumber() - 1;
					return line.ToString();

				case InstanceTraceListenerHeaders.NameSpace:
					return frame.GetMethod().DeclaringType.Namespace;

				case InstanceTraceListenerHeaders.TypeName:
					if (_trimNamespaceFromType)
						return frame.GetMethod().DeclaringType.Name;
					return frame.GetMethod().DeclaringType.FullName;
					
				case InstanceTraceListenerHeaders.MethodName:
					return "." + frame.GetMethod().Name + "()";
				};
			}
			catch(System.Exception systemException)
			{
				System.Diagnostics.Debug.WriteLine(systemException);
			}
			return null;
		}
 /// <summary>
 /// Retrieves the description for a value from the cached descriptions
 /// </summary>
 /// <param name="header"></param>
 /// <returns></returns>
 private string GetHeaderDescription(InstanceTraceListenerHeaders header)
 {
     return((string)_headerDescriptions[header.ToString()]);
 }
		/// <summary>
		/// Retrieves the description for a value from the cached descriptions
		/// </summary>
		/// <param name="header"></param>
		/// <returns></returns>
		private string GetHeaderDescription(InstanceTraceListenerHeaders header)
		{
			return (string)_headerDescriptions[header.ToString()];
		}