public override Date valueDate(Date fixingDate)
{
if (!isValidFixingDate(fixingDate))
throw new ApplicationException("Fixing date " + fixingDate + " is not valid");
// http://www.bba.org.uk/bba/jsp/polopoly.jsp?d=225&a=1412 :
// For all currencies other than EUR and GBP the period between
// Fixing Date and Value Date will be two London business days
// after the Fixing Date, or if that day is not both a London
// business day and a business day in the principal financial centre
// of the currency concerned, the next following day which is a
// business day in both centres shall be the Value Date.
Date d = fixingCalendar().advance(fixingDate, fixingDays_, TimeUnit.Days);
return jointCalendar_.adjust(d);
}