That should never happen. `TypeConverter` will pick the right converter based on source- and target class but _only_ when soruce is not null and cannot be cast.   
TypeConverter.convert() method:
``` java
public static <S, T> T convert(S source, Class<T> targetClass) {
	// null check
	if (source == null) { 
		return null;
	}
	// can we simply cast?
	if (isCastableToClass(source, targetClass)) {
		return targetClass.cast(source);
	}
	// look for the right converter
	return tryToConvertUsingRegisteredConverters(source, targetClass);
}
```
Surely we can add `assert source != null` to each converter, but it's pointless as long as we have test for it - TypeConverterTest.shouldConvertNull().