public PropertyBag read()

in sarif/src/main/java/com/jetbrains/qodana/sarif/model/PropertyBag.java [159:192]


            public PropertyBag read(JsonReader in) throws IOException {
                JsonToken peek = in.peek();
                if (peek == JsonToken.NULL) {
                    in.nextNull();
                    return null;
                }
                PropertyBag result = new PropertyBag();
                Map<String, Object> serializedMap = new HashMap<>();
                TypeAdapter<Object> objectTypeAdapter = gson.getAdapter(Object.class);
                in.beginObject();

                while (in.hasNext()) {
                    String key = in.nextName();
                    if (!ignoreKeys.contains(key)) {
                        Object value = objectTypeAdapter.read(in);
                        Object replaced = serializedMap.put(key, value);
                        if (replaced != null) {
                            throw new JsonSyntaxException("Duplicate key: " + key);
                        }
                    } else {
                        in.skipValue();
                    }
                }

                in.endObject();

                Object tags = serializedMap.remove(TAGS_KEY);
                result.putAll(serializedMap);
                if (tags instanceof List) {
                    //noinspection unchecked
                    result.tags.addAll((Collection<? extends String>) tags);
                }
                return result;
            }