@@ -0,0 +1,3043 @@
+package com.fasterxml.jackson.failing;%0A%0Aimport java.util.concurrent.atomic.AtomicReference;%0A%0Aimport com.fasterxml.jackson.annotation.JsonAlias;%0Aimport com.fasterxml.jackson.annotation.JsonCreator;%0Aimport com.fasterxml.jackson.annotation.JsonProperty;%0Aimport com.fasterxml.jackson.annotation.JsonTypeName;%0A%0Aimport com.fasterxml.jackson.databind.BaseMapTest;%0Aimport com.fasterxml.jackson.databind.ObjectMapper;%0A%0A// for %5Bdatabind#2378%5D%0Apublic class Alias2378Test extends BaseMapTest%0A%7B%0A    @JsonTypeName(%22user%22)%0A    static abstract class UserEventContext %7B%0A%0A         public abstract String getId();%0A%0A        public abstract String getPartitionId();%0A%0A        public abstract String getAccountId();%0A%0A        public abstract AtomicReference%3CString%3E getDeviceId();%0A%0A        @JsonCreator%0A        public static UserEventContext create(@JsonProperty(%22partitionId%22) String partitionId,%0A                @JsonProperty(%22accountId%22) String accountId,%0A                @JsonProperty(%22id%22) @JsonAlias(%22userId%22) String userId,%0A                @JsonProperty(%22deviceId%22) String deviceId) %7B%0A            return new AutoValue_UserEventContext(userId, partitionId, accountId,%0A                    new AtomicReference%3C%3E(deviceId));%0A        %7D%0A    %7D%0A%0A    static class AutoValue_UserEventContext extends UserEventContext %7B%0A%0A        private final String id;%0A%0A        private final String partitionId;%0A%0A        private final String accountId;%0A%0A        private final AtomicReference%3CString%3E deviceId;%0A%0A        AutoValue_UserEventContext(%0A            String id,%0A            String partitionId,%0A            String accountId,%0A            AtomicReference%3CString%3E deviceId) %7B%0A          if (id == null) %7B%0A            throw new NullPointerException(%22Null id%22);%0A          %7D%0A          this.id = id;%0A          if (partitionId == null) %7B%0A            throw new NullPointerException(%22Null partitionId%22);%0A          %7D%0A          this.partitionId = partitionId;%0A          if (accountId == null) %7B%0A            throw new NullPointerException(%22Null accountId%22);%0A          %7D%0A          this.accountId = accountId;%0A          if (deviceId == null) %7B%0A            throw new NullPointerException(%22Null deviceId%22);%0A          %7D%0A          this.deviceId = deviceId;%0A        %7D%0A%0A        @Override%0A        public String getId() %7B%0A          return id;%0A        %7D%0A%0A        @Override%0A        public String getPartitionId() %7B%0A          return partitionId;%0A        %7D%0A%0A        @Override%0A        public String getAccountId() %7B%0A          return accountId;%0A        %7D%0A%0A        @Override%0A        public AtomicReference%3CString%3E getDeviceId() %7B%0A          return deviceId;%0A        %7D%0A      %7D%0A%0A    private final ObjectMapper MAPPER = newJsonMapper();%0A%0A    public void testIssue2378() throws Exception%0A    %7B%0A        UserEventContext value = MAPPER.readValue(%0A                aposToQuotes(%0A//%22%7B'userId' : 'abc', 'partitionId' : '123', 'accountId' : '1', 'deviceId':'x' %7D%22%0A%22%7B'id' : 'abc', 'partitionId' : '123', 'accountId' : '1', 'deviceId':'x' %7D%22%0A                ), UserEventContext.class);%0A        assertNotNull(value);%0A    %7D%0A%7D%0A

Add failing test for #2378