public void Add(DeveloperDataIdMesg mesg)
        {
            byte?index = mesg.GetDeveloperDataIndex();

            if (index == null)
            {
                return;
            }

            /***********************************************************************************************
            * The following, commented out line appears to be the cause of the "An item with the same key
            * has already been added" exception. The key already exists in the dictionary. Updating the
            * value instead of performing a .Add() seems to avoid the error? Not sure if there are any
            * other negative repercussions...
            *   - Eric.Davis_2017.03.08
            ***********************************************************************************************/
            //m_developerDataIdMesgs.Add(index.Value, mesg);
            m_developerDataIdMesgs[index.Value] = mesg;

            // Remove all fields currently associated with this developer
            var keysToRemove = m_fieldDescriptionMesgs.Keys.Where(x => x.DeveloperDataIndex == index).ToList();

            foreach (var key in keysToRemove)
            {
                m_fieldDescriptionMesgs.Remove(key);
            }
        }
        public void Add(DeveloperDataIdMesg mesg)
        {
            byte?index = mesg.GetDeveloperDataIndex();

            if (index == null)
            {
                return;
            }

            m_developerDataIdMesgs[index.Value] = mesg;

            // Remove all fields currently associated with this developer
            var keysToRemove =
                m_fieldDescriptionMesgs.Keys
                .Where(
                    x =>
                    x.DeveloperDataIndex ==
                    index)
                .ToList();

            foreach (var key in keysToRemove)
            {
                m_fieldDescriptionMesgs.Remove(key);
            }
        }