public void Add(SerialPort port, object tag) { if (port == null) return; lock (this) { if (port.IsOpen) _pluggedPorts.Add(new Tuple<SerialPort, object>(port, tag)); else _unpluggedPorts.Add(new Tuple<SerialPort, object>(port, tag)); } }