code: public ClassInfoList getInterfaces() {
          // Classes also implement the interfaces of their superclasses
          final ReachableAndDirectlyRelatedClasses implementedInterfaces = this
                  .filterClassInfo(RelType.IMPLEMENTED_INTERFACES, /* strictWhitelist = */ false);
          final Set<ClassInfo> allInterfaces = new LinkedHashSet<>(implementedInterfaces.reachableClasses);
          for (final ClassInfo superclass : this.filterClassInfo(RelType.SUPERCLASSES,
                  /* strictWhitelist = */ false).reachableClasses) {
              final Set<ClassInfo> superclassImplementedInterfaces = superclass.filterClassInfo(
                      RelType.IMPLEMENTED_INTERFACES, /* strictWhitelist = */ false).reachableClasses;
              allInterfaces.addAll(superclassImplementedInterfaces);
          }
          return new ClassInfoList(allInterfaces, implementedInterfaces.directlyRelatedClasses,
                  /* sortByName = */ true);
      }
docs: Get the interfaces implemented by this class or by one of its superclasses, if this is a standard class, or
  the superinterfaces extended by this interface, if this is an interface.
  
  @return The list of interfaces implemented by this class or by one of its superclasses, if this is a standard
  class, or the superinterfaces extended by this interface, if this is an interface. Returns the empty
  list if none.