public static WiimoteDataStore getWiimoteDataStore()
 {
     if(m_WiimoteDataStore == null)
         m_WiimoteDataStore = new WiimoteDataStore();
     return m_WiimoteDataStore;
 }
        public static WiimoteDataStore Deserialize()
        {
            // Deserialization
            try
            {
                lock(_dataStoreSync)
                {
                XmlSerializer s = new XmlSerializer(typeof(WiimoteDataStore));

                if (!File.Exists(ProjectConstants.WIIMOTE_DATA_PATH + @"\" + ProjectConstants.WIIMOTE_DATA_STORE))
                    return WiimoteDataStore.m_WiimoteDataStore;

                TextReader r = new StreamReader(ProjectConstants.WIIMOTE_DATA_PATH + @"\" + ProjectConstants.WIIMOTE_DATA_STORE);
                WiimoteDataStore.m_WiimoteDataStore = (WiimoteDataStore)s.Deserialize(r);
                r.Close();

                m_WiimoteDataStore.initialize();
                m_WiimoteDataStore.initializeAfterLoad();
                }

            }
            catch (WiimoteDataStoreException e)
            {
                MessageBox.Show(e.Message,
                    "Wiimote Data Store Issue", MessageBoxButtons.OK,
                    MessageBoxIcon.Error);
            }
            return WiimoteDataStore.m_WiimoteDataStore;
        }