// Create new spreadsheet from dateless blueprint
        internal static async Task <Spreadsheet> AddSpreadsheetAsync(this SheetsService sheetsService, string spreadsheetTitle, IList <Tuple <string, int, int> > spreadsheetSizeBlueprint)
        {
            // Wait for google apis request quota availability.
            await SessionRequestsLimiter.Instance.WaitAsync();

            // Obtain create spreadsheet request.
            SpreadsheetsResource.CreateRequest createSpreadsheetRequest = GoogleServicesExtensionsRequestsFactory.GetAddSpreadsheetRequest(sheetsService, spreadsheetTitle, spreadsheetSizeBlueprint);

            // Execute createSpreadsheetRequest in safe asynchronous manner, and return the result
            return(await RequestsExecutor.SafeExecuteAsync <Spreadsheet>(createSpreadsheetRequest));
        }
        // Create new spreadsheet from data containing spreadsheet blueprint
        internal static Spreadsheet AddSpreadsheetSync(this SheetsService sheetsService, string spreadsheetTitle, IList <Tuple <string, int, int, IList <IList <string> > > > spreadsheetBlueprint)
        {
            // Wait for google apis request quota availability.
            SessionRequestsLimiter.Instance.Wait();

            // Obtain create spreadsheet request.
            SpreadsheetsResource.CreateRequest createSpreadsheetRequest = GoogleServicesExtensionsRequestsFactory.GetAddSpreadsheetRequest(sheetsService, spreadsheetTitle, spreadsheetBlueprint);

            // Execute createSpreadsheetRequest in safe synchronous manner, and store revived dateless spreadsheet instance
            Spreadsheet spreadsheet = RequestsExecutor.SafeExecuteSync <Spreadsheet>(createSpreadsheetRequest);

            // Obtain get spreadsheet request.
            SpreadsheetsResource.GetRequest getSpreadsheetRequest = GoogleServicesExtensionsRequestsFactory.GetGetSpreadsheetRequest(sheetsService, spreadsheet.SpreadsheetId);

            // Execute getSpreadsheetRequest in safe synchronous manner.
            return(RequestsExecutor.SafeExecuteSync <Spreadsheet>(getSpreadsheetRequest));
        }