public DynamicType.Builder<?> makeInterface(Collection<? extends TypeDefinition> interfaceTypes) {
        return subclass(Object.class, ConstructorStrategy.Default.NO_CONSTRUCTORS).implement(interfaceTypes).modifiers(TypeManifestation.INTERFACE, Visibility.PUBLIC);
    }
public DynamicType . Builder < ? > makeInterface ( Collection < ? extends TypeDefinition > interfaceTypes ) { return subclass ( Object . class , ConstructorStrategy . Default . NO_CONSTRUCTORS ) . implement ( interfaceTypes ) . modifiers ( TypeManifestation . INTERFACE , Visibility . PUBLIC ) ; }
<p>
Creates a new interface type that extends the provided interface.
</p>
<p>
<b>Note</b>: This methods implements the supplied types <i>as is</i>, i.e. any {@link TypeDescription} values are implemented
as raw types 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 interfaceTypes The interface types to implement. The types must be raw or parameterized types. All
type variables that are referenced by a parameterized type must be declared by the
generated subclass before creating the type.
@return A type builder that creates a new interface type.