code: def _ProcessPathSpec(self, extraction_worker, parser_mediator, path_spec):
      
      self._current_display_name = parser_mediator.GetDisplayNameForPathSpec(
          path_spec)
  
      try:
        extraction_worker.ProcessPathSpec(parser_mediator, path_spec)
  
      except dfvfs_errors.CacheFullError:
        # TODO: signal engine of failure.
        self._abort = True
        logger.error((
            'ABORT: detected cache full error while processing path spec: '
            '{0:s}').format(self._current_display_name))
  
      except Exception as exception:  # pylint: disable=broad-except
        parser_mediator.ProduceExtractionWarning((
            'unable to process path specification with error: '
            '{0!s}').format(exception), path_spec=path_spec)
  
        if self._processing_configuration.debug_output:
          logger.warning((
              'Unhandled exception while processing path specification: '
              '{0:s}.').format(self._current_display_name))
          logger.exception(exception)
docs: Processes a path specification.
  
      Args:
        extraction_worker (worker.ExtractionWorker): extraction worker.
        parser_mediator (ParserMediator): parser mediator.
        path_spec (dfvfs.PathSpec): path specification.