public void RedirectEdge(FlNwNodeVisualization _to_node, bool _rerout_start, FlowNetwork _owner)
        {
            if (_to_node == null || _owner == null)
            {
                return;
            }

            // perform redirection in the data
            FlNetEdge edge_data = this.FN_Edge;
            FlNetNode node_data = _to_node.FN_Node;
            bool      success   = false;

            if (edge_data != null && node_data != null)
            {
                success = _owner.RedirectEdge(edge_data, _rerout_start, node_data);
            }

            // perform redirection in the visualizations
            if (success)
            {
                if (_rerout_start)
                {
                    this.StartVis = _to_node;
                }
                else
                {
                    this.EndVis = _to_node;
                }
            }
        }