byte[] expandChunkData(byte[] input, int inputLength, byte[] buffer, PassthroughConnection ptc) {

		if(buffer.length < inputDataBufferSize + outputDataBufferSize + expandedBufferSize + 320 || inputLength > inputDataBufferSize) {
			return null;
		}

		ptc.inflate.reset();
		ptc.inflate.setInput(input, 0, inputLength);

		int outputOffset = inputDataBufferSize + outputDataBufferSize;
		int outputLength = expandedBufferSize;

		int expandedLength = -1;
		try {
			expandedLength = ptc.inflate.inflate(buffer, outputOffset, outputLength);
		} catch (DataFormatException e) {
			return null;
		}

		if(expandedLength != 81920 && expandedLength != 81920 + 320) {
			return null;
		}

		return buffer;
	}