@SuppressWarnings("unchecked")
    public QueryBuilder withinBox(final double x, final double y, final double x2, final double y2) {
        addOperand(QueryOperators.WITHIN,
                   new BasicDBObject(QueryOperators.BOX, new Object[]{new Double[]{x, y}, new Double[]{x2, y2}}));
        return this;
    }
@SuppressWarnings("unchecked")
    public QueryBuilder withinBox(final double x, final double y, final double x2, final double y2) {
        addOperand(QueryOperators.WITHIN,
                   new BasicDBObject(QueryOperators.BOX, new Object[]{new Double[]{x, y}, new Double[]{x2, y2}}));
        return this;
    }
@ SuppressWarnings ( "unchecked" ) public QueryBuilder withinBox ( final double x , final double y , final double x2 , final double y2 ) { addOperand ( QueryOperators . WITHIN , new BasicDBObject ( QueryOperators . BOX , new Object [ ] { new Double [ ] { x , y } , new Double [ ] { x2 , y2 } } ) ) ; return this ; }
Equivalent to a $within operand, based on a bounding box using represented by two corners

@param x  the x coordinate of the first box corner.
@param y  the y coordinate of the first box corner.
@param x2 the x coordinate of the second box corner.
@param y2 the y coordinate of the second box corner.
@return {@code this}
Equivalent to a $within operand based on a bounding box using represented by two corners