private void OnContactsRetrieveFinished(string data)
        {
            Debug.Log("OnContactsRetrieveFinished");

            string[] DataArray = data.Split(new string[] { SA.Common.Data.Converter.DATA_SPLITTER2 }, StringSplitOptions.None);


            List <Contact> contacts = new List <Contact>();

            for (int i = 0; i < DataArray.Length; i++)
            {
                if (DataArray[i] == SA.Common.Data.Converter.DATA_EOF)
                {
                    break;
                }

                Contact contact = ParseContactData(DataArray[i]);
                contacts.Add(contact);
            }

            Debug.Log("Loaded " + contacts.Count + " contacts");

            ContactsLoadResult result = new ContactsLoadResult(contacts);

            ContactsLoadResult(result);
            ContactsLoadResult = delegate {};
        }
        //--------------------------------------
        // Native Events
        //--------------------------------------

        private void OnContactsRetrieveFailed(string errorData)
        {
            Debug.Log("OnContactsRetrieveFailed");

            var error = new SA.Common.Models.Error(errorData);

            ContactsLoadResult result = new ContactsLoadResult(error);

            ContactsLoadResult(result);
            ContactsLoadResult = delegate {};
        }