@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;
   }
 }