{
    "anyOf": [
        {
            "$ref": "#/definitions/TestStruct"
        }
    ],
    "definitions": {
        "TestStruct": {
            "additionalProperties": false,
            "description": "for testing the schema generator.",
            "preferredOrder": [
                "reqField",
                "field1",
                "field2",
                "reqField3",
                "field4"
            ],
            "properties": {
                "field1": {
                    "description": "should be the first field",
                    "type": "string",
                    "x-intellij-html-description": "should be the first field"
                },
                "field2": {
                    "description": "should be the second field. Valid modes are `a`: first letter `b` (default): second letter",
                    "enum": [
                        "a",
                        "b"
                    ],
                    "type": "string",
                    "x-intellij-html-description": "should be the second field. Valid modes are <code>a</code>: first letter <code>b</code> (default): second letter"
                },
                "field4": {
                    "description": "should be listed last in `preferredOrder`",
                    "type": "string",
                    "x-intellij-html-description": "should be listed last in <code>preferredOrder</code>"
                },
                "reqField": {
                    "description": "should be required",
                    "type": "string",
                    "x-intellij-html-description": "should be required"
                },
                "reqField3": {
                    "description": "Field3 should be the third field and listed in required",
                    "type": "string",
                    "x-intellij-html-description": "Field3 should be the third field and listed in required"
                }
            },
            "required": [
                "reqField",
                "reqField3"
            ],
            "x-intellij-html-description": "for testing the schema generator."
        }
    },
    "type": "object"
}