ArgumentChecker.isTrue(names.length == currencies.length, "Different number of names ({}) and currencies ({})", names.length, currencies.length);
ArgumentChecker.noNulls(names, "names");
ArgumentChecker.noNulls(curves, "curves");
_curves = new LinkedHashMap<>();
_curveCurrency = new HashMap<>();
_fxMatrix = new FXMatrix();
final int n = names.length;
for (int i = 0; i < n; i++) {
_curves.put(names[i], curves[i]);
_curveCurrency.put(names[i], currencies[i]);
}