code: @Override
    public Date getFinalFireTime ()
    {
      if (m_bComplete || getEndTime () == null)
      {
        return null;
      }
  
      // We have an endTime, we still need to check to see if there is a
      // endTimeOfDay if that's applicable.
      Date eTime = getEndTime ();
      if (m_aEndTimeOfDay != null)
      {
        final Date endTimeOfDayDate = m_aEndTimeOfDay.getTimeOfDayForDate (eTime);
        if (eTime.getTime () < endTimeOfDayDate.getTime ())
        {
          eTime = endTimeOfDayDate;
        }
      }
      return eTime;
    }
docs: <p>
  Returns the final time at which the <code>DailyTimeIntervalTrigger</code>
  will fire, if there is no end time set, null will be returned.
  </p>
  <p>
  Note that the return time may be in the past.
  </p>