code: private void updateInterval() {
          intervalMillis = getCombinedValue(endDate, endTime) - getCombinedValue(startDate, startTime);
          
          // if this is zero, most likely the times aren't set and the
          // dates are the same. in this case we don't really want a
          // zero interval. if we *really* want a zero interval, the
          // default would be zero so this is safe.
          if (intervalMillis == 0) {
              intervalMillis = defaultIntervalMillis;
          }
      }
docs: interval management