MyInfo[] (MyInfo[] infos) { final MyFetchResult[] fetchResults = new MyFetchResult[infos.length]; for (int i = 0; i < fetchResults.length; i++) { fetchResults[i] = checkUrl(infos[i].myUrl); } boolean containsAvailableHosts = false; for (MyFetchResult fetchResult : fetchResults) { if (fetchResult != MyFetchResult.UNKNOWN_HOST) { containsAvailableHosts = true; break; } } for (int i = 0; i < fetchResults.length; i++) { final MyFetchResult result = fetchResults[i]; // if all hosts are not available, internet connection may be disabled, so it's better to not report warnings for unknown hosts if (result == MyFetchResult.OK || (!containsAvailableHosts && result == MyFetchResult.UNKNOWN_HOST)) { infos[i].myResult = true; } } return infos; }