Thanks for your response Jamesh.
With the first two points you made, you say that (in both anonymous and non-anonymous Runnables)it would be useful to look at the call hierarchy of the Runnable's constructor - yes, I agree! This is usually what I end up doing. But it usually means frequent switching between the two hierarchies, only one of which can be shown at a time. I would like to avoid this by retaining one hierarchy.
There is no direct call hierarchy between the Runnable constructor and the call to run(), so it seems to me that it would be inappropriate to extend the call hierarchy by adding the constructor as a "caller" of run(). However, calls to start() or to add the thread to an Executor (or perhaps run() calls within the executor) might be appropriate to show in the call hierarchy.
I really was just wondering if there was an existing solution to this which I was unable to find. I guess I'll just have to make an attempt at a plugin myself if I want it enough.
I tried out the implementors plugin. It is useful, but not for this particular problem!
I also tried out nWire. It has a lot of features which I haven't had time to explore fully, but I couldn't find a way to do what I'm looking for here.