public static Method getInheritedMethodByName(Class<?> aClass, String name, Class<?>[] parameterTypes) {
        Method inheritedMethod = null;

        for (Class<?> i = aClass; i != null && i != Object.class; i = i.getSuperclass()) {
            try {
                inheritedMethod = i.getMethod(name, parameterTypes);
                if (inheritedMethod != null) {
                    return inheritedMethod;
                }

            }
            catch (Exception ignore) {
                /* Ignore */
            }

        }

        return null;
    }