code: func (db *Database) AddSelector(selector string, data []byte) error {
  	// If the selector is already known, skip duplicating it
  	if len(data) < 4 {
  		return nil
  	}
  	if _, err := db.Selector(data[:4]); err == nil {
  		return nil
  	}
  	// Inject the custom selector into the database and persist if needed
  	db.custom[hex.EncodeToString(data[:4])] = selector
  	if db.customPath == "" {
  		return nil
  	}
  	blob, err := json.Marshal(db.custom)
  	if err != nil {
  		return err
  	}
  	return ioutil.WriteFile(db.customPath, blob, 0600)
  }
docs: // AddSelector inserts a new 4byte entry into the database. If custom database
  // saving is enabled, the new dataset is also persisted to disk.
  //
  // Node, this method does _not_ validate the correctness of the data. It assumes
  // the caller has already done so.