}
if (!message.hasLiquidData()) {
throw new IllegalArgumentException("Ill-formed protobuf message. Missing liquid data.");
}
final TeraArray blockData = runLengthDecode(message.getBlockData());
final TeraArray liquidData = runLengthDecode(message.getLiquidData());
final TeraArray biomeData = runLengthDecode(message.getBiomeData());
return new ChunkImpl(pos, blockData, liquidData, biomeData);
}