public virtual AOTGenericDictionary <TAOTPair, TKey, TValue> CloneDict()
    {
        AOTGenericDictionary <TAOTPair, TKey, TValue> v_clonedDict = System.Activator.CreateInstance(GetType()) as AOTGenericDictionary <TAOTPair, TKey, TValue>;

        foreach (TAOTPair v_pair in this)
        {
            try {
                v_clonedDict.Add(v_pair);
            } catch {
            }
        }
        return(v_clonedDict);
    }
 public void MergeReplacing <TParamPair> (AOTGenericDictionary <TParamPair, TKey, TValue> p_dictToMerge) where TParamPair : AOTKeyValuePair <TKey, TValue>, new()
 {
     if (p_dictToMerge != null)
     {
         foreach (TParamPair v_pair in p_dictToMerge)
         {
             try {
                 TValue v_value = v_pair.Value;
                 TKey   v_key   = v_pair.Key;
                 AddReplacing(v_key, v_value);
             } catch {
             }
         }
     }
 }