public void AddParser(IHeaderParser parser, string name, char shortName)
{
if (string.IsNullOrEmpty(name))
throw new ArgumentException("name may not be null or empty.", "name");
name = name.ToLower();
shortName = char.ToLower(shortName);
lock (_headerParsers)
{
if (_headerParsers.ContainsKey(name))
_logger.Info("Changing parser '" + name + "' from " +
_headerParsers[name].GetType().FullName + " to " + parser.GetType().FullName);
_headerParsers[name] = parser;
}
lock (_shortNameParsers)
_shortNameParsers[shortName] = parser;
}