Bug 126839 [DataBinding] IObservable refactoring
bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/internal/provisional/databinding/converterfunction/ConversionFunctionRegistry.java
*/
    public static boolean canConvert(Class sourceClass, Class destClass) {
        if (sourceClass.equals(destClass)) {
            return true;
        }
        
        HashMap sourceClassConverters = (HashMap) converterFunctions.get(sourceClass);
        
        if (sourceClassConverters == null) {
            return false;
        }
        
        IConversionFunction result = (IConversionFunction) sourceClassConverters.get(destClass);
        
        if (result == null) {
            return false;
        }
        
        return true;
    }
    
    /**
     * Returns if the pair (sourceClass, destClass) can be converted in both directions.
     * 
     * @param sourceClass the source Class 
     * @param destClass the destination Class
     * @return true if the pair can be converted in both directions; false otherwise.
     */
    public static boolean canConvertPair(Class sourceClass, Class destClass) {
    	if (canConvert(sourceClass, destClass) && canConvert(destClass, sourceClass)) {