public final Method getTargetMethod() {
        Method method = initialize();
        if (method == null) {
            if (LOG.isWarnEnabled()) {
                if (LOG.isWarnEnabled()) {
                    LOG.warn("Type [{}] previously declared a method [{}] which has been removed or changed. It is recommended you re-compile the class or library against the latest version to remove this warning.", declaringType, methodName);
                }
            }
            throw ReflectionUtils.newNoSuchMethodError(declaringType, methodName, argTypes);
        }
        return method;
    }
public final Method getTargetMethod ( ) { Method method = initialize ( ) ; if ( method == null ) { if ( LOG . isWarnEnabled ( ) ) { if ( LOG . isWarnEnabled ( ) ) { LOG . warn ( "Type [{}] previously declared a method [{}] which has been removed or changed. It is recommended you re-compile the class or library against the latest version to remove this warning." , declaringType , methodName ) ; } } throw ReflectionUtils . newNoSuchMethodError ( declaringType , methodName , argTypes ) ; } return method ; }
Soft resolves the target {@link Method} avoiding reflection until as late as possible.

@return The method
@throws NoSuchMethodError if the method doesn't exist