@CanIgnoreReturnValue
    public Builder setSubject(String value) {
      if (!JsonUtil.isValidString(value)) {
        throw new IllegalArgumentException();
      }
      payload.add(JwtNames.CLAIM_SUBJECT, new JsonPrimitive(value));
      return this;
    }
Sets the subject claim identifying the principal that is the subject of the JWT.

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