code: @SuppressWarnings("unchecked")
    public T newInstance()
        throws NoSuchMethodException, IllegalAccessException, InvocationTargetException, InstantiationException {
      if (constructor_ == null) {
        constructor_ = getRawClass().getConstructor();
      }
  
      return (T)constructor_.newInstance();
    }
docs: Use the typeRef's parameter to create a new instance of the TypeRef's template parameter.
  @return a new instance of type T
  @throws NoSuchMethodException
  @throws IllegalAccessException
  @throws InvocationTargetException
  @throws InstantiationException