docs: public boolean selectionChanged(Object source, int iStartRow, int iEndRow, int iSelectType)
      {
          int iOldSelection = m_iSelectedRow;
          if (m_iSelectedRow == iEndRow)
              m_iSelectedRow = iStartRow;
          else
              m_iSelectedRow = iEndRow;
          
          if (source instanceof JTable)
              m_iSelectedRow = ((JTable)source).getSelectedRow();
          
          try {
              this.updateIfNewRow(m_iSelectedRow);
          } catch (Exception ex)  {
              if (!(source instanceof Component))
                  source = null;  // Never
              if (!this.displayError(ex, (Component)source))
                  ex.printStackTrace();
          }
          return (iOldSelection != m_iSelectedRow);
      }