final List<Date> fixingDates = new ArrayList<Date>();
final Date d = today.clone();
final Period THREEMONTH = new Period(3, TimeUnit.Months);
d.addAssign(new Period(3, TimeUnit.Months));
for (d.addAssign(THREEMONTH); d.le(maturity.lastDate()); d.addAssign(THREEMONTH)) {
fixingDates.add(d.clone());
}
final PricingEngine engine = new AnalyticDiscreteGeometricAveragePriceAsianEngine(process);