I am puzzled by the EndDate calculation within line #275 of the
SwapRateHelper class (cpp).
I thought that the convention for building swaps is to pass in an unadjusted
Enddate and
the Schedule classes would take care of moving to the correct end dates for
each period when needed (given a calendar object).
The computation of the enddate within this class suggests (if the
floatingConvention does not equal 'UnAdjusted') that we could construct a
5Y, 2D swap object and all the swap cashflows will be referenced from the
adjusted enddate instead of the unadjusted enddate.