/// <summary>
 /// Adiciona a condição inicial. Essa operação limpa todas a outras condições já existentes.
 /// </summary>
 /// <param name="conditional"></param>
 /// <returns></returns>
 public virtual ConditionalContainer Start(ConditionalTerm conditional)
 {
     conditional.Require("conditional").NotNull();
     _conditionals.Clear();
     _logicalOperators.Clear();
     _conditionals.Add(conditional);
     return(this);
 }
 /// <summary>
 /// Adiciona uma condição do tipo OR.
 /// </summary>
 /// <param name="conditional"></param>
 /// <returns></returns>
 public virtual ConditionalContainer Or(ConditionalTerm conditional)
 {
     conditional.Require("conditional").NotNull();
     _conditionals.Add(conditional);
     if (_conditionals.Count > 1)
     {
         _logicalOperators.Add(LogicalOperator.Or);
     }
     return(this);
 }