Patch Set 1: I would prefer that you didn't submit this

There is no (a)syncExec needed. The reason for the IAE is the missing if () before calling the refresh. This was there in my patch but the merge was done wrong. See bug 368526.