dch.precision = bigDecimal.precision();
dch.setSign(bigDecimal.signum() == -1);
dch.start = 0;
dch.buffer = Unpooled.wrappedBuffer(new byte[5 * DecimalUtility.integerSize]);
dch.buffer = new SwappedByteBuf(dch.buffer);
DecimalUtility.getSparseFromBigDecimal(bigDecimal, dch.buffer, dch.start, dch.scale, dch.precision, dch.nDecimalDigits);
return dch;
}