code: public Calendar adjustDate(final Calendar startDate, final int increment, final NonWorkingDayChecker<Calendar> checker) {
          final Calendar cal = (Calendar) startDate.clone();
  
          while (checker.isNonWorkingDay(cal)) {
              cal.add(Calendar.DAY_OF_MONTH, increment);
          }
  
          return cal;
      }
docs: -----------------------------------------------------------------------