@Override
    public void setCursor(@Nullable Cursor cursor) {
      /* this method and the next one fixes cursor:
         BasicTableHeaderUI.MouseInputHandler behaves like nobody else sets cursor
         so we remember what it set last time and keep it unaffected by other cursor changes in the table
       */
      JTable table = getTable();
      if (table != null) {
        table.setCursor(UIUtil.cursorIfNotDefault(cursor));
        myCursor = cursor;
      }
      else {
        super.setCursor(cursor);
      }
    }
@Override
    public void setCursor(@Nullable Cursor cursor)