Make ByteArray use an ArrayList<byte[]> internally, to avoid needless copying and un/boxing