/* Check Cached version first */
if (fgCachedOSTheme != null)
return fgCachedOSTheme;
RGB widgetBackground = display.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND).getRGB();
RGB listSelection = display.getSystemColor(SWT.COLOR_LIST_SELECTION).getRGB();
/* Theme: Windows Blue */
if (widgetBackground.equals(new RGB(236, 233, 216)) && listSelection.equals(new RGB(49, 106, 197)))
fgCachedOSTheme = OSTheme.WINDOWS_BLUE;
/* Theme: Windows Classic */
else if (widgetBackground.equals(new RGB(212, 208, 200)) && listSelection.equals(new RGB(10, 36, 106)))
fgCachedOSTheme = OSTheme.WINDOWS_CLASSIC;
/* Theme: Windows Silver */
else if (widgetBackground.equals(new RGB(224, 223, 227)) && listSelection.equals(new RGB(178, 180, 191)))
fgCachedOSTheme = OSTheme.WINDOWS_SILVER;
/* Theme: Windows Olive */
else if (widgetBackground.equals(new RGB(236, 233, 216)) && listSelection.equals(new RGB(147, 160, 112)))
fgCachedOSTheme = OSTheme.WINDOWS_OLIVE;
/* Any other Theme */
else
fgCachedOSTheme = OSTheme.OTHER;