private int calculateHashCode() {
        int hashCode = ObjectUtils.nullSafeHashCode(this.type);
        if (this.typeProvider != null) {
            hashCode = 31 * hashCode + ObjectUtils.nullSafeHashCode(this.typeProvider.getType());
        }
        if (this.variableResolver != null) {
            hashCode = 31 * hashCode + ObjectUtils.nullSafeHashCode(this.variableResolver.getSource());
        }
        if (this.componentType != null) {
            hashCode = 31 * hashCode + ObjectUtils.nullSafeHashCode(this.componentType);
        }
        return hashCode;
    }
Resolve this type by a single level, returning the resolved value or {link #NONE}.
<p>Note: The returned {link ResolvableType} should only be used as an intermediary
as it cannot be serialized.
analyzer/src/main/java/nl/basjes/parse/useragent/utils/springframework/core/ResolvableType.java