private void init(int year){
      TreeSet<Date> set = new TreeSet<Date>();
      HolidayType[] holidayTypes = HolidayType.values();
      for(int i=0;i < holidayTypes.length;i++){
         HolidayBundle hb = holidayTypes[i].getBundle(year);
         if (hb != null){
            if (year < 2016 && hb.getMonth()==8) continue;  // since ver 2.0
            set.add(hb.getDate());
            Date chgdt = hb.getChangeDate();
            if (chgdt != null){
               set.add(chgdt);
            }
         }
      }
      Date[] ds = getNatinalHoliday(year);
      if (ds.length > 0){
         for(int i=0;i < ds.length;i++){
            set.add(ds[i]);
         }
      }
      this.holidayDates = new Date[set.size()];
      int n=0;
      for(Iterator<Date> it=set.iterator();it.hasNext();n++){
         this.holidayDates[n] = it.next();
      }
   }