code: def _set_subject_alt(self, name, values):
          
  
          if self._subject_alt_name is not None:
              filtered_general_names = []
              for general_name in self._subject_alt_name:
                  if general_name.name != name:
                      filtered_general_names.append(general_name)
              self._subject_alt_name = x509.GeneralNames(filtered_general_names)
          else:
              self._subject_alt_name = x509.GeneralNames()
  
          if values is not None:
              for value in values:
                  new_general_name = x509.GeneralName(name=name, value=value)
                  self._subject_alt_name.append(new_general_name)
  
          if len(self._subject_alt_name) == 0:
              self._subject_alt_name = None
docs: Replaces all existing asn1crypto.x509.GeneralName objects of the choice
          represented by the name parameter with the values
  
          :param name:
              A unicode string of the choice name of the x509.GeneralName object
  
          :param values:
              A list of unicode strings to use as the values for the new
              x509.GeneralName objects