async Task ConcreteAsyncApiUsage(JsonServiceClient client)
        {
            UsageNone none = await client.SendAsync <UsageNone>(new UsageNone());

            UsageNone noneToken = await client.SendAsync <UsageNone>(new UsageNone(), CancellationToken.None);

            UsageReturn @return = await client.SendAsync(new UsageReturn());

            UsageReturn returnToken = await client.SendAsync(new UsageReturn(), CancellationToken.None);

            await client.SendAsync(new UsageVoid());

            await client.SendAsync(new UsageVoid(), CancellationToken.None);

            List <UsageReturn> returnAll = await client.SendAllAsync(new[] { new UsageReturn() });

            List <UsageReturn> returnAllToken = await client.SendAllAsync(new[] { new UsageReturn() }, CancellationToken.None);

            await client.PublishAsync(new UsageNone());

            await client.PublishAsync(new UsageNone(), CancellationToken.None);

            await client.PublishAsync(new UsageReturn());

            await client.PublishAsync(new UsageReturn(), CancellationToken.None);

            await client.PublishAsync(new UsageVoid());

            await client.PublishAsync(new UsageVoid(), CancellationToken.None);

            await client.PublishAllAsync(new[] { new UsageNone() });

            await client.PublishAllAsync(new[] { new UsageNone() }, CancellationToken.None);

            await client.PublishAllAsync(new[] { new UsageReturn() });

            await client.PublishAllAsync(new[] { new UsageReturn() }, CancellationToken.None);

            await client.PublishAllAsync(new[] { new UsageVoid() });

            await client.PublishAllAsync(new[] { new UsageVoid() }, CancellationToken.None);
        }