code: @Override
      protected void doPaint(Graphics2D g, JComponent c, int width, int height, Object[] extendedCacheKeys) {
          switch (state) {
  
          case ICON_ENABLED:
          case ICON_DISABLED:
          case ICON_ENABLED_WINDOWNOTFOCUSED:
              paintEnabled(g, c, width, height);
              break;
  
          case ICON_MOUSEOVER:
          case ICON_MOUSEOVER_WINDOWNOTFOCUSED:
              paintHover(g, c, width, height);
              break;
  
          case ICON_PRESSED:
          case ICON_PRESSED_WINDOWNOTFOCUSED:
              paintPressed(g, c, width, height);
              break;
          }
      }
docs: {@inheritDoc}