code: @Override
  	public final <T, E extends Throwable> T execute(RetryCallback<T, E> retryCallback)
  			throws E {
  		return doExecute(retryCallback, null, null);
  	}
docs: Keep executing the callback until it either succeeds or the policy dictates that we
  stop, in which case the most recent exception thrown by the callback will be
  rethrown.
  
  @see RetryOperations#execute(RetryCallback)
  @param retryCallback the {@link RetryCallback}
  @throws TerminatedRetryException if the retry has been manually terminated by a
  listener.