@@ -0,0 +1,2437 @@
+package com.fasterxml.jackson.failing;%0A%0Aimport java.util.Map;%0Aimport java.util.concurrent.ConcurrentHashMap;%0A%0Aimport com.fasterxml.jackson.annotation.*;%0A%0Aimport com.fasterxml.jackson.databind.*;%0Aimport com.fasterxml.jackson.databind.annotation.JsonDeserialize;%0Aimport com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder;%0A%0Apublic class ObjectIdWithBuilder1496Test extends BaseMapTest%0A%7B%0A    @JsonIdentityInfo(generator=ObjectIdGenerators.PropertyGenerator.class, property=%22id%22)%0A    @JsonDeserialize(builder=POJOBuilder.class)%0A    static class POJO%0A    %7B%0A         private long id;%0A         public long getId() %7B return id; %7D%0A         private int var;%0A         public int getVar() %7B return var; %7D%0A         private POJO (long id, int var) %7B this.id = id; this.var = var; %7D%0A%0A         @Override%0A         public String toString() %7B return %22id: %22 + id + %22, var: %22 + var; %7D%0A    %7D%0A         %0A    @JsonIdentityInfo(generator=ObjectIdGenerators.PropertyGenerator.class, property=%22id%22)%0A    @JsonPOJOBuilder(withPrefix = %22%22, buildMethodName=%22readFromCacheOrBuild%22)%0A    static final class POJOBuilder %7B%0A        // Standard builder stuff%0A        private long id;%0A        private int var;%0A%0A        public POJOBuilder id(long _id) %7B id = _id; return this; %7D%0A        public POJOBuilder var(int _var) %7B var = _var; return this; %7D%0A%0A        public POJO build() %7B return new POJO(id, var); %7D%0A        %0A        // Special build method for jackson deserializer that caches objects already deserialized%0A        private final static ConcurrentHashMap%3CLong, POJO%3E cache = new ConcurrentHashMap%3C%3E();%0A        public POJO readFromCacheOrBuild() %7B%0A            POJO pojo = cache.get(id);%0A            if (pojo == null) %7B%0A                POJO newPojo = build();%0A                pojo = cache.putIfAbsent(id, newPojo);%0A                if (pojo == null) %7B%0A                    pojo = newPojo;%0A                %7D%0A            %7D%0A            return pojo;%0A        %7D%0A    %7D%0A%0A    /*%0A    /**********************************************************%0A    /* Test methods%0A    /**********************************************************%0A     */%0A%0A    private final ObjectMapper MAPPER = newObjectMapper();%0A    %0A    public void testBuilderId1496() throws Exception%0A    %7B%0A        POJO input = new POJOBuilder().id(123L).var(456).build();%0A        String json = MAPPER.writeValueAsString(input);%0A        POJO result = MAPPER.readValue(json, POJO.class);%0A        assertNotNull(result);%0A    %7D%0A%7D%0A

Add a (failing) test for #1496