private void addPadding() {
        final byte[] padded = new byte[blockSize];
        final int offset = size % blockSize;
        new ISO7816d4Padding().addPadding(padded, offset);
        proxy.update(padded, offset, padded.length - offset);
    }
@Test
    public void shouldCreateSameOutcomeAsPaddedNormalCMac() {
        final byte[] key = CryptoUtils.random(32);
        for (int i = 16; i < 32; i++) {
            final byte[] data = CryptoUtils.random(i);
            final byte[] padded = new byte[32];

            System.arraycopy(data, 0, padded, 0, data.length);
            new ISO7816d4Padding().addPadding(padded, data.length);

            assertArrayEquals(
                String.format("CMac not equal for size %d", i),
                doMac(new CMac(new AESEngine(), 64), key, padded),
                doMac(new ISO7816d4PaddedCMac(new AESEngine(), 64), key, data)
            );
        }
    }