In the DashboardUpdatedEvent handler method, after running some time, the clock widget instance got by webDashboardFrame will have different classloader with the ClockWidget define. So the wb instanceof ClockWidget will be false. See following image :
Currently , i have no more detail about this issue. This issue occurred twice in my two computers,so i reported it.
But i think that this issue can be lay aside till i found more clues, in most cases it works fine.