package gw.rating.flow.domain uses com.google.common.collect.Sets final class CalcRoutineCacheInfo { property get CalcRoutinesByPolicyLineMap(): Map> { var returnMap = new HashMap>() var autoMap = returnMap.toAutoMap(\ q -> new HashSet() ) var policyLinePartition = \calcRoutine: CalcRoutine -> { final var policyLines = Sets.newHashSet(calcRoutine.RateBooks*.PolicyLine) return policyLines.size() == 1 ? policyLines.single() : null } for (calcRoutine in CalcRoutine.Cache.CacheValues) { autoMap[ policyLinePartition( calcRoutine ) ].add( calcRoutine ) } return returnMap } property get CacheSize(): int { return CalcRoutine.Cache.Size } }