package org.datatransferproject.types.common.models;

import com.fasterxml.jackson.annotation.JsonSubTypes;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import org.datatransferproject.types.common.models.calendar.CalendarContainerResource;
import org.datatransferproject.types.common.models.mail.MailContainerResource;
import org.datatransferproject.types.common.models.photos.PhotosContainerResource;
import org.datatransferproject.types.common.models.tasks.TaskContainerResource;

/**
 * A resource that contains data items such as a photo album or song list.
 *
 * <p>Concrete subtypes must use {@link com.fasterxml.jackson.annotation.JsonTypeName} to specify a
 * type discriminator used for deserialization.
 */
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME)
@JsonSubTypes({
        @JsonSubTypes.Type(PhotosContainerResource.class),
        @JsonSubTypes.Type(MailContainerResource.class),
        @JsonSubTypes.Type(CalendarContainerResource.class),
        @JsonSubTypes.Type(TaskContainerResource.class),
        @JsonSubTypes.Type(IdOnlyContainerResource.class)
})
public abstract class ContainerResource extends DataModel {}

@@ -459,18 +459,280 @@
 els.
-tasks.Task
+playlists.PlaylistContainerResource;%0Aimport org.datatransferproject.types.common.models.social.SocialActivityContainerResource;%0Aimport org.datatransferproject.types.common.models.tasks.TaskContainerResource;%0Aimport org.datatransferproject.types.common.models.videos.Videos
 Cont
@@ -1090,32 +1090,91 @@
 esource.class),%0A
+        @JsonSubTypes.Type(VideosContainerResource.class),%0A
         @JsonSub
@@ -1267,32 +1267,32 @@
 esource.class),%0A
-
         @JsonSub
@@ -1324,32 +1324,160 @@
 esource.class),%0A
+        @JsonSubTypes.Type(PlaylistContainerResource.class),%0A        @JsonSubTypes.Type(SocialActivityContainerResource.class),%0A
         @JsonSub

Update subtypes of ContainerResource