code: public ModifyImageAttributeRequest withProductCodes(String... productCodes) {
          if (this.productCodes == null) {
              setProductCodes(new com.amazonaws.internal.SdkInternalList<String>(productCodes.length));
          }
          for (String ele : productCodes) {
              this.productCodes.add(ele);
          }
          return this;
      }
docs: <p>
  The DevPay product codes. After you add a product code to an AMI, it can't be removed.
  </p>
  <p>
  <b>NOTE:</b> This method appends the values to the existing list (if any). Use
  {@link #setProductCodes(java.util.Collection)} or {@link #withProductCodes(java.util.Collection)} if you want to
  override the existing values.
  </p>
  
  @param productCodes
  The DevPay product codes. After you add a product code to an AMI, it can't be removed.
  @return Returns a reference to this object so that method calls can be chained together.