docs: def _get_parsing_plan_for_multifile_children(self, obj_on_fs: PersistedObject, desired_type: Type[Any],
                                                   logger: Logger) -> Dict[str, Any]:
          """
          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:
          """
  
          if is_collection(desired_type, strict=True):
              # if the destination type is 'strictly a collection' (not a subclass of a collection) we know that we can't
              # handle it here, the constructor is not pep484-typed
              raise TypeError('Desired object type \'' + get_pretty_type_str(desired_type) + '\' is a collection, '
                              'so it cannot be parsed with this default object parser')
  
          else:
              # First get the file children
              children_on_fs = obj_on_fs.get_multifile_children()
  
              # Try the type itself
              # try:
              return self.__get_parsing_plan_for_multifile_children(obj_on_fs, desired_type, children_on_fs,
                                                                    logger=logger)