private List<MethodRule> getRulesAnnotation(Class<?> clazz) { List<Rules> annotations = reflectionUtil.findAllInherited(clazz, Rules.class); List<MethodRule> rules = new ArrayList<MethodRule>(); for (Rules annotation : annotations) { for (Class<? extends MethodRule> c : annotation.value()) { try { rules.add(c.newInstance()); } catch (InstantiationException e) { throw new RuntimeException(e); } catch (IllegalAccessException e) { throw new RuntimeException(e); } } } return rules; }