protected Type resolve() {

    Type superType = getClass().getGenericSuperclass();
    assert (superType instanceof ParameterizedType);
    return ((ParameterizedType) superType).getActualTypeArguments()[0];
  }
protected Type resolve ( ) { Type superType = getClass ( ) . getGenericSuperclass ( ) ; assert ( superType instanceof ParameterizedType ) ; return ( ( ParameterizedType ) superType ) . getActualTypeArguments ( ) [ 0 ] ; }
@return the {@link Type} of the generic {@literal <T>}.