public void RemoveJumper(long jumperLid)
        {
            MPJumper jumper = (MPJumper)internalModel.Temps[jumperLid];

            RemoveBranchFromModel(jumper);
            internalModel.LidManager.RemoveTemporaryIndex("MPTempJumper", jumperLid);
        }
        //public void UpdateCompositeSwitch(MPSwitchDevice switchDevice, EPhaseCode newState)
        //{
        //    switchDevice.State = newState;

        //    MPConnectivityBranch statebranch = (MPConnectivityBranch)internalModel.Branches[switchDevice.StateBranch];

        //    EPhaseCode removePhases = statebranch.OriginalPhases & ((~newState) & EPhaseCode.ABC);
        //    RemoveBranchFromModel(statebranch, removePhases);

        //    EPhaseCode addPhases = newState & ((~statebranch.OriginalPhases) & EPhaseCode.ABC);
        //    AddBranchToModel(statebranch, addPhases);
        //}

        #endregion

        #region Temporary Jumper
        public long AddJumper(long node1, long node2, EPhaseCode phaseCode)
        {
            long     jumperLid = internalModel.LidManager.FindFreeTemporaryIndex("MPTempJumper");
            MPJumper jumper    = new MPJumper(jumperLid, phaseCode, node1, node2);

            internalModel.Branches.Add(jumperLid, jumper);
            AddBranchToModel(jumper);

            return(jumperLid);
        }