package com.javarush.task.task33.task3312;

import com.fasterxml.jackson.annotation.JsonSubTypes;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import com.fasterxml.jackson.annotation.JsonTypeName;
import com.javarush.task.task33.task3305.Car;
import com.javarush.task.task33.task3305.Motorbike;
import com.javarush.task.task33.task3305.RaceBike;

import java.util.ArrayList;
import java.util.List;

@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, property="type")
@JsonSubTypes({
        @JsonSubTypes.Type(value = Zoo.Dog.class, name = "dog"),
        @JsonSubTypes.Type(value = Zoo.Cat.class, name = "cat"),

})
public class Zoo {
    public List<Animal> animals = new ArrayList<>();

    public static class Animal {
        public Animal(String name) {
            this.name = name;
        }

        public String name;
    }

    public static class Dog extends Animal {

        public double barkVolume;

        public Dog(String name) {
            super(name);
        }
    }
    
    public static class Cat extends Animal {
        boolean likesCream;
        public int lives;

        public Cat(String name) {
            super(name);
        }
    }
}
@@ -37,16 +37,70 @@
 k3312;%0A%0A
+import com.fasterxml.jackson.annotation.JsonProperty;%0A
 import c
@@ -257,252 +257,217 @@
 me;%0A
+%0A
 import 
-com.javarush.task.task33.task3305.Car;%0Aimport com.javarush.task.task33.task3305.Motorbike;%0Aimport com.javarush.task.task33.task3305.RaceBike;%0A%0Aimport java.util.ArrayList;%0Aimport java.util.List;%0A%0A@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS,
+java.util.ArrayList;%0Aimport java.util.List;%0A%0A%0Apublic class Zoo %7B%0A    public List%3CAnimal%3E animals = new ArrayList%3C%3E();%0A%0A    @JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, 
  pro
@@ -480,16 +480,20 @@
 %22type%22)%0A
+    
 @JsonSub
@@ -500,16 +500,20 @@
 Types(%7B%0A
+    
         
@@ -569,32 +569,36 @@
 %22dog%22),%0A        
+   
+ 
 @JsonSubTypes.Ty
@@ -643,83 +643,14 @@
 ),%0A%0A
-%7D)%0Apublic class Zoo %7B%0A    public List%3CAnimal%3E animals = new ArrayList%3C%3E();%0A
+    %7D)
 %0A   
@@ -788,24 +788,50 @@
 ame;%0A    %7D%0A%0A
+    @JsonTypeName (%22dog%22)%0A
     public s
@@ -899,16 +899,17 @@
 olume;%0A%0A
+%0A
         
@@ -975,20 +975,42 @@
 %7D%0A    %7D%0A
+%0A
     
+@JsonTypeName (%22cat%22)
 %0A    pub

Task 3312 has done