@CanIgnoreReturnValue
    public Builder setAudiences(List<String> values) {
      if (payload.has(JwtNames.CLAIM_AUDIENCE)
              && !payload.get(JwtNames.CLAIM_AUDIENCE).isJsonArray()) {
        throw new IllegalArgumentException("setAudiences can't be used together with setAudience");
      }
      if (values.isEmpty()) {
        throw new IllegalArgumentException("audiences must not be empty");
      }
      JsonArray audiences = new JsonArray();
      for (String value : values) {
        if (!JsonUtil.isValidString(value)) {
          throw new IllegalArgumentException("invalid string");
        }
        audiences.add(value);
      }
      payload.add(JwtNames.CLAIM_AUDIENCE, audiences);
      return this;
    }
Sets the audiences that the JWT is intended for.

<p>Sets the {@code aud} claim as an array of strings. This method can't be used together with
{@code setAudience}.

<p>https://tools.ietf.org/html/rfc7519#section-4.1.3
java_src/src/main/java/com/google/crypto/tink/jwt/RawJwt.java