pojo/src/main/java/org/jboss/as/pojo/service/Configurator.java
@SuppressWarnings("unchecked")
    public static Method findMethod(DeploymentReflectionIndex index, Class classInfo, String name, String[] paramTypes, boolean isStatic, boolean isPublic, boolean strict) throws IllegalArgumentException {
        if (name == null)
            throw PojoLogger.ROOT_LOGGER.nullName();

        if (classInfo == null)
            throw PojoLogger.ROOT_LOGGER.nullClassInfo();

        if (paramTypes == null)
            paramTypes = NO_PARAMS_TYPES;

        Class current = classInfo;
        while (current != null) {
            ClassReflectionIndex cri = index.getClassIndex(classInfo);
            Method result = locateMethod(cri, name, paramTypes, isStatic, isPublic, strict);
            if (result != null)
                return result;
            current = current.getSuperclass();
        }
        throw PojoLogger.ROOT_LOGGER.methodNotFound(name, Arrays.toString(paramTypes), classInfo.getName());
    }
@SuppressWarnings("unchecked")
    public static Method findMethod(DeploymentReflectionIndex index, Class classInfo, String name, String[] paramTypes, boolean isStatic, boolean isPublic, boolean strict) throws IllegalArgumentException {
        if (name == null)
            throw PojoLogger.ROOT_LOGGER.nullName();

        if (classInfo == null)
            throw PojoLogger.ROOT_LOGGER.nullClassInfo();

        if (paramTypes == null)
            paramTypes = NO_PARAMS_TYPES;

        Class current = classInfo;
        while (current != null) {
            ClassReflectionIndex cri = index.getClassIndex(classInfo);
            Method result = locateMethod(cri, name, paramTypes, isStatic, isPublic, strict);
            if (result != null)
                return result;
            current = current.getSuperclass();
        }
        throw PojoLogger.ROOT_LOGGER.methodNotFound(name, Arrays.toString(paramTypes), classInfo.getName());
    }
@ SuppressWarnings ( "unchecked" ) public static Method findMethod ( DeploymentReflectionIndex index , Class classInfo , String name , String [ ] paramTypes , boolean isStatic , boolean isPublic , boolean strict ) throws IllegalArgumentException { if ( name == null ) throw PojoLogger . ROOT_LOGGER . nullName ( ) ; if ( classInfo == null ) throw PojoLogger . ROOT_LOGGER . nullClassInfo ( ) ; if ( paramTypes == null ) paramTypes = NO_PARAMS_TYPES ; Class current = classInfo ; while ( current != null ) { ClassReflectionIndex cri = index . getClassIndex ( classInfo ) ; Method result = locateMethod ( cri , name , paramTypes , isStatic , isPublic , strict ) ; if ( result != null ) return result ; current = current . getSuperclass ( ) ; } throw PojoLogger . ROOT_LOGGER . methodNotFound ( name , Arrays . toString ( paramTypes ) , classInfo . getName ( ) ) ; }
Find method info

@param index      the deployment reflection index
@param classInfo  the class info
@param name       the method name
@param paramTypes the parameter types
@param isStatic   must the method be static
@param isPublic   must the method be public
@param strict     is strict about method modifiers
@return the method info
@throws IllegalArgumentException when no such method
Find method info