I am using a JWT token and I have one of the claims to be a ByteBuffer. The JWT is generated successfully, but when I try to parse the JWT token and verify the claim, the it complains that the claimSet has no value. 

Here's how my code looks:

```
        ByteBuffer encryptedText = getEncryptedTextAsByteBuffer();

        Instant timestamp = timestampSupplier.get();
        JWTClaimsSet claimsSet = new JWTClaimsSet();
        claimsSet.setAudience("test-audience");
        claimsSet.setIssuer("test-issuer");
        claimsSet.setNotBeforeTime(Date.from(timestamp));
        claimsSet.setExpirationTime(Date.from(Instant.ofEpochSecond(expirationTimestamp)));
        claimsSet.setClaim("myObject", encryptedText );

        PlainJWT jwt = new PlainJWT(claimsSet);
        return jwt.serialize();

```

The Validation Code looks like this:

```
        PlainJWT jwtToken = PlainJWT.parse(jwtToken);
        ReadOnlyJWTClaimsSet claimsSet = jwtToken.getJWTClaimsSet();
        Map<String, Object> claims = claimsSet.getAllClaims();
        ByteBuffer encryptedText = (ByteBuffer) claims.get("myObject");

```

The exception message I see is this:

```
java.lang.ClassCastException: net.minidev.json.JSONObject cannot be cast to java.nio.ByteBuffer

```

I added a debugger and saw that the Jwt generation has a valid non empty ByteBuffer but the resultant claim has the "myObject" key but the value is an empty json String. Can we not use the claim as a byteBuffer? Or am I doing something wrong?

Any help would be appreciated.