void render()
    {
        if (roundNodes.Count == 0)
        {
            return;
        }
        if (selectedRound >= roundNodes.Count || selectedRound < 0)
        {
            Debug.LogWarning("Telemetry: Selected round is invalid");
            return;
        }

        foreach (var node in roundNodes[selectedRound])
        {
            Vector3 position = positionVectorFromNode(node);
            string  nodeType = node["Type"].Value <string> ();
            int     nodeID   = node["ID"].Value <int> ();

            GameObject instantiatedNode = instantiateNode(nodeType, nodeID, position);
            instantiatedNode.transform.SetParent(nodesBag.transform);

            Telemetry_NodeInfoHolder tooltip = instantiatedNode.GetComponent <Telemetry_NodeInfoHolder> ();
            tooltip.setInfo(node);

            int linkId = node["Link"].Value <int> ();
            if (linkId != -1)
            {
                //Renders link line between two nodes
                LineRenderer lineRenderer    = instantiatedNode.GetComponent <LineRenderer> ();
                Vector3      linkPosition    = positionVectorFromNode(roundNodes[selectedRound][linkId]);
                Vector3[]    positionsToLink = { position, linkPosition };
                lineRenderer.SetPositions(positionsToLink);
            }
        }
    }
    void OnSceneMouseOver(SceneView view)
    {
        RaycastHit hit;
        Ray        ray = HandleUtility.GUIPointToWorldRay(Event.current.mousePosition);

        if (Physics.Raycast(ray, out hit))
        {
            Debug.Log("hitu");
            if (hit.transform.tag.Equals(telemetryNodeTag))
            {
                currentTooltipHandler = hit.transform.GetComponent <Telemetry_NodeInfoHolder>();
                JToken nodeInfo = currentTooltipHandler.getInfo();
                nodeInfoWindow.setInfo(nodeInfo);
            }
        }
    }