Separately we could open an issue to deal with this virtual problem? It just means our checker isn't as thorough as it is, but none of our checkers/tests are perfect.
Yes it is not as thorough for things like Throwable.printStackTrace(), but for the JVM's deprecated list, we should still catch almost all, as the deprecated list in the JVM is complete (it also should list subclasses - if method is overridded).
For the original checks we did at beginning (encoding, locale,... problems), this was also thorough enough, as we listed all calls that may be used. If a custom subclass in Lucene code would subclass this system class and modify a "forbidden method", the "super" call would trigger the violation report.
I think this is ready to commit, Robert can you check with Apache RAT installed?