/// <summary>
        /// Stores a <see cref="PublicFacadeSpecWithAst"/> for future retrieval
        /// </summary>
        public async Task SavePublicFacadeWithAstAsync(PublicFacadeSpecWithAst publicFacadeWithAst)
        {
            Contract.Requires(publicFacadeWithAst != null);

            await SavePublicFacadeAsync(publicFacadeWithAst.SpecPath, publicFacadeWithAst.PublicFacadeContent);
            await SaveAstAsync(publicFacadeWithAst.SpecPath, publicFacadeWithAst.SerializedAst);
        }
 /// <summary>
 /// <see cref="FrontEndPublicFacadeAndAstProvider.SavePublicFacadeWithAstAsync"/>
 /// </summary>
 public Task SavePublicFacadeWithAstAsync(PublicFacadeSpecWithAst publicFacadeWithAst)
 {
     Contract.Assert(m_publicFacadeAndAstProvider != null);
     return(m_publicFacadeAndAstProvider.SavePublicFacadeWithAstAsync(publicFacadeWithAst));
 }