// ExtractSource look for and return a copy of Source and
// deletes the key from the mapping.
ExtractSource look for and return a copy of Source and
deletes the key from the mapping.
// ExtractSource look for and return a copy of Source and // deletes the key from the mapping .
func (s Sources) ExtractSource(k string) *Source {
	source, exist := s[k]
	if exist {
		defer delete(s, k)
		return source.DeepCopy()
	}
	return &Source{}
}
func ( s Sources ) ExtractSource ( k string ) * Source { source , exist := s [ k ] if exist { defer delete ( s , k ) return source . DeepCopy ( ) } return & Source { } }
ExtractSource look for and return a copy of Source and
deletes the key from the mapping.
ExtractSource look for and return a copy of Source and deletes the key from the mapping .