private string generateHttpResNode()
        {
            var node = new NRNode(type: "http response");

            node.WriteTo(_writer);
            return(node.Id);
        }
        private string generateCopyOfFlow(JArray flow, string nidIn, string nidOut, string nidTopic)
        {
            var nidInNew = "";
            var changes  = new Dictionary <string, string>();

            foreach (var node in flow)
            {
                var nidOld = (string)node["id"];
                var nidNew = NRNode.GenerateId();
                if (nidIn.Equals(nidOld))
                {
                    nidInNew = nidNew;
                }
                if (nidOut.Equals(nidOld))
                {
                    NRNode.Wire((JObject)node, nidTopic);
                }
                changes[nidOld] = nidNew;
                node["id"]      = nidNew;
            }
            changes[nidTopic] = nidTopic;
            foreach (var node in flow)
            {
                node["wires"] = new JArray(
                    from wireGroup in node["wires"]
                    select new JArray(
                        from nid in wireGroup
                        select changes[(string)nid]
                        )
                    );
                node.WriteTo(_writer);
            }
            Debug.Assert(nidInNew != null, "nidInNew != null");
            return(nidInNew);
        }
 public void Wire(NRNode node, int outputIdx = 0)
 {
     Wire(node.Id, outputIdx);
 }