byte[] input = new byte[deflatedToken.length * 2];
int inflatedLen = 0;
int inputLen = 0;
byte[] inflatedToken = input;
while (!inflater.finished()) {
inputLen = inflater.inflate(input);
if (!inflater.finished()) {
inflatedToken = new byte[input.length + inflatedLen];
System.arraycopy(input, 0, inflatedToken, inflatedLen, inputLen);
inflatedLen += inputLen;