protected Object[] createWriteMethodArguments( Method method, Object value ) 
        throws IllegalAccessException, ClassCastException {            
        try {
            if ( value != null ) {
                Class[] types = method.getParameterTypes();
                if ( types != null && types.length > 0 ) {
                    Class paramType = types[0];
                    if ( ! paramType.isAssignableFrom( value.getClass() ) ) {
                        value = convertType( paramType, value );
                    }
                }
            }
            Object[] answer = { value };
            return answer;
        }
        catch ( InvocationTargetException e ) {
            IllegalArgumentException iae = new IllegalArgumentException(e.getMessage());
            if (BeanUtils.initCause(iae, e) == false) {
                logInfo(e);
            }
            throw iae;
        }
        catch ( InstantiationException e ) {
            IllegalArgumentException iae = new IllegalArgumentException(e.getMessage());
            if (BeanUtils.initCause(iae, e) == false) {
                logInfo(e);
            }
            BeanUtils.initCause(iae, e);
            throw iae;
        }
    }