code: public CreateDevEndpointRequest withPublicKeys(String... publicKeys) {
          if (this.publicKeys == null) {
              setPublicKeys(new java.util.ArrayList<String>(publicKeys.length));
          }
          for (String ele : publicKeys) {
              this.publicKeys.add(ele);
          }
          return this;
      }
docs: <p>
  A list of public keys to be used by the DevEndpoints for authentication. The use of this attribute is preferred
  over a single public key because the public keys allow you to have a different private key per client.
  </p>
  <note>
  <p>
  If you previously created an endpoint with a public key, you must remove that key to be able to set a list of
  public keys: call the <code>UpdateDevEndpoint</code> API with the public key content in the
  <code>deletePublicKeys</code> attribute, and the list of new keys in the <code>addPublicKeys</code> attribute.
  </p>
  </note>
  <p>
  <b>NOTE:</b> This method appends the values to the existing list (if any). Use
  {@link #setPublicKeys(java.util.Collection)} or {@link #withPublicKeys(java.util.Collection)} if you want to
  override the existing values.
  </p>
  
  @param publicKeys
  A list of public keys to be used by the DevEndpoints for authentication. The use of this attribute is
  preferred over a single public key because the public keys allow you to have a different private key per
  client.</p> <note>
  <p>
  If you previously created an endpoint with a public key, you must remove that key to be able to set a list
  of public keys: call the <code>UpdateDevEndpoint</code> API with the public key content in the
  <code>deletePublicKeys</code> attribute, and the list of new keys in the <code>addPublicKeys</code>
  attribute.
  </p>
  @return Returns a reference to this object so that method calls can be chained together.