////////////////////////////////////////////////////////////////////////////////////////////////
        /*--------------------------------------------------------------------------------------------*/
        private void DestroyRendererIfNecessary()
        {
            if (ClickToRebuildRenderer || CursorRendererPrefab != vPrevCursorPrefab)
            {
                vPrevCursorPrefab = CursorRendererPrefab;
                RendererUtil.DestroyRenderer(CursorRenderer);
                CursorRenderer = null;
            }

            ClickToRebuildRenderer = false;
        }
 /*--------------------------------------------------------------------------------------------*/
 public virtual void TreeUpdate()
 {
     DestroyRendererIfNecessary();
     CursorRenderer = (CursorRenderer ?? FindOrBuildCursor());
     UpdateRenderer(gameObject.GetComponent <HoverCursorFollower>());
 }