### Question:
BinaryTimeTree { protected TimeSpan enlargeTimeRange(Collection<E> collection, TimeSpan range) { TimeSpan maxRange = range; if (maxRange == null) { maxRange = TimeSpan.get(0, OUR_MAX_TIME); } for (TimeSpanProvider tsp : collection) { if (!maxRange.contains(tsp.getTimeSpan())) { maxRange = maxRange.simpleUnion(tsp.getTimeSpan()); } } return maxRange; } BinaryTimeTree();  BinaryTimeTree(int maxValuesPerNode, int maxDepth); void clear(); int countInRange(TimeSpan range); CountReport countsInBins(TimeSpan overAllRange, int numberOfBins); TIntList countsInRanges(List<TimeSpan> countTimes); List<E> findInRange(TimeSpan range); boolean insert(E tsProvider); boolean insert(List<E> collection); int internalSize(BTreeNode<E> node); int maxValuesPerNodeInteral(BTreeNode<E> node, int maxValues); int queryMaxValuesPerNode(); int size();  }### Answer:
@Test public void testEnlargeTimeRange() { TimeSpan span = new TimeSpanLongLong(10, 20); TimeSpan span1 = new TimeSpanLongLong(0, 8); TimeSpan span2 = new TimeSpanLongLong(26, 50); TimeSpan result = myTestObject.enlargeTimeRange(Arrays.asList(span1, span2), span); assertEquals(0, result.getStart()); assertEquals(50, result.getEnd()); }