Can you make outstandingFutures a HashSet to avoid O(n) lookup?