code: private boolean pauseIfRetryNeeded(int retries) {
          if (retries >= connection.getMaxErrorRetry()) {
              return false;
          }
          long delay = (long) (Math.random() * Math.pow(4, retries) * 125);
          try {
              Thread.sleep(delay);
          } catch (Exception e) {
              throw MwsUtl.wrap(e);
          }
          return true;
      }
docs: Random exponential back-off sleep on failed request.
  
  If retry needed sleeps and then return true.
  
  Sleep is random so that retry requests do not form spikes.
  
  @param retries
  current retry, 0 for first retry
  
  @return true if should retry.