private SwaptionSettlement parseSettlement(XmlElement swaptionEl, FpmlDocument document) { Optional <string> optionalCashSettlement = swaptionEl.findAttribute("cashSettlement"); if (optionalCashSettlement.Present) { XmlElement cashSettlementEl = swaptionEl.getChild("cashSettlement"); CashSwaptionSettlementMethod method = parseCashSettlementMethod(cashSettlementEl); LocalDate settlementDate = document.parseAdjustedRelativeDateOffset(cashSettlementEl).Unadjusted; return(CashSwaptionSettlement.of(settlementDate, method)); } else { // treat physical as the default to match FpML examples return(PhysicalSwaptionSettlement.DEFAULT); } }