@Override public void urlWithError(String url, Exception e) { if (failedError(e)) { synchronized (failedUrls) { failedUrls.add(new UrlTimeEntry(url, System.currentTimeMillis())); if (failedUrls.size() == urls.length) { current = failedUrls.remove().url; } else if (current.equals(url)) { for (String s : urls) { if (!failedUrls.contains(new UrlTimeEntry(s, System.currentTimeMillis()))) { current = s; break; } } } } } }