code: func (a *ActionDefinition) IterateHeaders(it HeaderIterator) error {
  	mergedHeaders := a.Parent.Headers.Merge(a.Headers)
  
  	isRequired := func(name string) bool {
  		// header required in either the Resource or Action scope?
  		return a.Parent.Headers.IsRequired(name) || a.Headers.IsRequired(name)
  	}
  
  	return iterateHeaders(mergedHeaders, isRequired, it)
  }
docs: // IterateHeaders iterates over the resource-level and action-level headers,
  // calling the given iterator passing in each response sorted in alphabetical order.
  // Iteration stops if an iterator returns an error and in this case IterateHeaders returns that
  // error.