@@ -0,0 +1,1483 @@
+package com.fasterxml.jackson.failing;%0A%0Aimport com.fasterxml.jackson.annotation.*;%0A%0Aimport com.fasterxml.jackson.databind.*;%0A%0Apublic class DelegatingExternalProperty1003Test extends BaseMapTest%0A%7B%0A    static class HeroBattle %7B%0A%0A        private final Hero hero;%0A%0A        private HeroBattle(Hero hero) %7B%0A            if (hero == null) throw new Error();%0A            this.hero = hero;%0A        %7D%0A%0A        @JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, include = JsonTypeInfo.As.EXTERNAL_PROPERTY, property = %22heroType%22)%0A        public Hero getHero() %7B%0A            return hero;%0A        %7D%0A%0A        @JsonCreator%0A        static HeroBattle fromJson(Delegate json) %7B%0A            return new HeroBattle(json.hero);%0A        %7D%0A    %7D%0A%0A    static class Delegate %7B%0A        @JsonProperty%0A        @JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, include = JsonTypeInfo.As.EXTERNAL_PROPERTY, property = %22heroType%22)%0A        public Hero hero;%0A    %7D%0A%0A    public interface Hero %7B %7D%0A%0A    static class Superman implements Hero %7B%0A        public String getName() %7B%0A            return %22superman%22;%0A        %7D%0A    %7D    %0A%0A    public void testExtrnalPropertyDelegatingCreator() throws Exception%0A    %7B%0A        ObjectMapper mapper = new ObjectMapper();%0A%0A        final String json = mapper.writeValueAsString(new HeroBattle(new Superman()));%0A%0A//System.err.println(%22JSON: %22+json);        %0A        final HeroBattle battle = mapper.readValue(json, HeroBattle.class);%0A%0A        assert battle.getHero() instanceof Superman;%0A    %7D%0A%0A    %0A%7D%0A

Add a failing test for #1003