code: @SuppressWarnings("unchecked")
      public <T> DynamicType.Builder<T> subclass(Class<T> superType) {
          return (DynamicType.Builder<T>) subclass(TypeDescription.ForLoadedType.of(superType));
      }
docs: <p>
  Creates a new builder for subclassing the provided type. If the provided type is an interface, a new class implementing
  this interface type is created.
  </p>
  <p>
  When extending a class, Byte Buddy imitates all visible constructors of the subclassed type. Any constructor is implemented
  to only invoke its super type constructor of equal signature. Another behavior can be specified by supplying an explicit
  {@link ConstructorStrategy} by {@link ByteBuddy#subclass(Class, ConstructorStrategy)}.
  </p>
  <p>
  <b>Note</b>: This methods implements the supplied types in a generified state if they declare type variables or an owner type.
  </p>
  <p>
  <b>Note</b>: Byte Buddy does not cache previous subclasses but will attempt the generation of a new subclass. For caching
  types, a external cache or {@link TypeCache} should be used.
  </p>
  
  @param superType The super class or interface type to extend.
  @param <T>       A loaded type that the generated class is guaranteed to inherit.
  @return A type builder for creating a new class extending the provided class or interface.