code: public final Iterable<ObjectType> getAllImplementedInterfaces() {
      // Store them in a linked hash set, so that the compile job is
      // deterministic.
      Set<ObjectType> interfaces = new LinkedHashSet<>();
  
      for (ObjectType type : getImplementedInterfaces()) {
        addRelatedInterfaces(type, interfaces);
      }
      return interfaces;
    }
docs: Returns all interfaces implemented by a class or its superclass and any superclasses for any of
  those interfaces. If this is called before all types are resolved, it may return an incomplete
  set.