@Override
	public void putBigInteger(byte[] b, int offset, int size, BigInteger value) {
		Objects.checkFromIndexSize(offset, size, b.length);

		int fillIndex = offset; // start fill from MSB
		int srcIndex;

		byte[] valBytes = value.toByteArray();
		int fillCnt = valBytes.length;

		if (valBytes.length >= size) {
			srcIndex = valBytes.length - size;
			fillCnt = valBytes.length - srcIndex;
		}
		else {
			srcIndex = 0;
			byte signbits = (value.signum() < 0) ? (byte) 0xff : 0;
			for (int i = valBytes.length; i < size; i++) {
				b[fillIndex++] = signbits;
			}
		}
		System.arraycopy(valBytes, srcIndex, b, fillIndex, fillCnt);
	}
Don't use this constructor to create new instances of this class.  Use the static {@link #INSTANCE} instead.
Ghidra/Framework/Generic/src/main/java/ghidra/util/BigEndianDataConverter.java