public async static Task <Product> CreateProductIfNotExists(string id)
        {
            var     getRequest = new ProductGetRequest(id);
            Product getProduct = null;

            try
            {
                var getResponse = await TestHarness.client().Execute(getRequest);

                getProduct = getResponse.Result <Product>();
            }
            catch (PayPalHttp.HttpException httpEx)
                when(httpEx.GetError() != null && httpEx.GetError().Name == "RESOURCE_NOT_FOUND")
                {
                    getProduct = null;
                }
            if (getProduct == null)
            {
                var request = new ProductsCreateRequest();
                request.Prefer("return=representation");
                request.RequestBody(buildRequestBody(id));
                var createResponse = await TestHarness.client().Execute(request);

                getProduct = createResponse.Result <Product>();
            }
            return(getProduct);
        }
        public async static Task <HttpResponse> CreateProduct(string id = null)
        {
            var request = new ProductsCreateRequest();

            request.Prefer("return=representation");
            request.RequestBody(buildRequestBody(id));
            return(await TestHarness.client().Execute(request));
        }