def _get_parsing_plan_for_multifile_children(self, obj_on_fs: PersistedObject, desired_type: Type[Any],<EOL>logger: Logger) -> Dict[str, Any]:
if is_collection(desired_type, strict=True):<EOL><INDENT>raise TypeError('<STR_LIT>' + get_pretty_type_str(desired_type) + '<STR_LIT>'<EOL>'<STR_LIT>')<EOL><DEDENT>else:<EOL><INDENT>children_on_fs = obj_on_fs.get_multifile_children()<EOL>return self.__get_parsing_plan_for_multifile_children(obj_on_fs, desired_type, children_on_fs,<EOL>logger=logger)<EOL><DEDENT>
Simply inspects the required type to find the names and types of its constructor arguments.
Then relies on the inner ParserFinder to parse each of them.

:param obj_on_fs:
:param desired_type:
:param logger:
:return: