offset = -offset;
if (offset < 1 || offset > (2<<15)-1) {
throw new IllegalArgumentException("Offset " + offset + " out of range [1, 65535]");
}
encoder.encodeSymbol(offset & 0xf);
encoder.encodeSymbol((offset >> 4) & 0xf);
encoder.encodeSymbol((offset >> 8) & 0xf);
encoder.encodeSymbol((offset >> 12) & 0xf);
} catch (IOException e) {
throw new RuntimeException(e);