code: public static Method[] collectMethods(Class<?> clazz, String name, int include, int exclude) {
          final List<Method> result = new ArrayList<>();
          collectMethods(result, new ArrayList<Class<?>[]>(), new HashSet<Class<?>>(), clazz, name, include, exclude);
          return result.toArray(new Method[result.size()]);
      }
docs: Collects methods of {@code clazz} with the given {@code name}.
  Methods are included if their modifier bits match each bit of {@code include}
  and no bit of {@code exclude}.
  @param clazz
  @param name
  @param include
  @param exclude
  @return methods