in pipeline/pipeline.go [117:131]
func ReleaseAll(components []Component) error {
errors := make([]error, len(components))
wg := sync.WaitGroup{}
wg.Add(len(components))
var i int
for _, a := range components {
go func(i int, a Component) {
errors[i] = a.Release()
wg.Done()
}(i, a)
i++
}
wg.Wait()
return multierror.Append(nil, errors...).ErrorOrNil()
}