title: Why must override function: writeToParcel from interface Parcelable in android?
body: <p>I have a class: <code>class PartStoreModel implements Parcelable</code> which contains some properties such as: <code>id, name, address</code>. In this function I must <code>override</code> function: <code>public void writeToParcel(Parcel dest, int flags)</code> (I left this function empty, don't do anything):</p>
  
  <pre><code>@Override
  public void writeToParcel(Parcel dest, int flags) {
  // Do nothing here
  }
  
  // This is how I save on configuration change:
  @Override
  public void onSaveInstanceState(Bundle outState) {
      super.onSaveInstanceState(outState);
      outState.putParcelableArrayList(KEY_INVENTORY_GROUP_SAVED,
              mPartStoreModels);
  }
  </code></pre>
  
  <p>The problem is that <b>It worked perfect!</b>. So why I have to override <code>writeToParcel</code> function, when I can leave it blank? Can anyone explains it? (I usually override <code>writeToParcel</code> function, and <code>PartStoreModel(Parcel in)</code> as <code>write</code> and <code>read</code> function, but nothing is better than leave them blank!) </p>