@Override
public final boolean renderUnto(final Renderer renderer) {
final boolean isOpen = !canvas.isClosing();
if (isOpen) {// draws the root and all its children
renderer.draw(root);
// executes all update tasks queued by the controllers
GameTaskQueueManager.getManager(canvas.getCanvasRenderer().getRenderContext())
.getQueue(GameTaskQueue.UPDATE).execute(renderer);
// executes all rendering tasks queued by the controllers
GameTaskQueueManager.getManager(canvas.getCanvasRenderer().getRenderContext())
.getQueue(GameTaskQueue.RENDER).execute(renderer);
}
return (isOpen);
}