/**
  * Correcting interval by recurring start($this->_recurring_start_date_stamp)
  * and end($this->_recurring_end_date_stamp) dates.
  * @param $intervalStartDateStamp
  * @param $intervalEndDateStamp
  * @return array
  */
 private function _getCorrectedRecurringInterval($intervalStartDateStamp, $intervalEndDateStamp)
 {
     $recurringStartDateStamp = $this->_recurring_start_date_stamp;
     $recurringEndDateStamp = $this->_recurring_end_date_stamp;
     $recurringInterval = array("start_date_stamp" => $intervalStartDateStamp, "end_date_stamp" => $intervalEndDateStamp);
     //Return recurring interval without correcting if it not belongs to assigned interval.
     if ($intervalStartDateStamp >= $recurringEndDateStamp || $intervalEndDateStamp <= $recurringStartDateStamp) {
         return $recurringInterval;
     }
     //Correct start date interval if it smaller then recurring start date.
     if ($intervalStartDateStamp < $recurringStartDateStamp) {
         $intervalStartDateStamp = $recurringStartDateStamp;
     }
     //Correct end date interval if it smaller then recurring end date.
     if ($intervalEndDateStamp > $recurringEndDateStamp) {
         $intervalEndDateStamp = $recurringEndDateStamp;
     }
     $differenceStartDates = SchedulerHelperDate::differenceBetweenDates($intervalStartDateStamp, $recurringStartDateStamp);
     $differenceEndDates = SchedulerHelperDate::differenceBetweenDates($intervalEndDateStamp, $recurringEndDateStamp);
     $dateUnits = SchedulerHelperDate::$DATE_UNITS;
     //Add years.
     $recurringInterval["start_date_stamp"] = SchedulerHelperDate::addYears($recurringStartDateStamp, $differenceStartDates[$dateUnits["year"]]);
     $recurringInterval["end_date_stamp"] = SchedulerHelperDate::addYears($recurringEndDateStamp, -$differenceEndDates[$dateUnits["year"]]);
     //If recurring type is "year" then exit, else add months.
     if ($this->getRecurringTypeValue() == self::REC_TYPE_YEAR) {
         return $recurringInterval;
     }
     //Add months.
     $recurringInterval["start_date_stamp"] = SchedulerHelperDate::addMonths($recurringInterval["start_date_stamp"], $differenceStartDates[$dateUnits["month"]]);
     $recurringInterval["end_date_stamp"] = SchedulerHelperDate::addMonths($recurringInterval["end_date_stamp"], -$differenceEndDates[$dateUnits["month"]]);
     return $recurringInterval;
 }