public DefaultProgressTracker(ProgressCallback<T> callback) { this.callback = callback; this.pulsePct = callback.getProgressPulsePct(); if(pulsePct > 100) { throw new IllegalArgumentException("The argument was not expected to be bigger than 100 but was " + pulsePct); } setMinPulseMs(callback.getMinPulseIntervalMs()); setMaxPulseMs(callback.getMaxPulseIntervalMs()); }