### Question:
ByteUtils { public static int bytesToInt(final byte[] bytes) { final ByteBuffer buffer = ByteBuffer.allocate(4); buffer.put(bytes, 0, 4); buffer.flip(); return buffer.getInt(); } private  ByteUtils(); static byte[] bigIntToByteArrayLeadingZeros(final BigInteger value, final int numBytes); static byte[] byteArrayLeadingZeros(byte[] valueByteArray, int numBytes); static byte[] bigIntToBytes(final BigInteger x); static byte[] longToBytes(final long x); static int bytesToInt(final byte[] bytes); static byte[] intToBytes(final int x); static byte[] shortToBytes(final short x); static int isEqualConstantTime(final int b, final int c); static int isNegativeConstantTime(final int b); static String toString(final byte[] bytes);  }### Answer:
@Test public void conversionToIntFailsOnDataUnderflow() { final byte[] data = {1, 2, 3}; Assertions.assertThrows(IndexOutOfBoundsException.class, () -> ByteUtils.bytesToInt(data)); }