public virtual void Remove(UIElement element)
        {
            __UIElement        _element  = element;
            __FrameworkElement _felement = _element as __FrameworkElement;

            if (_felement == null)
            {
                throw new NotImplementedException();
            }

            if (_felement.InternalParent != this.InternalVisualParent)
            {
                return;
            }

            InternalSprite.removeChild(_element.InternalGetDisplayObject());

            InternalItems.Remove(element);

            _felement.InternalParent = null;
        }