         if (rendererFactory)
             renderer = createRenderer(rendererFactory);
         
-        if (!renderer && (item is IVisualElement) && (item is DisplayObject))
+        if (!renderer && itemIsRenderer(item))
             renderer = IVisualElement(item);
         
         if (!renderer && failRTE)

    private function throwCreateRendererFailedError(item:Object):void
    {
        var err:String;
        if (item is IVisualElement || item is DisplayObject)
            err = resourceManager.getString("components", "cannotDisplayVisualElement");
        else
            err = resourceManager.getString("components", "unableToCreateRenderer", [item]);
        
        throw new Error(err);
    }          
    
    /**
     *  @private

            addedVirtualRenderer = true;
        }
        
        if (!renderer && itemIsRenderer(item))
        {
            renderer = IVisualElement(item);
            addedVirtualRenderer = true;            
