public Method getSourceMethod() {
        Method method = sourceMethodReference.get();
        if (method != null || sourceMethodName == CTOR_METHOD_NAME) {
            return method;
        }
        for (Method m : ReflectionHelper.getDeclaredMethods(getSourceClass())) {
            if (m.getName().equals(sourceMethodName) && Type.getMethodDescriptor(m).equals(sourceMethodDescriptor)) {
                method = m;
                sourceMethodReference = new WeakReference<Method>(method);
                break;
            }
        }
        return method;
    }
public Method getSourceMethod ( ) { Method method = sourceMethodReference . get ( ) ; if ( method != null || sourceMethodName == CTOR_METHOD_NAME ) { return method ; } for ( Method m : ReflectionHelper . getDeclaredMethods ( getSourceClass ( ) ) ) { if ( m . getName ( ) . equals ( sourceMethodName ) && Type . getMethodDescriptor ( m ) . equals ( sourceMethodDescriptor ) ) { method = m ; sourceMethodReference = new WeakReference < Method > ( method ) ; break ; } } return method ; }
{@inheritDoc}