I'm not sure there is anything to do about it, but I think making these exceptions be undeclared is unfortunate.

Could you do something like ```public <P, R, T> R accept(...) throws T {}``` or some variant of that.