public void SyncDictionaries(CyberDictionary referenceList)
        {
            var removeKeys = Keys.Where((k) => !referenceList.ContainsKey(k));

            foreach (var k in removeKeys)
            {
                Remove(k);
            }
        }
        public void Add(CyberDictionary data, bool resync = false)
        {
            object lockObject = new object();

            Parallel.ForEach(data, (d) =>
            {
                lock (lockObject)
                {
                    Add(d.Key, d.Value);
                }
            });

            if (resync)
            {
                SyncDictionaries(data);
            }
        }