public override void Reset()
 {
     if (WorkflowIfTrue != null)
     {
         WorkflowIfTrue.Reset();
     }
     if (WorkflowIfFalse != null)
     {
         WorkflowIfFalse.Reset();
     }
 }
 public override void Run(T obj)
 {
     if (EvaluatedConditionOnResolve == true)
     {
         if (WorkflowIfTrue != null)
         {
             WorkflowIfTrue.Start(obj);
         }
     }
     else if (EvaluatedConditionOnResolve == false)
     {
         if (WorkflowIfFalse != null)
         {
             WorkflowIfFalse.Start(obj);
         }
     }
     else
     {
         throw new Exception("If part is not resolved");
     }
 }