Source:
private CombinedCurve( Curve baseCurve, Curve spreadCurve, CurveMetadata metadata) { JodaBeanUtils.notNull(baseCurve, "baseCurve"); JodaBeanUtils.notNull(spreadCurve, "spreadCurve"); JodaBeanUtils.notNull(metadata, "metadata"); CurveMetadata baseMetadata = baseCurve.getMetadata(); CurveMetadata spreadMetadata = spreadCurve.getMetadata(); if (!baseMetadata.getXValueType().equals(metadata.getXValueType())) { throw new IllegalArgumentException(Messages.format( "xValueTypee is in baseCurve, but in CombinedCurve", baseMetadata.getXValueType(), metadata.getXValueType())); } if (!spreadMetadata.getXValueType().equals(metadata.getXValueType())) { throw new IllegalArgumentException(Messages.format( "xValueTypee is in spreadCurve, but in CombinedCurve", spreadMetadata.getXValueType(), metadata.getXValueType())); } if (!baseMetadata.getYValueType().equals(metadata.getYValueType())) { throw new IllegalArgumentException(Messages.format( "yValueTypee is in baseCurve, but in CombinedCurve", baseMetadata.getYValueType(), metadata.getYValueType())); } if (!spreadMetadata.getYValueType().equals(metadata.getYValueType())) { throw new IllegalArgumentException(Messages.format( "yValueTypee is in spreadCurve, but in CombinedCurve", spreadMetadata.getYValueType(), metadata.getYValueType())); } Optional<DayCount> dccOpt = metadata.findInfo(CurveInfoType.DAY_COUNT); if (dccOpt.isPresent()) { DayCount dcc = dccOpt.get(); if (!baseMetadata.findInfo(CurveInfoType.DAY_COUNT).isPresent() || !baseMetadata.getInfo(CurveInfoType.DAY_COUNT).equals(dcc)) { throw new IllegalArgumentException( Messages.format("DayCount in baseCurve should be {}", dcc)); } if (!spreadMetadata.findInfo(CurveInfoType.DAY_COUNT).isPresent() || !spreadMetadata.getInfo(CurveInfoType.DAY_COUNT).equals(dcc)) { throw new IllegalArgumentException( Messages.format("DayCount in spreadCurve should be {}", dcc)); } } this.metadata = metadata; this.baseCurve = baseCurve; this.spreadCurve = spreadCurve; }

Target:
private CombinedCurve( Curve baseCurve, Curve spreadCurve, CurveMetadata metadata) { JodaBeanUtils.notNull(baseCurve, "baseCurve"); JodaBeanUtils.notNull(spreadCurve, "spreadCurve"); JodaBeanUtils.notNull(metadata, "metadata"); CurveMetadata baseMetadata = baseCurve.getMetadata(); CurveMetadata spreadMetadata = spreadCurve.getMetadata(); if (!baseMetadata.getXValueType().equals(metadata.getXValueType())) { throw new IllegalArgumentException(Messages.format( "xValueType is in baseCurve, but in CombinedCurve", baseMetadata.getXValueType(), metadata.getXValueType())); } if (!spreadMetadata.getXValueType().equals(metadata.getXValueType())) { throw new IllegalArgumentException(Messages.format( "xValueType is in spreadCurve, but in CombinedCurve", spreadMetadata.getXValueType(), metadata.getXValueType())); } if (!baseMetadata.getYValueType().equals(metadata.getYValueType())) { throw new IllegalArgumentException(Messages.format( "yValueType is in baseCurve, but in CombinedCurve", baseMetadata.getYValueType(), metadata.getYValueType())); } if (!spreadMetadata.getYValueType().equals(metadata.getYValueType())) { throw new IllegalArgumentException(Messages.format( "yValueType is in spreadCurve, but in CombinedCurve", spreadMetadata.getYValueType(), metadata.getYValueType())); } Optional<DayCount> dccOpt = metadata.findInfo(CurveInfoType.DAY_COUNT); if (dccOpt.isPresent()) { DayCount dcc = dccOpt.get(); if (!baseMetadata.findInfo(CurveInfoType.DAY_COUNT).isPresent() || !baseMetadata.getInfo(CurveInfoType.DAY_COUNT).equals(dcc)) { throw new IllegalArgumentException( Messages.format("DayCount in baseCurve should be {}", dcc)); } if (!spreadMetadata.findInfo(CurveInfoType.DAY_COUNT).isPresent() || !spreadMetadata.getInfo(CurveInfoType.DAY_COUNT).equals(dcc)) { throw new IllegalArgumentException( Messages.format("DayCount in spreadCurve should be {}", dcc)); } } this.metadata = metadata; this.baseCurve = baseCurve; this.spreadCurve = spreadCurve; }