code: public WorkingWeek withWorkingDayFromCalendar(final boolean working, final int dayOfWeek) {
          final int day = adjustDay(dayOfWeek);
          WorkingWeek ret = this;
          if (working && !isWorkingDayFromCalendar(dayOfWeek)) {
              ret = new WorkingWeek((byte) (workingDays + WORKING_WEEK_DAYS_OFFSET[day]));
          } else if (!working && isWorkingDayFromCalendar(dayOfWeek)) {
              ret = new WorkingWeek((byte) (workingDays - WORKING_WEEK_DAYS_OFFSET[day]));
          }
          return ret;
      }
docs: If the value for the given day has changed, return a NEW WorkingWeek.
  
  @param working
  true if working day
  @param dayOfWeek
  e.g. Calendar.MONDAY, Calendar.TUESDAY, etc
  @return a new instance of a <code>WorkingWeek</code> with the working
  day set