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();
     }
 }