private Map readMap()

in src/main/java/software/amazon/cloudformation/proxy/StdCallbackContext.java [135:157]


        private Map<String, Object> readMap(Class<?> type, JsonParser p, DeserializationContext ctxt) throws IOException {
            if (!p.isExpectedStartObjectToken()) {
                throw new JsonParseException(p, "Expected start of object for Map got " + p.currentToken());
            }
            try {
                Map<String, Object> value = (Map<String, Object>) type.getDeclaredConstructor().newInstance();
                JsonToken next = p.nextToken();
                while (next != JsonToken.END_OBJECT) {
                    if (next != JsonToken.FIELD_NAME) {
                        throw new JsonParseException(p, "Key was not present " + next);
                    }
                    String key = p.currentName();
                    p.nextToken(); // position to next
                    Object val = readObject(p, ctxt);
                    value.put(key, val);
                    next = p.nextToken();
                }
                return value;
            } catch (InstantiationException | IllegalAccessException | NoSuchMethodException | InvocationTargetException e) {
                throw new JsonMappingException(p, "Can not create empty map for class " + type + " @ " + p.getCurrentLocation(),
                                               e);
            }
        }