docs: public static void getAllInterfaces(Class<?> classObject, ArrayList<Type> interfaces) {
          Type[] superInterfaces = classObject.getGenericInterfaces();
          interfaces.addAll((Arrays.asList(superInterfaces)));
  
          // for cases where the extended class is defined with a Generic.
          Type tgs = classObject.getGenericSuperclass();
          if (tgs != null) {
              if ((tgs) instanceof ParameterizedType) {
                  interfaces.add(tgs);
              }
          }
  
          if (tc.isDebugEnabled()) {
              Tr.debug(tc, "updated interfaces to: " + interfaces);
          }
  
          Class<?> superClass = classObject.getSuperclass();
          if (superClass != null) {
              getAllInterfaces(superClass, interfaces);
          }
      }