@staticmethod<EOL><INDENT>def create(att_name: str, parsed_att: S, attribute_type: Type[T], caught_exec: Dict[Converter[S, T], Exception]):<DEDENT>
base_msg = "<STR_LIT>""<STR_LIT>""<STR_LIT>".format(a=str(att_name), t=get_pretty_type_str(attribute_type), v=parsed_att,<EOL>tv=get_pretty_type_str(type(parsed_att)))<EOL>msg = StringIO()<EOL>if len(list(caught_exec.keys())) > <NUM_LIT:0>:<EOL><INDENT>msg.writelines('<STR_LIT>')<EOL>msg.writelines('<STR_LIT>'.join([str(converter) for converter in caught_exec.keys()]))<EOL>msg.writelines('<STR_LIT>')<EOL>for converter, err in caught_exec.items():<EOL><INDENT>msg.writelines('<STR_LIT>' + str(converter) + '<STR_LIT>')<EOL>print_error_to_io_stream(err, msg)<EOL>msg.write('<STR_LIT:\n>')<EOL><DEDENT><DEDENT>return AttrConversionException(base_msg + msg.getvalue())<EOL>
Helper method provided because we actually can't put that in the constructor, it creates a bug in Nose tests
https://github.com/nose-devs/nose/issues/725

:param att_name:
:param parsed_att:
:param attribute_type:
:param caught_exec:
:return: