public MessengerClient(Credentials credentials)
        {

            @lock = new AsyncReaderWriterLock();

            this.credentials = credentials;

            userCache = new Dictionary<string, WeakReference>();

            privacySettings = new Dictionary<PrivacySetting, string>();
            UserLists = new UserLists(this);
            Groups = new Groups();
            IMSessions = new IMSessions();

        }
 internal Releaser(AsyncReaderWriterLock toRelease, bool writer)
 {
     m_toRelease = toRelease;
     m_writer = writer;
 }