code: public SortedSet<TimeInterval> getOverlappingIntervals(boolean includeSingleTimeInstanceIntervals) {
  		SortedSet<TimeInterval> result = new TreeSet<TimeInterval>();
  		for (TimeInterval interval1 : intervals) {
  			for (TimeInterval interval2 : intervals) {
  				if (interval1 != interval2) {
  					TimeInterval overlap = interval1.getOverlap(interval2);
  					if (overlap != null) {
  						result.add(overlap);
  					}
  				}
  			}
  		}
  
  		result = getFlattenedIntervals(result);
  
  		if (!includeSingleTimeInstanceIntervals) {
  			for (Iterator<TimeInterval> it = result.iterator(); it.hasNext();) {
  				TimeInterval timeInterval = it.next();
  				if (timeInterval.isSingleTimeInstance()) {
  					it.remove();
  				}
  			}
  		}
  
  		return result;
  	}
docs: Gets a set of intervals representing the times where there are more than
  one interval overlaps.
  
  @param includeSingleTimeInstanceIntervals
  whether or not to include intervals if only the ends of two
  (or more) intervals are overlapping. If, for example, there
  are two intervals, A-to-B and B-to-C. Should "B-to-B" be
  included because B actually overlaps?
  
  @return