FIXED - iterateParallel failure could lead to a race condition where completionHandler was called multiple times