private static final <T extends Tuple, K> TypeComparator<T> createLeadingFieldComparator(boolean ascending, TypeInformation<?> info) {
		if (!(info.isKeyType() && info instanceof AtomicType)) {
			throw new IllegalArgumentException("The field at position 0 (" + info + ") is no atomic key type.");
		}
		
		@SuppressWarnings("unchecked")
		AtomicType<K> typedInfo = (AtomicType<K>) info;
		return new TupleLeadingFieldComparator<T, K>(typedInfo.createComparator(ascending));
	}
private static final < T extends Tuple , K > TypeComparator < T > createLeadingFieldComparator ( boolean ascending , TypeInformation < ? > info ) { if ( ! ( info . isKeyType ( ) && info instanceof AtomicType ) ) { throw new IllegalArgumentException ( "The field at position 0 (" + info + ") is no atomic key type." ) ; } @ SuppressWarnings ( "unchecked" ) AtomicType < K > typedInfo = ( AtomicType < K > ) info ; return new TupleLeadingFieldComparator < T , K > ( typedInfo . createComparator ( ascending ) ) ; }
END_OF_TUPLE_DEPENDENT_CODE