protected void attempt(WMSRequest request) { // try to fetch the image int maxTries = 5; // n tries for every image for (int i = 1; i <= maxTries; i++) { if (canceled) return; try { if (!layer.requestIsValid(request)) return; fetch(request, i); break; // break out of the retry loop } catch (Exception e) { try { // sleep some time and then ask the server again Thread.sleep(random(1000, 2000)); } catch (InterruptedException e1) { } if (i == maxTries) { e.printStackTrace(); request.finish(State.FAILED, null); } } } }