////////////////////////////////////////////////////////////////////////////////////////////////////
        // GetData()
        //--------------------------------------------------------------------------------------------------
        //	Desc.
        //		JPowerLevel_TableData 를 가져온다
        //
        //	Param
        //		nRareID : 캐릭터 레어도 (현재 CharacterInfo RareLabel 사용)
        //		nPowerLevel :현재 파워 레벨
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        public JPowerLevel_TableData GetData(int nRareID, int nPowerLevel)
        {
            int a_nMaxValue = GetMaxPowerLevel(nRareID);

            if (a_nMaxValue < nPowerLevel)
            {
                nPowerLevel = a_nMaxValue;
            }

            int a_nKey = PRIMARY_KEY.MakeKey(nRareID, nPowerLevel);

            return(this[m_dicKeyMapping[a_nKey]]);
        }
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        // OnLoaded()
        //--------------------------------------------------------------------------------------------------
        //	Desc.
        //		로드된 데이터 키를 맵핑한다.
        //		Key : Rare_Id, PowerLevel
        //		Value : ID (Key와 동일)
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        public override void OnLoaded()
        {
            JPowerLevel_TableData a_kData = null;
            int a_nKey = 0;

            foreach (KeyValuePair <int, JPowerLevel_TableData> pair in this)
            {
                a_kData = pair.Value;
                a_nKey  = PRIMARY_KEY.MakeKey <JPowerLevel_TableData>(a_kData);

                m_dicKeyMapping.Add(a_nKey, a_kData.IDENTIFIED);

                SearchMaxLevel(a_kData);
            }
        }