Clase abstracta como parcelable

Básicamente tengo la siguiente estructura en mi aplicación:

Sería sencillo implementar dicha estructura sin la clase abstractaProjectItem, pero en este caso no sé cómo implementar esto.

La clase abstractaProjectItem necesita unCREATOR ya que debería ser parcelable. (me gustain.readTypedList(mProjectItems, ProjectItem.CREATOR); dentro del constructor Proyecto (Parcela en))

Pero de hecho, elCREATOR solo se puede implementar en sus clases derivadas por razones lógicas.

Entonces, ¿cómo implementar esta estructura para mantener la clase?Project parcelable ??

Editar

Esto es lo que uno de los constructores deProject parece:

private Project(Parcel in) {
    in.readTypedList(mProjectItems, ProjectItem.CREATOR);
}

Pero como ya dije,ProjectItem no debería tener que implementar unCREATOR

Respuestas a la pregunta(4)

Su respuesta a la pregunta