public static IGroup CreateGroup(IInternalSyncDataStore internalDataStore, string groupsHref, IGroup group, Action<GroupCreationOptionsBuilder> creationOptionsAction)
        {
            var builder = new GroupCreationOptionsBuilder();
            creationOptionsAction(builder);
            var options = builder.Build();

            return internalDataStore.Create(groupsHref, group, options);
        }
        public static Task<IGroup> CreateGroupAsync(IInternalAsyncDataStore internalDataStore, string groupsHref, IGroup group, Action<GroupCreationOptionsBuilder> creationOptionsAction, CancellationToken cancellationToken)
        {
            var builder = new GroupCreationOptionsBuilder();
            creationOptionsAction(builder);
            var options = builder.Build();

            return internalDataStore.CreateAsync(groupsHref, group, options, cancellationToken);
        }
            public async Task Create_with_all_options()
            {
                var optionsBuilder = new GroupCreationOptionsBuilder();
                optionsBuilder.ResponseOptions.Expand(x => x.GetAccounts(0, 10));
                var options = optionsBuilder.Build();

                await this.VerifyThat(options, resultsInQueryString: "?expand=accounts(offset:0,limit:10)");
            }
            public async Task Create_with_response_options()
            {
                var optionsBuilder = new GroupCreationOptionsBuilder();
                optionsBuilder.ResponseOptions.Expand(x => x.GetCustomData());
                var options = optionsBuilder.Build();

                await this.VerifyThat(options, resultsInQueryString: "?expand=customData");
            }