code: @SuppressWarnings("unchecked")
    protected Class<T> getParameterizedType() {
      Class<T> clazz = (Class<T>) ((ParameterizedType) this.getClass().getGenericSuperclass())
          .getActualTypeArguments()[0];
      return clazz;
    }
docs: TODO: test this
  
  @return