code: @Override
    public long getNextIncludedTime (final long nTimeStamp)
    {
      if (m_aExcludeAll == true)
      {
        return 0;
      }
  
      // Call base calendar implementation first
      long timeStamp = nTimeStamp;
      final long baseTime = super.getNextIncludedTime (timeStamp);
      if ((baseTime > 0) && (baseTime > timeStamp))
      {
        timeStamp = baseTime;
      }
  
      // Get timestamp for 00:00:00
      final Calendar cl = getStartOfDayJavaCalendar (timeStamp);
      int day = cl.get (Calendar.DAY_OF_MONTH);
  
      if (!isDayExcluded (day))
      {
        return timeStamp; // return the original value
      }
  
      while (isDayExcluded (day) == true)
      {
        cl.add (Calendar.DATE, 1);
        day = cl.get (Calendar.DAY_OF_MONTH);
      }
  
      return cl.getTime ().getTime ();
    }
docs: <p>
  Determine the next time (in milliseconds) that is 'included' by the Calendar
  after the given time. Return the original value if timeStamp is included.
  Return 0 if all days are excluded.
  </p>
  <p>
  Note that this Calendar is only has full-day precision.
  </p>