private static void Browse( this ISpatialBinding me, IList<IWindowElement> visited )
{
if( !visited.Contains( me.Window ) )
{
visited.Add( me.Window );
if( me.Top != null ) Browse( me.Top, visited );
if( me.Left != null ) Browse( me.Left, visited );
if( me.Bottom != null ) Browse( me.Bottom, visited );
if( me.Right != null ) Browse( me.Right, visited );
}
}