public virtual bool VisitArrayCell( int cellIndex ) { try { _path.Add( new Parent( null, cellIndex ) ); return Visit(); } finally { _path.RemoveAt( _path.Count - 1 ); } }