public ProxyDeviceFactory(CpGateKeeper home, UPnPDevice D, OnDeviceHandler Callback)
        {
            OpenSource.Utilities.InstanceTracker.Add(this);
            HOME      = home;
            OnDevice += Callback;
            _D        = D;

            foreach (UPnPDevice ed in D.EmbeddedDevices)
            {
                ProcessEmbeddedDevice(ed, false);
            }
            ProcessServices(D, false);

            foreach (UPnPDevice ed in D.EmbeddedDevices)
            {
                ProcessEmbeddedDevice(ed, true);
            }
            ProcessServices(D, true);
        }
        public ProxyDeviceFactory(CpGateKeeper home, UPnPDevice D, OnDeviceHandler Callback)
        {
            OpenSource.Utilities.InstanceTracker.Add(this);
            HOME = home;
            OnDevice += Callback;
            _D = D;

            foreach(UPnPDevice ed in D.EmbeddedDevices)
            {
                ProcessEmbeddedDevice(ed,false);
            }
            ProcessServices(D,false);

            foreach(UPnPDevice ed in D.EmbeddedDevices)
            {
                ProcessEmbeddedDevice(ed,true);
            }
            ProcessServices(D,true);
        }