javac should not allow 'final' as a modifier of a receiver parameter. javac should allow only 'this' or 'Foo.this' as the name of a receiver parameter. See the mails: - http://mail.openjdk.java.net/pipermail/type-annotations-dev/2013-October/001386.html - http://mail.openjdk.java.net/pipermail/type-annotations-dev/2013-October/001387.html