</BUG>
long monthMillis = 86400000 * calStart.getMinimum(Calendar.DAY_OF_MONTH);
units = deltaMillis / monthMillis;
this.months = advanceCalendar(calStart, calEnd, (int) units, Calendar.MONTH);
<BUG>deltaMillis = targetMillis - calStart.getTimeInMillis();
</BUG>
units = deltaMillis / 86400000;
this.days = advanceCalendar(calStart, calEnd, (int) units, Calendar.DAY_OF_MONTH);
<BUG>deltaMillis = targetMillis - calStart.getTimeInMillis();
</BUG>
units = deltaMillis / 3600000;

return;
}
long yearMillis = 86400000 * calStart.getMinimum(Calendar.DAY_OF_YEAR);
float units = deltaMillis / yearMillis;
this.years = advanceCalendar(calStart, calEnd, (int) units, Calendar.YEAR);
deltaMillis = computeDeltaMillis(calStart.getTimeInMillis(), targetMillis);
long monthMillis = 86400000 * calStart.getMinimum(Calendar.DAY_OF_MONTH);
units = deltaMillis / monthMillis;
this.months = advanceCalendar(calStart, calEnd, (int) units, Calendar.MONTH);
deltaMillis = computeDeltaMillis(calStart.getTimeInMillis(), targetMillis);
units = deltaMillis / 86400000;
this.days = advanceCalendar(calStart, calEnd, (int) units, Calendar.DAY_OF_MONTH);
deltaMillis = computeDeltaMillis(calStart.getTimeInMillis(), targetMillis);
units = deltaMillis / 3600000;
