@Override
	@edu.umd.cs.findbugs.annotations.SuppressWarnings(value = "ICAST_INTEGER_MULTIPLY_CAST_TO_LONG")
	public boolean retryRequest(
			final IOException exception, 
			int executionCount, 
			HttpContext context
			) {
		if (super.retryRequest(exception, executionCount, context)) {
			HttpRequest request = (HttpRequest)
					context.getAttribute(ExecutionContext.HTTP_REQUEST);
			String methodName = request.getRequestLine().getMethod();
			String path = "UNKNOWN_PATH";
			if(request instanceof HttpUriRequest) {
				HttpUriRequest uriReq = (HttpUriRequest) request;
				path = uriReq.getURI().toString();
			}
			try {
				Thread.sleep(executionCount * this.sleepTimeFactorMs);
			}
			catch (InterruptedException e) {
				logger.warn("Interrupted while sleep before retrying http method " + methodName + " " + path, e);
			}
			DynamicCounter.increment(RETRY_COUNTER + methodName + ":" + path);
			return true;
		}
		return false;
	}
Creates a new NFHttpMethodRetryHandler.
@param httpClientName - the name of the nfhttpclient
@param retryCount the number of times a method will be retried
@param requestSentRetryEnabled if true, methods that have successfully sent their request will be retried
@param sleepTimeFactorMs number of milliseconds to sleep before the next try. This factor is used along with execution count
to determine the sleep time (ie) executionCount * sleepTimeFactorMs
ribbon-httpclient/src/main/java/com/netflix/http4/NFHttpMethodRetryHandler.java