public virtual void TurnOffAllChildren() { m_childrenRWLock.AcquireReaderLock(Timeout.Infinite); try { foreach (RenderableObject ro in this.m_children) { ro.IsOn = false; if (ro is RenderableObjectList) { RenderableObjectList list = ro as RenderableObjectList; list.TurnOffAllChildren(); } } } finally { m_childrenRWLock.ReleaseReaderLock(); } }