It isn't really a fix, but in these situations what I've been
doing in my code is just writing:
// don't use this
/* private */ final public void foo() {}
final makes sure it doesn't get overridden wrongly, and then the
comments make my intention a little more clear.