if (!objectType.getPatternProperties().isEmpty()) {
jsonObject.put("patternProperties", _patternPropertyMarshaller.toMappedJSONObject(objectType.getPatternProperties()));
}
JSONSchema additionalPropertiesSchema = objectType.getAdditionalPropertiesSchema();
if (additionalPropertiesSchema == null) {
jsonObject.put("additionalProperties", false);
} else if (!additionalPropertiesSchema.isEmpty()) {
jsonObject.put("additionalProperties", toJSONObject(additionalPropertiesSchema, false));
}
} else if (type instanceof JSONSchemaArrayType) {
JSONSchemaArrayType arrayType = (JSONSchemaArrayType) type;
if (arrayType.isTuple()) {
jsonObject.put("items", toJSONArray(arrayType.getItems(), false));
JSONSchema additionalItemsSchema = arrayType.getAdditionalItemsSchema();
if (additionalItemsSchema == null) {
jsonObject.put("additionalItems", false);
} else if (!additionalItemsSchema.isEmpty()) {
jsonObject.put("additionalItems", toJSONObject(additionalItemsSchema, false));
}
} else {
jsonObject.put("items", toJSONObject(arrayType.getItem(), false));
}