/// <summary>
		/// Writes a ConnectedServices.json file in the connected services folder of the project for the given service, overwriting the file if it exists already
		/// </summary>
		static void WriteConnectedServiceJsonFile (DotNetProject project, string id, ConnectedServiceState state)
		{
			var jsonFilePath = GetConnectedServiceJsonFilePath (project, id, true);
			var json = JsonConvert.SerializeObject (state, Formatting.Indented);

			if (File.Exists (jsonFilePath)) {
				File.Delete (jsonFilePath);
			}

			File.WriteAllText (jsonFilePath, json);
		}
        /// <summary>
        /// Writes a ConnectedServices.json file in the connected services folder of the project for the given service, overwriting the file if it exists already
        /// </summary>
        static void WriteConnectedServiceJsonFile(DotNetProject project, string id, ConnectedServiceState state)
        {
            var jsonFilePath = GetConnectedServiceJsonFilePath(project, id, true);
            var json         = JsonConvert.SerializeObject(state, Formatting.Indented);

            if (File.Exists(jsonFilePath))
            {
                File.Delete(jsonFilePath);
            }

            File.WriteAllText(jsonFilePath, json);
        }
 /// <summary>
 /// Modifies the state object to set any service specific values.
 /// </summary>
 /// <remarks>
 /// The api for this might change, we're introducing a "ProvideId" that appears to have little to do with the Id of
 /// the service as well as a Version and GettingStartedUrl that may or may not be relevant at this point.
 /// Override this method to store what you need into the state object.
 /// </remarks>
 protected virtual void OnStoreAddedState(ConnectedServiceState state)
 {
     state.ProviderId = this.Id;
 }
		/// <summary>
		/// Modifies the state object to set any service specific values.
		/// </summary>
		/// <remarks>
		/// The api for this might change, we're introducing a "ProvideId" that appears to have little to do with the Id of 
		/// the service as well as a Version and GettingStartedUrl that may or may not be relevant at this point. 
		/// Override this method to store what you need into the state object.
		/// </remarks>
		protected virtual void OnStoreAddedState (ConnectedServiceState state)
		{
			state.ProviderId = this.Id;
		}