docs: def _syndic_return(self, load):
          '''
          Receive a syndic minion return and format it to look like returns from
          individual minions.
  
          :param dict load: The minion payload
          '''
          loads = load.get('load')
          if not isinstance(loads, list):
              loads = [load]  # support old syndics not aggregating returns
          for load in loads:
              # Verify the load
              if any(key not in load for key in ('return', 'jid', 'id')):
                  continue
              # if we have a load, save it
              if load.get('load'):
                  fstr = '{0}.save_load'.format(self.opts['master_job_cache'])
                  self.mminion.returners[fstr](load['jid'], load['load'])
  
              # Register the syndic
              syndic_cache_path = os.path.join(self.opts['cachedir'], 'syndics', load['id'])
              if not os.path.exists(syndic_cache_path):
                  path_name = os.path.split(syndic_cache_path)[0]
                  if not os.path.exists(path_name):
                      os.makedirs(path_name)
                  with salt.utils.files.fopen(syndic_cache_path, 'w') as wfh:
                      wfh.write('')
  
              # Format individual return loads
              for key, item in six.iteritems(load['return']):
                  ret = {'jid': load['jid'],
                         'id': key}
                  ret.update(item)
                  if 'master_id' in load:
                      ret['master_id'] = load['master_id']
                  if 'fun' in load:
                      ret['fun'] = load['fun']
                  if 'arg' in load:
                      ret['fun_args'] = load['arg']
                  if 'out' in load:
                      ret['out'] = load['out']
                  if 'sig' in load:
                      ret['sig'] = load['sig']
                  self._return(ret)