code: public PatchSource withProducts(String... products) {
          if (this.products == null) {
              setProducts(new com.amazonaws.internal.SdkInternalList<String>(products.length));
          }
          for (String ele : products) {
              this.products.add(ele);
          }
          return this;
      }
docs: <p>
  The specific operating system versions a patch repository applies to, such as "Ubuntu16.04",
  "AmazonLinux2016.09", "RedhatEnterpriseLinux7.2" or "Suse12.7". For lists of supported product values, see
  <a>PatchFilter</a>.
  </p>
  <p>
  <b>NOTE:</b> This method appends the values to the existing list (if any). Use
  {@link #setProducts(java.util.Collection)} or {@link #withProducts(java.util.Collection)} if you want to override
  the existing values.
  </p>
  
  @param products
  The specific operating system versions a patch repository applies to, such as "Ubuntu16.04",
  "AmazonLinux2016.09", "RedhatEnterpriseLinux7.2" or "Suse12.7". For lists of supported product values, see
  <a>PatchFilter</a>.
  @return Returns a reference to this object so that method calls can be chained together.