protected override void Dispose(bool disposing) { Contract.Assert(m_source != null); m_source.Dispose(); } }