/// <summary>
 /// Fills the inner trace log.
 /// </summary>
 /// <param name="container">The container.</param>
 /// <param name="step">The step.</param>
 private static void FillInnerTraceLog(List <ApiTraceStep> container, ApiTraceStep step)
 {
     if (step.InnerTraces != null)
     {
         foreach (var one in step.InnerTraces)
         {
             container.Add(one);
             FillInnerTraceLog(container, one);
         }
     }
 }
 /// <summary>
 /// Converts to apitracestep.
 /// </summary>
 /// <param name="context">The context.</param>
 /// <param name="parent">The parent.</param>
 /// <param name="entryStamp">The entry stamp.</param>
 /// <returns></returns>
 internal static ApiTraceStep ToApiTraceStep(this RuntimeContext context, ApiTraceStep parent, DateTime?entryStamp = null)
 {
     return(context != null ? new ApiTraceStep(parent, context.ApiMethod?.GetFullName(), entryStamp) : null);
 }
 /// <summary>
 /// Converts to apitracestep.
 /// </summary>
 /// <param name="methodInfo">The method information.</param>
 /// <param name="parent">The parent.</param>
 /// <param name="entryStamp">The entry stamp.</param>
 /// <returns></returns>
 internal static ApiTraceStep ToApiTraceStep(this MethodInfo methodInfo, ApiTraceStep parent, DateTime?entryStamp = null)
 {
     return(methodInfo != null ? new ApiTraceStep(parent, methodInfo.GetFullName(), entryStamp) : null);
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="ApiTraceStep"/> class.
 /// </summary>
 /// <param name="parent">The parent.</param>
 /// <param name="methodFullName">Full name of the method.</param>
 /// <param name="entryStamp">The entry stamp.</param>
 internal ApiTraceStep(ApiTraceStep parent, string methodFullName = null, DateTime?entryStamp = null)
     : this()
 {
     Parent         = parent;
     MethodFullName = methodFullName;
 }