code: def _create_parsing_plan(self, desired_type: Type[T], filesystem_object: PersistedObject, logger: Logger,
                               log_only_last: bool = False) -> ParsingPlan[T]:
          
          # build the parsing plan
          logger.debug('(B) ' + get_parsing_plan_log_str(filesystem_object, desired_type,
                                                         log_only_last=log_only_last, parser=self))
          return CascadingParser.CascadingParsingPlan(desired_type, filesystem_object, self, self._parsers_list,
                                                      logger=logger)
docs: Creates a parsing plan to parse the given filesystem object into the given desired_type.
          This overrides the method in AnyParser, in order to provide a 'cascading' parsing plan
  
          :param desired_type:
          :param filesystem_object:
          :param logger:
          :param log_only_last: a flag to only log the last part of the file path (default False)
          :return: