docs: def render_highstate(self, matches):
          '''
          Gather the state files and render them into a single unified salt
          high data structure.
          '''
          highstate = self.building_highstate
          all_errors = []
          mods = set()
          statefiles = []
          for saltenv, states in six.iteritems(matches):
              for sls_match in states:
                  if saltenv in self.avail:
                      statefiles = fnmatch.filter(self.avail[saltenv], sls_match)
                  elif '__env__' in self.avail:
                      statefiles = fnmatch.filter(self.avail['__env__'], sls_match)
                  else:
                      all_errors.append(
                          'No matching salt environment for environment '
                          '\'{0}\' found'.format(saltenv)
                      )
                  # if we did not found any sls in the fileserver listing, this
                  # may be because the sls was generated or added later, we can
                  # try to directly execute it, and if it fails, anyway it will
                  # return the former error
                  if not statefiles:
                      statefiles = [sls_match]
  
                  for sls in statefiles:
                      r_env = '{0}:{1}'.format(saltenv, sls)
                      if r_env in mods:
                          continue
                      state, errors = self.render_state(
                          sls, saltenv, mods, matches)
                      if state:
                          self.merge_included_states(highstate, state, errors)
                      for i, error in enumerate(errors[:]):
                          if 'is not available' in error:
                              # match SLS foobar in environment
                              this_sls = 'SLS {0} in saltenv'.format(
                                  sls_match)
                              if this_sls in error:
                                  errors[i] = (
                                      'No matching sls found for \'{0}\' '
                                      'in env \'{1}\''.format(sls_match, saltenv))
                      all_errors.extend(errors)
  
          self.clean_duplicate_extends(highstate)
          return highstate, all_errors