private void buildYieldCurves(HashMap<String, Pair<YieldCurveKey, ManageableYieldCurveSnapshot>> yieldCurveBuilder,
Map<String, String> currentRow) {
String name = currentRow.get(SnapshotColumns.NAME.get());
if (!yieldCurveBuilder.containsKey(name)) {
ManageableYieldCurveSnapshot curve = new ManageableYieldCurveSnapshot();
ManageableUnstructuredMarketDataSnapshot snapshot = new ManageableUnstructuredMarketDataSnapshot();
YieldCurveKey key = new YieldCurveKey(Currency.of(currentRow.get(SnapshotColumns.YIELD_CURVE_CURRENCY.get())),
currentRow.get(SnapshotColumns.NAME.get()));
curve.setValuationTime(Instant.parse(currentRow.get(SnapshotColumns.INSTANT.get())));
snapshot.putValue(createExternalIdBundle(currentRow),
currentRow.get(SnapshotColumns.VALUE_NAME.get()),
createValueSnapshot(currentRow));
curve.setValues(snapshot);
yieldCurveBuilder.put(name, Pair.of(key, curve));
} else {
yieldCurveBuilder.get(name).getSecond().getValues().putValue(createExternalIdBundle(currentRow),
currentRow.get(SnapshotColumns.VALUE_NAME.get()),
createValueSnapshot(currentRow));