code: public Date adjustDate(final Date startDate, final int increment, final NonWorkingDayChecker<Date> checker) {
          final Calendar cal = Utils.getCal(startDate);
  
          while (checker.isNonWorkingDay(cal.getTime())) {
              if (increment < 0) {
                  cal.add(Calendar.DAY_OF_MONTH, -1);
              } else {
                  cal.add(Calendar.DAY_OF_MONTH, 1);
              }
          }
  
          return cal.getTime();
      }
docs: -----------------------------------------------------------------------