There's been a grammar bug in PMD for a while; it wouldn't parse non-static initializers that started with a reference to a field, i.e.:
This is fairly bizarre code, but it's certainly valid Java, and PMD was erroring out on it. Here's the fix:
Instead of blindly looking ahead three tokens, JavaCC's syntactic lookahead lets us look for several specific tokens and choose the parser action based on those. Fun stuff!
Using JavaCC? Get the book - Generating Parsers With JavaCC!