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