public IAPFileDatastore(string path) : base()
        {
            _path = Application.persistentDataPath + Path.DirectorySeparatorChar + path;

            IAPInventoryManager.LogFormat("IAPDatastore File Save to: {0}", _path);

            // Check if Directory exists else create it.
            string dir = Path.GetDirectoryName(_path);

            if (!Directory.Exists(dir))
            {
                Directory.CreateDirectory(dir);
            }
        }
        // Helper methods

        virtual protected void StringToDictionary(string input)
        {
            if (!string.IsNullOrEmpty(input))
            {
                Dictionary <string, string> result = JsonUtility.FromJson <Serializer <string, string> >(input).ToDictionary();

                foreach (KeyValuePair <string, string> item in result)
                {
                    if (item.Key == "version")
                    {
                        IAPInventoryManager.LogFormat("Datastore Version: {0}", item.Value);
                    }
                    else
                    {
//						Debug.LogFormat("key {0} value {1}",item.Key,item.Value);
                        Dictionary <string, IAPObjectData> res = JsonUtility.FromJson <Serializer <string, IAPObjectData> >(item.Value).ToDictionary();
                        _values.Add(item.Key, res);
                    }
                }
            }
        }