public JwtBuilder claim(String name, Object value)
            throws InvalidClaimException {
        //        if (isValidClaim(name, value)) {
        //            if (name.equals(Claims.AUDIENCE)) {
        //                if (value instanceof ArrayList) {
        //                    this.audience((ArrayList) value);
        //                } else if (value instanceof String) {
        //                    String[] auds = ((String) value).split(" ");
        //                    ArrayList<String> audList = new ArrayList<String>();
        //                    for (String aud : auds) {
        //                        if (!aud.isEmpty()) {
        //                            audList.add(aud.trim());
        //                        }
        //                    }
        //                    if (!audList.isEmpty()) {
        //                        this.audience(audList);
        //                    }
        //                } else {
        //                    String msg = Tr.formatMessage(tc,
        //                            "JWT_INVALID_CLAIM_VALUE_TYPE",
        //                            new Object[] { Claims.AUDIENCE });
        //                    throw new InvalidClaimException(msg);
        //                }
        //            } else if (name.equals(Claims.EXPIRATION)) {
        //                if (value instanceof Long) {
        //                    this.expirationTime((Long) value);
        //                } else if (value instanceof Integer) {
        //                    this.expirationTime(((Integer) value).longValue());
        //                } else {
        //                    String msg = Tr.formatMessage(tc,
        //                            "JWT_INVALID_CLAIM_VALUE_TYPE",
        //                            new Object[] { Claims.EXPIRATION });
        //                    throw new InvalidClaimException(msg);
        //                }
        //            } else if (name.equals(Claims.ISSUED_AT)) {
        //                if (value instanceof Long) {
        //                    this.issueTime((Long) value);
        //                } else if (value instanceof Integer) {
        //                    this.expirationTime(((Integer) value).longValue());
        //                } else {
        //                    String msg = Tr.formatMessage(tc,
        //                            "JWT_INVALID_CLAIM_VALUE_TYPE",
        //                            new Object[] { Claims.ISSUED_AT });
        //                    throw new InvalidClaimException(msg);
        //                }
        //            } else if (name.equals(Claims.NOT_BEFORE)) {
        //                if (value instanceof Long) {
        //                    this.notBefore((Long) value);
        //                } else if (value instanceof Integer) {
        //                    this.expirationTime(((Integer) value).longValue());
        //                } else {
        //                    String msg = Tr.formatMessage(tc,
        //                            "JWT_INVALID_CLAIM_VALUE_TYPE",
        //                            new Object[] { Claims.NOT_BEFORE });
        //                    throw new InvalidClaimException(msg);
        //                }
        //            } else if (name.equals(Claims.ISSUER) || name.equals(Claims.SUBJECT)) {
        //                if (value instanceof String) {
        //                    if (name.equals(Claims.ISSUER)) {
        //                        this.issuer((String) value);
        //                    } else {
        //                        this.subject((String) value);
        //                    }
        //                } else {
        //                    String msg = Tr.formatMessage(tc, "JWT_INVALID_CLAIM_VALUE_TYPE", new Object[] { name });
        //                    throw new InvalidClaimException(msg);
        //                }
        //            } else {
        //                claims.put(name, value);
        //            }
        //        }
        builder = builder.claim(name, value);
        return this;
    }
public JwtBuilder claim ( String name , Object value ) throws InvalidClaimException { builder = builder . claim ( name , value ) ; return this ; }
Sets the specified claim.

@param name
This is a String and represents the name of the claim
@param value
This is an Object and represents the value of the claim
@return {@code JwtBuilder} object
@throws InvalidClaimException
Thrown if the claim is {@code null}, or the value is {@code null} or the value is not the correct type for the
claim