// AppendOutputChange records the given output value change in the set of
// planned value changes.
//
// The caller must ensure that there are no concurrent writes to the given
// change while this method is running, but it is safe to resume mutating
// it after this method returns without affecting the saved change.
AppendOutputChange records the given output value change in the set of
planned value changes.

The caller must ensure that there are no concurrent writes to the given
change while this method is running, but it is safe to resume mutating
it after this method returns without affecting the saved change.
// AppendOutputChange records the given output value change in the set of // planned value changes . // // The caller must ensure that there are no concurrent writes to the given // change while this method is running but it is safe to resume mutating // it after this method returns without affecting the saved change .
func (cs *ChangesSync) AppendOutputChange(changeSrc *OutputChangeSrc) {
	if cs == nil {
		panic("AppendOutputChange on nil ChangesSync")
	}
	cs.lock.Lock()
	defer cs.lock.Unlock()
	s := changeSrc.DeepCopy()
	cs.changes.Outputs = append(cs.changes.Outputs, s)
}
func ( cs * ChangesSync ) AppendOutputChange ( changeSrc * OutputChangeSrc ) { if cs == nil { panic ( " " ) } cs . lock . Lock ( ) defer cs . lock . Unlock ( ) s := changeSrc . DeepCopy ( ) cs . changes . Outputs = append ( cs . changes . Outputs , s ) }
AppendOutputChange records the given output value change in the set of
planned value changes.
AppendOutputChange records the given output value change in the set of planned value changes .