public BuildWhere(SimpleWhere first)
 {
     if (first == null)
     {
         throw new ArgumentNullException(nameof(first));
     }
     _lst.Add(first);
     _recent = first;
 }
 public BuildWhere Or(SimpleWhere where)
 {
     if (where == null)
     {
         throw new ArgumentNullException(nameof(where));
     }
     lock (_lst)
     {
         _lst.Add(where);
         lock (_recent)
         {
             _recent.IsEnd  = false;
             _recent.NextOp = _or;
             _recent        = where;
         }
     }
     return(this);
 }