I have an abstract class A, implementing Runnable. A does the following in the run() method (shortened):
final public