@@ -0,0 +1,1995 @@
+package org.javers.core.cases;%0A%0Aimport org.javers.core.Javers;%0Aimport org.javers.core.JaversBuilder;%0Aimport org.javers.core.diff.Diff;%0Aimport org.junit.jupiter.api.Test;%0A%0Aimport java.util.Arrays;%0Aimport java.util.Collections;%0Aimport java.util.List;%0A%0Aimport static org.assertj.core.api.Assertions.assertThat;%0A%0Apublic class ListWithChildClassesTest %7B%0A    private Javers javers = JaversBuilder%0A            .javers()%0A            .build();%0A%0A    @Test%0A    public void testIssue()%7B%0A        Container container1 = new Container(Collections.singletonList(new StringField(%22StringField%22,%22String value%22)));%0A        Container container2 = new Container(Collections.singletonList(new ListField(%22ArrayField%22, Arrays.asList(%22V1%22, %22V2%22))));%0A%0A        Diff diff = javers.compare(container1, container2);%0A        assertThat(diff).isNotNull();%0A%0A        Diff diff2 = javers.compare(container2, container1);%0A        assertThat(diff2).isNotNull();%0A    %7D%0A%0A%0A    class Container%7B%0A        private List%3CContainerField%3E fields;%0A%0A        public Container(List%3CContainerField%3E fields) %7B%0A            this.fields = fields;%0A        %7D%0A%0A        public List%3CContainerField%3E getFields() %7B%0A            return fields;%0A        %7D%0A    %7D%0A%0A    abstract class ContainerField%7B%0A        private String name;%0A%0A        public ContainerField(String name) %7B%0A            this.name = name;%0A        %7D%0A%0A        public String getName() %7B%0A            return name;%0A        %7D%0A    %7D%0A%0A    class StringField extends ContainerField%7B%0A        private String value;%0A%0A        public StringField(String name, String value) %7B%0A            super(name);%0A            this.value = value;%0A        %7D%0A%0A        public String getValue() %7B%0A            return value;%0A        %7D%0A    %7D%0A%0A    class ListField extends ContainerField%7B%0A        private List%3CString%3E value;%0A%0A        public ListField(String name, List%3CString%3E value) %7B%0A            super(name);%0A            this.value = value;%0A        %7D%0A%0A        public List%3CString%3E getValue() %7B%0A            return value;%0A        %7D%0A%0A    %7D%0A%7D%0A

Add test case