class SyntheticRatesCurveCalibrator {

  public ImmutableRatesProvider calibrate(
      RatesCurveGroupDefinition group,
      RatesProvider inputProvider,
      ReferenceData refData) {

    // Computes the synthetic market quotes
    MarketData marketQuotesSy = marketData(group, inputProvider, refData);
    // Calibrate to the synthetic instrument with the synthetic quotes
    return calibrator.calibrate(group, marketQuotesSy, refData);
  }

  private  SyntheticRatesCurveCalibrator(RatesCurveCalibrator calibrator, CalibrationMeasures marketQuotesMeasures);

}