Bad implementation of WidgetHandler.setFocus

Look at the first condition which is

if (w instanceof Control) {
  ((Control)w).setFocus();
} else if ...                

this condition is almost always satisfied since lots of widgets extend this class. For exmaple, that's why the shell activation is not working, the code is never called