@Override
	public int compare(final T o1, final T o2) {
		for (Comparator<T> comparator : comparators) {
			int result = comparator.compare(o1, o2);
			if (result != 0) {
				return result;
			}
		}
		return 0;
	}
@ Override public int compare ( final T o1 , final T o2 ) { for ( Comparator < T > comparator : comparators ) { int result = comparator . compare ( o1 , o2 ) ; if ( result != 0 ) { return result ; } } return 0 ; }
Compares two objects starting with first comparator; if they are equals
proceeds to the next comparator and so on.