There is a couple of "returns" between here and `this.setRedrawSupression(false);` below, so we could end up stuck in suppressed redraw. I think we need to at least add an unblock before each return.

Might be a good idea to wrap the block in a try/catch too, in case something within throws an exception.