public void calculateUnderwritingInfo( List<CededUnderwritingInfoPacket> cededUnderwritingInfos, List<UnderwritingInfoPacket> netUnderwritingInfos, double coveredByReinsurers, boolean fillNet) { if (isStartCoverPeriod) { initCededPremiumAllocation(cededClaims, grossUwInfos); } for (UnderwritingInfoPacket grossUnderwritingInfo : grossUwInfos) { double cededPremiumFixedShare = cededPremiumFixed * riPremiumSplit.getShare(grossUnderwritingInfo); cededPremiumFixedShare *= coveredByReinsurers; double cededPremiumVariable = 0; cededPremiumVariable *= coveredByReinsurers; double cededPremium = isStartCoverPeriod ? cededPremiumFixedShare + cededPremiumVariable : cededPremiumVariable; CededUnderwritingInfoPacket cededUnderwritingInfo = CededUnderwritingInfoPacket.deriveCededPacketForNonPropContract( grossUnderwritingInfo, contractMarker, -cededPremium, isStartCoverPeriod ? -cededPremiumFixedShare : 0, -cededPremiumVariable); UnderwritingInfoUtils.applyMarkers(grossUnderwritingInfo, cededUnderwritingInfo); cededUwInfos.add(cededUnderwritingInfo); cededUnderwritingInfos.add(cededUnderwritingInfo); if (fillNet && isStartCoverPeriod) { netUnderwritingInfos.add(grossUnderwritingInfo.getNet(cededUnderwritingInfo, false)); } } isStartCoverPeriod = false; }
public void initCededPremiumAllocation( List<ClaimCashflowPacket> cededClaims, List<UnderwritingInfoPacket> grossUnderwritingInfos) { riPremiumSplit.initSegmentShares(cededClaims, grossUnderwritingInfos); }