public Outcome Log(Group group, Status status, Vector vector, string message, params object[] args)
 {
     Outcome outcome = new Outcome(group, status, vector, string.Format(message, args), this.nesting);
     
     Add(outcome);
     return outcome;
 }
 public Outcome Start(Group group, Vector vector = null)
 {
     Outcome outcome = new Outcome(group, Status.Start, vector, null, this.nesting);
     Add(outcome);
     nesting++;
     return outcome;
 }
 public Outcome End(Group group)
 {
     nesting--;
     Outcome outcome = new Outcome(group, Status.End, null, null, this.nesting);
     Add(outcome);
     
     return outcome;
 }
        public void Add(Outcome outcome)
        {

            Report.Add(outcome);
        }
 public ValidationException(Outcome outcome) 
 {
     this.Outcome = outcome;
 }