The holiday calendar for ccy1, if null or not set, then a default calendar will be used with NO holidays.
@param ccy1Calendar the Calendar for ccy1
@return the builder
354600
public CurrencyDateCalculatorBuilder<E> ccy1Calendar(final HolidayCalendar<E> ccy1Calendar) {
        if (ccy1Calendar != null) {
            this.ccy1Calendar = ccy1Calendar;
        }
        return this;
    }
1214651
@Override
    public Calendar retrieveCalendar(final String calName) throws JobPersistenceException {
        return doWithLock(new LockCallback<Calendar>() {
            @Override
            public Calendar doWithLock(JedisCommands jedis) throws JobPersistenceException {
                return storage.retrieveCalendar(calName, jedis);
            }
        }, "Could not retrieve calendar.");
    }
1035337
public GlobalizationPreferences setCalendar(Calendar calendar) {
        if (isFrozen()) {
            throw new UnsupportedOperationException("Attempt to modify immutable object");
        }
        this.calendar = (Calendar) calendar.clone(); // clone for safety
        return this;
    }
78468
private function getNoWorkDaysWithinSingleYear(DateTime $firstDay, DateTime $lastDay, string $region, int $year, array $noWork): HolidayList
    {
        $holidays = [];
        $holidays[] = $this->holidayCalculator->calculateHolidaysForYear($year, $region, $firstDay->getTimezone());
        $temporaryHolidayCalculator = new HolidayCalculator(new WeekdayInitializer());
        foreach ($noWork as $noWorkDays) {
            $holidays[] = $temporaryHolidayCalculator->calculateHolidaysForYear($year, $noWorkDays->getId(), $firstDay->getTimezone());
        }

        $holidayList = $this->mergeHolidayLists($holidays);
        $holidayList = (
        new IncludeTimespanFilter(new IncludeUniqueDateFilter(new IncludeTypeFilter())))
            ->filter($holidayList, [
                IncludeTimespanFilter::PARAM_FIRST_DAY => $firstDay,
                IncludeTimespanFilter::PARAM_LAST_DAY => $lastDay,
                IncludeTypeFilter::PARAM_HOLIDAY_TYPE => HolidayType::DAY_OFF,
            ]);

        return $holidayList;
    }
942615
public function getCalendar() : ?string 
    {
        if ( ! $this->hasCalendar()) {
            $this->setCalendar($this->getDefaultCalendar());
        }
        return $this->calendar;
    }
207417
public static LocalDateTime firstDay(LocalDateTime localDate) {
        return LocalDateTime.of(localDate.getYear(), localDate.getMonth(), 1, 0, 0, 0);
    }
106072
@Override
  public Calendar transformIn(Timestamp ts) throws CpoException {
    Calendar cal = null;
    if (ts != null) {
      cal = Calendar.getInstance();
      cal.setTimeInMillis(ts.getTime());
    }
    return cal;
  }
255445
public void setCalendar(ProjectCalendar calendar)
   {
      set(TaskField.CALENDAR, calendar);
      setCalendarUniqueID(calendar == null ? null : calendar.getUniqueID());
   }
638860
public final Calendar getCalendar() {
        Calendar calendar = calendarSelector.getCalendar();
        if (calendar == null) {
            calendar = entry.getCalendar();
        }

        return calendar;
    }
69205
@Override
  public IScheduleBuilder <ICronTrigger> getScheduleBuilder ()
  {
    final CronScheduleBuilder cb = CronScheduleBuilder.cronSchedule (getCronExpression ()).inTimeZone (getTimeZone ());

    switch (getMisfireInstruction ())
    {
      case MISFIRE_INSTRUCTION_DO_NOTHING:
        cb.withMisfireHandlingInstructionDoNothing ();
        break;
      case MISFIRE_INSTRUCTION_FIRE_ONCE_NOW:
        cb.withMisfireHandlingInstructionFireAndProceed ();
        break;
    }

    return cb;
  }
1072319
public void setDefaultCalendarName(String calendarName)
   {
      if (calendarName == null || calendarName.length() == 0)
      {
         calendarName = DEFAULT_CALENDAR_NAME;
      }

      set(ProjectField.DEFAULT_CALENDAR_NAME, calendarName);
   }
176647
@Nonnull
  public T build ()
  {
    if (m_aScheduleBuilder == null)
      m_aScheduleBuilder = SimpleScheduleBuilder.simpleSchedule ();
    final IMutableTrigger trig = m_aScheduleBuilder.build ();
    trig.setCalendarName (m_sCalendarName);
    trig.setDescription (m_sDescription);
    trig.setStartTime (m_aStartTime);
    trig.setEndTime (m_aEndTime);
    if (m_aKey == null)
      m_aKey = new TriggerKey (Key.createUniqueName (null), null);
    trig.setKey (m_aKey);
    if (m_aJobKey != null)
      trig.setJobKey (m_aJobKey);
    trig.setPriority (m_nPriority);

    if (!m_aJobDataMap.isEmpty ())
      trig.setJobDataMap (m_aJobDataMap);
    return GenericReflection.uncheckedCast (trig);
  }
806671
static final public DateFormat getInstance(Calendar cal) {
        return getInstance(cal, ULocale.getDefault(Category.FORMAT));
    }
152203
public CurrencyDateCalculatorBuilder<E> crossCcyCalendar(final HolidayCalendar<E> crossCcyCalendar) {
        if (crossCcyCalendar != null) {
            this.crossCcyCalendar = crossCcyCalendar;
        }
        return this;
    }
116524
public static WeekDay getWeekDay(final Calendar cal) {
        return new WeekDay(getDay(cal.get(Calendar.DAY_OF_WEEK)), 0);
    }
22971
public void setResourceCalendar(ProjectCalendar calendar)
   {
      set(ResourceField.CALENDAR, calendar);
      if (calendar == null)
      {
         setResourceCalendarUniqueID(null);
      }
      else
      {
         calendar.setResource(this);
         setResourceCalendarUniqueID(calendar.getUniqueID());
      }
   }
187826
public void setCalendar(Calendar calendar) {
		if (calendar == null) {
			dateEditor.setDate(null);
		} else {
			dateEditor.setDate(calendar.getTime());
		}
	}