title: Kotlin's @Parcelize throws NPE on writeToParcel()
body: <p>I have this set of data classes, all in the same file:</p>
  
  <pre><code>@Parcelize data class Response(val RecordView: RecordView):Parcelable
  
  @Parcelize data class RecordView(val Records: List&lt;Records&gt;):Parcelable
  
  @Parcelize data class Gid(val Value: String):Parcelable
  
  @Parcelize data class Features(val Fields: List&lt;Fields&gt;, val FeatureName: String, val Title: String):Parcelable
  
  @Parcelize data class Fields(val Label: String, val Value: String, val FieldName: String, val Features: List&lt;Features&gt;):Parcelable
  
  @Parcelize data class Records(val Gid: Gid, val ImageIds: List&lt;String&gt;, val Fields: List&lt;Fields&gt;, val Features: List&lt;Features&gt;):Parcelable
  </code></pre>
  
  <p>I then send the <code>Response</code> object as an intent for the next activity:</p>
  
  <pre><code>val record = intent?.getParcelableExtra&lt;Records&gt;(RECORD)
  </code></pre>
  
  <p>but the next activity then throws this:</p>
  
  <pre><code>java.lang.NullPointerException: Attempt to invoke interface method 'int java.util.Collection.size()' on a null object reference
                                                                                      at entities.Features.writeToParcel(Features.kt)
                                                                                      at entities.Records.writeToParcel(Records.kt)
                                                                                      at android.os.Parcel.writeParcelable(Parcel.java:1496)
                                                                                      at android.os.Parcel.writeValue(Parcel.java:1402)
                                                                                      at android.os.Parcel.writeArrayMapInternal(Parcel.java:724)
                                                                                      at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1408)
                                                                                      at android.os.Bundle.writeToParcel(Bundle.java:1157)
                                                                                      at android.os.Parcel.writeBundle(Parcel.java:764)
                                                                                      at android.content.Intent.writeToParcel(Intent.java:8687)
                                                                                      at android.app.ActivityManagerProxy.startActivity(ActivityManagerNative.java:3082)
                                                                                      at android.app.Instrumentation.execStartActivity(Instrumentation.java:1518)
                                                                                      at android.app.Activity.startActivityForResult(Activity.java:4225)
  </code></pre>
  
  <p>This same process works when I just send a more basic class (just Strings in the parameters), using the same <code>@Parcelize</code>.</p>
  
  <p>And yes, I turned on experimental on my gradle file.</p>
  
  <p>Any ideas? Thanks</p>