public virtual void WireTo(Wire w)
        {
            //At the tronic level, we have to check one thing to make sure the wiring is valid:
            //If the wiring on my side involves one of my DataIn, DataOut or FlowOut nodes, I need to make sure that node isn't already wired

            CheckWiringCompat(w);

            this.WiredTo.Add(w);
            w.GetOtherSide(this).HalfWireTo(w);
        }
        public virtual void RemoveWire(Wire w)
        {
            this.WiredTo.Remove(w);

            N8Tronic other = w.GetOtherSide(this);

            other.WiredTo.Remove(w);
        }