code: func (runner *runner) CreateSet(set *IPSet, ignoreExistErr bool) error {
  	// sets some IPSet fields if not present to their default values.
  	set.setIPSetDefaults()
  
  	// Validate ipset before creating
  	valid := set.Validate()
  	if !valid {
  		return fmt.Errorf("error creating ipset since it's invalid")
  	}
  	return runner.createSet(set, ignoreExistErr)
  }
docs: // CreateSet creates a new set, it will ignore error when the set already exists if ignoreExistErr=true.