docs: public ClassInfoList getAssignableTo(final ClassInfo superclassOrInterface) {
          if (superclassOrInterface == null) {
              throw new IllegalArgumentException("assignableToClass parameter cannot be null");
          }
          // Get subclasses and implementing classes for assignableFromClass
          final Set<ClassInfo> allAssignableFromClasses = new HashSet<>();
          if (superclassOrInterface.isStandardClass()) {
              allAssignableFromClasses.addAll(superclassOrInterface.getSubclasses());
          } else if (superclassOrInterface.isInterfaceOrAnnotation()) {
              allAssignableFromClasses.addAll(superclassOrInterface.getClassesImplementing());
          }
          // A class is its own superclass or interface
          allAssignableFromClasses.add(superclassOrInterface);
  
          return filter(new ClassInfoFilter() {
              @Override
              public boolean accept(final ClassInfo ci) {
                  return allAssignableFromClasses.contains(ci);
              }
          });
      }