protected virtual void BuffRotation()
        {
            if (specialization.RotationType == Enums.RotationType.Party)
            {
                // PARTY Resurrection
                List <AIOPartyMember> needRes = AIOParty.GroupAndRaid
                                                .FindAll(m => m.IsDead)
                                                .OrderBy(m => m.GetDistance)
                                                .ToList();
                if (needRes.Count > 0 && cast.OnFocusUnit(Resurrection, needRes[0]))
                {
                    return;
                }

                List <AIOPartyMember> closeMembers = AIOParty.ClosePartyMembers;

                // Party Cure Disease
                WoWPlayer needCureDisease = closeMembers
                                            .Find(m => ToolBox.HasDiseaseDebuff(m.Name));
                if (needCureDisease != null && cast.OnFocusUnit(CureDisease, needCureDisease))
                {
                    return;
                }

                // Party Dispel Magic
                WoWPlayer needDispelMagic = closeMembers
                                            .Find(m => ToolBox.HasMagicDebuff(m.Name));
                if (needDispelMagic != null && cast.OnFocusUnit(DispelMagic, needDispelMagic))
                {
                    return;
                }

                // Prayer of Fortitude
                if (settings.PartyPrayerOfFortitude &&
                    cast.Buff(closeMembers, PrayerOfFortitude, 17029))
                {
                    return;
                }

                // Power Word Fortitude
                if (settings.UsePowerWordFortitude &&
                    !settings.PartyPrayerOfFortitude &&
                    cast.Buff(closeMembers, PowerWordFortitude))
                {
                    return;
                }

                // Prayer Of Shadow Protection
                if (settings.PartyPrayerOfShadowProtection &&
                    cast.Buff(closeMembers, PrayerOfShadowProtection, 17029))
                {
                    return;
                }

                // Shadow Protection
                if (settings.UseShadowProtection &&
                    !settings.PartyPrayerOfShadowProtection &&
                    cast.Buff(closeMembers, ShadowProtection))
                {
                    return;
                }

                // Prayer of Spirit
                if (settings.PartyPrayerOfSpirit &&
                    cast.Buff(closeMembers, PrayerOfSpirit, 17029))
                {
                    return;
                }

                // Divine Spirit
                if (settings.UseDivineSpirit &&
                    !settings.PartyPrayerOfSpirit &&
                    cast.Buff(closeMembers, DivineSpirit))
                {
                    return;
                }
            }

            // OOC Inner Fire
            if (settings.UseInnerFire &&
                !Me.HaveBuff("Inner Fire") &&
                cast.OnSelf(InnerFire))
            {
                return;
            }
        }