docs: public void free()
      {
          if (m_record != null)
              if ((m_record.getOwner() == null) || (m_record.getOwner() == this))
                  m_record.free();    // This will release the remote session (if there is one).
          m_record = null;
      }