code: func (ocs *OutputChangeSrc) DeepCopy() *OutputChangeSrc {
  	if ocs == nil {
  		return nil
  	}
  	ret := *ocs
  
  	ret.ChangeSrc.Before = ret.ChangeSrc.Before.Copy()
  	ret.ChangeSrc.After = ret.ChangeSrc.After.Copy()
  
  	return &ret
  }
docs: // DeepCopy creates a copy of the receiver where any pointers to nested mutable
  // values are also copied, thus ensuring that future mutations of the receiver
  // will not affect the copy.
  //
  // Some types used within a resource change are immutable by convention even
  // though the Go language allows them to be mutated, such as the types from
  // the addrs package. These are _not_ copied by this method, under the
  // assumption that callers will behave themselves.