return new Duration(fraction.multiplyBy(
Fraction.getFraction(DAY_MILLISECONDS, 1)).intValue());
} catch (ArithmeticException e) {
// if fraction overflows use floating point arithmetic
return new Duration(
(int) (fraction.doubleValue() * DAY_MILLISECONDS));
}
}
@SuppressWarnings("unchecked")
private Fraction fractionOfWorkingDayFor(EffortDuration effortDuration) {