private MacWidgetsPainter<Component> getBackgroundPainter() {
        MacWidgetsPainter<Component> retVal;

        boolean windowHasFocus = WindowUtils.isParentWindowFocused(fTable);
        boolean isColumnSelected = isColumnBeingPaintedSelected();
        boolean isColumnPressed = isColumnBeingPaintedPressed();

        // TODO cleanup this logic.
        if (!fTable.isEnabled()) {
            retVal = MacPainterFactory.createIAppUnpressedUnselectedHeaderPainter();
        } else if (windowHasFocus && isColumnPressed && isColumnSelected) {
            retVal = MacPainterFactory.createIAppPressedSelectedHeaderPainter();
        } else if (windowHasFocus && isColumnPressed) {
            retVal = MacPainterFactory.createIAppPressedUnselectedHeaderPainter();
        } else if (windowHasFocus && isColumnSelected) {
            retVal = MacPainterFactory.createIAppUnpressedSelectedHeaderPainter();
        } else {
            retVal = MacPainterFactory.createIAppUnpressedUnselectedHeaderPainter();
        }
        return retVal;
    }