/// <summary>
 /// OnMethodBegin callback
 /// </summary>
 /// <typeparam name="TTarget">Type of the target</typeparam>
 /// <param name="instance">Instance value, aka `this` of the instrumented method.</param>
 /// <returns>Calltarget state value</returns>
 public static CallTargetState OnMethodBegin <TTarget>(TTarget instance)
 {
     return(new CallTargetState(ScopeDBFactory <TTarget> .CreateDbCommandScope(Tracer.Instance, (IDbCommand)instance)));
 }
 /// <summary>
 /// OnMethodBegin callback
 /// </summary>
 /// <typeparam name="TTarget">Type of the target</typeparam>
 /// <typeparam name="TBehavior">Command Behavior type</typeparam>
 /// <param name="instance">Instance value, aka `this` of the instrumented method.</param>
 /// <param name="commandBehavior">Command behavior</param>
 /// <param name="cancellationToken">CancellationToken value</param>
 /// <returns>Calltarget state value</returns>
 public static CallTargetState OnMethodBegin <TTarget, TBehavior>(TTarget instance, TBehavior commandBehavior, CancellationToken cancellationToken)
 {
     return(new CallTargetState(ScopeDBFactory <TTarget> .CreateDbCommandScope(Tracer.Instance, (IDbCommand)instance)));
 }