@SuppressWarnings({"RawUseOfParameterizedType"})
  public static Class[] getAllInterfaces(Class<?> clazz) {
    Set<Class<?>> set = new HashSet<>();
    do {
      ContainerUtil.addAll(set, clazz.getInterfaces());
      clazz = clazz.getSuperclass();
    } while (clazz != null);
    return set.toArray(ArrayUtil.EMPTY_CLASS_ARRAY);
  }
@SuppressWarnings({"RawUseOfParameterizedType"})
  public static Class[] getAllInterfaces(Class<?> clazz)