public static void DrawWidgetsHierarchy(Widget rootWidget) { DrawContext drawContext = (m_drawContextsCache.Count > 0) ? m_drawContextsCache.Dequeue() : new DrawContext(); try { drawContext.DrawWidgetsHierarchy(rootWidget); } finally { m_drawContextsCache.Enqueue(drawContext); } }