This method is called in two places; when the batch size is exceeded and at the end if there is anything left in the last batch.  In both cases the logic is the exact same.  If I pull anything out then the caller will be forced to duplicate the moved logic.