Bug 315281 update copyrights for 3.6
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkerSortUtil.java
import java.util.Comparator;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.NullProgressMonitor;
/**
 * @since 3.5
 * 
 * @author Hitesh
 */
public class MarkerSortUtil {
	
	/*
	 * Note: partial quicksort or introsort would not be of much use here as the
	 * sorting direction can be reversed easily from the UI. These would perform
	 * at quadratic complexities in these conditions. The code below is based on
	 * a variant of Modified HeapSort.Runs in O(NlogN) in worst case.
	 */
	/*
	 * Increasing BATCH_SIZE increases memory consumption but increases speed,
	 * and vice-versa.This indirectly controls the number of active caches in
	 * MarkerEntry[] array passed for sorting.
	 */
	private static int BATCH_SIZE = 10000;
	/*
	 * For n/k ratios less than this , we will use Arrays.Sort(). The heapsort
	 * performs nearly as good as mergesort for small data.We can still benefit 
	 * from the mergesort - Arrays.Sort(). When the number of elements to be sorted,
	 * are almost as much as the elements we have. 
	 */
	private static float MERGE_OR_HEAP_SWITCH=1.5f;
	/**