code: public final ProductSet createProductSet(
        LocationName parent, ProductSet productSet, String productSetId) {
  
      CreateProductSetRequest request =
          CreateProductSetRequest.newBuilder()
              .setParent(parent == null ? null : parent.toString())
              .setProductSet(productSet)
              .setProductSetId(productSetId)
              .build();
      return createProductSet(request);
    }
docs: Creates and returns a new ProductSet resource.
  
  <p>Possible errors:
  
  <p>&#42; Returns INVALID_ARGUMENT if display_name is missing, or is longer than 4096
  characters.
  
  <p>Sample code:
  
  <pre><code>
  try (ProductSearchClient productSearchClient = ProductSearchClient.create()) {
  LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
  ProductSet productSet = ProductSet.newBuilder().build();
  String productSetId = "";
  ProductSet response = productSearchClient.createProductSet(parent, productSet, productSetId);
  }
  </code></pre>
  
  @param parent The project in which the ProductSet should be created.
  <p>Format is `projects/PROJECT_ID/locations/LOC_ID`.
  @param productSet The ProductSet to create.
  @param productSetId A user-supplied resource id for this ProductSet. If set, the server will
  attempt to use this value as the resource id. If it is already in use, an error is returned
  with code ALREADY_EXISTS. Must be at most 128 characters long. It cannot contain the
  character `/`.
  @throws com.google.api.gax.rpc.ApiException if the remote call fails