bool SetPodPresenceSensorState(LPMSim.PodPresenceSensorState sensorState)
        {
            IBasicAction setSensorStateAction = lpmSimPart.CreateSetPPSensorState(sensorState);
            setSensorStateAction.Start();

            for (; ; )
            {
                if (setSensorStateAction.ActionState.Succeeded)
                    return true;

                if (setSensorStateAction.ActionState.Failed)
                {
                    SetCurrentActivity(ActivitySelect.Offline, Utils.Fcns.CheckedFormat("{0}[{1}] failed: unable to set Pod Sensor State Active to '{2}'", currentActivity, privateState.TransferProgressStr, sensorState));
                    return false;
                }

                if (!Spin())
                    return false;
            }
        }
        public E084ActiveTransferSimEngine(LPMSim.ILPMSimPart lpmSimPart)
            : base(lpmSimPart.PartID + ".E84Sim", "E084ActiveTransferSimEngine")
        {
            ActionLoggingConfig = Modular.Action.ActionLoggingConfig.Info_Error_Trace_Trace;    // redefine the log levels for actions

            //This part is a simulated primary part
            PrivateBaseState = new BaseState(true, true) { ConnState = ConnState.NotApplicable };

            instantActionQ = new MosaicLib.Modular.Action.ActionQueue(PartID + ".iq", true, 10);

            this.lpmSimPart = lpmSimPart;

            PublishBaseState("Constructor.Complete");
        }