// block.setType(response.getType()); // NO! First block has type from origin response, all other depend on current request
block.setDestination(response.getDestination());
block.setDestinationPort(response.getDestinationPort());
block.setToken(response.getToken());
block.setOptions(new OptionSet(response.getOptions()));
block.addMessageObserver(new TimeoutForwarder(response));
if (response.getPayloadSize() > 0) {
int currentSize = 1 << (4 + szx);
int from = num * currentSize;
int to = Math.min((num + 1) * currentSize, response.getPayloadSize());