public void AddChild(BrokerNode child)
 {
     Children[child.Name] = child;
     // TODO
     //if (child.accessible())
     //{
     //    childUpdate(child, false);
     //}
 }
 public BrokerNode(string name, BrokerNode parent, string profile)
 {
     if (string.IsNullOrEmpty(profile))
     {
         throw new ArgumentException("Profile must not be null or empty");
     }
     Profile = profile;
     if (parent == null)
     {
         Path = "";
     }
     else
     {
         if (string.IsNullOrEmpty(name))
         {
             throw new ArgumentException("Name must not be null or empty");
         }
         Parent = parent;
         Name   = name;
         Path   = Parent.Path + "/" + name;
     }
 }
 public BrokerNode(string name, BrokerNode parent)
     : this(name, parent, "node")
 {
 }
 public DownstreamNode(string name, BrokerNode parent)
     : base(name, parent, "node")
 {
 }