### Question:
ByteArrays { public static byte[] flattened(ByteArray byteArray) { if (byteArray.bytes.length == 0) { return new byte[] {}; } if (byteArray.bytes.length == 1) { return byteArray.bytes[0]; } long s = 0L; for (byte[] b : byteArray.bytes) { s += b.length; } byte[] bb = new byte[(int) s]; int i = 0; for (byte[] b : byteArray.bytes) { System.arraycopy(b, 0, bb, i, b.length); i += b.length; } return bb; } private  ByteArrays(); static ByteArray empty(); static ByteArray cat(ByteArray... byteArrays); static long totalLength(ByteArray byteArray); static boolean isEmpty(ByteArray byteArray); static byte[] flattened(ByteArray byteArray); static byte[] cut(ByteArray byteArray, long offset, int length); static String representation(ByteArray byteArray); static ByteArray fromRepresentation(String representationAsBase64); static ByteArray utf8(String s); static String utf8(ByteArray byteArray);  }### Answer:
@Test public void testFlatten() throws Exception { ByteArray b = new ByteArray(new byte[][] { testBytes(0, 3), testBytes(3, 4), testBytes(7, 5) }); Assertions.assertThat(ByteArrays.flattened(b)).isEqualTo(testBytes(0, 12)); }