public synchronized long exponentialWait(){
  long maxDelayRet=minDelay + ((maxDelay - minDelay) / maxFailureCount) * currentFailureCount;
  return (long)(random.nextFloat() * maxDelayRet);
}

public synchronized long exponentialWait ( ) { long maxDelayRet = minDelay + ( ( maxDelay - minDelay ) / maxFailureCount ) * currentFailureCount ; return ( long ) ( random . nextFloat ( ) * maxDelayRet ) ; }
calculating wait duration after failure attempt
