Get the handler function for a given operation.

        To remain Pythonic, both the original and the snake_cased version of the operation ID are
        supported.

        This could be overridden in a subclass.

        :param operation_id: Operation ID.
        :return: Handler function
        :rtype: function

def get_handler(self, operation_id):
        """
        Get the handler function for a given operation.

        To remain Pythonic, both the original and the snake_cased version of the operation ID are
        supported.

        This could be overridden in a subclass.

        :param operation_id: Operation ID.
        :return: Handler function
        :rtype: function
        """
        handler = (
            self.handlers.get(operation_id)
            or self.handlers.get(snake_case(operation_id))
        )
        if handler:
            return handler
        raise MissingHandler(
            'Missing handler for operation %s (tried %s too)' % (operation_id, snake_case(operation_id))
        )