throw new IllegalStateException("wrong number of segments: " + pieces.length);
// get JWTHeader JSON object. Extract algorithm
JWTHeader jwtHeader = (JWTHeader) decodeAndParse(pieces[0], JWTHeader.class);
if (jwtHeader.getAlg()==null)
throw new IllegalStateException("algorithm not set");
if (algorithms.get(jwtHeader.getAlg())==null)
throw new IllegalStateException("unsupported algorithm");
String algorithm = algorithms.get(jwtHeader.getAlg());
// get JWTClaims JSON object
JWTClaims jwtClaims = (JWTClaims) decodeAndParse(pieces[1], JWTClaims.class);