question: public static byte [ ] ivCipherConcat ( byte [ ] iv , byte [ ] cipherText ) { byte [ ] combined = new byte [ iv . length + cipherText . length ] ; System . arraycopy ( iv , 0 , combined , 0 , iv . length ) ; System . arraycopy ( cipherText , 0 , combined , iv . length , cipherText . length ) ; return combined ; }
target:  Concatinate the IV to the cipherText using array copy. This is used e.g. before computing mac.