check if forward + displacement is positive instead of the forward alone
Merge branch 'fix20131015'
underlyingLastDate should not return a reference, because a local variable may be returned in implementations
replace max for date by explicit comparision