def METHOD_NAME(acceptor, op_model, waiter_name):
    if acceptor.matcher.startswith('path'):
        expression = acceptor.argument
        # The JMESPath expression should have the potential to match something
        # in the response shape.
        output_shape = op_model.output_shape
        assert (
            output_shape is not None
        ), "Waiter '{}' has JMESPath expression with no output shape: {}".format(
            waiter_name,
            op_model,
        )
        # We want to check if the JMESPath expression makes sense.
        # To do this, we'll generate sample output and evaluate the
        # JMESPath expression against the output.  We'll then
        # check a few things about this returned search result.
        search_result = _search_jmespath_expression(expression, op_model)
        if search_result is None:
            raise AssertionError(
                f"JMESPath expression did not match anything for waiter "
                f"'{waiter_name}': {expression}"
            )
        if acceptor.matcher in ['pathAll', 'pathAny']:
            assert isinstance(search_result, list), (
                f"Attempted to use '{acceptor.matcher}' matcher in waiter "
                f"'{waiter_name}' with non list result in JMESPath expression: "
                f"{expression}"
            )