return 0;
return fSourcePositonSorter.compare(viewer, e1, e2);
	public int compare(Viewer viewer, Object e1, Object e2) {		if (!isSortAlphabetically() && !isSortByDefiningType()) {			return 0;		}				int cat1= category(e1);		int cat2= category(e2);		if (cat1 != cat2)			return cat1 - cat2;				if (cat1 == OTHER) { // method or field			if (isSortByDefiningType()) {				try {					IType def1= (e1 instanceof IMethod) ? getDefiningType((IMethod) e1) : null;					IType def2= (e2 instanceof IMethod) ? getDefiningType((IMethod) e2) : null;					if (def1 != null) {						if (def2 != null) {							if (!def2.equals(def1)) {								return compareInHierarchy(def1, def2);							}						} else {							return -1;												}										} else {						if (def2 != null) {							return 1;						}						}				} catch (JavaModelException e) {					// ignore, default to normal comparison				}			}			if (isSortAlphabetically()) {				return fNormalSorter.compare(viewer, e1, e2); // use appearance pref page settings			}			return 0;		} else if (cat1 == ANONYM) {			return 0;		} else if (isSortAlphabetically()) {			String name1= ((IType) e1).getElementName(); 			String name2= ((IType) e2).getElementName(); 			return getCollator().compare(name1, name2);		}		return 0;	}