code: @Override
      protected void doPaint(Graphics2D g, JComponent c, int width, int height, Object[] extendedCacheKeys) {
          switch (state) {
  
          case BACKGROUND_DISABLED:
          case BACKGROUND_ENABLED:
          case BACKGROUND_PRESSED:
          case BACKGROUND_SELECTED:
              paintButton(g, c, width, height);
              break;
  
          case FOREGROUND_ENABLED:
          case FOREGROUND_DISABLED:
          case FOREGROUND_PRESSED:
          case FOREGROUND_SELECTED:
              paintArrows(g, c, width, height);
              break;
  
          case FOREGROUND_ENABLED_EDITABLE:
          case FOREGROUND_DISABLED_EDITABLE:
              paintArrowDown(g, c, width, height);
              break;
          }
      }
docs: {@inheritDoc}