return (int) (successor.getTimeStamp() - predecessor.getTimeStamp());
final int delta= predecessor.getKind() - successor.getKind(); if (delta != 0) return delta; final long result= successor.getTimeStamp() - predecessor.getTimeStamp(); if (result < 0) return -1; else if (result > 0) return 1; return 0;
	public int compare(final Viewer viewer, final Object first, final Object second) {		if (first instanceof RefactoringHistoryProject && second instanceof RefactoringHistoryProject) {			final RefactoringHistoryProject predecessor= (RefactoringHistoryProject) first;			final RefactoringHistoryProject successor= (RefactoringHistoryProject) second;			return getCollator().compare(predecessor.getProject(), successor.getProject());		} else if (first instanceof RefactoringHistoryDate && second instanceof RefactoringHistoryDate) {			final RefactoringHistoryDate predecessor= (RefactoringHistoryDate) first;			final RefactoringHistoryDate successor= (RefactoringHistoryDate) second;			return (int) (successor.getTimeStamp() - predecessor.getTimeStamp());		} else if (first instanceof RefactoringHistoryEntry && second instanceof RefactoringHistoryEntry) {			final RefactoringHistoryEntry predecessor= (RefactoringHistoryEntry) first;			final RefactoringHistoryEntry successor= (RefactoringHistoryEntry) second;			return (int) (successor.getDescriptor().getTimeStamp() - predecessor.getDescriptor().getTimeStamp());		}		return super.compare(viewer, first, second);	}