Yes, but I would go for 
<pre>
T visit(Claim claim)
</pre>
(it is common to use letters for generic types to avoid confusion with actual class names).
Also, better leave away the generic Exception throwing. It is generally considered bad style to declare "throws Exception". Looking at the code, I think all exceptions you need can be RuntimeExceptions (which are not checked, so you don't have to declare them). The IllegalArgumentExceptions are already fine in this respect. The JSONExceptions need changing, but since you only use them for reporting unknown entity types found in JSON, it would be acceptable to throw a RuntimeException there instead.