docs: public void free()
      {
          try {
              this.updateIfNewRow(-1);    // Update any locked record.
          } catch (DBException ex)    {
              ex.printStackTrace();
          }
          if (m_modelListeners != null)
          {
              for (ThinTableModelListener thinTableModelListener : m_modelListeners)
              {
                  thinTableModelListener.m_table.getSelectionModel().removeListSelectionListener(thinTableModelListener);
              }
              m_modelListeners = null;
          }
          super.free();
      }