It led to needing to do type casts in the implementation, which seem wrong.  It went something like:
```java
public <T> T create(T entity) {

  Response response = request.post();

  handleResponse(response, (Class<T>)entity.getClass());   //<------ this seems wrong
}
private T handleResponse(Response response, Class<T> type) {
  return new ObjectMapper().readValue((String)jsonString,(Class<T>)type); //<--- also seems wrong to cast here
}
```
Also, In generics, as I understand it there's no access to what the current type is at runtime.  So to pass a type to Jackson to create create the object, I needed access to the actual class - or do the cast.  The point of generics is to avoid the need to do that kind of thing though... at least I thought.