@ SuppressWarnings ( "unchecked" ) @ Override @ Nullable public < T > TypeAdapter < T > create ( Gson gson , TypeToken < T > type ) { if ( ID_TYPE_TOKEN . equals ( type ) ) { return ( TypeAdapter < T > ) WRAPPED_ID_ADAPTER ; } if ( TIME_INSTANT_TYPE_TOKEN . equals ( type ) ) { return ( TypeAdapter < T > ) WRAPPED_TIME_INSTANT_ADAPTER ; } if ( BINARY_TYPE_TOKEN . equals ( type ) ) { return ( TypeAdapter < T > ) WRAPPED_BINARY_ADAPTER ; } if ( PATTERN_TYPE_TOKEN . equals ( type ) ) { return ( TypeAdapter < T > ) PATTERN_ADAPTER ; } if ( DECIMAL128_TYPE_TOKEN . equals ( type ) ) { return ( TypeAdapter < T > ) DECIMAL128_ADAPTER ; } return null ; }
safe unchecked typecheck performed by type token equality