code: public static void writeDate (final Parcel parcel, final Date date) {
          if (parcel == null) return;
          parcel.writeByte(date == null ? MARKER_NO_ELEMENT_STORED : MARKER_AN_ELEMENT_STORED);
          if (date != null) parcel.writeLong(date.getTime());
      }
docs: Writes a date to a parcel at its current position.
  More efficient than writing it as a {@link Serializable}.
  Deals nicely with a null date, as long as {@link #readDate(Parcel)} is used to retrieve it
  afterwards.
  @param parcel the parcel to write the date to. Must be non-null.
  @param date the date to write to the parcel. Can be null.
  @see #readDate(Parcel)