private static Popup DefaultFindOrCreatePopupFor(UIElement target)
        {
            var targetName = target.GetName();

            if (string.IsNullOrEmpty(targetName))
            {
                var popup = new Popup();

#if !SILVERLIGHT
                popup.PlacementTarget = target;
#endif

                return popup;
            }

            var popupName = DeterminePopupName(targetName);
            return target.FindName(popupName) as Popup;
        }