code: func ParseOptions(data []byte, options []Option) ([]Option, bool) {
  	var i int
  	index := -1
  	return options, ScanOptions(data, func(idx int, name, attr, val []byte) Control {
  		if idx != index {
  			index = idx
  			i = len(options)
  			options = append(options, Option{Name: name})
  		}
  		if attr != nil {
  			options[i].Parameters.Set(attr, val)
  		}
  		return ControlContinue
  	})
  }
docs: // ParseOptions parses all header options and appends it to given slice of
  // Option. It returns flag of successful (wellformed input) parsing.
  //
  // Note that appended options are all consist of subslices of data. That is,
  // mutation of data will mutate appended options.