/** * Return a {@link ResolvableType} representing the direct supertype of this type. If no supertype * is available this method returns {@link #NONE}. * * @see #getInterfaces() */ public ResolvableType getSuperType() { Class<?> resolved = resolve(); if (resolved == null || resolved.getGenericSuperclass() == null) { return NONE; } ResolvableType superType = this.superType; if (superType == null) { superType = forType(SerializableTypeWrapper.forGenericSuperclass(resolved), asVariableResolver()); this.superType = superType; } return superType; }