code: @Override
      protected void doPaint(Graphics2D g, JComponent c, int width, int height, Object[] extendedCacheKeys) {
          switch (state) {
  
          case BACKGROUND_MOUSEOVER:
              paintBackgroundMouseOver(g, c, width, height);
              break;
  
          case BACKGROUND_SELECTED_MOUSEOVER:
              paintBackgroundMouseOver(g, c, width, height);
              break;
  
          case CHECKICON_DISABLED_SELECTED:
              paintCheckIconDisabledAndSelected(g, width, height);
              break;
  
          case CHECKICON_ENABLED_SELECTED:
              paintCheckIconEnabledAndSelected(g, width, height);
              break;
  
          case CHECKICON_ENABLED:
              paintCheckIconEnabled(g, width, height);
              break;
  
          case CHECKICON_ENABLED_MOUSEOVER:
              paintCheckIconEnabledAndMouseOver(g, width, height);
              break;
              
          case CHECKICON_SELECTED_MOUSEOVER:
              paintCheckIconSelectedAndMouseOver(g, width, height);
              break;
  
          }
      }
docs: {@inheritDoc}