class JobPercentagePerHourRelocationRateController extends AbstractRatePerIntervalRateController {

    public static JobPercentagePerHourRelocationRateController newJobPercentagePerHourRelocationRateController(Job<?> job,
                                                                                                               EffectiveJobDisruptionBudgetResolver budgetResolver,
                                                                                                               TitusRuntime titusRuntime) {
        Pair<Long, Integer> pair = getIntervalLimitPair(job, budgetResolver);
        return new JobPercentagePerHourRelocationRateController(job, pair.getLeft(), pair.getRight(), budgetResolver, titusRuntime);
    }

    private  JobPercentagePerHourRelocationRateController(Job<?> job,
                                                         long intervalMs,
                                                         long evictionsPerInterval,
                                                         EffectiveJobDisruptionBudgetResolver budgetResolver,
                                                         TitusRuntime titusRuntime);
    private  JobPercentagePerHourRelocationRateController(Job<?> newJob,
                                                         long intervalMs,
                                                         long evictionsPerInterval,
                                                         JobPercentagePerHourRelocationRateController previous);

}