title: Sometimes an error occurs when creating a fragment with parceble
body: <p>I am creating a framgent using Parcelable.</p>
  <p>In most cases there is nothing wrong,</p>
  <p>but in the firebase Crashlytics report
  I get an Unmarshalling unknown type code Exception.</p>
  <p>I am not sure why I am getting that error.</p>
  <p>Below is my code.</p>
  <p>dataClass</p>
  <pre><code>class MovieNew(
          val Url: String,                               
          val movieDetail : ArrayList&lt;MovieDetail&gt;,
          val imageSrc : String,
          val brandImageSrc : String,
  ) : Parcelable {
      constructor(parcel: Parcel) : this(
              parcel.readString(),
              arrayListOf&lt;MovieDetail&gt;().apply {
                  parcel.readList(this, MovieDetail::class.java.classLoader)
              },
              parcel.readString(),
              parcel.readString()) {
      }
  
      override fun writeToParcel(parcel: Parcel, flags: Int) {
          parcel.writeString(Url)
          parcel.writeList(movieDetail)
          parcel.writeString(imageSrc)
          parcel.writeString(brandImageSrc)
      }
  
      override fun describeContents(): Int {
          return 0
      }
  
      companion object CREATOR : Parcelable.Creator&lt;MovieNew&gt; {
          override fun createFromParcel(parcel: Parcel): MovieNew {
              return MovieNew(parcel)
          }
  
          override fun newArray(size: Int): Array&lt;MovieNew?&gt; {
              return arrayOfNulls(size)
          }
      }
  }
  </code></pre>
  <p>Adapter</p>
  <pre><code>class ContentsNewListFragmentAdapter(fm: androidx.fragment.app.FragmentManager, var movieList: ArrayList&lt;MovieNew&gt;, var brandList : ArrayList&lt;BrandList&gt;) : androidx.fragment.app.FragmentStatePagerAdapter(fm) {
      private var listener: MainActivityListener? = null
  
      override fun getItem(position: Int): androidx.fragment.app.Fragment {
          val tabPosition : Int = Utils.setBrandNum(brandList ,movieList[position].brandId.toInt())
          val fragment = ContentsNewListFragment.newInstance(movieList[position],tabPosition)
          fragment.setMainListener(listener)
          return fragment
      }
  </code></pre>
  <p>fragment</p>
  <pre><code>class ContentsNewListFragment : androidx.fragment.app.Fragment() {
      private var model: MovieNew? = null
      private var tabPostion : Int? = null
      private var listener: MainActivityListener? = null
      companion object {
          fun newInstance(model : MovieNew, tabPostion : Int): ContentsNewListFragment {
              val args = Bundle()
              val fragment = ContentsNewListFragment()
              if (model != null){
                  args.putParcelable(&quot;model&quot;, model)
                  args.putInt(&quot;tabPosition&quot;, tabPostion)
                  fragment.arguments = args
              }
              return fragment
          }
      }
  
      override fun onCreate(savedInstanceState: Bundle?) {
          super.onCreate(savedInstanceState)
          if (arguments != null) {
              model = arguments?.getParcelable(&quot;model&quot;)
              tabPostion = arguments?.getInt(&quot;tabPosition&quot;)
          }
  
      }
  </code></pre>
  <p>Let me know if you know the solution.</p>