@Override public Holiday get(final ObjectId objectId, final VersionCorrection versionCorrection) { Object result = _getHoliday2.get(versionCorrection, objectId); if (result != null) { return getOrThrow(result); } try { final Holiday h = getUnderlying().get(objectId, versionCorrection); result = _getHoliday2.putIfAbsent(versionCorrection, objectId, safeNull(h)); if (result != null) { return getOrThrow(result); } return h; } catch (RuntimeException ex) { _getHoliday2.putIfAbsent(versionCorrection, objectId, ex); throw ex; } }
@Override public Collection<Holiday> get(HolidayType holidayType, ExternalIdBundle regionOrExchangeIds) { Object result = _getHoliday4.get(holidayType, regionOrExchangeIds); if (result != null) { return getOrThrow(result); } try { Collection<Holiday> holidays = getUnderlying().get(holidayType, regionOrExchangeIds); result = _getHoliday4.putIfAbsent(holidayType, regionOrExchangeIds, safeNull(holidays)); if (result != null) { return getOrThrow(result); } else { return holidays; } } catch (RuntimeException ex) { _getHoliday4.putIfAbsent(holidayType, regionOrExchangeIds, ex); throw ex; } }