static function reCalculateDay($user_date_id, $enable_exception = FALSE, $enable_premature_exceptions = FALSE, $enable_future_exceptions = TRUE, $enable_holidays = FALSE)
 {
     Debug::text('Re-calculating User Date ID: ' . $user_date_id . ' Enable Exception: ' . (int) $enable_exception, __FILE__, __LINE__, __METHOD__, 10);
     $udtf = new UserDateTotalFactory();
     $udtf->setUserDateId($user_date_id);
     $udtf->calcSystemTotalTime();
     if ($enable_holidays == TRUE) {
         $holiday_user_date_ids = $udtf->getHolidayUserDateIDs();
         //var_dump($holiday_user_date_ids);
         if (is_array($holiday_user_date_ids)) {
             foreach ($holiday_user_date_ids as $holiday_user_date_id) {
                 Debug::Text('reCalculating Holiday...', __FILE__, __LINE__, __METHOD__, 10);
                 UserDateTotalFactory::reCalculateDay($holiday_user_date_id, FALSE, FALSE, FALSE, FALSE);
             }
         }
         unset($holiday_user_date_ids, $holiday_user_date_id);
     }
     if (!isset(self::$calc_exception) and $enable_exception == TRUE) {
         ExceptionPolicyFactory::calcExceptions($user_date_id, $enable_premature_exceptions, $enable_future_exceptions);
     }
     return TRUE;
 }