public final TypeToken<T> unwrap() {
    if (isWrapper()) {
      @SuppressWarnings("unchecked") // this is a wrapper class
      Class<T> type = (Class<T>) runtimeType;
      return of(Primitives.unwrap(type));
    }
    return this;
  }
public final TypeToken<T> unwrap() {
    if (isWrapper()) {
      @SuppressWarnings("unchecked") 
      Class<T> type = (Class<T>) runtimeType;
      return of(Primitives.unwrap(type));
    }
    return this;
  }
public final TypeToken < T > unwrap ( ) { if ( isWrapper ( ) ) { @ SuppressWarnings ( "unchecked" ) // this is a wrapper class Class < T > type = ( Class < T > ) runtimeType ; return of ( Primitives . unwrap ( type ) ) ; } return this ; }
Returns the corresponding primitive type if this is a wrapper type; otherwise returns {@code
this} itself. Idempotent.

@since 15.0
Returns the corresponding primitive type if this is a wrapper type ; otherwise returns { @code this } itself . Idempotent .