title: ArrayList<ArrayList<String>> in Parcelable object kotlin
body: <p>Array of arrays of strings needs to be parcelized. The object is like so</p>
  
  <pre><code>data class Foo (
      @SerializedName("bar") val bar: ArrayList&lt;ArrayList&lt;String&gt;&gt;,
  )
  </code></pre>
  
  <p>It doesn't exactly need to be ArrayList. Array can also used.</p>
  
  <pre><code>data class Foo (
      @SerializedName("bar") val bar: Array&lt;Array&lt;String&gt;&gt;,
  )
  </code></pre>
  
  <p>Whichever easier is ok to map this json data</p>
  
  <pre><code>{
    "bar": [
      ["a", "b"],
      ["a1", "b2", "c2"],
      ["a3", "b34", "c432"]
    ]
  }
  </code></pre>
  
  <p>Using kotlin experimental <code>Parcelize</code> crashes the app when it's compiled with progaurd</p>
  
  <p>How is it written in "writeToParcel" and read in "constructor"?</p>
  
  <pre><code>data class Foo (
    @SerializedName("bar") val bar: ArrayList&lt;ArrayList&lt;String&gt;&gt;,
  ) : Parcelable {
  
    constructor(source: Parcel) : this(
       // ?????
    )
  
    override fun writeToParcel(dest: Parcel, flags: Int) = with(dest) {
      // ?????
    }
  
  }
  </code></pre>