class ExponentialBackoff {

    public ExponentialBackoff(long initialInterval, int multiplier, long maxInterval, double jitter) {
        this.initialInterval = initialInterval;
        this.multiplier = multiplier;
        this.jitter = jitter;
        this.expMax = maxInterval > initialInterval ?
                Math.log(maxInterval / (double) Math.max(initialInterval, 1)) / Math.log(multiplier) : 0;
    }

    public  ExponentialBackoff(long initialInterval, int multiplier, long maxInterval, double jitter);

}