protected internal bool RequestRemoveConnection(Part part1, Part part2, bool rebuildVessel = true)
        {
            bool        modified   = false;
            ConnectPair CPtoRemove = new ConnectPair(part1, part2);

            if (requestedConnections.Contains(CPtoRemove))
            {
                requestedConnections.Remove(CPtoRemove);
                modified = true;
            }
            else if (requestedConnections.Contains(CPtoRemove.Other()))
            {
                requestedConnections.Remove(CPtoRemove.Other());
                modified = true;
            }
            if (modified && rebuildVessel)
            {
                if (HighLogic.LoadedSceneIsEditor)
                {
                    UpdateShipConstruct();
                }
                else
                {
                    part1.vessel.GetComponent <CLSVesselModule>().MarkDirty();
                }
            }
            return(modified);
        }
        protected internal bool RequestAddConnection(Part part1, Part part2, bool rebuildVessel = true)
        {
            ConnectPair connectPair = new ConnectPair(part1, part2);

            if (requestedConnections.Contains(connectPair) || requestedConnections.Contains(connectPair.Other()))
            {
                return(false);
            }
            requestedConnections.Add(connectPair);
            if (rebuildVessel)
            {
                if (HighLogic.LoadedSceneIsEditor)
                {
                    UpdateShipConstruct();
                }
                else
                {
                    part1.vessel.GetComponent <CLSVesselModule>().MarkDirty();
                }
            }
            return(true);
        }