<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _try_prop_method(self, instance, value, method_name):
 """Helper method to perform a method on each of the union props This method gathers all errors and returns them at the end if the method on each of the props fails. """

        error_messages = []
        for prop in self.props:
            try:
                return getattr(prop, method_name)(instance, value)
            except GENERIC_ERRORS as err:
                if hasattr(err, 'error_tuples'):
                    error_messages += [
                        err_tup.message for err_tup in err.error_tuples
                    ]
        if error_messages:
            extra = 'Possible explanation:'
            for message in error_messages:
                extra += '\n    - {}'.format(message)
        else:
            extra = ''
        self.error(instance, value, extra=extra)