The existing logic to create a FRA from a convention performs business day adjustment incorrectly. This could result in payment on a holiday.
At trade creation, the start and end dates should be determined and adjusted. The payment date offset should be applied to the adjusted start date. The FRA product should then be created using the adjusted start date, the adjusted end date and the adjusted payment date.
During resolving/pricing, the start and end dates should not be further adjusted. The payment date should retain the ability to be re-adjusted in case an additional holiday has been added.