code: private void doWait( int currentTries, long optDuration_ms )
      {
          if ( optDuration_ms < 0 ) {
              optDuration_ms = ( long ) ( firstSleep_ms * ( Math.random() + 0.5 ) * ( 1L << ( currentTries - 1 ) ) );
          }
  
          LOGGER.debug( "Will retry request after {} millis", optDuration_ms );
  
          try {
              Thread.sleep( optDuration_ms );
          } catch ( InterruptedException ex ) {
              throw new CStorageException( "Retry waiting interrupted", ex );
          }
      }
docs: Sleeps before retry ; default implementation is exponential back-off, or the specified duration
  
  @param currentTries 1 after first fail, then 2, 3 ... up to nbTriesMax-1.
  @param optDuration_ms if positive, the delay to apply