public static <T> T decode(byte[] cryptedBytes, Class<T> clazz) throws NoSuchAlgorithmException, NoSuchPaddingException, InvalidKeyException, IllegalBlockSizeException, BadPaddingException, DecoderException, IOException {
byte[] bytes = cipherDecrypt.get().doFinal(cryptedBytes);
SnappyInputStream snappyInputStream = new SnappyInputStream(new ByteArrayInputStream(bytes));
//MessagePack messagePack = new MessagePack();
return messagePack.read(ByteStreams.toByteArray(snappyInputStream), clazz);
}