////////////////////////////////////////////////////////////////////////////////////////////////
        /*--------------------------------------------------------------------------------------------*/
        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>());
 }