public ResolvableType getSuperType() {
        Class<?> resolveD = resolve();
        if (resolveD == null) {
            return NONE;
        }
        try {
            Type superclass = resolveD.getGenericSuperclass();
            if (superclass == null) {
                return NONE;
            }
            ResolvableType supertype = this.superType;
            if (supertype == null) {
                supertype = forType(superclass, this);
                this.superType = supertype;
            }
            return supertype;
        } catch (TypeNotPresentException ex) {
            // Ignore non-present types in generic signature
            return NONE;
        }
    }
Return a {link ResolvableType} representing the direct supertype of this type.
<p>If no supertype is available this method returns {link #NONE}.
<p>Note: The resulting {link ResolvableType} instance may not be {link Serializable}.

see #getInterfaces()
analyzer/src/main/java/nl/basjes/parse/useragent/utils/springframework/core/ResolvableType.java