Extention method for a Page control - error
<p>I've written a small extention method for a page control, to recursively search for a control. But I get the "Object reference not set to an instance of an object" exception.</p>

<p>And it seems page.Controls only has 1 control and on this control I et this exception.</p>

<p>Anyone has any idea?</p>

<p>Here is the code:</p>

<pre><code>public static Control FindControlRecursive(this Page page, string id)
        {
            return Execute(page, id);
        }

 private static Control Execute(Control root, string id)
        {
            if (root.ID.Equals(id))
                return root;
              ControlCollection  controls = root.Controls;

            foreach (Control ctrl in controls)
            {
                Control FoundControl = Execute(ctrl, id);
                if (FoundControl != null)
                    return FoundControl;
            }
            return null;
        }
    }
</code></pre>

<p><strong>Update</strong>
Now I have another error:
Error occured: Index was out of range. Must be non-negative and less than the size of the collection.  Parameter name: index ...</p>

<p>But this one throws somewhere in middle of the looping.</p>
