@Override public boolean allowRetry(int retryCount, long elapsedTimeNanos, RetrySleeper sleeper) { if (retryCount >= 0 && retryCount < maxRetries && elapsedTimeNanos < maxElapsedTimeNanos) { try { sleeper.sleepFor(getSleepTime(retryCount), TimeUnit.NANOSECONDS); } catch (InterruptedException e) { Thread.currentThread().interrupt(); return false; } return true; } return false; }