public static void GetAllHolidays(Holidays holidays, ICollection <Holiday> allHolidays) { foreach (MethodInfo m in holidays.GetType().GetMethods()) { if (IsGetter(m) && m.ReturnType == typeof(IList)) { try { IList <Holiday> l = (IList <Holiday>)m.Invoke(holidays); Sharpen.Collections.AddAll(allHolidays, l); } catch (Exception e) { throw new Exception("Cannot create set of holidays.", e); } } } }