public void paintContext(Graphics g, WidgetAdapter rootAdapter) {
List<Component> selected = rootAdapter.getSelection();
if (selected != null && !selected.isEmpty()) {
List<AbstractButton> buttons = new ArrayList<AbstractButton>();
for (Component comp : selected) {
WidgetAdapter adapter = WidgetAdapter.getWidgetAdapter(comp);
if (comp instanceof AbstractButton) {
IAdapter parent = adapter.getParent();
if (parent instanceof ButtonGroupAdapter) {
ButtonGroupAdapter parentAdapter = (ButtonGroupAdapter) parent;
ButtonGroup bg = parentAdapter.getButtonGroup();
Enumeration<AbstractButton> elements = bg.getElements();
while (elements.hasMoreElements()) {
AbstractButton ab = elements.nextElement();
if (!buttons.contains(ab)) {
buttons.add(ab);
}
}
}
}
}
if (!buttons.isEmpty()) {
for (AbstractButton aButton : buttons) {
WidgetAdapter bAdapter = WidgetAdapter
.getWidgetAdapter(aButton);
Point p = bAdapter.convertToGlobal(new Point(0, 0));
Rectangle rect = aButton.getBounds();
rect.x = p.x;
rect.y = p.y;
int ih = BUTTON_GROUP_AWT_ICON_IMAGE.getHeight(DUMMY);
g.drawImage(BUTTON_GROUP_AWT_ICON_IMAGE, rect.x