def with_strategy(strategy, criterion, operator)
      selection(criterion) do |selector, field, value|
        selector.store(
          field,
          selector[field].send(strategy, prepare(field, operator, value))
        )
      end
    end
def with_strategy(strategy, criterion, operator)
      selection(criterion) do |selector, field, value|
        selector.store(
          field,
          selector[field].send(strategy, prepare(field, operator, value))
        )
      end
    end
Add criterion to the selection with the named strategy.

 @api private

 @example Add criterion with a strategy.
   mergeable.with_strategy(:__union__, [ 1, 2, 3 ], "$in")

 @param [ Symbol ] strategy The name of the strategy method.
 @param [ Object ] criterion The criterion to add.
 @param [ String ] operator The MongoDB operator.

 @return [ Mergeable ] The cloned query.

 @since 1.0.0