protected virtual void Dispose(bool disposing)
        {
            System.Diagnostics.Debug.WriteLineIf(!disposing, "****** Missing Dispose() call for " + GetType().Name + ". ****** ");
            if (!IsDisposed)
            {
                if (disposing)
                {
                    if (m_mediator != null)
                    {
                        m_mediator.RemoveColleague(m_window);
                    }


                    if (m_window != null && !m_window.IsDisposed)
                    {
                        m_window.Dispose();
                    }
                    m_window = null;

                    if (m_mediator != null && !m_mediator.IsDisposed)
                    {
                        m_mediator.Dispose();
                    }
                    m_mediator = null;

                    if (m_allReversalEntriesRecordList != null && !m_allReversalEntriesRecordList.IsDisposed)
                    {
                        m_allReversalEntriesRecordList.Dispose();
                    }
                    m_allReversalEntriesRecordList = null;
                }
                IsDisposed = true;
            }
        }
        public void AllReversalIndexes_Init_Test()
        {
            const string reversalIndexClerk = @"
<recordList owner='ReversalIndex' property='AllEntries'>
	<dynamicloaderinfo assemblyPath='LexEdDll.dll' class='SIL.FieldWorks.XWorks.LexEd.AllReversalEntriesRecordList' />
</recordList>";
            XmlDocument  doc = new XmlDocument();

            doc.LoadXml(reversalIndexClerk);
            XmlNode newNode = doc.DocumentElement;

            using (var list = new AllReversalEntriesRecordList())
            {
                list.Init(Cache, m_mediator, newNode);

                Assert.IsNull(list.OwningObject,
                              "When AllReversalEntriesRecordList is called and the Clerk is null then the OwningObject should not be set, i.e. left as Null");
            }
        }