Create a {@code this || right} expression

<p>Returns a union of this and the given expression</p>

@param right right hand side of the union
@return this || right
765125
public BooleanExpression or(@Nullable Predicate right) {
        right = (Predicate) ExpressionUtils.extract(right);
        if (right != null) {
            return Expressions.booleanOperation(Ops.OR, mixin, right);
        } else {
            return this;
        }
    }
86970
public BooleanBuilder or(@Nullable Predicate right) {
        if (right != null) {
            if (predicate == null) {
                predicate = right;
            } else {
                predicate = ExpressionUtils.or(predicate, right);
            }
        }
        return this;
    }
560325
public BooleanExpression notIn(Collection<? extends T> right) {
        if (right.size() == 1) {
            return ne(right.iterator().next());
        } else {
            return Expressions.booleanOperation(Ops.NOT_IN, mixin, ConstantImpl.create(right));
        }
    }
1216232
public static SMARTSAtom and(IQueryAtom left, IQueryAtom right) {
        return new Conjunction(left.getBuilder(), left, right);
    }
645841
@Override
    public BooleanExpression eq(T right) {
        if (right instanceof RelationalPath) {
            return primaryKeyOperation(Ops.EQ, primaryKey, ((RelationalPath) right).getPrimaryKey());
        } else {
            return super.eq(right);
        }
    }
907805
public final BooleanExpression notIn(CollectionExpression<?,? extends T> right) {
        return Expressions.booleanOperation(Ops.NOT_IN, mixin, right);
    }
634128
public static Object sub(Object left, Object right) {
        return InfixOpNode.sub(left, right, null);
    }
797253
@Override
    public BooleanExpression eq(Expression<? super T> right) {
        return Expressions.booleanOperation(SpatialOps.EQUALS, mixin, right);
    }
608357
public static ExprDouble toExprDouble(Expression left, Expression right, int operation) {
	return new OpDouble(left, right, operation);
    }
640681
public static ExpressionArithmeticOp add(Expression left, Expression right) {
		return new ExpressionArithmeticOp(ArithmeticOperation.ADD, left, right);
	}
665394
public GeometryExpression<Geometry> union(Expression<? extends Geometry> geometry) {
        return GeometryExpressions.geometryOperation(SpatialOps.UNION, mixin, geometry);
    }
1372533
public BooleanExpression in(SubQueryExpression<? extends T> right) {
        return Expressions.booleanOperation(Ops.IN, mixin, right);
    }
1006438
public static ExprBoolean toExprBoolean(Expression left, Expression right, int operation) {
	return new OpDecision(left, right, operation);
    }
670497
public static <L, R> Either<L, R> rightOf(R reference) {
        require(reference != null, "Expected non-null reference");
        return new Right<>(reference);
    }
1039611
public final <A extends Number & Comparable<?>> BooleanExpression goe(Expression<A> right) {
        return Expressions.booleanOperation(Ops.GOE, mixin, right);
    }
439190
private static Expression infix(String infix, String left, String right) {
        return new Expression(left + " " + infix + " " + right);
    }
1356619
public <N extends Number & Comparable<?>> NumberExpression<T> add(Expression<N> right) {
        return Expressions.numberOperation(getType(), Ops.ADD, mixin, right);
    }