code: public void free()
      {
          m_dependentStateListener = null;    // This doesn't have to be managed since the dependent listener HAS to be in the same record.
          this.removeListener(false);   // remove it (But don't free it - duh)
          if (m_nextListener != null)
          {   // Never - just being careful
              m_nextListener.free();
              m_nextListener = null;
          }
      }
docs: Free this listener.