objectType.setAdditionalPropertiesSchema(null);
} else if (additionalProperties != null && additionalProperties != JSONObject.NULL) {
throw new IllegalArgumentException("Unsupported additional properties: " + additionalProperties);
}
} else if (type instanceof JSONSchemaArrayType) {
JSONSchemaArrayType arrayType = (JSONSchemaArrayType) type;
Object items = jsonObject.opt("items");
if (items instanceof JSONObject) {
arrayType.setItem(fromJSONObject((JSONObject) items));
} else if (items instanceof JSONArray || items instanceof Collection) {
arrayType.setItems(fromJSONArray((JSONArray) items));
Object additionalItems = jsonObject.opt("additionalItems");
if (additionalItems instanceof JSONObject) {
arrayType.additionalItemsSchema(fromJSONObject((JSONObject) additionalItems));
} else if (additionalItems instanceof Boolean && !((Boolean) additionalItems)) {
arrayType.additionalItemsSchema(null);
} else if (additionalItems != null && additionalItems != JSONObject.NULL) {
throw new IllegalArgumentException("Unsupported additional items: " + additionalItems);
} else {
arrayType.additionalItemsSchema(new JSONSchema());
}
}
}
}