Bug 315281 update copyrights for 3.6
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkerSortUtil.java
}
		if (childOffset-- == len) {
			array[first + holeOffset] = array[first + childOffset];
			holeOffset = childOffset;
		}
		return holeOffset + first;
	}
	/**
	 * percolate up the Heap: add the hole element back to heap at the right
	 * position, all the way up the heap between fromIndex and toIndex
	 * 
	 * @param array
	 * @param first
	 * @param fromIndex
	 * @param toIndex
	 * @param hole
	 * @param last
	 * @param comparator
	 * @return new holeIndex
	 */
	private static int bottomUpSearch(MarkerEntry[] array, int first, int fromIndex,
			int toIndex, MarkerEntry hole, int last, Comparator comparator) {
		int holeOffset = fromIndex - first;
		int parent = (holeOffset - 1) / 2;
		int top = toIndex - first;
		while (holeOffset != top
				&& (comparator.compare(array[first + parent], hole) < 0)) {
			array[first + holeOffset] = array[first + parent];
			holeOffset = parent;
			parent = (holeOffset - 1) / 2;