def _process_output_chunk(self, start_count, next_idx, sources, i_str,<EOL>t_path):
if not self.t_chunk:<EOL><INDENT>return []<EOL><DEDENT>self.t_chunk.close()<EOL>o_paths = None<EOL>if len(self.t_chunk) > <NUM_LIT:0>:<EOL><INDENT>logger.info('<STR_LIT>',<EOL>len(self.t_chunk))<EOL>self._run_batch_transforms(t_path)<EOL>self._maybe_run_post_batch_incremental_transforms(t_path)<EOL>if (self.t_chunk) and (len(self.t_chunk) >= <NUM_LIT:0>):<EOL><INDENT>o_paths = self._run_writers(start_count, next_idx, sources,<EOL>i_str, t_path)<EOL><DEDENT><DEDENT>self.t_chunk = None<EOL>if self.work_unit and o_paths:<EOL><INDENT>old_o_paths = self.work_unit.data.get('<STR_LIT>', [])<EOL>o_paths = old_o_paths + o_paths<EOL>self.work_unit.data['<STR_LIT>'] = next_idx<EOL>self.work_unit.data['<STR_LIT>'] = o_paths<EOL>self.work_unit.update()<EOL><DEDENT>
for the current output chunk (which should be open):
  1. run batch transforms
  2. run post-batch incremental transforms
  3. run 'writers' to load-out the data to files or other storage
return list of paths that writers wrote to