func (m *StorageManager) ForEachRmManagedImage(ctx context.Context, projectName string, managedImages []string, f func(ctx context.Context, managedImage string, err error) error) error {
    return parallel.DoTasks(ctx, len(managedImages), parallel.DoTasksOptions{
        MaxNumberOfWorkers: m.MaxNumberOfWorkers(),
    }, func(ctx context.Context, taskId int) error {
        managedImage := managedImages[taskId]