private Icon getIconToPaint() {
if (this.menuItem == null)
return null;
TransitionAwareUI transitionAwareUI = (TransitionAwareUI) this.menuItem
.getUI();
StateTransitionTracker stateTransitionTracker = transitionAwareUI
.getTransitionTracker();
StateTransitionTracker.ModelStateInfo modelStateInfo = stateTransitionTracker
.getModelStateInfo();
Map<ComponentState, StateTransitionTracker.StateContributionInfo> activeStates = modelStateInfo
.getStateContributionMap();
int fontSize = SubstanceSizeUtils.getComponentFontSize(this.menuItem);
int checkMarkSize = this.size;
SubstanceFillPainter fillPainter = SubstanceCoreUtilities
.getFillPainter(this.menuItem);
SubstanceBorderPainter borderPainter = SubstanceCoreUtilities
.getBorderPainter(this.menuItem);
ComponentState currState = modelStateInfo.getCurrModelState();
SubstanceColorScheme baseFillColorScheme = SubstanceColorSchemeUtilities
.getColorScheme(this.menuItem, ColorSchemeAssociationKind.FILL,
currState);
SubstanceColorScheme baseMarkColorScheme = SubstanceColorSchemeUtilities
.getColorScheme(this.menuItem, ColorSchemeAssociationKind.MARK,
currState);
SubstanceColorScheme baseBorderColorScheme = SubstanceColorSchemeUtilities
.getColorScheme(this.menuItem,
ColorSchemeAssociationKind.BORDER, currState);
float visibility = stateTransitionTracker
.getFacetStrength(ComponentStateFacet.SELECTION);
HashMapKey keyBase = SubstanceCoreUtilities.getHashKey(fontSize,
checkMarkSize, fillPainter.getDisplayName(), borderPainter
.getDisplayName(),