public override IEnumerable <FloatMenuOption> GetFloatMenuOptions(Pawn myPawn)
        {
            //// No base float menu options allowed!
            //foreach (FloatMenuOption fmo in base.GetFloatMenuOptionsFor(myPawn))
            //{
            //    yield return fmo;
            //}

            // No self medication!
            if (myPawn == this)
            {
                yield break;
            }

            // Sedate AIPawn
            Action action_OrderSedateMai = delegate
            {
                myPawn.drafter.Drafted = false;

                Job jobNew = new Job(DefDatabase <JobDef> .GetNamed("AIPawn_Sedate"), this)
                {
                    count = 1
                };
                myPawn.jobs.TryTakeOrderedJob(jobNew);
            };

            yield return(new FloatMenuOption(txtFloatMenuSedateAIPawn.Translate(this.Label), action_OrderSedateMai));


            // Sedate and Carry AIPawn to recharge station
            Building_AIPawnRechargeStation rechargeStation;

            rechargeStation = HelperAIPawn.FindMedicalRechargeStationFor(this);
            if (rechargeStation == null)
            {
                rechargeStation = HelperAIPawn.FindRechargeStationFor(this);
            }

            Action action_OrderSedateAndCarryMai = delegate
            {
                myPawn.drafter.Drafted = false;

                Job jobNew = new Job(DefDatabase <JobDef> .GetNamed("AIPawn_SedateAndRescue"), this, rechargeStation)
                {
                    count = 1
                };
                myPawn.jobs.TryTakeOrderedJob(jobNew);
            };

            if (rechargeStation != null)
            {
                yield return(new FloatMenuOption(txtFloatMenuSedateAndRescueAIPawn.Translate(this.Label), action_OrderSedateAndCarryMai));
            }
            else
            {
                yield return(new FloatMenuOption(txtFloatMenuSedateAndRescueAIPawn.Translate(this.Label), null));
            }

            yield break;
        }