private static void ParseContactRequests(Dictionary<string, byte[]> maps)
        {
            foreach (var map in maps)
            {
                try
                {
                    var contactMap = Deserialize(map.Value);
                    uint contactId = uint.Parse(map.Key);
                    if (!Cache.Users.ContainsKey(contactId))
                        Cache.Users[contactId] = new Contact();
                    var contact = Cache.Users[contactId];
                    contact.ContactID = contactId;
                    contact.Nickname = Encoding.GetEncoding("windows-1252").GetString(contactMap["name"]);
                    Cache.Users[contactId] = contact;

                    var contactRequest = new ContactRequest();
                    contactRequest.ContactID = contactId;
                    contactRequest.Nickname = Encoding.GetEncoding("windows-1252").GetString(contactMap["nickname"]);
                    contactRequest.Message = Encoding.GetEncoding("windows-1252").GetString(contactMap["mesg"]);
                    Cache.ContactRequests[contactId] = contactRequest;
                }
                catch (FormatException)
                {
                    Console.WriteLine("Unable to parse contact request. Ignoring contact");
                }
                catch (OverflowException)
                {
                    Console.WriteLine("Unable to parse contact request. Ignoring contact");
                }
            }
        }