code: def add_batch(self, targets, sources):
          
          self.batches.append(Batch(targets, sources))
docs: Add pair of associated target and source to this Executor's list.
          This is necessary for "batch" Builders that can be called repeatedly
          to build up a list of matching target and source files that will be
          used in order to update multiple target files at once from multiple
          corresponding source files, for tools like MSVC that support it.