class AbstractStandardConversionService implements IStandardConversionService {



    protected AbstractStandardConversionService() {
        super();
    }




    public final <T> T convert(
            final IExpressionContext context,
            final Object object, final Class<T> targetClass) {<FILL_FUNCTION_BODY>}



    protected String convertToString(
            final IExpressionContext context,
            final Object object) {
        if (object == null) {
            return null;
        }
        return object.toString();
    }


    protected <T> T convertOther(
            final IExpressionContext context,
            final Object object, final Class<T> targetClass) {
        throw new IllegalArgumentException("No available conversion for target class \"" + targetClass.getName() + "\"");
    }




}


        Validate.notNull(targetClass, "Target class cannot be null");

        /*
         * CONVERSIONS TO String (will be 99% of executions)
         */
        if (targetClass.equals(String.class)) {
            if (object == null || object instanceof String) {
                return (T) object;
            }
            return (T) convertToString(context, object);
        }

        /*
         * OTHER CONVERSIONS
         */
        return convertOther(context, object, targetClass);

    
<no_super_class>