def __init__(self, supported_exts: Set[str], supported_types: Set[Type], can_chain: bool = True,<EOL>is_able_to_parse_func: Callable[[bool, Type[Any]], bool] = None):
<EOL>if supported_exts is not None and MULTIFILE_EXT in supported_exts:<EOL><INDENT>raise ValueError('<STR_LIT>'<EOL>'<STR_LIT>')<EOL><DEDENT>super(SingleFileParser, self).__init__(supported_types=supported_types, supported_exts=supported_exts,<EOL>can_chain=can_chain, is_able_to_parse_func=is_able_to_parse_func)<EOL>
Constructor, with
* a mandatory set of supported extensions
* an optional set of supported object types (otherwise the parser supports any object type)

:param supported_exts: mandatory list of supported singlefile extensions ('.txt', '.json' ...)
:param supported_types: mandatory list of supported object types that may be parsed
:param can_chain: a boolean (default True) indicating if converters can be appended at the end of this
parser to create a chain. Dont change this except if it really can never make sense.
:param is_able_to_parse_func: an optional custom function to allow parsers to reject some types. This function
signature should be my_func(strict_mode, desired_type) -> bool