          output. """
          plugin_types = set(self._get_plugin_type_and_index(phase)[0]
                             for phase in self._current_phase)
          retval = ", ".join(plugin_type.title() for plugin_type in list(plugin_types))
          logger.trace(retval)
          return retval
  
      @property
      def final_pass(self):
          """ bool, Return ``True`` if this is the final extractor pass otherwise ``False``
 
</s> remove     def phase_text(self):
 </s> add     def phase_text(self) -> str: </s> remove     def final_pass(self):
 </s> add     def final_pass(self) -> bool: </s> remove     def _final_phase(self):
 </s> add     def _final_phase(self) -> str: </s> remove         logger.trace(retval)
 </s> add         logger.trace(retval)  # type: ignore </s> remove         logger.trace(retval)
 </s> add         logger.trace(retval)  # type: ignore
        logger.trace(retval)  # type: ignore
          output. """
          plugin_types = set(self._get_plugin_type_and_index(phase)[0]
                             for phase in self._current_phase)
          retval = ", ".join(plugin_type.title() for plugin_type in list(plugin_types))
        logger.trace(retval)  # type: ignore
          return retval
  
      @property
      def final_pass(self):
          """ bool, Return ``True`` if this is the final extractor pass otherwise ``False``
keep keep keep keep replace keep keep keep keep keep
 extract: Add batch processing mode 
plugins/extract/pipeline.py