private static void AddCharacterSet(int value, String encodingName)
        {
            var eci = new CharacterSetECI(value, encodingName);

            VALUE_TO_ECI[value]       = eci; // can't use valueOf
            NAME_TO_ECI[encodingName] = eci;
        }
        private static void AddCharacterSet(int value, String[] encodingNames)
        {
            var eci = new CharacterSetECI(value, encodingNames[0]);

            VALUE_TO_ECI[value] = eci; // can't use valueOf
            foreach (string t in encodingNames)
            {
                NAME_TO_ECI[t] = eci;
            }
        }
 /// <param name="val">ECI value</param>
 /// <returns><see cref="ECI"/> representing ECI of given value, or null if it is legal but unsupported</returns>
 /// <throws>ArgumentException if ECI value is invalid </throws>
 public static ECI GetECIByValue(int val)
 {
     if (val < 0 || val > 999999)
     {
         throw new ArgumentException("Bad ECI value: " + val);
     }
     if (val < 900)
     {
         // Character set ECIs use 000000 - 000899
         return(CharacterSetECI.GetCharacterSetECIByValue(val));
     }
     return(null);
 }