public static String toHexStringWithPrefixZeroPadded(BigInteger value, int size) {
        return toHexStringZeroPadded(value, size, true);
    }
@Test
    public void testToHexStringWithPrefixZeroPadded() {
        assertEquals(Numeric.toHexStringWithPrefixZeroPadded(BigInteger.ZERO, 5), ("0x00000"));

        assertEquals(
                Numeric.toHexStringWithPrefixZeroPadded(
                        new BigInteger("01c52b08330e05d731e38c856c1043288f7d9744", 16), 40),
                ("0x01c52b08330e05d731e38c856c1043288f7d9744"));

        assertEquals(
                Numeric.toHexStringWithPrefixZeroPadded(
                        new BigInteger("01c52b08330e05d731e38c856c1043288f7d9744", 16), 40),
                ("0x01c52b08330e05d731e38c856c1043288f7d9744"));
    }