If the same restrictions are applied for many destinations, we use the same job to avoid processing
        files twice

def do_init(self, fs_settings, global_quota):
        fs_settings = deepcopy(fs_settings)  # because we store some of the info, we need a deep copy
        '''
        If the same restrictions are applied for many destinations, we use the same job to avoid processing
        files twice
        '''
        for sender_spec in fs_settings.sender_specs:
            restrictions = sender_spec.restrictions
            if restrictions in self.restriction_to_job:
                self.restriction_to_job[restrictions].add_destinations(sender_spec.destinations)
            else:
                compressor = _CompressorJob(
                    next_task=self.get_next_task(),
                    sender_spec=sender_spec,
                    tmp_file_parts_basepath=fs_settings.tmp_file_parts_basepath,
                    should_split_small_files=fs_settings.should_split_small_files,
                    global_quota=global_quota)
                self.restriction_to_job[restrictions] = compressor
                compressor.register(self)