code: private boolean isInRange(Calendar mutableStartDate,
  			      Calendar endDate) {
  	
  	// ensure that the ending date does not occur before the time span would
  	// have started
  	if (endDate.before(mutableStartDate))
  	    return false;
  
  	// update the start date to be the date at the end of the time span
  	Calendar tsEnd = mutableStartDate;
  	tsEnd.add(Calendar.YEAR, years);
  	tsEnd.add(Calendar.MONTH, months);
  	tsEnd.add(Calendar.WEEK_OF_YEAR, weeks);
  	tsEnd.add(Calendar.DAY_OF_YEAR, days);
  	tsEnd.add(Calendar.HOUR, hours);
  		
  	return endDate.before(tsEnd);
      }
docs: Returns {@code true} if the end date occurs after the start date during
  the period of time represented by this time span.
  
  @param mutableStartDate a <i>mutable<i> {@code Calendar} object that will
  be changed to the ending time of this time range as a side effect
  of this method