public static ExpressionClip operator!(ExpressionClip left)
        {
            ExpressionClip expr = ExpressionFactory.AppendExpression(new ExpressionClip(), QueryOperator.BitwiseNOT,
                                                                     left);

            return(expr);
        }
        public static ExpressionClip operator /(object left, ExpressionClip right)
        {
            ExpressionClip expr = ExpressionFactory.CreateParameterExpression(right.dbType, left);

            ExpressionFactory.AppendExpression(expr, QueryOperator.Divide, right);
            return(expr);
        }
        public static ExpressionClip operator /(ExpressionClip left, ExpressionClip right)
        {
            ExpressionClip expr = ExpressionFactory.CreateCloneExpression(left);

            ExpressionFactory.AppendExpression(expr, QueryOperator.Divide, right);
            return(expr);
        }
        public static ExpressionClip operator %(object left, ExpressionClip right)
        {
            ExpressionClip expr = ExpressionFactory.CreateParameterExpression(right.dbType, left);

            ExpressionFactory.AppendExpression(expr, QueryOperator.Modulo, right);
            expr.dbType = DbType.Int32;
            return(expr);
        }
        public static ExpressionClip operator %(ExpressionClip left, ExpressionClip right)
        {
            ExpressionClip expr = ExpressionFactory.CreateCloneExpression(left);

            ExpressionFactory.AppendExpression(expr, QueryOperator.Modulo, right);
            expr.dbType = DbType.Int32;
            return(expr);
        }
        public static ExpressionClip operator /(ExpressionClip left, object right)
        {
            ExpressionClip expr = ExpressionFactory.CreateCloneExpression(left);

            ExpressionFactory.AppendExpression(expr, QueryOperator.Divide,
                                               ExpressionFactory.CreateParameterExpression(left.dbType, right));
            return(expr);
        }
        public ExpressionClip BitwiseAnd(ExpressionClip right)
        {
            ExpressionClip expr = ExpressionFactory.CreateCloneExpression(this);

            ExpressionFactory.AppendExpression(expr, QueryOperator.BitwiseAND,
                                               right);

            return(expr);
        }
        public ExpressionClip BitwiseAnd(object right)
        {
            Check.Require(right != null, "right could not be null!");

            ExpressionClip expr = ExpressionFactory.CreateCloneExpression(this);

            ExpressionFactory.AppendExpression(expr, QueryOperator.BitwiseAND,
                                               ExpressionFactory.CreateParameterExpression(this.dbType, right));

            return(expr);
        }