I think this is the right direction, but there seem to be other bits of code that at least need some checking. Anything that calls run() expecting a boolean needs to be checked. Quite a few plugin build and pull methods call run(), so these either need to stop expecting to return boolean or need to massage the exception into a boolean return. The code would likely be a lot easier to read when you're finished though ...
I think this is the right direction, but there seem to be other bits of code that at least need some checking. Anything that calls run() expecting a boolean needs to be checked. Quite a few plugin build and pull methods call run(), so these either need to stop expecting to return boolean or need to massage the exception into a boolean return. The code would likely be a lot easier to read when you're finished though ...