private void NodeSelectionChangedHander(Node selectedNodeOrNull)
        {
            if (selectedNodeOrNull == null)
            {
                _highlightSelectionRenderer.enabled = false;
                return;
            }

            var boundsWithContext = selectedNodeOrNull.CollectBoundsWithContext().ToArray();

            _highlightSelectionRenderer.GetComponent <MeshFilter>().mesh = GenerateMeshFromBounds.GenerateMesh(boundsWithContext);
            _highlightSelectionRenderer.enabled = true;
        }
        private void OnNodeHoverHandler(ISelectable obj)
        {
            if (!(obj is Node))
            {
                return;
            }
            _hoverLabel.gameObject.SetActive(true);
            _highlightHoverRenderer.enabled = true;
            var hoveredNode = obj as Node;

            _hoverLabel.text = hoveredNode.Name;
            var boundsWithContext = hoveredNode.CollectBoundsWithContext().ToArray();

            _highlightHoverRenderer.GetComponent <MeshFilter>().mesh = GenerateMeshFromBounds.GenerateMesh(boundsWithContext);
        }