core/src/main/java/org/trimou/engine/resolver/ReflectionResolver.java
static Method findMethod(Class<?> clazz, String name) {

        checkArgumentNotNull(clazz);
        checkArgumentNotNull(name);

        Method foundMatch = null;
        Method foundGetMatch = null;
        Method foundIsMatch = null;

        for (Method method : SecurityActions.getMethods(clazz)) {

            if (!isMethodValid(method)) {
                continue;
            }

            if (method.isBridge()) {
                LOGGER.debug("Skipping bridge method {}", method);
                continue;
            }

            if (name.equals(method.getName())) {
                foundMatch = method;
            } else if (Reflections.matchesPrefix(name, method.getName(),
                    GET_PREFIX)) {
                foundGetMatch = method;
            } else if (Reflections.matchesPrefix(name, method.getName(),
                    IS_PREFIX)) {
                foundIsMatch = method;
            }
        }

        if (foundMatch == null) {
            foundMatch = (foundGetMatch != null ? foundGetMatch : foundIsMatch);
        }

        LOGGER.debug("Method for [{}] {}found on type {}: {}", name, foundMatch != null ? "" : "not ", clazz.getName(),
                foundMatch);
        return foundMatch;
    }
static Method findMethod(Class<?> clazz, String name) {

        checkArgumentNotNull(clazz);
        checkArgumentNotNull(name);

        Method foundMatch = null;
        Method foundGetMatch = null;
        Method foundIsMatch = null;

        for (Method method : SecurityActions.getMethods(clazz)) {

            if (!isMethodValid(method)) {
                continue;
            }

            if (method.isBridge()) {
                LOGGER.debug("Skipping bridge method {}", method);
                continue;
            }

            if (name.equals(method.getName())) {
                foundMatch = method;
            } else if (Reflections.matchesPrefix(name, method.getName(),
                    GET_PREFIX)) {
                foundGetMatch = method;
            } else if (Reflections.matchesPrefix(name, method.getName(),
                    IS_PREFIX)) {
                foundIsMatch = method;
            }
        }

        if (foundMatch == null) {
            foundMatch = (foundGetMatch != null ? foundGetMatch : foundIsMatch);
        }

        LOGGER.debug("Method for [{}] {}found on type {}: {}", name, foundMatch != null ? "" : "not ", clazz.getName(),
                foundMatch);
        return foundMatch;
    }
First tries to find a valid method with the same name, afterwards method
following JavaBean naming convention (the method starts with
<b>get/is</b> prefix).

@param clazz
@param name
@return the found method or <code>null</code>