code: public OverlapIntervalList<T> refineBy(T interval){
  		OverlapIntervalList<T> newList = new OverlapIntervalList<T>();
  		for(T inter: timeIntervals){
  			if(inter.getEnd() > interval.getStart()){
  				newList.addTimeInterval(inter);
  			}
  		}
  		newList.addTimeInterval(interval);
  		return newList;
  	}
docs: Creates a new interval list out of this list according to the given interval.<br>
  The new list will only contain those intervals of this list that end after the given interval starts.
  @param interval The interval that is used for generating a refined version of this list.
  @return The refined version of this list according to the given interval.