public function add_nested_where( Closure $callback, $boolean = 'and' ) {

		$_where      = $this->where;
		$this->where = Where::for_clause();

		$callback( $this );

		$clause      = $this->where;
		$this->where = $_where;

		if ( $clause->is_empty() ) {
			return;
		}

		$boolean = $boolean ?: 'and';
		$boolean = 'q' . ucfirst( $boolean );
		$this->where->{$boolean}( $clause );
	}