//-------------------------------------------------------------------------
        public virtual void test_combinedWith_other_other_noClash()
        {
            ReferenceData test = REF_DATA1.combinedWith(REF_DATA2);

            assertEquals(test.getValue(ID1), VAL1);
            assertEquals(test.getValue(ID2), VAL2);
        }
        public virtual void test_defaulting_combinedWith()
        {
            ReferenceData base1 = ImmutableReferenceData.of(ImmutableMap.of(HolidayCalendarIds.THU_FRI, HolidayCalendars.THU_FRI));
            ReferenceData base2 = ImmutableReferenceData.of(ImmutableMap.of(HolidayCalendarIds.THU_FRI, HolidayCalendars.FRI_SAT, HolidayCalendarIds.FRI_SAT, HolidayCalendars.FRI_SAT));

            ReferenceData testDefaulted = HolidayCalendars.defaultingReferenceData(base1);

            assertEquals(testDefaulted.getValue(HolidayCalendarIds.THU_FRI), HolidayCalendars.THU_FRI);
            assertEquals(testDefaulted.getValue(HolidayCalendarIds.FRI_SAT), DEFAULTED_FRI_SAT);
            assertEquals(testDefaulted.getValue(HolidayCalendarIds.GBLO), DEFAULTED_GBLO);

            ReferenceData testCombined = testDefaulted.combinedWith(base2);

            assertEquals(testCombined.getValue(HolidayCalendarIds.THU_FRI), HolidayCalendars.THU_FRI); // test1 takes precedence
            assertEquals(testCombined.getValue(HolidayCalendarIds.FRI_SAT), HolidayCalendars.FRI_SAT); // from test2
            assertEquals(testCombined.getValue(HolidayCalendarIds.GBLO), DEFAULTED_GBLO);              // from default

            ReferenceData testCombinedRevered = base2.combinedWith(testDefaulted);

            assertEquals(testCombinedRevered.getValue(HolidayCalendarIds.THU_FRI), HolidayCalendars.FRI_SAT); // test2 takes precedence
            assertEquals(testCombinedRevered.getValue(HolidayCalendarIds.FRI_SAT), HolidayCalendars.FRI_SAT); // from test2
            assertEquals(testCombinedRevered.getValue(HolidayCalendarIds.GBLO), DEFAULTED_GBLO);              // from default
        }