docs: public void free()
      {
          m_DBObject = null;
          while (m_listener != null)
          {
              this.removeListener(m_listener, true);    // free all the behaviors
          }
          if (m_vScreenField != null)
          {   // Remove all the screen fields
              while (!m_vScreenField.isEmpty())
              {
                  ScreenComponent sField = this.getComponent(0);
                  sField.free();      // Delete this screen field (will free this link).
              }
              m_vScreenField.removeAllElements();
              m_vScreenField = null;
          }
          super.free();
      }