{
  "name": "Integration Eye Proxy Module",
  "description": "This is the main class of an extension, is the entry point from which configurations, connection providers, operations and sources are going to be declared.",
  "version": "3.1.2",
  "vendor": "Integsoft s.r.o.",
  "category": "COMMUNITY",
  "xmlDsl": {
    "prefix": "ipm",
    "namespace": "http://www.integsoft.cz/schema/mule/proxy",
    "schemaLocation": "http://www.integsoft.cz/schema/mule/proxy/current/mule-ipm.xsd",
    "schemaVersion": "3.1.2",
    "xsdFileName": "mule-ipm.xsd"
  },
  "resources": [],
  "subTypes": [
    {
      "baseType": {
        "format": "java",
        "type": "@ref:cz.integsoft.mule.ipm.api.http.authentication.HttpRequestAuthentication"
      },
      "subTypes": [
        {
          "format": "java",
          "type": "@ref:cz.integsoft.mule.ipm.api.http.authentication.BasicAuthentication"
        },
        {
          "format": "java",
          "type": "@ref:cz.integsoft.mule.ipm.api.http.authentication.DigestAuthentication"
        },
        {
          "format": "java",
          "type": "@ref:cz.integsoft.mule.ipm.api.http.authentication.NtlmAuthentication"
        }
      ]
    },
    {
      "baseType": {
        "format": "java",
        "type": "@ref:cz.integsoft.mule.ipm.api.http.proxy.ViaHttpProxyConfig"
      },
      "subTypes": [
        {
          "format": "java",
          "type": "@ref:cz.integsoft.mule.ipm.api.http.proxy.DefaultProxyConfig"
        },
        {
          "format": "java",
          "type": "@ref:cz.integsoft.mule.ipm.api.http.proxy.DefaultNtlmProxyConfig"
        }
      ]
    },
    {
      "baseType": {
        "format": "java",
        "type": "@ref:cz.integsoft.mule.ipm.api.failover.FailoverGroup"
      },
      "subTypes": [
        {
          "format": "java",
          "type": "@ref:cz.integsoft.mule.ipm.api.failover.DefaultFailoverGroup"
        }
      ]
    },
    {
      "baseType": {
        "format": "java",
        "type": "@ref:cz.integsoft.mule.ipm.api.failover.FailoverManager"
      },
      "subTypes": [
        {
          "format": "java",
          "type": "@ref:cz.integsoft.mule.ipm.api.failover.DefaultFailoverManager"
        }
      ]
    },
    {
      "baseType": {
        "format": "java",
        "type": "@ref:cz.integsoft.mule.ipm.api.failover.FailoverTestingStrategy"
      },
      "subTypes": [
        {
          "format": "java",
          "type": "@ref:cz.integsoft.mule.ipm.api.failover.strategy.PingTestingStrategy"
        }
      ]
    }
  ],
  "privilegedPackages": [],
  "privilegedArtifacts": [],
  "externalLibraries": [],
  "importedTypes": [
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "org.mule.runtime.api.store.ObjectStore",
        "extensibleType": {},
        "typeAlias": {
          "value": "ObjectStore"
        },
        "classInformation": {
          "classname": "org.mule.runtime.api.store.ObjectStore",
          "hasDefaultConstructor": false,
          "isInterface": true,
          "isInstantiable": false,
          "isAbstract": true,
          "isFinal": false,
          "implementedInterfaces": [],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        }
      },
      "fields": []
    }
  ],
  "configurations": [
    {
      "stereotype": {
        "type": "FAILOVER-CONFIG",
        "namespace": "IPM",
        "parent": {
          "type": "MODULE_CONFIG",
          "namespace": "MULE"
        }
      },
      "parameterGroupModels": [
        {
          "parameters": [
            {
              "type": {
                "format": "java",
                "type": "@ref:cz.integsoft.mule.ipm.api.failover.FailoverManager"
              },
              "hasDynamicType": false,
              "required": true,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "NOT_SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "allowedStereotypeModels": [
                {
                  "type": "FAILOVER_MANAGER",
                  "namespace": "IPM"
                }
              ],
              "name": "failover-manager",
              "displayModel": {
                "summary": "Defined failover manager to use"
              },
              "description": "",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": true,
              "isConfigOverride": false,
              "isComponentId": true,
              "expressionSupport": "NOT_SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "allowedStereotypeModels": [],
              "name": "name",
              "description": "The identifier of this element used to reference it in other components",
              "modelProperties": {}
            }
          ],
          "exclusiveParametersModels": [],
          "layoutModel": {
            "password": false,
            "text": false,
            "query": false,
            "order": 1
          },
          "showInDsl": false,
          "name": "General",
          "description": "",
          "modelProperties": {}
        }
      ],
      "externalLibraryModels": [],
      "operations": [
        {
          "blocking": false,
          "executionType": "CPU_LITE",
          "output": {
            "type": {
              "format": "java",
              "type": "@ref:cz.integsoft.mule.ipm.api.failover.FailoverHost"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": false,
          "supportsStreaming": false,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "IPM:CIRCUIT_OPEN",
            "IPM:NO_HOST_AVAILABLE"
          ],
          "stereotype": {
            "type": "GET-FAILOVER-HOST",
            "namespace": "IPM",
            "parent": {
              "type": "PROCESSOR",
              "namespace": "IPM",
              "parent": {
                "type": "PROCESSOR",
                "namespace": "MULE"
              }
            }
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Boolean",
                    "annotations": {
                      "typeId": "boolean"
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "false",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "ignore-exceptions",
                  "displayModel": {
                    "summary": "Sets if the operation should ignore exceptions. Optional and default is false."
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "org.mule.runtime.extension.api.runtime.config.ConfigurationProvider"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "allowedStereotypeModels": [
                    {
                      "type": "FAILOVER-CONFIG",
                      "namespace": "IPM",
                      "parent": {
                        "type": "MODULE_CONFIG",
                        "namespace": "MULE"
                      }
                    }
                  ],
                  "name": "config-ref",
                  "description": "The name of the configuration to be used to execute this component",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "target",
                  "displayModel": {
                    "displayName": "Target Variable"
                  },
                  "description": "The name of a variable on which the operation\u0027s output will be placed",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "REQUIRED",
                  "defaultValue": "#[payload]",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "targetValue",
                  "displayModel": {
                    "displayName": "Target Value"
                  },
                  "description": "An expression that will be evaluated against the operation\u0027s output and the outcome of that expression will be stored in the target variable",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Output",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "get-failover-host",
          "description": "",
          "modelProperties": {},
          "kind": "operation"
        }
      ],
      "connectionProviders": [],
      "messageSources": [],
      "name": "failover-config",
      "description": "Global failover configuration. Should be static configuration.",
      "modelProperties": {
        "requiredForMetadata": {
          "requiredParameters": [
            "failover-manager",
            "name"
          ]
        }
      }
    },
    {
      "stereotype": {
        "type": "HTTP-PROXY-CONFIG",
        "namespace": "IPM",
        "parent": {
          "type": "MODULE_CONFIG",
          "namespace": "MULE"
        }
      },
      "parameterGroupModels": [
        {
          "parameters": [
            {
              "type": {
                "format": "java",
                "type": "@ref:cz.integsoft.mule.ipm.api.http.proxy.ViaHttpProxyConfig"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 11,
                "tabName": "Proxy"
              },
              "allowedStereotypeModels": [
                {
                  "type": "VIA_HTTP_PROXY_CONFIG",
                  "namespace": "IPM"
                }
              ],
              "name": "via-proxy",
              "displayModel": {
                "summary": "Reusable configuration element for outbound connections through a proxy"
              },
              "description": "Reusable configuration element for outbound connections through a proxy. A proxy element must define a host name and a port attributes, and optionally can define a username and a password.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "@ref:cz.integsoft.mule.ipm.api.http.authentication.HttpRequestAuthentication"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 12,
                "tabName": "TLS"
              },
              "allowedStereotypeModels": [
                {
                  "type": "HTTP_REQUEST_AUTHENTICATION",
                  "namespace": "IPM"
                }
              ],
              "name": "authentication",
              "description": "Authentication method to use for the HTTP request.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "@ref:cz.integsoft.mule.ipm.api.http.parameter.ServerKeystore"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 13
              },
              "allowedStereotypeModels": [],
              "name": "server-keystore",
              "description": "",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Array",
                "annotations": {
                  "classInformation": {
                    "classname": "java.util.List",
                    "hasDefaultConstructor": false,
                    "isInterface": true,
                    "isInstantiable": false,
                    "isAbstract": true,
                    "isFinal": false,
                    "implementedInterfaces": [
                      "java.util.Collection"
                    ],
                    "parent": "",
                    "genericTypes": [
                      "cz.integsoft.mule.ipm.api.http.parameter.ClientKeystore"
                    ],
                    "isMap": false
                  }
                },
                "item": {
                  "type": "@ref:cz.integsoft.mule.ipm.api.http.parameter.ClientKeystore"
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 14
              },
              "allowedStereotypeModels": [],
              "name": "client-keystores",
              "description": "",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Number",
                "annotations": {
                  "classInformation": {
                    "classname": "java.lang.Integer",
                    "hasDefaultConstructor": false,
                    "isInterface": false,
                    "isInstantiable": false,
                    "isAbstract": false,
                    "isFinal": true,
                    "implementedInterfaces": [
                      "java.lang.Comparable"
                    ],
                    "parent": "java.lang.Number",
                    "genericTypes": [],
                    "isMap": false
                  },
                  "int": {}
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "NOT_SUPPORTED",
              "defaultValue": "-1",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1,
                "tabName": "Advanced"
              },
              "allowedStereotypeModels": [],
              "name": "max-connections",
              "description": "The maximum number of outbound connections that will be kept open at the same time. By default the number of connections is -1 (unlimited).",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Number",
                "annotations": {
                  "classInformation": {
                    "classname": "java.lang.Integer",
                    "hasDefaultConstructor": false,
                    "isInterface": false,
                    "isInstantiable": false,
                    "isAbstract": false,
                    "isFinal": true,
                    "implementedInterfaces": [
                      "java.lang.Comparable"
                    ],
                    "parent": "java.lang.Number",
                    "genericTypes": [],
                    "isMap": false
                  },
                  "int": {}
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "NOT_SUPPORTED",
              "defaultValue": "10",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2,
                "tabName": "Advanced"
              },
              "allowedStereotypeModels": [],
              "name": "max-connections-per-route",
              "displayModel": {
                "summary": "Deprecated, not used and has no effect."
              },
              "description": "The maximum number of outbound connections that will be kept open at the same time per host. By default the number of connections is 10.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Number",
                "annotations": {
                  "classInformation": {
                    "classname": "java.lang.Integer",
                    "hasDefaultConstructor": false,
                    "isInterface": false,
                    "isInstantiable": false,
                    "isAbstract": false,
                    "isFinal": true,
                    "implementedInterfaces": [
                      "java.lang.Comparable"
                    ],
                    "parent": "java.lang.Number",
                    "genericTypes": [],
                    "isMap": false
                  },
                  "int": {}
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "NOT_SUPPORTED",
              "defaultValue": "30000",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3,
                "tabName": "Advanced"
              },
              "allowedStereotypeModels": [],
              "name": "connection-idle-timeout",
              "description": "The number of milliseconds that a connection can remain idle before it is closed. The value of this attribute is only used when persistent connections are enabled. Default is 30000.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Number",
                "annotations": {
                  "classInformation": {
                    "classname": "java.lang.Integer",
                    "hasDefaultConstructor": false,
                    "isInterface": false,
                    "isInstantiable": false,
                    "isAbstract": false,
                    "isFinal": true,
                    "implementedInterfaces": [
                      "java.lang.Comparable"
                    ],
                    "parent": "java.lang.Number",
                    "genericTypes": [],
                    "isMap": false
                  },
                  "int": {}
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "NOT_SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 4,
                "tabName": "Advanced"
              },
              "allowedStereotypeModels": [],
              "name": "connection-ttl",
              "description": "The number of milliseconds that a connection can remain before it is closed. The value of this attribute is only used when persistent connections are enabled. There is no default.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "@ref:cz.integsoft.mule.ipm.api.tcp.TcpClientSocketProperties"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "NOT_SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 5,
                "tabName": "Advanced"
              },
              "allowedStereotypeModels": [
                {
                  "type": "TCP_CLIENT_SOCKET_PROPERTIES",
                  "namespace": "IPM"
                }
              ],
              "name": "tcp-client-socket-properties",
              "description": "",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Boolean",
                "annotations": {
                  "typeId": "boolean"
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "NOT_SUPPORTED",
              "defaultValue": "true",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 6,
                "tabName": "Advanced"
              },
              "allowedStereotypeModels": [],
              "name": "enable-cookies",
              "description": "If true, cookies received in HTTP responses will be stored, and sent in subsequent HTTP requests. Default is true.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Number",
                "annotations": {
                  "classInformation": {
                    "classname": "java.lang.Integer",
                    "hasDefaultConstructor": false,
                    "isInterface": false,
                    "isInstantiable": false,
                    "isAbstract": false,
                    "isFinal": true,
                    "implementedInterfaces": [
                      "java.lang.Comparable"
                    ],
                    "parent": "java.lang.Number",
                    "genericTypes": [],
                    "isMap": false
                  },
                  "int": {}
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "NOT_SUPPORTED",
              "defaultValue": "-1",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 7,
                "tabName": "Advanced"
              },
              "allowedStereotypeModels": [],
              "name": "connection-request-timeout",
              "description": "The number of milliseconds until connection is taken from the connection manager. Default is -1 (system default).",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Boolean",
                "annotations": {
                  "typeId": "boolean"
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "NOT_SUPPORTED",
              "defaultValue": "true",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 8,
                "tabName": "Advanced"
              },
              "allowedStereotypeModels": [],
              "name": "bh",
              "description": "",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Number",
                "annotations": {
                  "classInformation": {
                    "classname": "int",
                    "hasDefaultConstructor": false,
                    "isInterface": false,
                    "isInstantiable": false,
                    "isAbstract": true,
                    "isFinal": true,
                    "implementedInterfaces": [],
                    "parent": "",
                    "genericTypes": [],
                    "isMap": false
                  },
                  "int": {}
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "NOT_SUPPORTED",
              "defaultValue": "-1",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 9,
                "tabName": "Advanced"
              },
              "allowedStereotypeModels": [],
              "name": "response-buffer-size",
              "description": "The space in bytes for the buffer where the HTTP response will be stored.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Boolean",
                "annotations": {
                  "typeId": "boolean"
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "NOT_SUPPORTED",
              "defaultValue": "false",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 10,
                "tabName": "Advanced"
              },
              "allowedStereotypeModels": [],
              "name": "stream-response",
              "description": "Whether or not received responses should be streamed, meaning processing will continue as soon as all headers are parsed and the body streamed as it arrives. When enabled, the response MUST be eventually read since depending on the configured buffer size it may not fit into memory and processing will stop until space is available.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "valueProviderModel": {
                "actingParameters": [],
                "partOrder": 1,
                "providerName": "ssl-protocol",
                "requiresConfiguration": false,
                "requiresConnection": false,
                "isOpen": true
              },
              "expressionSupport": "NOT_SUPPORTED",
              "defaultValue": "TLSv1.2",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1,
                "tabName": "TLS"
              },
              "allowedStereotypeModels": [],
              "name": "ssl-protocol",
              "description": "",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Boolean",
                "annotations": {
                  "typeId": "boolean"
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "NOT_SUPPORTED",
              "defaultValue": "false",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2,
                "tabName": "TLS"
              },
              "allowedStereotypeModels": [],
              "name": "trust-all",
              "description": "",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Boolean",
                "annotations": {
                  "typeId": "boolean"
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "NOT_SUPPORTED",
              "defaultValue": "true",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 15,
                "tabName": "Connection"
              },
              "allowedStereotypeModels": [],
              "name": "follow-redirects",
              "description": "Specifies whether to follow redirects or not. Default is true.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Array",
                "annotations": {
                  "classInformation": {
                    "classname": "java.util.List",
                    "hasDefaultConstructor": false,
                    "isInterface": true,
                    "isInstantiable": false,
                    "isAbstract": true,
                    "isFinal": false,
                    "implementedInterfaces": [
                      "java.util.Collection"
                    ],
                    "parent": "",
                    "genericTypes": [
                      "cz.integsoft.mule.ipm.api.http.parameter.HttpHeader"
                    ],
                    "isMap": false
                  }
                },
                "item": {
                  "type": "@ref:cz.integsoft.mule.ipm.api.http.parameter.HttpHeader"
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 16
              },
              "allowedStereotypeModels": [],
              "name": "default-http-headers",
              "description": "Default HTTP headers the message should include.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": true,
              "isConfigOverride": false,
              "isComponentId": true,
              "expressionSupport": "NOT_SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 18
              },
              "allowedStereotypeModels": [],
              "name": "name",
              "description": "The identifier of this element used to reference it in other components",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Object",
                "annotations": {
                  "typeId": "org.mule.runtime.extension.api.runtime.ExpirationPolicy",
                  "description": {
                    "value": "Configures the minimum amount of time that a dynamic configuration instance can remain idle before the runtime considers it eligible for expiration. This does not mean that the platform will expire the instance at the exact moment that it becomes eligible. The runtime will actually purge the instances when it sees it fit."
                  },
                  "typeDsl": {
                    "allowInlineDefinition": true,
                    "allowTopLevelDefinition": false
                  }
                },
                "fields": [
                  {
                    "key": {
                      "name": "maxIdleTime"
                    },
                    "model": {
                      "type": "Number",
                      "annotations": {
                        "int": {},
                        "classInformation": {
                          "classname": "java.lang.Long",
                          "hasDefaultConstructor": false,
                          "isInterface": false,
                          "isInstantiable": false,
                          "isAbstract": false,
                          "isFinal": true,
                          "implementedInterfaces": [
                            "java.lang.Comparable"
                          ],
                          "parent": "java.lang.Number",
                          "genericTypes": [],
                          "isMap": false
                        },
                        "default": "5"
                      }
                    },
                    "annotations": {
                      "description": {
                        "value": "A scalar time value for the maximum amount of time a dynamic configuration instance should be allowed to be idle before it\u0027s considered eligible for expiration"
                      },
                      "expressionSupport": {
                        "value": "NOT_SUPPORTED"
                      }
                    }
                  },
                  {
                    "key": {
                      "name": "timeUnit"
                    },
                    "model": {
                      "type": "String",
                      "annotations": {
                        "enum": {
                          "type": "[Ljava.lang.String;",
                          "values": [
                            "NANOSECONDS",
                            "MICROSECONDS",
                            "MILLISECONDS",
                            "SECONDS",
                            "MINUTES",
                            "HOURS",
                            "DAYS"
                          ]
                        },
                        "default": "MINUTES"
                      }
                    },
                    "annotations": {
                      "description": {
                        "value": "A time unit that qualifies the maxIdleTime attribute"
                      },
                      "expressionSupport": {
                        "value": "NOT_SUPPORTED"
                      }
                    }
                  }
                ]
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "NOT_SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 17,
                "tabName": "Advanced"
              },
              "allowedStereotypeModels": [],
              "name": "expirationPolicy",
              "description": "Configures the minimum amount of time that a dynamic configuration instance can remain idle before the runtime considers it eligible for expiration. This does not mean that the platform will expire the instance at the exact moment that it becomes eligible. The runtime will actually purge the instances when it sees it fit.",
              "modelProperties": {
                "org.mule.runtime.extension.api.property.QNameModelProperty": {
                  "value": {
                    "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                    "localPart": "expiration-policy",
                    "prefix": "mule"
                  }
                },
                "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                  "sequence": 4
                }
              }
            }
          ],
          "exclusiveParametersModels": [],
          "layoutModel": {
            "password": false,
            "text": false,
            "query": false,
            "order": 1
          },
          "showInDsl": false,
          "name": "General",
          "description": "",
          "modelProperties": {}
        }
      ],
      "externalLibraryModels": [
        {
          "name": "Spring Core",
          "description": "",
          "type": "DEPENDENCY",
          "suggestedCoordinates": "org.springframework:spring-core:[5.1.0.RELEASE,)",
          "optional": false
        }
      ],
      "operations": [
        {
          "blocking": false,
          "executionType": "CPU_LITE",
          "output": {
            "type": {
              "format": {
                "id": "*/*",
                "label": "*/*",
                "validMimeTypes": [
                  "*/*"
                ]
              },
              "type": "Any",
              "annotations": {
                "classInformation": {
                  "classname": "java.io.InputStream",
                  "hasDefaultConstructor": true,
                  "isInterface": false,
                  "isInstantiable": false,
                  "isAbstract": true,
                  "isFinal": false,
                  "implementedInterfaces": [
                    "java.io.Closeable"
                  ],
                  "parent": "",
                  "genericTypes": [],
                  "isMap": false
                }
              }
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "@ref:cz.integsoft.mule.ipm.api.http.ProxyHttpResponseAttributes"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": false,
          "supportsStreaming": true,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "IPM:MAX_CALLS_REACHED",
            "IPM:READ_TIMEOUT",
            "IPM:HARD_TIMEOUT",
            "IPM:INITIALIZATION",
            "IPM:CONNECTION",
            "IPM:PROCESSING",
            "IPM:NO_LICENSE",
            "IPM:GENERIC_ERROR"
          ],
          "stereotype": {
            "type": "HTTP-OUTBOUND-ENDPOINT",
            "namespace": "IPM",
            "parent": {
              "type": "PROCESSOR",
              "namespace": "IPM",
              "parent": {
                "type": "PROCESSOR",
                "namespace": "MULE"
              }
            }
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Any",
                    "annotations": {
                      "typeId": "java.lang.Object",
                      "classInformation": {
                        "classname": "java.lang.Object",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": true,
                        "isAbstract": false,
                        "isFinal": false,
                        "implementedInterfaces": [],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "typeAlias": {
                        "value": "Object"
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "#[attributes]",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 12
                  },
                  "allowedStereotypeModels": [],
                  "name": "attributes",
                  "description": "Message attributes. Defaults to #[attributes]",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "java.lang.Object",
                      "classInformation": {
                        "classname": "java.lang.Object",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": true,
                        "isAbstract": false,
                        "isFinal": false,
                        "implementedInterfaces": [],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "typeAlias": {
                        "value": "Object"
                      }
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "#[payload]",
                  "role": "PRIMARY_CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 13
                  },
                  "allowedStereotypeModels": [],
                  "name": "payload",
                  "description": "The HTTP payload",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 14,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "outputMimeType",
                  "description": "The mime type of the payload that this operation outputs.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 15,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "outputEncoding",
                  "description": "The encoding of the payload that this operation outputs.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "org.mule.runtime.extension.api.runtime.config.ConfigurationProvider"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 17
                  },
                  "allowedStereotypeModels": [
                    {
                      "type": "HTTP-PROXY-CONFIG",
                      "namespace": "IPM",
                      "parent": {
                        "type": "MODULE_CONFIG",
                        "namespace": "MULE"
                      }
                    }
                  ],
                  "name": "config-ref",
                  "description": "The name of the configuration to be used to execute this component",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ByteStreamingStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-in-memory-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "initialBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the amount of memory that will be allocated in order to consume the stream and provide random access to it. If the stream contains more data than can be fit into this buffer, then it will be expanded by according to the bufferSizeIncrement attribute, with an upper limit of maxInMemorySize."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferSizeIncrement"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is by how much will be buffer size by expanded if it exceeds its initial size. Setting a value of zero or lower will mean that the buffer should not expand, meaning that a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised when the buffer gets full."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "maxBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "1024"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the maximum amount of memory that will be used. If more than that is used then a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised. A value lower or equal to zero means no limit."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which all these attributes are expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-file-store-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "inMemorySize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "Defines the maximum memory that the stream should use to keep data in memory. If more than that is consumed then it will start to buffer the content on disk."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which maxInMemorySize is expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "non-repeatable-stream",
                          "description": {
                            "value": "This configuration allows the input stream to be read only once. It will not allow to seek randomly which will limit the transformations that DW can perform on this stream. Use this option for use cases which just require moving data around from one system to another to get optimum performance."
                          }
                        },
                        "fields": []
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 16,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "streamingStrategy",
                  "description": "Configure if repeatable streams should be used and their behaviour",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-byte-streaming-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 2
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 0
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Array",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.util.List",
                        "hasDefaultConstructor": false,
                        "isInterface": true,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.util.Collection"
                        ],
                        "parent": "",
                        "genericTypes": [
                          "cz.integsoft.mule.ipm.api.http.parameter.HttpHeader"
                        ],
                        "isMap": false
                      }
                    },
                    "item": {
                      "type": "@ref:cz.integsoft.mule.ipm.api.http.parameter.HttpHeader"
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "http-headers",
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "classInformation": {
                        "classname": "org.mule.runtime.api.util.MultiMap",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": true,
                        "isAbstract": false,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.util.Map",
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [
                          "java.lang.String",
                          "java.lang.String"
                        ],
                        "isMap": true
                      }
                    },
                    "open": {
                      "type": "String"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "allowedStereotypeModels": [],
                  "name": "dynamic-http-headers",
                  "description": "",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [
                {
                  "exclusiveParameterNames": [
                    "http-headers",
                    "dynamic-http-headers"
                  ],
                  "isOneRequired": false
                }
              ],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "HTTP headers",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3
                  },
                  "allowedStereotypeModels": [],
                  "name": "address",
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "valueProviderModel": {
                    "actingParameters": [],
                    "partOrder": 1,
                    "providerName": "method",
                    "requiresConfiguration": false,
                    "requiresConnection": false,
                    "isOpen": true
                  },
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4
                  },
                  "allowedStereotypeModels": [],
                  "name": "method",
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "classInformation": {
                        "classname": "org.mule.runtime.api.util.MultiMap",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": true,
                        "isAbstract": false,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.util.Map",
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [
                          "java.lang.String",
                          "java.lang.String"
                        ],
                        "isMap": true
                      }
                    },
                    "open": {
                      "type": "String"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5
                  },
                  "allowedStereotypeModels": [],
                  "name": "query-parameters",
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Boolean",
                    "annotations": {
                      "typeId": "boolean"
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "false",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 6
                  },
                  "allowedStereotypeModels": [],
                  "name": "log-http-traffic",
                  "displayModel": {
                    "summary": "Deprecated. Has no effect."
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Long",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 7
                  },
                  "allowedStereotypeModels": [],
                  "name": "request-hard-timeout",
                  "displayModel": {
                    "summary": "Deprecated. Has no effect."
                  },
                  "description": "The number of milliseconds to timeout (aborts the HTTP request). There is no default. Setting this timeout value enables the hard timeout feature.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Integer",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 8
                  },
                  "allowedStereotypeModels": [],
                  "name": "response-timeout",
                  "description": "Maximum time that the request element will block the execution of the flow waiting for the HTTP response. If this value is not present, the default response timeout from the Mule configuration will be used.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "cz.integsoft.mule.ipm.api.http.HttpSendBodyMode",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "ALWAYS",
                          "AUTO",
                          "NEVER"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "AUTO",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 9
                  },
                  "allowedStereotypeModels": [],
                  "name": "send-body-mode",
                  "description": "Defines if the request should contain a body or not. If AUTO, it will depend on the method (GET, HEAD and OPTIONS will not send a body).",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "cz.integsoft.mule.ipm.api.http.HttpStreamingType",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "AUTO",
                          "ALWAYS",
                          "NEVER"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "AUTO",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 10
                  },
                  "allowedStereotypeModels": [],
                  "name": "request-streaming-mode",
                  "displayModel": {
                    "summary": "Defines if the request should be sent using streaming or not. If this attribute is not present, the behavior will depend on the type of the payload (it will stream only for InputStream)."
                  },
                  "description": "Defines if the request should be sent using streaming or not. If this attribute is not present, the behavior will depend on the type of the payload (it will stream only for InputStream). If set to true, it will always stream. If set to false, it will never stream. As streaming is done the request will be sent user Transfer-Encoding: chunked.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Integer",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "3",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 11
                  },
                  "allowedStereotypeModels": [],
                  "name": "ssl-failure-retry-attempts",
                  "description": "The number of retries when SSL issue occurred (Remotely closed or SSLEngine is CLOSED).",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "HTTP request parameters",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 18,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "target",
                  "displayModel": {
                    "displayName": "Target Variable"
                  },
                  "description": "The name of a variable on which the operation\u0027s output will be placed",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "REQUIRED",
                  "defaultValue": "#[payload]",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 19,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "targetValue",
                  "displayModel": {
                    "displayName": "Target Value"
                  },
                  "description": "An expression that will be evaluated against the operation\u0027s output and the outcome of that expression will be stored in the target variable",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 4
              },
              "showInDsl": false,
              "name": "Output",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "http-outbound-endpoint",
          "description": "Sends http(s) requests with or without client certificates.",
          "modelProperties": {},
          "kind": "operation"
        }
      ],
      "connectionProviders": [],
      "messageSources": [],
      "name": "http-proxy-config",
      "description": "Global configuration.",
      "modelProperties": {
        "requiredForMetadata": {
          "requiredParameters": [
            "via-proxy",
            "authentication",
            "server-keystore",
            "client-keystores",
            "max-connections",
            "max-connections-per-route",
            "connection-idle-timeout",
            "connection-ttl",
            "tcp-client-socket-properties",
            "enable-cookies",
            "connection-request-timeout",
            "bh",
            "response-buffer-size",
            "stream-response",
            "ssl-protocol",
            "trust-all",
            "follow-redirects",
            "default-http-headers",
            "name"
          ]
        }
      }
    },
    {
      "stereotype": {
        "type": "TCP-PROXY-CONFIG",
        "namespace": "IPM",
        "parent": {
          "type": "MODULE_CONFIG",
          "namespace": "MULE"
        }
      },
      "parameterGroupModels": [
        {
          "parameters": [
            {
              "type": {
                "format": "java",
                "type": "@ref:cz.integsoft.mule.ipm.api.tcp.TcpClientSocketProperties"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "NOT_SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "allowedStereotypeModels": [
                {
                  "type": "TCP_CLIENT_SOCKET_PROPERTIES",
                  "namespace": "IPM"
                }
              ],
              "name": "tcp-client-socket-properties",
              "description": "",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "@ref:org.mule.extension.socket.api.SocketConnectionSettings"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3,
                "tabName": "Local Address Settings"
              },
              "allowedStereotypeModels": [],
              "name": "local-address",
              "description": "This configuration parameter refers to the address where the Socket should bound to.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Number",
                "annotations": {
                  "classInformation": {
                    "classname": "int",
                    "hasDefaultConstructor": false,
                    "isInterface": false,
                    "isInstantiable": false,
                    "isAbstract": true,
                    "isFinal": true,
                    "implementedInterfaces": [],
                    "parent": "",
                    "genericTypes": [],
                    "isMap": false
                  },
                  "int": {}
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 4,
                "tabName": "Advanced"
              },
              "allowedStereotypeModels": [],
              "name": "max-connections",
              "displayModel": {
                "summary": "Sets max threads at once. Keeping connections open may result in MULE:OVERLOAD errors."
              },
              "description": "Sets max threads at once. Keeping connections open may result in MULE:OVERLOAD errors.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": true,
              "isConfigOverride": false,
              "isComponentId": true,
              "expressionSupport": "NOT_SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 6
              },
              "allowedStereotypeModels": [],
              "name": "name",
              "description": "The identifier of this element used to reference it in other components",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Object",
                "annotations": {
                  "typeId": "org.mule.runtime.api.tls.TlsContextFactory",
                  "typeAlias": {
                    "value": "Tls"
                  },
                  "typeDsl": {
                    "allowInlineDefinition": true,
                    "allowTopLevelDefinition": true
                  },
                  "QName": {
                    "value": {
                      "namespaceURI": "http://www.mulesoft.org/schema/mule/tls",
                      "localPart": "context",
                      "prefix": "tls"
                    }
                  },
                  "stereotype": {
                    "allowedStereotypes": [
                      {
                        "type": "CONTEXT",
                        "namespace": "TLS"
                      }
                    ]
                  }
                },
                "fields": [
                  {
                    "key": {
                      "name": "enabledProtocols"
                    },
                    "model": {
                      "type": "String"
                    },
                    "annotations": {
                      "description": {
                        "value": "A comma separated list of protocols enabled for this context."
                      }
                    }
                  },
                  {
                    "key": {
                      "name": "enabledCipherSuites"
                    },
                    "model": {
                      "type": "String"
                    },
                    "annotations": {
                      "description": {
                        "value": "A comma separated list of cipher suites enabled for this context."
                      }
                    }
                  },
                  {
                    "key": {
                      "name": "trust-store"
                    },
                    "model": {
                      "type": "Object",
                      "annotations": {
                        "typeId": "TrustStore",
                        "description": {
                          "value": "Trust store configuration. If used client side, the trust store contains the certificates of the trusted servers. If used server side, it contains the certificates of the trusted clients."
                        }
                      },
                      "fields": [
                        {
                          "key": {
                            "name": "path"
                          },
                          "model": {
                            "type": "String"
                          },
                          "annotations": {
                            "description": {
                              "value": "The location (which will be resolved relative to the current classpath and file system, if possible) of the trust store."
                            },
                            "display": {
                              "displayModel": {
                                "pathModel": {
                                  "type": "FILE",
                                  "fileExtensions": [],
                                  "acceptsUrls": false,
                                  "location": "EMBEDDED"
                                }
                              }
                            }
                          }
                        },
                        {
                          "key": {
                            "name": "password"
                          },
                          "model": {
                            "type": "String"
                          },
                          "annotations": {
                            "description": {
                              "value": "The password used to protect the trust store."
                            },
                            "layout": {
                              "layoutModel": {
                                "password": true,
                                "text": false,
                                "query": false
                              }
                            }
                          }
                        },
                        {
                          "key": {
                            "name": "type"
                          },
                          "model": {
                            "type": "String",
                            "annotations": {
                              "display": {
                                "displayModel": {
                                  "example": "jks, jceks, pkcs12 or other store type"
                                }
                              }
                            }
                          },
                          "annotations": {
                            "description": {
                              "value": "The type of store used."
                            }
                          }
                        },
                        {
                          "key": {
                            "name": "algorithm"
                          },
                          "model": {
                            "type": "String"
                          },
                          "annotations": {
                            "description": {
                              "value": "The algorithm used by the trust store."
                            }
                          }
                        },
                        {
                          "key": {
                            "name": "insecure"
                          },
                          "model": {
                            "type": "Boolean",
                            "annotations": {
                              "default": "false"
                            }
                          },
                          "annotations": {
                            "description": {
                              "value": "If true, no certificate validations will be performed, rendering connections vulnerable to attacks. Use at your own risk."
                            }
                          }
                        }
                      ]
                    },
                    "annotations": {
                      "parameterDsl": {
                        "allowInlineDefinition": true,
                        "allowReferences": false
                      },
                      "expressionSupport": {
                        "value": "NOT_SUPPORTED"
                      }
                    }
                  },
                  {
                    "key": {
                      "name": "key-store"
                    },
                    "model": {
                      "type": "Object",
                      "annotations": {
                        "typeId": "KeyStore",
                        "description": {
                          "value": "Key store configuration. The key store contains the keys of this server/client."
                        }
                      },
                      "fields": [
                        {
                          "key": {
                            "name": "path"
                          },
                          "model": {
                            "type": "String"
                          },
                          "annotations": {
                            "description": {
                              "value": "The location (which will be resolved relative to the current classpath and file system, if possible) of the key store."
                            },
                            "display": {
                              "displayModel": {
                                "pathModel": {
                                  "type": "FILE",
                                  "fileExtensions": [],
                                  "acceptsUrls": false,
                                  "location": "EMBEDDED"
                                }
                              }
                            }
                          }
                        },
                        {
                          "key": {
                            "name": "type"
                          },
                          "model": {
                            "type": "String",
                            "annotations": {
                              "display": {
                                "displayModel": {
                                  "example": "jks, jceks, pkcs12 or other store type"
                                }
                              }
                            }
                          },
                          "annotations": {
                            "description": {
                              "value": "The type of store used."
                            }
                          }
                        },
                        {
                          "key": {
                            "name": "alias"
                          },
                          "model": {
                            "type": "String"
                          },
                          "annotations": {
                            "description": {
                              "value": "When the key store contains many private keys, this attribute indicates the alias of the key that should be used. If not defined, the first key in the file will be used by default."
                            }
                          }
                        },
                        {
                          "key": {
                            "name": "keyPassword"
                          },
                          "model": {
                            "type": "String"
                          },
                          "annotations": {
                            "description": {
                              "value": "The password used to protect the private key."
                            },
                            "layout": {
                              "layoutModel": {
                                "password": true,
                                "text": false,
                                "query": false
                              }
                            }
                          }
                        },
                        {
                          "key": {
                            "name": "password"
                          },
                          "model": {
                            "type": "String"
                          },
                          "annotations": {
                            "description": {
                              "value": "The password used to protect the key store."
                            },
                            "layout": {
                              "layoutModel": {
                                "password": true,
                                "text": false,
                                "query": false
                              }
                            }
                          }
                        },
                        {
                          "key": {
                            "name": "algorithm"
                          },
                          "model": {
                            "type": "String"
                          },
                          "annotations": {
                            "description": {
                              "value": "The algorithm used by the key store."
                            }
                          }
                        }
                      ]
                    },
                    "annotations": {
                      "parameterDsl": {
                        "allowInlineDefinition": true,
                        "allowReferences": false
                      },
                      "expressionSupport": {
                        "value": "NOT_SUPPORTED"
                      }
                    }
                  },
                  {
                    "key": {
                      "name": "revocation-check"
                    },
                    "model": {
                      "type": "Union",
                      "annotations": {
                        "typeId": "RevocationCheck"
                      },
                      "of": [
                        {
                          "type": "Object",
                          "annotations": {
                            "typeId": "standard-revocation-check",
                            "description": {
                              "value": "Uses the standard JVM certificate revocation checks, which depend on the certificate having the corresponding extension points (additional tags for CRLDP or OCSP), and the availability of revocation servers."
                            }
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "onlyEndEntities"
                              },
                              "model": {
                                "type": "Boolean",
                                "annotations": {
                                  "default": "false"
                                }
                              },
                              "annotations": {
                                "description": {
                                  "value": "Only verify the last element of the certificate chain."
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "preferCrls"
                              },
                              "model": {
                                "type": "Boolean",
                                "annotations": {
                                  "default": "false"
                                }
                              },
                              "annotations": {
                                "description": {
                                  "value": "Try CRL instead of OCSP first."
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "noFallback"
                              },
                              "model": {
                                "type": "Boolean",
                                "annotations": {
                                  "default": "false"
                                }
                              },
                              "annotations": {
                                "description": {
                                  "value": "Do not use the secondary checking method (the one not selected before)."
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "softFail"
                              },
                              "model": {
                                "type": "Boolean",
                                "annotations": {
                                  "default": "false"
                                }
                              },
                              "annotations": {
                                "description": {
                                  "value": "Avoid verification failure when the revocation server can not be reached or is busy."
                                }
                              }
                            }
                          ]
                        },
                        {
                          "type": "Object",
                          "annotations": {
                            "typeId": "custom-ocsp-responder",
                            "description": {
                              "value": "Uses a custom OCSP responder for certificate revocation checks, with a specific trusted certificate for revocating other keys. This ignores extension points (additional tags for CRLDP or OCSP) present in the certificate, if any."
                            }
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "url"
                              },
                              "model": {
                                "type": "String"
                              },
                              "annotations": {
                                "description": {
                                  "value": "The URL of the OCSP responder."
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "certAlias"
                              },
                              "model": {
                                "type": "String"
                              },
                              "annotations": {
                                "description": {
                                  "value": "Alias of the signing certificate for the OCSP response (must be in the trust store), if present."
                                }
                              }
                            }
                          ]
                        },
                        {
                          "type": "Object",
                          "annotations": {
                            "typeId": "crl-file",
                            "description": {
                              "value": "Local file based certificate revocation checker, which requires a CRL file to be accessible and ignores extension points (additional tags for CRLDP and OCSP) in the certificate."
                            }
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "path"
                              },
                              "model": {
                                "type": "String"
                              },
                              "annotations": {
                                "description": {
                                  "value": "The path to the CRL file."
                                }
                              }
                            }
                          ]
                        }
                      ]
                    },
                    "annotations": {
                      "parameterDsl": {
                        "allowInlineDefinition": true,
                        "allowReferences": false
                      },
                      "expressionSupport": {
                        "value": "NOT_SUPPORTED"
                      }
                    }
                  }
                ]
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "NOT_SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": true
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1,
                "tabName": "TLS"
              },
              "allowedStereotypeModels": [
                {
                  "type": "CONTEXT",
                  "namespace": "TLS"
                }
              ],
              "name": "tlsContext",
              "displayModel": {
                "displayName": "TLS Configuration"
              },
              "description": "Its presence will imply the use of SSLSocket instead of plain TCP Socket for establishing a connection over SSL.",
              "modelProperties": {
                "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                  "sequence": 8
                },
                "org.mule.runtime.extension.api.property.QNameModelProperty": {
                  "value": {
                    "namespaceURI": "http://www.mulesoft.org/schema/mule/tls",
                    "localPart": "context",
                    "prefix": "tls"
                  }
                }
              }
            },
            {
              "type": {
                "format": "java",
                "type": "Object",
                "annotations": {
                  "typeId": "org.mule.runtime.extension.api.runtime.ExpirationPolicy",
                  "description": {
                    "value": "Configures the minimum amount of time that a dynamic configuration instance can remain idle before the runtime considers it eligible for expiration. This does not mean that the platform will expire the instance at the exact moment that it becomes eligible. The runtime will actually purge the instances when it sees it fit."
                  },
                  "typeDsl": {
                    "allowInlineDefinition": true,
                    "allowTopLevelDefinition": false
                  }
                },
                "fields": [
                  {
                    "key": {
                      "name": "maxIdleTime"
                    },
                    "model": {
                      "type": "Number",
                      "annotations": {
                        "int": {},
                        "classInformation": {
                          "classname": "java.lang.Long",
                          "hasDefaultConstructor": false,
                          "isInterface": false,
                          "isInstantiable": false,
                          "isAbstract": false,
                          "isFinal": true,
                          "implementedInterfaces": [
                            "java.lang.Comparable"
                          ],
                          "parent": "java.lang.Number",
                          "genericTypes": [],
                          "isMap": false
                        },
                        "default": "5"
                      }
                    },
                    "annotations": {
                      "description": {
                        "value": "A scalar time value for the maximum amount of time a dynamic configuration instance should be allowed to be idle before it\u0027s considered eligible for expiration"
                      },
                      "expressionSupport": {
                        "value": "NOT_SUPPORTED"
                      }
                    }
                  },
                  {
                    "key": {
                      "name": "timeUnit"
                    },
                    "model": {
                      "type": "String",
                      "annotations": {
                        "enum": {
                          "type": "[Ljava.lang.String;",
                          "values": [
                            "NANOSECONDS",
                            "MICROSECONDS",
                            "MILLISECONDS",
                            "SECONDS",
                            "MINUTES",
                            "HOURS",
                            "DAYS"
                          ]
                        },
                        "default": "MINUTES"
                      }
                    },
                    "annotations": {
                      "description": {
                        "value": "A time unit that qualifies the maxIdleTime attribute"
                      },
                      "expressionSupport": {
                        "value": "NOT_SUPPORTED"
                      }
                    }
                  }
                ]
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "NOT_SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 5,
                "tabName": "Advanced"
              },
              "allowedStereotypeModels": [],
              "name": "expirationPolicy",
              "description": "Configures the minimum amount of time that a dynamic configuration instance can remain idle before the runtime considers it eligible for expiration. This does not mean that the platform will expire the instance at the exact moment that it becomes eligible. The runtime will actually purge the instances when it sees it fit.",
              "modelProperties": {
                "org.mule.runtime.extension.api.property.QNameModelProperty": {
                  "value": {
                    "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                    "localPart": "expiration-policy",
                    "prefix": "mule"
                  }
                },
                "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                  "sequence": 4
                }
              }
            }
          ],
          "exclusiveParametersModels": [],
          "layoutModel": {
            "password": false,
            "text": false,
            "query": false,
            "order": 1
          },
          "showInDsl": false,
          "name": "General",
          "description": "",
          "modelProperties": {}
        }
      ],
      "externalLibraryModels": [],
      "operations": [
        {
          "blocking": true,
          "executionType": "CPU_LITE",
          "output": {
            "type": {
              "format": "java",
              "type": "@ref:cz.integsoft.mule.ipm.api.tcp.OutboundSocketWrapper"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "@ref:org.mule.extension.socket.api.ImmutableSocketAttributes"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": false,
          "supportsStreaming": false,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "IPM:MAX_CALLS_REACHED",
            "IPM:READ_TIMEOUT",
            "IPM:HARD_TIMEOUT",
            "IPM:INITIALIZATION",
            "IPM:CONNECTION",
            "IPM:PROCESSING",
            "IPM:NO_LICENSE",
            "IPM:GENERIC_ERROR"
          ],
          "stereotype": {
            "type": "TCP-OUTBOUND-ENDPOINT",
            "namespace": "IPM",
            "parent": {
              "type": "PROCESSOR",
              "namespace": "IPM",
              "parent": {
                "type": "PROCESSOR",
                "namespace": "MULE"
              }
            }
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "@ref:cz.integsoft.mule.ipm.api.tcp.InboundSocketWrapper"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "#[payload]",
                  "role": "PRIMARY_CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4
                  },
                  "allowedStereotypeModels": [],
                  "name": "inboundSocketWrapper",
                  "description": "inbound socket wrapper InboundSocketWrapper",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "org.mule.runtime.extension.api.runtime.config.ConfigurationProvider"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5
                  },
                  "allowedStereotypeModels": [
                    {
                      "type": "TCP-PROXY-CONFIG",
                      "namespace": "IPM",
                      "parent": {
                        "type": "MODULE_CONFIG",
                        "namespace": "MULE"
                      }
                    }
                  ],
                  "name": "config-ref",
                  "description": "The name of the configuration to be used to execute this component",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 0
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "address",
                  "displayModel": {
                    "summary": "Outbound address, e.g. tcp://host:port"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Boolean",
                    "annotations": {
                      "typeId": "boolean"
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "defaultValue": "false",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "allowedStereotypeModels": [],
                  "name": "one-way",
                  "displayModel": {
                    "summary": "Enables one-way (just) send data if true. Default is false."
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "int",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": true,
                        "implementedInterfaces": [],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "8192",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3
                  },
                  "allowedStereotypeModels": [],
                  "name": "read-buffer-size",
                  "displayModel": {
                    "summary": "Reading buffer size. Default is 8192 bytes."
                  },
                  "description": "",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "TCP request parameters",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 6,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "target",
                  "displayModel": {
                    "displayName": "Target Variable"
                  },
                  "description": "The name of a variable on which the operation\u0027s output will be placed",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "REQUIRED",
                  "defaultValue": "#[payload]",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 7,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "targetValue",
                  "displayModel": {
                    "displayName": "Target Value"
                  },
                  "description": "An expression that will be evaluated against the operation\u0027s output and the outcome of that expression will be stored in the target variable",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "showInDsl": false,
              "name": "Output",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "tcp-outbound-endpoint",
          "description": "Sends tcp requests and waits on finishing (until inbound connection is closed).",
          "modelProperties": {},
          "kind": "operation"
        }
      ],
      "connectionProviders": [],
      "messageSources": [],
      "name": "tcp-proxy-config",
      "description": "Global configuration.",
      "modelProperties": {
        "requiredForMetadata": {
          "requiredParameters": [
            "tcp-client-socket-properties",
            "local-address",
            "max-connections",
            "name"
          ]
        }
      }
    },
    {
      "stereotype": {
        "type": "TCP-PROXY-LISTENER-CONFIG",
        "namespace": "IPM",
        "parent": {
          "type": "MODULE_CONFIG",
          "namespace": "MULE"
        }
      },
      "parameterGroupModels": [
        {
          "parameters": [
            {
              "type": {
                "format": "java",
                "type": "@ref:cz.integsoft.mule.ipm.api.tcp.TcpServerSocketProperties"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "NOT_SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "allowedStereotypeModels": [
                {
                  "type": "TCP_SERVER_SOCKET_PROPERTIES",
                  "namespace": "IPM"
                }
              ],
              "name": "tcp-server-socket-properties",
              "description": "",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "@ref:org.mule.extension.socket.api.SocketConnectionSettings"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 5,
                "tabName": "Local Address Settings"
              },
              "allowedStereotypeModels": [],
              "name": "local-address",
              "description": "This configuration parameter refers to the address where the Socket should bound to.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Number",
                "annotations": {
                  "classInformation": {
                    "classname": "java.lang.Integer",
                    "hasDefaultConstructor": false,
                    "isInterface": false,
                    "isInstantiable": false,
                    "isAbstract": false,
                    "isFinal": true,
                    "implementedInterfaces": [
                      "java.lang.Comparable"
                    ],
                    "parent": "java.lang.Number",
                    "genericTypes": [],
                    "isMap": false
                  },
                  "int": {}
                }
              },
              "hasDynamicType": false,
              "required": true,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2,
                "tabName": "General"
              },
              "allowedStereotypeModels": [],
              "name": "port",
              "description": "Connection\u0027s port number.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": true,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1,
                "tabName": "General"
              },
              "allowedStereotypeModels": [],
              "name": "host",
              "description": "Connection\u0027s host name.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": true,
              "isConfigOverride": false,
              "isComponentId": true,
              "expressionSupport": "NOT_SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 7
              },
              "allowedStereotypeModels": [],
              "name": "name",
              "description": "The identifier of this element used to reference it in other components",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Object",
                "annotations": {
                  "typeId": "org.mule.runtime.api.tls.TlsContextFactory",
                  "typeAlias": {
                    "value": "Tls"
                  },
                  "typeDsl": {
                    "allowInlineDefinition": true,
                    "allowTopLevelDefinition": true
                  },
                  "QName": {
                    "value": {
                      "namespaceURI": "http://www.mulesoft.org/schema/mule/tls",
                      "localPart": "context",
                      "prefix": "tls"
                    }
                  },
                  "stereotype": {
                    "allowedStereotypes": [
                      {
                        "type": "CONTEXT",
                        "namespace": "TLS"
                      }
                    ]
                  }
                },
                "fields": [
                  {
                    "key": {
                      "name": "enabledProtocols"
                    },
                    "model": {
                      "type": "String"
                    },
                    "annotations": {
                      "description": {
                        "value": "A comma separated list of protocols enabled for this context."
                      }
                    }
                  },
                  {
                    "key": {
                      "name": "enabledCipherSuites"
                    },
                    "model": {
                      "type": "String"
                    },
                    "annotations": {
                      "description": {
                        "value": "A comma separated list of cipher suites enabled for this context."
                      }
                    }
                  },
                  {
                    "key": {
                      "name": "trust-store"
                    },
                    "model": {
                      "type": "Object",
                      "annotations": {
                        "typeId": "TrustStore",
                        "description": {
                          "value": "Trust store configuration. If used client side, the trust store contains the certificates of the trusted servers. If used server side, it contains the certificates of the trusted clients."
                        }
                      },
                      "fields": [
                        {
                          "key": {
                            "name": "path"
                          },
                          "model": {
                            "type": "String"
                          },
                          "annotations": {
                            "description": {
                              "value": "The location (which will be resolved relative to the current classpath and file system, if possible) of the trust store."
                            },
                            "display": {
                              "displayModel": {
                                "pathModel": {
                                  "type": "FILE",
                                  "fileExtensions": [],
                                  "acceptsUrls": false,
                                  "location": "EMBEDDED"
                                }
                              }
                            }
                          }
                        },
                        {
                          "key": {
                            "name": "password"
                          },
                          "model": {
                            "type": "String"
                          },
                          "annotations": {
                            "description": {
                              "value": "The password used to protect the trust store."
                            },
                            "layout": {
                              "layoutModel": {
                                "password": true,
                                "text": false,
                                "query": false
                              }
                            }
                          }
                        },
                        {
                          "key": {
                            "name": "type"
                          },
                          "model": {
                            "type": "String",
                            "annotations": {
                              "display": {
                                "displayModel": {
                                  "example": "jks, jceks, pkcs12 or other store type"
                                }
                              }
                            }
                          },
                          "annotations": {
                            "description": {
                              "value": "The type of store used."
                            }
                          }
                        },
                        {
                          "key": {
                            "name": "algorithm"
                          },
                          "model": {
                            "type": "String"
                          },
                          "annotations": {
                            "description": {
                              "value": "The algorithm used by the trust store."
                            }
                          }
                        },
                        {
                          "key": {
                            "name": "insecure"
                          },
                          "model": {
                            "type": "Boolean",
                            "annotations": {
                              "default": "false"
                            }
                          },
                          "annotations": {
                            "description": {
                              "value": "If true, no certificate validations will be performed, rendering connections vulnerable to attacks. Use at your own risk."
                            }
                          }
                        }
                      ]
                    },
                    "annotations": {
                      "parameterDsl": {
                        "allowInlineDefinition": true,
                        "allowReferences": false
                      },
                      "expressionSupport": {
                        "value": "NOT_SUPPORTED"
                      }
                    }
                  },
                  {
                    "key": {
                      "name": "key-store"
                    },
                    "model": {
                      "type": "Object",
                      "annotations": {
                        "typeId": "KeyStore",
                        "description": {
                          "value": "Key store configuration. The key store contains the keys of this server/client."
                        }
                      },
                      "fields": [
                        {
                          "key": {
                            "name": "path"
                          },
                          "model": {
                            "type": "String"
                          },
                          "annotations": {
                            "description": {
                              "value": "The location (which will be resolved relative to the current classpath and file system, if possible) of the key store."
                            },
                            "display": {
                              "displayModel": {
                                "pathModel": {
                                  "type": "FILE",
                                  "fileExtensions": [],
                                  "acceptsUrls": false,
                                  "location": "EMBEDDED"
                                }
                              }
                            }
                          }
                        },
                        {
                          "key": {
                            "name": "type"
                          },
                          "model": {
                            "type": "String",
                            "annotations": {
                              "display": {
                                "displayModel": {
                                  "example": "jks, jceks, pkcs12 or other store type"
                                }
                              }
                            }
                          },
                          "annotations": {
                            "description": {
                              "value": "The type of store used."
                            }
                          }
                        },
                        {
                          "key": {
                            "name": "alias"
                          },
                          "model": {
                            "type": "String"
                          },
                          "annotations": {
                            "description": {
                              "value": "When the key store contains many private keys, this attribute indicates the alias of the key that should be used. If not defined, the first key in the file will be used by default."
                            }
                          }
                        },
                        {
                          "key": {
                            "name": "keyPassword"
                          },
                          "model": {
                            "type": "String"
                          },
                          "annotations": {
                            "description": {
                              "value": "The password used to protect the private key."
                            },
                            "layout": {
                              "layoutModel": {
                                "password": true,
                                "text": false,
                                "query": false
                              }
                            }
                          }
                        },
                        {
                          "key": {
                            "name": "password"
                          },
                          "model": {
                            "type": "String"
                          },
                          "annotations": {
                            "description": {
                              "value": "The password used to protect the key store."
                            },
                            "layout": {
                              "layoutModel": {
                                "password": true,
                                "text": false,
                                "query": false
                              }
                            }
                          }
                        },
                        {
                          "key": {
                            "name": "algorithm"
                          },
                          "model": {
                            "type": "String"
                          },
                          "annotations": {
                            "description": {
                              "value": "The algorithm used by the key store."
                            }
                          }
                        }
                      ]
                    },
                    "annotations": {
                      "parameterDsl": {
                        "allowInlineDefinition": true,
                        "allowReferences": false
                      },
                      "expressionSupport": {
                        "value": "NOT_SUPPORTED"
                      }
                    }
                  },
                  {
                    "key": {
                      "name": "revocation-check"
                    },
                    "model": {
                      "type": "Union",
                      "annotations": {
                        "typeId": "RevocationCheck"
                      },
                      "of": [
                        {
                          "type": "Object",
                          "annotations": {
                            "typeId": "standard-revocation-check",
                            "description": {
                              "value": "Uses the standard JVM certificate revocation checks, which depend on the certificate having the corresponding extension points (additional tags for CRLDP or OCSP), and the availability of revocation servers."
                            }
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "onlyEndEntities"
                              },
                              "model": {
                                "type": "Boolean",
                                "annotations": {
                                  "default": "false"
                                }
                              },
                              "annotations": {
                                "description": {
                                  "value": "Only verify the last element of the certificate chain."
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "preferCrls"
                              },
                              "model": {
                                "type": "Boolean",
                                "annotations": {
                                  "default": "false"
                                }
                              },
                              "annotations": {
                                "description": {
                                  "value": "Try CRL instead of OCSP first."
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "noFallback"
                              },
                              "model": {
                                "type": "Boolean",
                                "annotations": {
                                  "default": "false"
                                }
                              },
                              "annotations": {
                                "description": {
                                  "value": "Do not use the secondary checking method (the one not selected before)."
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "softFail"
                              },
                              "model": {
                                "type": "Boolean",
                                "annotations": {
                                  "default": "false"
                                }
                              },
                              "annotations": {
                                "description": {
                                  "value": "Avoid verification failure when the revocation server can not be reached or is busy."
                                }
                              }
                            }
                          ]
                        },
                        {
                          "type": "Object",
                          "annotations": {
                            "typeId": "custom-ocsp-responder",
                            "description": {
                              "value": "Uses a custom OCSP responder for certificate revocation checks, with a specific trusted certificate for revocating other keys. This ignores extension points (additional tags for CRLDP or OCSP) present in the certificate, if any."
                            }
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "url"
                              },
                              "model": {
                                "type": "String"
                              },
                              "annotations": {
                                "description": {
                                  "value": "The URL of the OCSP responder."
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "certAlias"
                              },
                              "model": {
                                "type": "String"
                              },
                              "annotations": {
                                "description": {
                                  "value": "Alias of the signing certificate for the OCSP response (must be in the trust store), if present."
                                }
                              }
                            }
                          ]
                        },
                        {
                          "type": "Object",
                          "annotations": {
                            "typeId": "crl-file",
                            "description": {
                              "value": "Local file based certificate revocation checker, which requires a CRL file to be accessible and ignores extension points (additional tags for CRLDP and OCSP) in the certificate."
                            }
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "path"
                              },
                              "model": {
                                "type": "String"
                              },
                              "annotations": {
                                "description": {
                                  "value": "The path to the CRL file."
                                }
                              }
                            }
                          ]
                        }
                      ]
                    },
                    "annotations": {
                      "parameterDsl": {
                        "allowInlineDefinition": true,
                        "allowReferences": false
                      },
                      "expressionSupport": {
                        "value": "NOT_SUPPORTED"
                      }
                    }
                  }
                ]
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "NOT_SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": true
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 4,
                "tabName": "TLS"
              },
              "allowedStereotypeModels": [
                {
                  "type": "CONTEXT",
                  "namespace": "TLS"
                }
              ],
              "name": "tlsContext",
              "displayModel": {
                "displayName": "TLS Configuration"
              },
              "description": "Its presence will imply the use of SSLSocket instead of plain TCP Socket for establishing a connection over SSL.",
              "modelProperties": {
                "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                  "sequence": 8
                },
                "org.mule.runtime.extension.api.property.QNameModelProperty": {
                  "value": {
                    "namespaceURI": "http://www.mulesoft.org/schema/mule/tls",
                    "localPart": "context",
                    "prefix": "tls"
                  }
                }
              }
            },
            {
              "type": {
                "format": "java",
                "type": "Object",
                "annotations": {
                  "typeId": "org.mule.runtime.extension.api.runtime.ExpirationPolicy",
                  "description": {
                    "value": "Configures the minimum amount of time that a dynamic configuration instance can remain idle before the runtime considers it eligible for expiration. This does not mean that the platform will expire the instance at the exact moment that it becomes eligible. The runtime will actually purge the instances when it sees it fit."
                  },
                  "typeDsl": {
                    "allowInlineDefinition": true,
                    "allowTopLevelDefinition": false
                  }
                },
                "fields": [
                  {
                    "key": {
                      "name": "maxIdleTime"
                    },
                    "model": {
                      "type": "Number",
                      "annotations": {
                        "int": {},
                        "classInformation": {
                          "classname": "java.lang.Long",
                          "hasDefaultConstructor": false,
                          "isInterface": false,
                          "isInstantiable": false,
                          "isAbstract": false,
                          "isFinal": true,
                          "implementedInterfaces": [
                            "java.lang.Comparable"
                          ],
                          "parent": "java.lang.Number",
                          "genericTypes": [],
                          "isMap": false
                        },
                        "default": "5"
                      }
                    },
                    "annotations": {
                      "description": {
                        "value": "A scalar time value for the maximum amount of time a dynamic configuration instance should be allowed to be idle before it\u0027s considered eligible for expiration"
                      },
                      "expressionSupport": {
                        "value": "NOT_SUPPORTED"
                      }
                    }
                  },
                  {
                    "key": {
                      "name": "timeUnit"
                    },
                    "model": {
                      "type": "String",
                      "annotations": {
                        "enum": {
                          "type": "[Ljava.lang.String;",
                          "values": [
                            "NANOSECONDS",
                            "MICROSECONDS",
                            "MILLISECONDS",
                            "SECONDS",
                            "MINUTES",
                            "HOURS",
                            "DAYS"
                          ]
                        },
                        "default": "MINUTES"
                      }
                    },
                    "annotations": {
                      "description": {
                        "value": "A time unit that qualifies the maxIdleTime attribute"
                      },
                      "expressionSupport": {
                        "value": "NOT_SUPPORTED"
                      }
                    }
                  }
                ]
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "NOT_SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 6,
                "tabName": "Advanced"
              },
              "allowedStereotypeModels": [],
              "name": "expirationPolicy",
              "description": "Configures the minimum amount of time that a dynamic configuration instance can remain idle before the runtime considers it eligible for expiration. This does not mean that the platform will expire the instance at the exact moment that it becomes eligible. The runtime will actually purge the instances when it sees it fit.",
              "modelProperties": {
                "org.mule.runtime.extension.api.property.QNameModelProperty": {
                  "value": {
                    "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                    "localPart": "expiration-policy",
                    "prefix": "mule"
                  }
                },
                "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                  "sequence": 4
                }
              }
            }
          ],
          "exclusiveParametersModels": [],
          "layoutModel": {
            "password": false,
            "text": false,
            "query": false,
            "order": 1
          },
          "showInDsl": false,
          "name": "General",
          "description": "",
          "modelProperties": {}
        }
      ],
      "externalLibraryModels": [],
      "operations": [],
      "connectionProviders": [],
      "messageSources": [
        {
          "hasResponse": false,
          "runsOnPrimaryNodeOnly": false,
          "successCallback": {
            "parameterGroupModels": [],
            "name": "onSuccess",
            "description": "",
            "modelProperties": {}
          },
          "errorCallback": {
            "parameterGroupModels": [],
            "name": "onError",
            "description": "",
            "modelProperties": {}
          },
          "terminateCallbackModel": {
            "parameterGroupModels": [],
            "name": "onTerminate",
            "description": "",
            "modelProperties": {}
          },
          "output": {
            "type": {
              "format": "java",
              "type": "@ref:cz.integsoft.mule.ipm.api.tcp.InboundSocketWrapper"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "@ref:org.mule.extension.socket.api.ImmutableSocketAttributes"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": false,
          "supportsStreaming": false,
          "notifications": [],
          "nestedComponents": [],
          "errors": [],
          "stereotype": {
            "type": "TCP-PROXY-LISTENER",
            "namespace": "IPM",
            "parent": {
              "type": "SOURCE",
              "namespace": "IPM",
              "parent": {
                "type": "SOURCE",
                "namespace": "MULE"
              }
            }
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "org.mule.runtime.extension.api.runtime.config.ConfigurationProvider"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [
                    {
                      "type": "TCP-PROXY-LISTENER-CONFIG",
                      "namespace": "IPM",
                      "parent": {
                        "type": "MODULE_CONFIG",
                        "namespace": "MULE"
                      }
                    }
                  ],
                  "name": "config-ref",
                  "description": "The name of the configuration to be used to execute this component",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Boolean"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "defaultValue": false,
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "primaryNodeOnly",
                  "description": "Whether this source should only be executed on the primary node when runnning in Cluster",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "RedeliveryPolicy"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "maxRedeliveryCount"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {},
                            "default": "5"
                          }
                        },
                        "annotations": {
                          "description": {
                            "value": "The maximum number of times a message can be redelivered and processed unsuccessfully before triggering process-failed-message"
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "messageDigestAlgorithm"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "description": {
                            "value": "The secure hashing algorithm to use. If not set, the default is SHA-256."
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "MessageIdentifier"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "typeId": "RedeliveryPolicyMessageIdentifier",
                            "exclusiveOptionals": {
                              "exclusiveParameterNames": [
                                "useSecureHash",
                                "idExpression"
                              ],
                              "isOneRequired": true
                            }
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "useSecureHash"
                              },
                              "model": {
                                "type": "Boolean",
                                "annotations": {
                                  "default": "true"
                                }
                              },
                              "annotations": {
                                "description": {
                                  "value": "Whether to use a secure hash algorithm to identify a redelivered message"
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "idExpression"
                              },
                              "model": {
                                "type": "String"
                              },
                              "annotations": {
                                "description": {
                                  "value": "Defines one or more expressions to use to determine when a message has been redelivered. This property may only be set if useSecureHash is false."
                                }
                              }
                            }
                          ]
                        },
                        "annotations": {
                          "flattened": {},
                          "description": {
                            "value": "Defines which strategy is used to identify the messages."
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "objectStore"
                        },
                        "model": {
                          "type": "@ref:org.mule.runtime.api.store.ObjectStore"
                        },
                        "annotations": {
                          "stereotype": {
                            "allowedStereotypes": [
                              {
                                "type": "OBJECT_STORE",
                                "namespace": "OS"
                              }
                            ]
                          },
                          "description": {
                            "value": "The object store where the redelivery counter for each message is going to be stored."
                          }
                        }
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2,
                    "tabName": "Redelivery"
                  },
                  "allowedStereotypeModels": [],
                  "name": "redeliveryPolicy",
                  "description": "Defines a policy for processing the redelivery of the same message",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-redelivery-policy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 1
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "tcp-proxy-listener",
          "description": "Listens for socket connections of the given protocol in the configured host and port. Whenever a new connection is received, this Source will schedule a a SocketWorker that will handle the communication for that particular connection.",
          "modelProperties": {},
          "kind": "source"
        }
      ],
      "name": "tcp-proxy-listener-config",
      "description": "Config for TCP sockets.",
      "modelProperties": {
        "requiredForMetadata": {
          "requiredParameters": [
            "tcp-server-socket-properties",
            "local-address",
            "port",
            "host",
            "name"
          ]
        }
      }
    }
  ],
  "operations": [],
  "functions": [
    {
      "output": {
        "type": {
          "format": "java",
          "type": "@ref:cz.integsoft.mule.ipm.api.failover.FailoverHost"
        },
        "hasDynamicType": false,
        "description": "",
        "modelProperties": {}
      },
      "parameterGroupModels": [
        {
          "parameters": [
            {
              "type": {
                "format": "java",
                "type": "@ref:cz.integsoft.mule.ipm.api.failover.FailoverManager"
              },
              "hasDynamicType": false,
              "required": true,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false
              },
              "allowedStereotypeModels": [
                {
                  "type": "FAILOVER_MANAGER",
                  "namespace": "IPM"
                }
              ],
              "name": "failoverManager",
              "description": "",
              "modelProperties": {}
            }
          ],
          "exclusiveParametersModels": [],
          "showInDsl": false,
          "name": "General",
          "description": "",
          "modelProperties": {}
        }
      ],
      "name": "getFailoverHost",
      "description": "",
      "modelProperties": {},
      "kind": "function"
    }
  ],
  "constructs": [
    {
      "allowsTopLevelDefinition": false,
      "nestedComponents": [
        {
          "minOccurs": 1,
          "childComponents": [
            {
              "isRequired": true,
              "allowedStereotypes": [
                {
                  "type": "PROCESSOR",
                  "namespace": "MULE"
                }
              ],
              "name": "processors",
              "description": "",
              "modelProperties": {},
              "kind": "chain"
            }
          ],
          "parameterGroupModels": [],
          "name": "route",
          "description": "",
          "modelProperties": {},
          "kind": "route"
        }
      ],
      "errors": [
        "IPM:CIRCUIT_OPEN",
        "IPM:NO_HOST_AVAILABLE"
      ],
      "stereotype": {
        "type": "CIRCUIT-BREAKER",
        "namespace": "IPM",
        "parent": {
          "type": "PROCESSOR",
          "namespace": "IPM",
          "parent": {
            "type": "PROCESSOR",
            "namespace": "MULE"
          }
        }
      },
      "parameterGroupModels": [
        {
          "parameters": [
            {
              "type": {
                "format": "java",
                "type": "Boolean",
                "annotations": {
                  "typeId": "boolean"
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "NOT_SUPPORTED",
              "defaultValue": "true",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false
              },
              "allowedStereotypeModels": [],
              "name": "enableNotifications",
              "displayModel": {
                "summary": "Enables notification to linked Failover Manager"
              },
              "description": "",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Boolean",
                "annotations": {
                  "typeId": "boolean"
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "NOT_SUPPORTED",
              "defaultValue": "true",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false
              },
              "allowedStereotypeModels": [],
              "name": "enabled",
              "displayModel": {
                "summary": "Disables circuit breaker."
              },
              "description": "",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "NOT_SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false
              },
              "allowedStereotypeModels": [],
              "name": "onClose",
              "description": "",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "NOT_SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false
              },
              "allowedStereotypeModels": [],
              "name": "onOpen",
              "description": "",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "NOT_SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false
              },
              "allowedStereotypeModels": [],
              "name": "onHostDown",
              "description": "",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "NOT_SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false
              },
              "allowedStereotypeModels": [],
              "name": "onHostUp",
              "description": "",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "@ref:cz.integsoft.mule.ipm.api.failover.FailoverManager"
              },
              "hasDynamicType": false,
              "required": true,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "NOT_SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false
              },
              "allowedStereotypeModels": [
                {
                  "type": "FAILOVER_MANAGER",
                  "namespace": "IPM"
                }
              ],
              "name": "failoverManager",
              "description": "",
              "modelProperties": {}
            }
          ],
          "exclusiveParametersModels": [],
          "layoutModel": {
            "password": false,
            "text": false,
            "query": false
          },
          "showInDsl": false,
          "name": "Circuit Breaker Parameters",
          "description": "",
          "modelProperties": {}
        }
      ],
      "name": "circuit-breaker",
      "description": "",
      "modelProperties": {},
      "kind": "construct"
    }
  ],
  "connectionProviders": [],
  "messageSources": [],
  "notifications": [],
  "errors": [
    {
      "error": "IPM:RETRY_EXHAUSTED",
      "parent": "MULE:RETRY_EXHAUSTED",
      "handleable": true
    },
    {
      "error": "MULE:RETRY_EXHAUSTED",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "IPM:CONNECTIVITY",
      "parent": "MULE:CONNECTIVITY",
      "handleable": true
    },
    {
      "error": "MULE:CONNECTIVITY",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "IPM:READ_TIMEOUT",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "IPM:HARD_TIMEOUT",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "IPM:INITIALIZATION",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "IPM:NO_LICENSE",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "IPM:GENERIC_ERROR",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "IPM:CIRCUIT_OPEN",
      "parent": "MULE:CONNECTIVITY",
      "handleable": true
    },
    {
      "error": "IPM:MAX_CALLS_REACHED",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "IPM:CONNECTION",
      "parent": "MULE:CONNECTIVITY",
      "handleable": true
    },
    {
      "error": "IPM:NO_HOST_AVAILABLE",
      "parent": "MULE:CONNECTIVITY",
      "handleable": true
    },
    {
      "error": "IPM:PROCESSING",
      "parent": "MULE:ANY",
      "handleable": true
    }
  ],
  "modelProperties": {},
  "types": [
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "cz.integsoft.mule.ipm.api.exception.CircuitOpenException",
        "classInformation": {
          "classname": "cz.integsoft.mule.ipm.api.exception.CircuitOpenException",
          "hasDefaultConstructor": false,
          "isInterface": false,
          "isInstantiable": false,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [],
          "parent": "cz.integsoft.mule.ipm.api.exception.GenericModuleException",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "CircuitOpenException"
        }
      },
      "fields": [
        {
          "key": {
            "name": "cause"
          },
          "model": {
            "type": "Object",
            "annotations": {
              "typeId": "java.lang.Throwable",
              "classInformation": {
                "classname": "java.lang.Throwable",
                "hasDefaultConstructor": true,
                "isInterface": false,
                "isInstantiable": true,
                "isAbstract": false,
                "isFinal": false,
                "implementedInterfaces": [
                  "java.io.Serializable"
                ],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              },
              "typeAlias": {
                "value": "Throwable"
              }
            },
            "fields": [
              {
                "key": {
                  "name": "cause"
                },
                "model": "#..",
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "localizedMessage"
                },
                "model": {
                  "type": "String"
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "message"
                },
                "model": {
                  "type": "String"
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "stackTrace"
                },
                "model": {
                  "type": "Array",
                  "annotations": {
                    "classInformation": {
                      "classname": "java.lang.StackTraceElement[]",
                      "hasDefaultConstructor": false,
                      "isInterface": false,
                      "isInstantiable": false,
                      "isAbstract": true,
                      "isFinal": true,
                      "implementedInterfaces": [
                        "java.lang.Cloneable",
                        "java.io.Serializable"
                      ],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    }
                  },
                  "item": {
                    "type": "Object",
                    "annotations": {
                      "typeId": "java.lang.StackTraceElement",
                      "classInformation": {
                        "classname": "java.lang.StackTraceElement",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "typeAlias": {
                        "value": "StackTraceElement"
                      }
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "className"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      },
                      {
                        "key": {
                          "name": "fileName"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      },
                      {
                        "key": {
                          "name": "lineNumber"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "classInformation": {
                              "classname": "int",
                              "hasDefaultConstructor": false,
                              "isInterface": false,
                              "isInstantiable": false,
                              "isAbstract": true,
                              "isFinal": true,
                              "implementedInterfaces": [],
                              "parent": "",
                              "genericTypes": [],
                              "isMap": false
                            },
                            "int": {}
                          }
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      },
                      {
                        "key": {
                          "name": "methodName"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      },
                      {
                        "key": {
                          "name": "nativeMethod"
                        },
                        "model": {
                          "type": "Boolean",
                          "annotations": {
                            "typeId": "boolean"
                          }
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      }
                    ]
                  }
                }
              },
              {
                "key": {
                  "name": "suppressed"
                },
                "model": {
                  "type": "Array",
                  "annotations": {
                    "classInformation": {
                      "classname": "java.lang.Throwable[]",
                      "hasDefaultConstructor": false,
                      "isInterface": false,
                      "isInstantiable": false,
                      "isAbstract": true,
                      "isFinal": true,
                      "implementedInterfaces": [
                        "java.lang.Cloneable",
                        "java.io.Serializable"
                      ],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    }
                  },
                  "item": "#../.."
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              }
            ]
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "localizedMessage"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "message"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "stackTrace"
          },
          "model": {
            "type": "Array",
            "annotations": {
              "classInformation": {
                "classname": "java.lang.StackTraceElement[]",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": true,
                "implementedInterfaces": [
                  "java.lang.Cloneable",
                  "java.io.Serializable"
                ],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              }
            },
            "item": {
              "type": "Object",
              "annotations": {
                "typeId": "java.lang.StackTraceElement",
                "classInformation": {
                  "classname": "java.lang.StackTraceElement",
                  "hasDefaultConstructor": false,
                  "isInterface": false,
                  "isInstantiable": false,
                  "isAbstract": false,
                  "isFinal": true,
                  "implementedInterfaces": [
                    "java.io.Serializable"
                  ],
                  "parent": "",
                  "genericTypes": [],
                  "isMap": false
                },
                "typeAlias": {
                  "value": "StackTraceElement"
                }
              },
              "fields": [
                {
                  "key": {
                    "name": "className"
                  },
                  "model": {
                    "type": "String"
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "fileName"
                  },
                  "model": {
                    "type": "String"
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "lineNumber"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "int",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": true,
                        "implementedInterfaces": [],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "methodName"
                  },
                  "model": {
                    "type": "String"
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "nativeMethod"
                  },
                  "model": {
                    "type": "Boolean",
                    "annotations": {
                      "typeId": "boolean"
                    }
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                }
              ]
            }
          }
        },
        {
          "key": {
            "name": "suppressed"
          },
          "model": {
            "type": "Array",
            "annotations": {
              "classInformation": {
                "classname": "java.lang.Throwable[]",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": true,
                "implementedInterfaces": [
                  "java.lang.Cloneable",
                  "java.io.Serializable"
                ],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              }
            },
            "item": {
              "type": "Object",
              "annotations": {
                "typeId": "java.lang.Throwable",
                "classInformation": {
                  "classname": "java.lang.Throwable",
                  "hasDefaultConstructor": true,
                  "isInterface": false,
                  "isInstantiable": true,
                  "isAbstract": false,
                  "isFinal": false,
                  "implementedInterfaces": [
                    "java.io.Serializable"
                  ],
                  "parent": "",
                  "genericTypes": [],
                  "isMap": false
                },
                "typeAlias": {
                  "value": "Throwable"
                }
              },
              "fields": [
                {
                  "key": {
                    "name": "cause"
                  },
                  "model": "#..",
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "localizedMessage"
                  },
                  "model": {
                    "type": "String"
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "message"
                  },
                  "model": {
                    "type": "String"
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "stackTrace"
                  },
                  "model": {
                    "type": "Array",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.StackTraceElement[]",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Cloneable",
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      }
                    },
                    "item": {
                      "type": "Object",
                      "annotations": {
                        "typeId": "java.lang.StackTraceElement",
                        "classInformation": {
                          "classname": "java.lang.StackTraceElement",
                          "hasDefaultConstructor": false,
                          "isInterface": false,
                          "isInstantiable": false,
                          "isAbstract": false,
                          "isFinal": true,
                          "implementedInterfaces": [
                            "java.io.Serializable"
                          ],
                          "parent": "",
                          "genericTypes": [],
                          "isMap": false
                        },
                        "typeAlias": {
                          "value": "StackTraceElement"
                        }
                      },
                      "fields": [
                        {
                          "key": {
                            "name": "className"
                          },
                          "model": {
                            "type": "String"
                          },
                          "annotations": {
                            "visibility": "READ_ONLY"
                          }
                        },
                        {
                          "key": {
                            "name": "fileName"
                          },
                          "model": {
                            "type": "String"
                          },
                          "annotations": {
                            "visibility": "READ_ONLY"
                          }
                        },
                        {
                          "key": {
                            "name": "lineNumber"
                          },
                          "model": {
                            "type": "Number",
                            "annotations": {
                              "classInformation": {
                                "classname": "int",
                                "hasDefaultConstructor": false,
                                "isInterface": false,
                                "isInstantiable": false,
                                "isAbstract": true,
                                "isFinal": true,
                                "implementedInterfaces": [],
                                "parent": "",
                                "genericTypes": [],
                                "isMap": false
                              },
                              "int": {}
                            }
                          },
                          "annotations": {
                            "visibility": "READ_ONLY"
                          }
                        },
                        {
                          "key": {
                            "name": "methodName"
                          },
                          "model": {
                            "type": "String"
                          },
                          "annotations": {
                            "visibility": "READ_ONLY"
                          }
                        },
                        {
                          "key": {
                            "name": "nativeMethod"
                          },
                          "model": {
                            "type": "Boolean",
                            "annotations": {
                              "typeId": "boolean"
                            }
                          },
                          "annotations": {
                            "visibility": "READ_ONLY"
                          }
                        }
                      ]
                    }
                  }
                },
                {
                  "key": {
                    "name": "suppressed"
                  },
                  "model": "#../..",
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                }
              ]
            }
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "type"
          },
          "model": {
            "type": "Object",
            "annotations": {
              "typeId": "org.mule.runtime.extension.api.error.ErrorTypeDefinition",
              "classInformation": {
                "classname": "org.mule.runtime.extension.api.error.ErrorTypeDefinition",
                "hasDefaultConstructor": false,
                "isInterface": true,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": false,
                "implementedInterfaces": [],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              },
              "typeAlias": {
                "value": "ErrorTypeDefinition"
              }
            },
            "fields": []
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "cz.integsoft.mule.ipm.api.exception.ConnectionException",
        "classInformation": {
          "classname": "cz.integsoft.mule.ipm.api.exception.ConnectionException",
          "hasDefaultConstructor": false,
          "isInterface": false,
          "isInstantiable": false,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [],
          "parent": "cz.integsoft.mule.ipm.api.exception.GenericModuleException",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "ConnectionException"
        }
      },
      "fields": [
        {
          "key": {
            "name": "cause"
          },
          "model": {
            "type": "Object",
            "annotations": {
              "typeId": "java.lang.Throwable",
              "classInformation": {
                "classname": "java.lang.Throwable",
                "hasDefaultConstructor": true,
                "isInterface": false,
                "isInstantiable": true,
                "isAbstract": false,
                "isFinal": false,
                "implementedInterfaces": [
                  "java.io.Serializable"
                ],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              },
              "typeAlias": {
                "value": "Throwable"
              }
            },
            "fields": [
              {
                "key": {
                  "name": "cause"
                },
                "model": "#..",
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "localizedMessage"
                },
                "model": {
                  "type": "String"
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "message"
                },
                "model": {
                  "type": "String"
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "stackTrace"
                },
                "model": {
                  "type": "Array",
                  "annotations": {
                    "classInformation": {
                      "classname": "java.lang.StackTraceElement[]",
                      "hasDefaultConstructor": false,
                      "isInterface": false,
                      "isInstantiable": false,
                      "isAbstract": true,
                      "isFinal": true,
                      "implementedInterfaces": [
                        "java.lang.Cloneable",
                        "java.io.Serializable"
                      ],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    }
                  },
                  "item": {
                    "type": "Object",
                    "annotations": {
                      "typeId": "java.lang.StackTraceElement",
                      "classInformation": {
                        "classname": "java.lang.StackTraceElement",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "typeAlias": {
                        "value": "StackTraceElement"
                      }
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "className"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      },
                      {
                        "key": {
                          "name": "fileName"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      },
                      {
                        "key": {
                          "name": "lineNumber"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "classInformation": {
                              "classname": "int",
                              "hasDefaultConstructor": false,
                              "isInterface": false,
                              "isInstantiable": false,
                              "isAbstract": true,
                              "isFinal": true,
                              "implementedInterfaces": [],
                              "parent": "",
                              "genericTypes": [],
                              "isMap": false
                            },
                            "int": {}
                          }
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      },
                      {
                        "key": {
                          "name": "methodName"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      },
                      {
                        "key": {
                          "name": "nativeMethod"
                        },
                        "model": {
                          "type": "Boolean",
                          "annotations": {
                            "typeId": "boolean"
                          }
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      }
                    ]
                  }
                }
              },
              {
                "key": {
                  "name": "suppressed"
                },
                "model": {
                  "type": "Array",
                  "annotations": {
                    "classInformation": {
                      "classname": "java.lang.Throwable[]",
                      "hasDefaultConstructor": false,
                      "isInterface": false,
                      "isInstantiable": false,
                      "isAbstract": true,
                      "isFinal": true,
                      "implementedInterfaces": [
                        "java.lang.Cloneable",
                        "java.io.Serializable"
                      ],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    }
                  },
                  "item": "#../.."
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              }
            ]
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "localizedMessage"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "message"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "stackTrace"
          },
          "model": {
            "type": "Array",
            "annotations": {
              "classInformation": {
                "classname": "java.lang.StackTraceElement[]",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": true,
                "implementedInterfaces": [
                  "java.lang.Cloneable",
                  "java.io.Serializable"
                ],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              }
            },
            "item": {
              "type": "Object",
              "annotations": {
                "typeId": "java.lang.StackTraceElement",
                "classInformation": {
                  "classname": "java.lang.StackTraceElement",
                  "hasDefaultConstructor": false,
                  "isInterface": false,
                  "isInstantiable": false,
                  "isAbstract": false,
                  "isFinal": true,
                  "implementedInterfaces": [
                    "java.io.Serializable"
                  ],
                  "parent": "",
                  "genericTypes": [],
                  "isMap": false
                },
                "typeAlias": {
                  "value": "StackTraceElement"
                }
              },
              "fields": [
                {
                  "key": {
                    "name": "className"
                  },
                  "model": {
                    "type": "String"
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "fileName"
                  },
                  "model": {
                    "type": "String"
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "lineNumber"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "int",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": true,
                        "implementedInterfaces": [],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "methodName"
                  },
                  "model": {
                    "type": "String"
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "nativeMethod"
                  },
                  "model": {
                    "type": "Boolean",
                    "annotations": {
                      "typeId": "boolean"
                    }
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                }
              ]
            }
          }
        },
        {
          "key": {
            "name": "suppressed"
          },
          "model": {
            "type": "Array",
            "annotations": {
              "classInformation": {
                "classname": "java.lang.Throwable[]",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": true,
                "implementedInterfaces": [
                  "java.lang.Cloneable",
                  "java.io.Serializable"
                ],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              }
            },
            "item": {
              "type": "Object",
              "annotations": {
                "typeId": "java.lang.Throwable",
                "classInformation": {
                  "classname": "java.lang.Throwable",
                  "hasDefaultConstructor": true,
                  "isInterface": false,
                  "isInstantiable": true,
                  "isAbstract": false,
                  "isFinal": false,
                  "implementedInterfaces": [
                    "java.io.Serializable"
                  ],
                  "parent": "",
                  "genericTypes": [],
                  "isMap": false
                },
                "typeAlias": {
                  "value": "Throwable"
                }
              },
              "fields": [
                {
                  "key": {
                    "name": "cause"
                  },
                  "model": "#..",
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "localizedMessage"
                  },
                  "model": {
                    "type": "String"
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "message"
                  },
                  "model": {
                    "type": "String"
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "stackTrace"
                  },
                  "model": {
                    "type": "Array",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.StackTraceElement[]",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Cloneable",
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      }
                    },
                    "item": {
                      "type": "Object",
                      "annotations": {
                        "typeId": "java.lang.StackTraceElement",
                        "classInformation": {
                          "classname": "java.lang.StackTraceElement",
                          "hasDefaultConstructor": false,
                          "isInterface": false,
                          "isInstantiable": false,
                          "isAbstract": false,
                          "isFinal": true,
                          "implementedInterfaces": [
                            "java.io.Serializable"
                          ],
                          "parent": "",
                          "genericTypes": [],
                          "isMap": false
                        },
                        "typeAlias": {
                          "value": "StackTraceElement"
                        }
                      },
                      "fields": [
                        {
                          "key": {
                            "name": "className"
                          },
                          "model": {
                            "type": "String"
                          },
                          "annotations": {
                            "visibility": "READ_ONLY"
                          }
                        },
                        {
                          "key": {
                            "name": "fileName"
                          },
                          "model": {
                            "type": "String"
                          },
                          "annotations": {
                            "visibility": "READ_ONLY"
                          }
                        },
                        {
                          "key": {
                            "name": "lineNumber"
                          },
                          "model": {
                            "type": "Number",
                            "annotations": {
                              "classInformation": {
                                "classname": "int",
                                "hasDefaultConstructor": false,
                                "isInterface": false,
                                "isInstantiable": false,
                                "isAbstract": true,
                                "isFinal": true,
                                "implementedInterfaces": [],
                                "parent": "",
                                "genericTypes": [],
                                "isMap": false
                              },
                              "int": {}
                            }
                          },
                          "annotations": {
                            "visibility": "READ_ONLY"
                          }
                        },
                        {
                          "key": {
                            "name": "methodName"
                          },
                          "model": {
                            "type": "String"
                          },
                          "annotations": {
                            "visibility": "READ_ONLY"
                          }
                        },
                        {
                          "key": {
                            "name": "nativeMethod"
                          },
                          "model": {
                            "type": "Boolean",
                            "annotations": {
                              "typeId": "boolean"
                            }
                          },
                          "annotations": {
                            "visibility": "READ_ONLY"
                          }
                        }
                      ]
                    }
                  }
                },
                {
                  "key": {
                    "name": "suppressed"
                  },
                  "model": "#../..",
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                }
              ]
            }
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "type"
          },
          "model": {
            "type": "Object",
            "annotations": {
              "typeId": "org.mule.runtime.extension.api.error.ErrorTypeDefinition",
              "classInformation": {
                "classname": "org.mule.runtime.extension.api.error.ErrorTypeDefinition",
                "hasDefaultConstructor": false,
                "isInterface": true,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": false,
                "implementedInterfaces": [],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              },
              "typeAlias": {
                "value": "ErrorTypeDefinition"
              }
            },
            "fields": []
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "cz.integsoft.mule.ipm.api.exception.GenericModuleException",
        "classInformation": {
          "classname": "cz.integsoft.mule.ipm.api.exception.GenericModuleException",
          "hasDefaultConstructor": false,
          "isInterface": false,
          "isInstantiable": false,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [],
          "parent": "org.mule.runtime.extension.api.exception.ModuleException",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "GenericModuleException"
        }
      },
      "fields": [
        {
          "key": {
            "name": "cause"
          },
          "model": {
            "type": "Object",
            "annotations": {
              "typeId": "java.lang.Throwable",
              "classInformation": {
                "classname": "java.lang.Throwable",
                "hasDefaultConstructor": true,
                "isInterface": false,
                "isInstantiable": true,
                "isAbstract": false,
                "isFinal": false,
                "implementedInterfaces": [
                  "java.io.Serializable"
                ],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              },
              "typeAlias": {
                "value": "Throwable"
              }
            },
            "fields": [
              {
                "key": {
                  "name": "cause"
                },
                "model": "#..",
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "localizedMessage"
                },
                "model": {
                  "type": "String"
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "message"
                },
                "model": {
                  "type": "String"
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "stackTrace"
                },
                "model": {
                  "type": "Array",
                  "annotations": {
                    "classInformation": {
                      "classname": "java.lang.StackTraceElement[]",
                      "hasDefaultConstructor": false,
                      "isInterface": false,
                      "isInstantiable": false,
                      "isAbstract": true,
                      "isFinal": true,
                      "implementedInterfaces": [
                        "java.lang.Cloneable",
                        "java.io.Serializable"
                      ],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    }
                  },
                  "item": {
                    "type": "Object",
                    "annotations": {
                      "typeId": "java.lang.StackTraceElement",
                      "classInformation": {
                        "classname": "java.lang.StackTraceElement",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "typeAlias": {
                        "value": "StackTraceElement"
                      }
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "className"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      },
                      {
                        "key": {
                          "name": "fileName"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      },
                      {
                        "key": {
                          "name": "lineNumber"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "classInformation": {
                              "classname": "int",
                              "hasDefaultConstructor": false,
                              "isInterface": false,
                              "isInstantiable": false,
                              "isAbstract": true,
                              "isFinal": true,
                              "implementedInterfaces": [],
                              "parent": "",
                              "genericTypes": [],
                              "isMap": false
                            },
                            "int": {}
                          }
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      },
                      {
                        "key": {
                          "name": "methodName"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      },
                      {
                        "key": {
                          "name": "nativeMethod"
                        },
                        "model": {
                          "type": "Boolean",
                          "annotations": {
                            "typeId": "boolean"
                          }
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      }
                    ]
                  }
                }
              },
              {
                "key": {
                  "name": "suppressed"
                },
                "model": {
                  "type": "Array",
                  "annotations": {
                    "classInformation": {
                      "classname": "java.lang.Throwable[]",
                      "hasDefaultConstructor": false,
                      "isInterface": false,
                      "isInstantiable": false,
                      "isAbstract": true,
                      "isFinal": true,
                      "implementedInterfaces": [
                        "java.lang.Cloneable",
                        "java.io.Serializable"
                      ],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    }
                  },
                  "item": "#../.."
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              }
            ]
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "localizedMessage"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "message"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "stackTrace"
          },
          "model": {
            "type": "Array",
            "annotations": {
              "classInformation": {
                "classname": "java.lang.StackTraceElement[]",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": true,
                "implementedInterfaces": [
                  "java.lang.Cloneable",
                  "java.io.Serializable"
                ],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              }
            },
            "item": {
              "type": "Object",
              "annotations": {
                "typeId": "java.lang.StackTraceElement",
                "classInformation": {
                  "classname": "java.lang.StackTraceElement",
                  "hasDefaultConstructor": false,
                  "isInterface": false,
                  "isInstantiable": false,
                  "isAbstract": false,
                  "isFinal": true,
                  "implementedInterfaces": [
                    "java.io.Serializable"
                  ],
                  "parent": "",
                  "genericTypes": [],
                  "isMap": false
                },
                "typeAlias": {
                  "value": "StackTraceElement"
                }
              },
              "fields": [
                {
                  "key": {
                    "name": "className"
                  },
                  "model": {
                    "type": "String"
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "fileName"
                  },
                  "model": {
                    "type": "String"
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "lineNumber"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "int",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": true,
                        "implementedInterfaces": [],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "methodName"
                  },
                  "model": {
                    "type": "String"
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "nativeMethod"
                  },
                  "model": {
                    "type": "Boolean",
                    "annotations": {
                      "typeId": "boolean"
                    }
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                }
              ]
            }
          }
        },
        {
          "key": {
            "name": "suppressed"
          },
          "model": {
            "type": "Array",
            "annotations": {
              "classInformation": {
                "classname": "java.lang.Throwable[]",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": true,
                "implementedInterfaces": [
                  "java.lang.Cloneable",
                  "java.io.Serializable"
                ],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              }
            },
            "item": {
              "type": "Object",
              "annotations": {
                "typeId": "java.lang.Throwable",
                "classInformation": {
                  "classname": "java.lang.Throwable",
                  "hasDefaultConstructor": true,
                  "isInterface": false,
                  "isInstantiable": true,
                  "isAbstract": false,
                  "isFinal": false,
                  "implementedInterfaces": [
                    "java.io.Serializable"
                  ],
                  "parent": "",
                  "genericTypes": [],
                  "isMap": false
                },
                "typeAlias": {
                  "value": "Throwable"
                }
              },
              "fields": [
                {
                  "key": {
                    "name": "cause"
                  },
                  "model": "#..",
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "localizedMessage"
                  },
                  "model": {
                    "type": "String"
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "message"
                  },
                  "model": {
                    "type": "String"
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "stackTrace"
                  },
                  "model": {
                    "type": "Array",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.StackTraceElement[]",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Cloneable",
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      }
                    },
                    "item": {
                      "type": "Object",
                      "annotations": {
                        "typeId": "java.lang.StackTraceElement",
                        "classInformation": {
                          "classname": "java.lang.StackTraceElement",
                          "hasDefaultConstructor": false,
                          "isInterface": false,
                          "isInstantiable": false,
                          "isAbstract": false,
                          "isFinal": true,
                          "implementedInterfaces": [
                            "java.io.Serializable"
                          ],
                          "parent": "",
                          "genericTypes": [],
                          "isMap": false
                        },
                        "typeAlias": {
                          "value": "StackTraceElement"
                        }
                      },
                      "fields": [
                        {
                          "key": {
                            "name": "className"
                          },
                          "model": {
                            "type": "String"
                          },
                          "annotations": {
                            "visibility": "READ_ONLY"
                          }
                        },
                        {
                          "key": {
                            "name": "fileName"
                          },
                          "model": {
                            "type": "String"
                          },
                          "annotations": {
                            "visibility": "READ_ONLY"
                          }
                        },
                        {
                          "key": {
                            "name": "lineNumber"
                          },
                          "model": {
                            "type": "Number",
                            "annotations": {
                              "classInformation": {
                                "classname": "int",
                                "hasDefaultConstructor": false,
                                "isInterface": false,
                                "isInstantiable": false,
                                "isAbstract": true,
                                "isFinal": true,
                                "implementedInterfaces": [],
                                "parent": "",
                                "genericTypes": [],
                                "isMap": false
                              },
                              "int": {}
                            }
                          },
                          "annotations": {
                            "visibility": "READ_ONLY"
                          }
                        },
                        {
                          "key": {
                            "name": "methodName"
                          },
                          "model": {
                            "type": "String"
                          },
                          "annotations": {
                            "visibility": "READ_ONLY"
                          }
                        },
                        {
                          "key": {
                            "name": "nativeMethod"
                          },
                          "model": {
                            "type": "Boolean",
                            "annotations": {
                              "typeId": "boolean"
                            }
                          },
                          "annotations": {
                            "visibility": "READ_ONLY"
                          }
                        }
                      ]
                    }
                  }
                },
                {
                  "key": {
                    "name": "suppressed"
                  },
                  "model": "#../..",
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                }
              ]
            }
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "type"
          },
          "model": {
            "type": "Object",
            "annotations": {
              "typeId": "org.mule.runtime.extension.api.error.ErrorTypeDefinition",
              "classInformation": {
                "classname": "org.mule.runtime.extension.api.error.ErrorTypeDefinition",
                "hasDefaultConstructor": false,
                "isInterface": true,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": false,
                "implementedInterfaces": [],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              },
              "typeAlias": {
                "value": "ErrorTypeDefinition"
              }
            },
            "fields": []
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "cz.integsoft.mule.ipm.api.exception.InitializationException",
        "classInformation": {
          "classname": "cz.integsoft.mule.ipm.api.exception.InitializationException",
          "hasDefaultConstructor": false,
          "isInterface": false,
          "isInstantiable": false,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [],
          "parent": "cz.integsoft.mule.ipm.api.exception.GenericModuleException",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "InitializationException"
        }
      },
      "fields": [
        {
          "key": {
            "name": "cause"
          },
          "model": {
            "type": "Object",
            "annotations": {
              "typeId": "java.lang.Throwable",
              "classInformation": {
                "classname": "java.lang.Throwable",
                "hasDefaultConstructor": true,
                "isInterface": false,
                "isInstantiable": true,
                "isAbstract": false,
                "isFinal": false,
                "implementedInterfaces": [
                  "java.io.Serializable"
                ],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              },
              "typeAlias": {
                "value": "Throwable"
              }
            },
            "fields": [
              {
                "key": {
                  "name": "cause"
                },
                "model": "#..",
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "localizedMessage"
                },
                "model": {
                  "type": "String"
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "message"
                },
                "model": {
                  "type": "String"
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "stackTrace"
                },
                "model": {
                  "type": "Array",
                  "annotations": {
                    "classInformation": {
                      "classname": "java.lang.StackTraceElement[]",
                      "hasDefaultConstructor": false,
                      "isInterface": false,
                      "isInstantiable": false,
                      "isAbstract": true,
                      "isFinal": true,
                      "implementedInterfaces": [
                        "java.lang.Cloneable",
                        "java.io.Serializable"
                      ],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    }
                  },
                  "item": {
                    "type": "Object",
                    "annotations": {
                      "typeId": "java.lang.StackTraceElement",
                      "classInformation": {
                        "classname": "java.lang.StackTraceElement",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "typeAlias": {
                        "value": "StackTraceElement"
                      }
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "className"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      },
                      {
                        "key": {
                          "name": "fileName"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      },
                      {
                        "key": {
                          "name": "lineNumber"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "classInformation": {
                              "classname": "int",
                              "hasDefaultConstructor": false,
                              "isInterface": false,
                              "isInstantiable": false,
                              "isAbstract": true,
                              "isFinal": true,
                              "implementedInterfaces": [],
                              "parent": "",
                              "genericTypes": [],
                              "isMap": false
                            },
                            "int": {}
                          }
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      },
                      {
                        "key": {
                          "name": "methodName"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      },
                      {
                        "key": {
                          "name": "nativeMethod"
                        },
                        "model": {
                          "type": "Boolean",
                          "annotations": {
                            "typeId": "boolean"
                          }
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      }
                    ]
                  }
                }
              },
              {
                "key": {
                  "name": "suppressed"
                },
                "model": {
                  "type": "Array",
                  "annotations": {
                    "classInformation": {
                      "classname": "java.lang.Throwable[]",
                      "hasDefaultConstructor": false,
                      "isInterface": false,
                      "isInstantiable": false,
                      "isAbstract": true,
                      "isFinal": true,
                      "implementedInterfaces": [
                        "java.lang.Cloneable",
                        "java.io.Serializable"
                      ],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    }
                  },
                  "item": "#../.."
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              }
            ]
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "localizedMessage"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "message"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "stackTrace"
          },
          "model": {
            "type": "Array",
            "annotations": {
              "classInformation": {
                "classname": "java.lang.StackTraceElement[]",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": true,
                "implementedInterfaces": [
                  "java.lang.Cloneable",
                  "java.io.Serializable"
                ],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              }
            },
            "item": {
              "type": "Object",
              "annotations": {
                "typeId": "java.lang.StackTraceElement",
                "classInformation": {
                  "classname": "java.lang.StackTraceElement",
                  "hasDefaultConstructor": false,
                  "isInterface": false,
                  "isInstantiable": false,
                  "isAbstract": false,
                  "isFinal": true,
                  "implementedInterfaces": [
                    "java.io.Serializable"
                  ],
                  "parent": "",
                  "genericTypes": [],
                  "isMap": false
                },
                "typeAlias": {
                  "value": "StackTraceElement"
                }
              },
              "fields": [
                {
                  "key": {
                    "name": "className"
                  },
                  "model": {
                    "type": "String"
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "fileName"
                  },
                  "model": {
                    "type": "String"
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "lineNumber"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "int",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": true,
                        "implementedInterfaces": [],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "methodName"
                  },
                  "model": {
                    "type": "String"
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "nativeMethod"
                  },
                  "model": {
                    "type": "Boolean",
                    "annotations": {
                      "typeId": "boolean"
                    }
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                }
              ]
            }
          }
        },
        {
          "key": {
            "name": "suppressed"
          },
          "model": {
            "type": "Array",
            "annotations": {
              "classInformation": {
                "classname": "java.lang.Throwable[]",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": true,
                "implementedInterfaces": [
                  "java.lang.Cloneable",
                  "java.io.Serializable"
                ],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              }
            },
            "item": {
              "type": "Object",
              "annotations": {
                "typeId": "java.lang.Throwable",
                "classInformation": {
                  "classname": "java.lang.Throwable",
                  "hasDefaultConstructor": true,
                  "isInterface": false,
                  "isInstantiable": true,
                  "isAbstract": false,
                  "isFinal": false,
                  "implementedInterfaces": [
                    "java.io.Serializable"
                  ],
                  "parent": "",
                  "genericTypes": [],
                  "isMap": false
                },
                "typeAlias": {
                  "value": "Throwable"
                }
              },
              "fields": [
                {
                  "key": {
                    "name": "cause"
                  },
                  "model": "#..",
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "localizedMessage"
                  },
                  "model": {
                    "type": "String"
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "message"
                  },
                  "model": {
                    "type": "String"
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "stackTrace"
                  },
                  "model": {
                    "type": "Array",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.StackTraceElement[]",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Cloneable",
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      }
                    },
                    "item": {
                      "type": "Object",
                      "annotations": {
                        "typeId": "java.lang.StackTraceElement",
                        "classInformation": {
                          "classname": "java.lang.StackTraceElement",
                          "hasDefaultConstructor": false,
                          "isInterface": false,
                          "isInstantiable": false,
                          "isAbstract": false,
                          "isFinal": true,
                          "implementedInterfaces": [
                            "java.io.Serializable"
                          ],
                          "parent": "",
                          "genericTypes": [],
                          "isMap": false
                        },
                        "typeAlias": {
                          "value": "StackTraceElement"
                        }
                      },
                      "fields": [
                        {
                          "key": {
                            "name": "className"
                          },
                          "model": {
                            "type": "String"
                          },
                          "annotations": {
                            "visibility": "READ_ONLY"
                          }
                        },
                        {
                          "key": {
                            "name": "fileName"
                          },
                          "model": {
                            "type": "String"
                          },
                          "annotations": {
                            "visibility": "READ_ONLY"
                          }
                        },
                        {
                          "key": {
                            "name": "lineNumber"
                          },
                          "model": {
                            "type": "Number",
                            "annotations": {
                              "classInformation": {
                                "classname": "int",
                                "hasDefaultConstructor": false,
                                "isInterface": false,
                                "isInstantiable": false,
                                "isAbstract": true,
                                "isFinal": true,
                                "implementedInterfaces": [],
                                "parent": "",
                                "genericTypes": [],
                                "isMap": false
                              },
                              "int": {}
                            }
                          },
                          "annotations": {
                            "visibility": "READ_ONLY"
                          }
                        },
                        {
                          "key": {
                            "name": "methodName"
                          },
                          "model": {
                            "type": "String"
                          },
                          "annotations": {
                            "visibility": "READ_ONLY"
                          }
                        },
                        {
                          "key": {
                            "name": "nativeMethod"
                          },
                          "model": {
                            "type": "Boolean",
                            "annotations": {
                              "typeId": "boolean"
                            }
                          },
                          "annotations": {
                            "visibility": "READ_ONLY"
                          }
                        }
                      ]
                    }
                  }
                },
                {
                  "key": {
                    "name": "suppressed"
                  },
                  "model": "#../..",
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                }
              ]
            }
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "type"
          },
          "model": {
            "type": "Object",
            "annotations": {
              "typeId": "org.mule.runtime.extension.api.error.ErrorTypeDefinition",
              "classInformation": {
                "classname": "org.mule.runtime.extension.api.error.ErrorTypeDefinition",
                "hasDefaultConstructor": false,
                "isInterface": true,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": false,
                "implementedInterfaces": [],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              },
              "typeAlias": {
                "value": "ErrorTypeDefinition"
              }
            },
            "fields": []
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "cz.integsoft.mule.ipm.api.exception.MaxConnectionsExhaustedException",
        "classInformation": {
          "classname": "cz.integsoft.mule.ipm.api.exception.MaxConnectionsExhaustedException",
          "hasDefaultConstructor": false,
          "isInterface": false,
          "isInstantiable": false,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [],
          "parent": "cz.integsoft.mule.ipm.api.exception.GenericModuleException",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "MaxConnectionsExhaustedException"
        }
      },
      "fields": [
        {
          "key": {
            "name": "cause"
          },
          "model": {
            "type": "Object",
            "annotations": {
              "typeId": "java.lang.Throwable",
              "classInformation": {
                "classname": "java.lang.Throwable",
                "hasDefaultConstructor": true,
                "isInterface": false,
                "isInstantiable": true,
                "isAbstract": false,
                "isFinal": false,
                "implementedInterfaces": [
                  "java.io.Serializable"
                ],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              },
              "typeAlias": {
                "value": "Throwable"
              }
            },
            "fields": [
              {
                "key": {
                  "name": "cause"
                },
                "model": "#..",
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "localizedMessage"
                },
                "model": {
                  "type": "String"
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "message"
                },
                "model": {
                  "type": "String"
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "stackTrace"
                },
                "model": {
                  "type": "Array",
                  "annotations": {
                    "classInformation": {
                      "classname": "java.lang.StackTraceElement[]",
                      "hasDefaultConstructor": false,
                      "isInterface": false,
                      "isInstantiable": false,
                      "isAbstract": true,
                      "isFinal": true,
                      "implementedInterfaces": [
                        "java.lang.Cloneable",
                        "java.io.Serializable"
                      ],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    }
                  },
                  "item": {
                    "type": "Object",
                    "annotations": {
                      "typeId": "java.lang.StackTraceElement",
                      "classInformation": {
                        "classname": "java.lang.StackTraceElement",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "typeAlias": {
                        "value": "StackTraceElement"
                      }
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "className"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      },
                      {
                        "key": {
                          "name": "fileName"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      },
                      {
                        "key": {
                          "name": "lineNumber"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "classInformation": {
                              "classname": "int",
                              "hasDefaultConstructor": false,
                              "isInterface": false,
                              "isInstantiable": false,
                              "isAbstract": true,
                              "isFinal": true,
                              "implementedInterfaces": [],
                              "parent": "",
                              "genericTypes": [],
                              "isMap": false
                            },
                            "int": {}
                          }
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      },
                      {
                        "key": {
                          "name": "methodName"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      },
                      {
                        "key": {
                          "name": "nativeMethod"
                        },
                        "model": {
                          "type": "Boolean",
                          "annotations": {
                            "typeId": "boolean"
                          }
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      }
                    ]
                  }
                }
              },
              {
                "key": {
                  "name": "suppressed"
                },
                "model": {
                  "type": "Array",
                  "annotations": {
                    "classInformation": {
                      "classname": "java.lang.Throwable[]",
                      "hasDefaultConstructor": false,
                      "isInterface": false,
                      "isInstantiable": false,
                      "isAbstract": true,
                      "isFinal": true,
                      "implementedInterfaces": [
                        "java.lang.Cloneable",
                        "java.io.Serializable"
                      ],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    }
                  },
                  "item": "#../.."
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              }
            ]
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "localizedMessage"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "message"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "stackTrace"
          },
          "model": {
            "type": "Array",
            "annotations": {
              "classInformation": {
                "classname": "java.lang.StackTraceElement[]",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": true,
                "implementedInterfaces": [
                  "java.lang.Cloneable",
                  "java.io.Serializable"
                ],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              }
            },
            "item": {
              "type": "Object",
              "annotations": {
                "typeId": "java.lang.StackTraceElement",
                "classInformation": {
                  "classname": "java.lang.StackTraceElement",
                  "hasDefaultConstructor": false,
                  "isInterface": false,
                  "isInstantiable": false,
                  "isAbstract": false,
                  "isFinal": true,
                  "implementedInterfaces": [
                    "java.io.Serializable"
                  ],
                  "parent": "",
                  "genericTypes": [],
                  "isMap": false
                },
                "typeAlias": {
                  "value": "StackTraceElement"
                }
              },
              "fields": [
                {
                  "key": {
                    "name": "className"
                  },
                  "model": {
                    "type": "String"
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "fileName"
                  },
                  "model": {
                    "type": "String"
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "lineNumber"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "int",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": true,
                        "implementedInterfaces": [],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "methodName"
                  },
                  "model": {
                    "type": "String"
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "nativeMethod"
                  },
                  "model": {
                    "type": "Boolean",
                    "annotations": {
                      "typeId": "boolean"
                    }
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                }
              ]
            }
          }
        },
        {
          "key": {
            "name": "suppressed"
          },
          "model": {
            "type": "Array",
            "annotations": {
              "classInformation": {
                "classname": "java.lang.Throwable[]",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": true,
                "implementedInterfaces": [
                  "java.lang.Cloneable",
                  "java.io.Serializable"
                ],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              }
            },
            "item": {
              "type": "Object",
              "annotations": {
                "typeId": "java.lang.Throwable",
                "classInformation": {
                  "classname": "java.lang.Throwable",
                  "hasDefaultConstructor": true,
                  "isInterface": false,
                  "isInstantiable": true,
                  "isAbstract": false,
                  "isFinal": false,
                  "implementedInterfaces": [
                    "java.io.Serializable"
                  ],
                  "parent": "",
                  "genericTypes": [],
                  "isMap": false
                },
                "typeAlias": {
                  "value": "Throwable"
                }
              },
              "fields": [
                {
                  "key": {
                    "name": "cause"
                  },
                  "model": "#..",
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "localizedMessage"
                  },
                  "model": {
                    "type": "String"
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "message"
                  },
                  "model": {
                    "type": "String"
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "stackTrace"
                  },
                  "model": {
                    "type": "Array",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.StackTraceElement[]",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Cloneable",
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      }
                    },
                    "item": {
                      "type": "Object",
                      "annotations": {
                        "typeId": "java.lang.StackTraceElement",
                        "classInformation": {
                          "classname": "java.lang.StackTraceElement",
                          "hasDefaultConstructor": false,
                          "isInterface": false,
                          "isInstantiable": false,
                          "isAbstract": false,
                          "isFinal": true,
                          "implementedInterfaces": [
                            "java.io.Serializable"
                          ],
                          "parent": "",
                          "genericTypes": [],
                          "isMap": false
                        },
                        "typeAlias": {
                          "value": "StackTraceElement"
                        }
                      },
                      "fields": [
                        {
                          "key": {
                            "name": "className"
                          },
                          "model": {
                            "type": "String"
                          },
                          "annotations": {
                            "visibility": "READ_ONLY"
                          }
                        },
                        {
                          "key": {
                            "name": "fileName"
                          },
                          "model": {
                            "type": "String"
                          },
                          "annotations": {
                            "visibility": "READ_ONLY"
                          }
                        },
                        {
                          "key": {
                            "name": "lineNumber"
                          },
                          "model": {
                            "type": "Number",
                            "annotations": {
                              "classInformation": {
                                "classname": "int",
                                "hasDefaultConstructor": false,
                                "isInterface": false,
                                "isInstantiable": false,
                                "isAbstract": true,
                                "isFinal": true,
                                "implementedInterfaces": [],
                                "parent": "",
                                "genericTypes": [],
                                "isMap": false
                              },
                              "int": {}
                            }
                          },
                          "annotations": {
                            "visibility": "READ_ONLY"
                          }
                        },
                        {
                          "key": {
                            "name": "methodName"
                          },
                          "model": {
                            "type": "String"
                          },
                          "annotations": {
                            "visibility": "READ_ONLY"
                          }
                        },
                        {
                          "key": {
                            "name": "nativeMethod"
                          },
                          "model": {
                            "type": "Boolean",
                            "annotations": {
                              "typeId": "boolean"
                            }
                          },
                          "annotations": {
                            "visibility": "READ_ONLY"
                          }
                        }
                      ]
                    }
                  }
                },
                {
                  "key": {
                    "name": "suppressed"
                  },
                  "model": "#../..",
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                }
              ]
            }
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "type"
          },
          "model": {
            "type": "Object",
            "annotations": {
              "typeId": "org.mule.runtime.extension.api.error.ErrorTypeDefinition",
              "classInformation": {
                "classname": "org.mule.runtime.extension.api.error.ErrorTypeDefinition",
                "hasDefaultConstructor": false,
                "isInterface": true,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": false,
                "implementedInterfaces": [],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              },
              "typeAlias": {
                "value": "ErrorTypeDefinition"
              }
            },
            "fields": []
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "cz.integsoft.mule.ipm.api.exception.NoHostAvailableException",
        "classInformation": {
          "classname": "cz.integsoft.mule.ipm.api.exception.NoHostAvailableException",
          "hasDefaultConstructor": false,
          "isInterface": false,
          "isInstantiable": false,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [],
          "parent": "cz.integsoft.mule.ipm.api.exception.GenericModuleException",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "NoHostAvailableException"
        }
      },
      "fields": [
        {
          "key": {
            "name": "cause"
          },
          "model": {
            "type": "Object",
            "annotations": {
              "typeId": "java.lang.Throwable",
              "classInformation": {
                "classname": "java.lang.Throwable",
                "hasDefaultConstructor": true,
                "isInterface": false,
                "isInstantiable": true,
                "isAbstract": false,
                "isFinal": false,
                "implementedInterfaces": [
                  "java.io.Serializable"
                ],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              },
              "typeAlias": {
                "value": "Throwable"
              }
            },
            "fields": [
              {
                "key": {
                  "name": "cause"
                },
                "model": "#..",
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "localizedMessage"
                },
                "model": {
                  "type": "String"
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "message"
                },
                "model": {
                  "type": "String"
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "stackTrace"
                },
                "model": {
                  "type": "Array",
                  "annotations": {
                    "classInformation": {
                      "classname": "java.lang.StackTraceElement[]",
                      "hasDefaultConstructor": false,
                      "isInterface": false,
                      "isInstantiable": false,
                      "isAbstract": true,
                      "isFinal": true,
                      "implementedInterfaces": [
                        "java.lang.Cloneable",
                        "java.io.Serializable"
                      ],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    }
                  },
                  "item": {
                    "type": "Object",
                    "annotations": {
                      "typeId": "java.lang.StackTraceElement",
                      "classInformation": {
                        "classname": "java.lang.StackTraceElement",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "typeAlias": {
                        "value": "StackTraceElement"
                      }
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "className"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      },
                      {
                        "key": {
                          "name": "fileName"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      },
                      {
                        "key": {
                          "name": "lineNumber"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "classInformation": {
                              "classname": "int",
                              "hasDefaultConstructor": false,
                              "isInterface": false,
                              "isInstantiable": false,
                              "isAbstract": true,
                              "isFinal": true,
                              "implementedInterfaces": [],
                              "parent": "",
                              "genericTypes": [],
                              "isMap": false
                            },
                            "int": {}
                          }
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      },
                      {
                        "key": {
                          "name": "methodName"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      },
                      {
                        "key": {
                          "name": "nativeMethod"
                        },
                        "model": {
                          "type": "Boolean",
                          "annotations": {
                            "typeId": "boolean"
                          }
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      }
                    ]
                  }
                }
              },
              {
                "key": {
                  "name": "suppressed"
                },
                "model": {
                  "type": "Array",
                  "annotations": {
                    "classInformation": {
                      "classname": "java.lang.Throwable[]",
                      "hasDefaultConstructor": false,
                      "isInterface": false,
                      "isInstantiable": false,
                      "isAbstract": true,
                      "isFinal": true,
                      "implementedInterfaces": [
                        "java.lang.Cloneable",
                        "java.io.Serializable"
                      ],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    }
                  },
                  "item": "#../.."
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              }
            ]
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "localizedMessage"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "message"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "stackTrace"
          },
          "model": {
            "type": "Array",
            "annotations": {
              "classInformation": {
                "classname": "java.lang.StackTraceElement[]",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": true,
                "implementedInterfaces": [
                  "java.lang.Cloneable",
                  "java.io.Serializable"
                ],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              }
            },
            "item": {
              "type": "Object",
              "annotations": {
                "typeId": "java.lang.StackTraceElement",
                "classInformation": {
                  "classname": "java.lang.StackTraceElement",
                  "hasDefaultConstructor": false,
                  "isInterface": false,
                  "isInstantiable": false,
                  "isAbstract": false,
                  "isFinal": true,
                  "implementedInterfaces": [
                    "java.io.Serializable"
                  ],
                  "parent": "",
                  "genericTypes": [],
                  "isMap": false
                },
                "typeAlias": {
                  "value": "StackTraceElement"
                }
              },
              "fields": [
                {
                  "key": {
                    "name": "className"
                  },
                  "model": {
                    "type": "String"
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "fileName"
                  },
                  "model": {
                    "type": "String"
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "lineNumber"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "int",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": true,
                        "implementedInterfaces": [],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "methodName"
                  },
                  "model": {
                    "type": "String"
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "nativeMethod"
                  },
                  "model": {
                    "type": "Boolean",
                    "annotations": {
                      "typeId": "boolean"
                    }
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                }
              ]
            }
          }
        },
        {
          "key": {
            "name": "suppressed"
          },
          "model": {
            "type": "Array",
            "annotations": {
              "classInformation": {
                "classname": "java.lang.Throwable[]",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": true,
                "implementedInterfaces": [
                  "java.lang.Cloneable",
                  "java.io.Serializable"
                ],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              }
            },
            "item": {
              "type": "Object",
              "annotations": {
                "typeId": "java.lang.Throwable",
                "classInformation": {
                  "classname": "java.lang.Throwable",
                  "hasDefaultConstructor": true,
                  "isInterface": false,
                  "isInstantiable": true,
                  "isAbstract": false,
                  "isFinal": false,
                  "implementedInterfaces": [
                    "java.io.Serializable"
                  ],
                  "parent": "",
                  "genericTypes": [],
                  "isMap": false
                },
                "typeAlias": {
                  "value": "Throwable"
                }
              },
              "fields": [
                {
                  "key": {
                    "name": "cause"
                  },
                  "model": "#..",
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "localizedMessage"
                  },
                  "model": {
                    "type": "String"
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "message"
                  },
                  "model": {
                    "type": "String"
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "stackTrace"
                  },
                  "model": {
                    "type": "Array",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.StackTraceElement[]",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Cloneable",
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      }
                    },
                    "item": {
                      "type": "Object",
                      "annotations": {
                        "typeId": "java.lang.StackTraceElement",
                        "classInformation": {
                          "classname": "java.lang.StackTraceElement",
                          "hasDefaultConstructor": false,
                          "isInterface": false,
                          "isInstantiable": false,
                          "isAbstract": false,
                          "isFinal": true,
                          "implementedInterfaces": [
                            "java.io.Serializable"
                          ],
                          "parent": "",
                          "genericTypes": [],
                          "isMap": false
                        },
                        "typeAlias": {
                          "value": "StackTraceElement"
                        }
                      },
                      "fields": [
                        {
                          "key": {
                            "name": "className"
                          },
                          "model": {
                            "type": "String"
                          },
                          "annotations": {
                            "visibility": "READ_ONLY"
                          }
                        },
                        {
                          "key": {
                            "name": "fileName"
                          },
                          "model": {
                            "type": "String"
                          },
                          "annotations": {
                            "visibility": "READ_ONLY"
                          }
                        },
                        {
                          "key": {
                            "name": "lineNumber"
                          },
                          "model": {
                            "type": "Number",
                            "annotations": {
                              "classInformation": {
                                "classname": "int",
                                "hasDefaultConstructor": false,
                                "isInterface": false,
                                "isInstantiable": false,
                                "isAbstract": true,
                                "isFinal": true,
                                "implementedInterfaces": [],
                                "parent": "",
                                "genericTypes": [],
                                "isMap": false
                              },
                              "int": {}
                            }
                          },
                          "annotations": {
                            "visibility": "READ_ONLY"
                          }
                        },
                        {
                          "key": {
                            "name": "methodName"
                          },
                          "model": {
                            "type": "String"
                          },
                          "annotations": {
                            "visibility": "READ_ONLY"
                          }
                        },
                        {
                          "key": {
                            "name": "nativeMethod"
                          },
                          "model": {
                            "type": "Boolean",
                            "annotations": {
                              "typeId": "boolean"
                            }
                          },
                          "annotations": {
                            "visibility": "READ_ONLY"
                          }
                        }
                      ]
                    }
                  }
                },
                {
                  "key": {
                    "name": "suppressed"
                  },
                  "model": "#../..",
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                }
              ]
            }
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "type"
          },
          "model": {
            "type": "Object",
            "annotations": {
              "typeId": "org.mule.runtime.extension.api.error.ErrorTypeDefinition",
              "classInformation": {
                "classname": "org.mule.runtime.extension.api.error.ErrorTypeDefinition",
                "hasDefaultConstructor": false,
                "isInterface": true,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": false,
                "implementedInterfaces": [],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              },
              "typeAlias": {
                "value": "ErrorTypeDefinition"
              }
            },
            "fields": []
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "cz.integsoft.mule.ipm.api.exception.ProcessingException",
        "classInformation": {
          "classname": "cz.integsoft.mule.ipm.api.exception.ProcessingException",
          "hasDefaultConstructor": false,
          "isInterface": false,
          "isInstantiable": false,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [],
          "parent": "cz.integsoft.mule.ipm.api.exception.GenericModuleException",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "ProcessingException"
        }
      },
      "fields": [
        {
          "key": {
            "name": "cause"
          },
          "model": {
            "type": "Object",
            "annotations": {
              "typeId": "java.lang.Throwable",
              "classInformation": {
                "classname": "java.lang.Throwable",
                "hasDefaultConstructor": true,
                "isInterface": false,
                "isInstantiable": true,
                "isAbstract": false,
                "isFinal": false,
                "implementedInterfaces": [
                  "java.io.Serializable"
                ],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              },
              "typeAlias": {
                "value": "Throwable"
              }
            },
            "fields": [
              {
                "key": {
                  "name": "cause"
                },
                "model": "#..",
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "localizedMessage"
                },
                "model": {
                  "type": "String"
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "message"
                },
                "model": {
                  "type": "String"
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "stackTrace"
                },
                "model": {
                  "type": "Array",
                  "annotations": {
                    "classInformation": {
                      "classname": "java.lang.StackTraceElement[]",
                      "hasDefaultConstructor": false,
                      "isInterface": false,
                      "isInstantiable": false,
                      "isAbstract": true,
                      "isFinal": true,
                      "implementedInterfaces": [
                        "java.lang.Cloneable",
                        "java.io.Serializable"
                      ],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    }
                  },
                  "item": {
                    "type": "Object",
                    "annotations": {
                      "typeId": "java.lang.StackTraceElement",
                      "classInformation": {
                        "classname": "java.lang.StackTraceElement",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "typeAlias": {
                        "value": "StackTraceElement"
                      }
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "className"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      },
                      {
                        "key": {
                          "name": "fileName"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      },
                      {
                        "key": {
                          "name": "lineNumber"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "classInformation": {
                              "classname": "int",
                              "hasDefaultConstructor": false,
                              "isInterface": false,
                              "isInstantiable": false,
                              "isAbstract": true,
                              "isFinal": true,
                              "implementedInterfaces": [],
                              "parent": "",
                              "genericTypes": [],
                              "isMap": false
                            },
                            "int": {}
                          }
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      },
                      {
                        "key": {
                          "name": "methodName"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      },
                      {
                        "key": {
                          "name": "nativeMethod"
                        },
                        "model": {
                          "type": "Boolean",
                          "annotations": {
                            "typeId": "boolean"
                          }
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      }
                    ]
                  }
                }
              },
              {
                "key": {
                  "name": "suppressed"
                },
                "model": {
                  "type": "Array",
                  "annotations": {
                    "classInformation": {
                      "classname": "java.lang.Throwable[]",
                      "hasDefaultConstructor": false,
                      "isInterface": false,
                      "isInstantiable": false,
                      "isAbstract": true,
                      "isFinal": true,
                      "implementedInterfaces": [
                        "java.lang.Cloneable",
                        "java.io.Serializable"
                      ],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    }
                  },
                  "item": "#../.."
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              }
            ]
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "localizedMessage"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "message"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "stackTrace"
          },
          "model": {
            "type": "Array",
            "annotations": {
              "classInformation": {
                "classname": "java.lang.StackTraceElement[]",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": true,
                "implementedInterfaces": [
                  "java.lang.Cloneable",
                  "java.io.Serializable"
                ],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              }
            },
            "item": {
              "type": "Object",
              "annotations": {
                "typeId": "java.lang.StackTraceElement",
                "classInformation": {
                  "classname": "java.lang.StackTraceElement",
                  "hasDefaultConstructor": false,
                  "isInterface": false,
                  "isInstantiable": false,
                  "isAbstract": false,
                  "isFinal": true,
                  "implementedInterfaces": [
                    "java.io.Serializable"
                  ],
                  "parent": "",
                  "genericTypes": [],
                  "isMap": false
                },
                "typeAlias": {
                  "value": "StackTraceElement"
                }
              },
              "fields": [
                {
                  "key": {
                    "name": "className"
                  },
                  "model": {
                    "type": "String"
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "fileName"
                  },
                  "model": {
                    "type": "String"
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "lineNumber"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "int",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": true,
                        "implementedInterfaces": [],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "methodName"
                  },
                  "model": {
                    "type": "String"
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "nativeMethod"
                  },
                  "model": {
                    "type": "Boolean",
                    "annotations": {
                      "typeId": "boolean"
                    }
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                }
              ]
            }
          }
        },
        {
          "key": {
            "name": "suppressed"
          },
          "model": {
            "type": "Array",
            "annotations": {
              "classInformation": {
                "classname": "java.lang.Throwable[]",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": true,
                "implementedInterfaces": [
                  "java.lang.Cloneable",
                  "java.io.Serializable"
                ],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              }
            },
            "item": {
              "type": "Object",
              "annotations": {
                "typeId": "java.lang.Throwable",
                "classInformation": {
                  "classname": "java.lang.Throwable",
                  "hasDefaultConstructor": true,
                  "isInterface": false,
                  "isInstantiable": true,
                  "isAbstract": false,
                  "isFinal": false,
                  "implementedInterfaces": [
                    "java.io.Serializable"
                  ],
                  "parent": "",
                  "genericTypes": [],
                  "isMap": false
                },
                "typeAlias": {
                  "value": "Throwable"
                }
              },
              "fields": [
                {
                  "key": {
                    "name": "cause"
                  },
                  "model": "#..",
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "localizedMessage"
                  },
                  "model": {
                    "type": "String"
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "message"
                  },
                  "model": {
                    "type": "String"
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "stackTrace"
                  },
                  "model": {
                    "type": "Array",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.StackTraceElement[]",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Cloneable",
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      }
                    },
                    "item": {
                      "type": "Object",
                      "annotations": {
                        "typeId": "java.lang.StackTraceElement",
                        "classInformation": {
                          "classname": "java.lang.StackTraceElement",
                          "hasDefaultConstructor": false,
                          "isInterface": false,
                          "isInstantiable": false,
                          "isAbstract": false,
                          "isFinal": true,
                          "implementedInterfaces": [
                            "java.io.Serializable"
                          ],
                          "parent": "",
                          "genericTypes": [],
                          "isMap": false
                        },
                        "typeAlias": {
                          "value": "StackTraceElement"
                        }
                      },
                      "fields": [
                        {
                          "key": {
                            "name": "className"
                          },
                          "model": {
                            "type": "String"
                          },
                          "annotations": {
                            "visibility": "READ_ONLY"
                          }
                        },
                        {
                          "key": {
                            "name": "fileName"
                          },
                          "model": {
                            "type": "String"
                          },
                          "annotations": {
                            "visibility": "READ_ONLY"
                          }
                        },
                        {
                          "key": {
                            "name": "lineNumber"
                          },
                          "model": {
                            "type": "Number",
                            "annotations": {
                              "classInformation": {
                                "classname": "int",
                                "hasDefaultConstructor": false,
                                "isInterface": false,
                                "isInstantiable": false,
                                "isAbstract": true,
                                "isFinal": true,
                                "implementedInterfaces": [],
                                "parent": "",
                                "genericTypes": [],
                                "isMap": false
                              },
                              "int": {}
                            }
                          },
                          "annotations": {
                            "visibility": "READ_ONLY"
                          }
                        },
                        {
                          "key": {
                            "name": "methodName"
                          },
                          "model": {
                            "type": "String"
                          },
                          "annotations": {
                            "visibility": "READ_ONLY"
                          }
                        },
                        {
                          "key": {
                            "name": "nativeMethod"
                          },
                          "model": {
                            "type": "Boolean",
                            "annotations": {
                              "typeId": "boolean"
                            }
                          },
                          "annotations": {
                            "visibility": "READ_ONLY"
                          }
                        }
                      ]
                    }
                  }
                },
                {
                  "key": {
                    "name": "suppressed"
                  },
                  "model": "#../..",
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                }
              ]
            }
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "type"
          },
          "model": {
            "type": "Object",
            "annotations": {
              "typeId": "org.mule.runtime.extension.api.error.ErrorTypeDefinition",
              "classInformation": {
                "classname": "org.mule.runtime.extension.api.error.ErrorTypeDefinition",
                "hasDefaultConstructor": false,
                "isInterface": true,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": false,
                "implementedInterfaces": [],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              },
              "typeAlias": {
                "value": "ErrorTypeDefinition"
              }
            },
            "fields": []
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "cz.integsoft.mule.ipm.api.exception.ReadTimeoutException",
        "classInformation": {
          "classname": "cz.integsoft.mule.ipm.api.exception.ReadTimeoutException",
          "hasDefaultConstructor": false,
          "isInterface": false,
          "isInstantiable": false,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [],
          "parent": "cz.integsoft.mule.ipm.api.exception.GenericModuleException",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "ReadTimeoutException"
        }
      },
      "fields": [
        {
          "key": {
            "name": "cause"
          },
          "model": {
            "type": "Object",
            "annotations": {
              "typeId": "java.lang.Throwable",
              "classInformation": {
                "classname": "java.lang.Throwable",
                "hasDefaultConstructor": true,
                "isInterface": false,
                "isInstantiable": true,
                "isAbstract": false,
                "isFinal": false,
                "implementedInterfaces": [
                  "java.io.Serializable"
                ],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              },
              "typeAlias": {
                "value": "Throwable"
              }
            },
            "fields": [
              {
                "key": {
                  "name": "cause"
                },
                "model": "#..",
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "localizedMessage"
                },
                "model": {
                  "type": "String"
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "message"
                },
                "model": {
                  "type": "String"
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "stackTrace"
                },
                "model": {
                  "type": "Array",
                  "annotations": {
                    "classInformation": {
                      "classname": "java.lang.StackTraceElement[]",
                      "hasDefaultConstructor": false,
                      "isInterface": false,
                      "isInstantiable": false,
                      "isAbstract": true,
                      "isFinal": true,
                      "implementedInterfaces": [
                        "java.lang.Cloneable",
                        "java.io.Serializable"
                      ],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    }
                  },
                  "item": {
                    "type": "Object",
                    "annotations": {
                      "typeId": "java.lang.StackTraceElement",
                      "classInformation": {
                        "classname": "java.lang.StackTraceElement",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "typeAlias": {
                        "value": "StackTraceElement"
                      }
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "className"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      },
                      {
                        "key": {
                          "name": "fileName"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      },
                      {
                        "key": {
                          "name": "lineNumber"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "classInformation": {
                              "classname": "int",
                              "hasDefaultConstructor": false,
                              "isInterface": false,
                              "isInstantiable": false,
                              "isAbstract": true,
                              "isFinal": true,
                              "implementedInterfaces": [],
                              "parent": "",
                              "genericTypes": [],
                              "isMap": false
                            },
                            "int": {}
                          }
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      },
                      {
                        "key": {
                          "name": "methodName"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      },
                      {
                        "key": {
                          "name": "nativeMethod"
                        },
                        "model": {
                          "type": "Boolean",
                          "annotations": {
                            "typeId": "boolean"
                          }
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      }
                    ]
                  }
                }
              },
              {
                "key": {
                  "name": "suppressed"
                },
                "model": {
                  "type": "Array",
                  "annotations": {
                    "classInformation": {
                      "classname": "java.lang.Throwable[]",
                      "hasDefaultConstructor": false,
                      "isInterface": false,
                      "isInstantiable": false,
                      "isAbstract": true,
                      "isFinal": true,
                      "implementedInterfaces": [
                        "java.lang.Cloneable",
                        "java.io.Serializable"
                      ],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    }
                  },
                  "item": "#../.."
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              }
            ]
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "localizedMessage"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "message"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "stackTrace"
          },
          "model": {
            "type": "Array",
            "annotations": {
              "classInformation": {
                "classname": "java.lang.StackTraceElement[]",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": true,
                "implementedInterfaces": [
                  "java.lang.Cloneable",
                  "java.io.Serializable"
                ],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              }
            },
            "item": {
              "type": "Object",
              "annotations": {
                "typeId": "java.lang.StackTraceElement",
                "classInformation": {
                  "classname": "java.lang.StackTraceElement",
                  "hasDefaultConstructor": false,
                  "isInterface": false,
                  "isInstantiable": false,
                  "isAbstract": false,
                  "isFinal": true,
                  "implementedInterfaces": [
                    "java.io.Serializable"
                  ],
                  "parent": "",
                  "genericTypes": [],
                  "isMap": false
                },
                "typeAlias": {
                  "value": "StackTraceElement"
                }
              },
              "fields": [
                {
                  "key": {
                    "name": "className"
                  },
                  "model": {
                    "type": "String"
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "fileName"
                  },
                  "model": {
                    "type": "String"
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "lineNumber"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "int",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": true,
                        "implementedInterfaces": [],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "methodName"
                  },
                  "model": {
                    "type": "String"
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "nativeMethod"
                  },
                  "model": {
                    "type": "Boolean",
                    "annotations": {
                      "typeId": "boolean"
                    }
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                }
              ]
            }
          }
        },
        {
          "key": {
            "name": "suppressed"
          },
          "model": {
            "type": "Array",
            "annotations": {
              "classInformation": {
                "classname": "java.lang.Throwable[]",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": true,
                "implementedInterfaces": [
                  "java.lang.Cloneable",
                  "java.io.Serializable"
                ],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              }
            },
            "item": {
              "type": "Object",
              "annotations": {
                "typeId": "java.lang.Throwable",
                "classInformation": {
                  "classname": "java.lang.Throwable",
                  "hasDefaultConstructor": true,
                  "isInterface": false,
                  "isInstantiable": true,
                  "isAbstract": false,
                  "isFinal": false,
                  "implementedInterfaces": [
                    "java.io.Serializable"
                  ],
                  "parent": "",
                  "genericTypes": [],
                  "isMap": false
                },
                "typeAlias": {
                  "value": "Throwable"
                }
              },
              "fields": [
                {
                  "key": {
                    "name": "cause"
                  },
                  "model": "#..",
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "localizedMessage"
                  },
                  "model": {
                    "type": "String"
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "message"
                  },
                  "model": {
                    "type": "String"
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "stackTrace"
                  },
                  "model": {
                    "type": "Array",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.StackTraceElement[]",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Cloneable",
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      }
                    },
                    "item": {
                      "type": "Object",
                      "annotations": {
                        "typeId": "java.lang.StackTraceElement",
                        "classInformation": {
                          "classname": "java.lang.StackTraceElement",
                          "hasDefaultConstructor": false,
                          "isInterface": false,
                          "isInstantiable": false,
                          "isAbstract": false,
                          "isFinal": true,
                          "implementedInterfaces": [
                            "java.io.Serializable"
                          ],
                          "parent": "",
                          "genericTypes": [],
                          "isMap": false
                        },
                        "typeAlias": {
                          "value": "StackTraceElement"
                        }
                      },
                      "fields": [
                        {
                          "key": {
                            "name": "className"
                          },
                          "model": {
                            "type": "String"
                          },
                          "annotations": {
                            "visibility": "READ_ONLY"
                          }
                        },
                        {
                          "key": {
                            "name": "fileName"
                          },
                          "model": {
                            "type": "String"
                          },
                          "annotations": {
                            "visibility": "READ_ONLY"
                          }
                        },
                        {
                          "key": {
                            "name": "lineNumber"
                          },
                          "model": {
                            "type": "Number",
                            "annotations": {
                              "classInformation": {
                                "classname": "int",
                                "hasDefaultConstructor": false,
                                "isInterface": false,
                                "isInstantiable": false,
                                "isAbstract": true,
                                "isFinal": true,
                                "implementedInterfaces": [],
                                "parent": "",
                                "genericTypes": [],
                                "isMap": false
                              },
                              "int": {}
                            }
                          },
                          "annotations": {
                            "visibility": "READ_ONLY"
                          }
                        },
                        {
                          "key": {
                            "name": "methodName"
                          },
                          "model": {
                            "type": "String"
                          },
                          "annotations": {
                            "visibility": "READ_ONLY"
                          }
                        },
                        {
                          "key": {
                            "name": "nativeMethod"
                          },
                          "model": {
                            "type": "Boolean",
                            "annotations": {
                              "typeId": "boolean"
                            }
                          },
                          "annotations": {
                            "visibility": "READ_ONLY"
                          }
                        }
                      ]
                    }
                  }
                },
                {
                  "key": {
                    "name": "suppressed"
                  },
                  "model": "#../..",
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                }
              ]
            }
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "type"
          },
          "model": {
            "type": "Object",
            "annotations": {
              "typeId": "org.mule.runtime.extension.api.error.ErrorTypeDefinition",
              "classInformation": {
                "classname": "org.mule.runtime.extension.api.error.ErrorTypeDefinition",
                "hasDefaultConstructor": false,
                "isInterface": true,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": false,
                "implementedInterfaces": [],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              },
              "typeAlias": {
                "value": "ErrorTypeDefinition"
              }
            },
            "fields": []
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "cz.integsoft.mule.ipm.api.failover.DefaultFailoverGroup",
        "classInformation": {
          "classname": "cz.integsoft.mule.ipm.api.failover.DefaultFailoverGroup",
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [
            "cz.integsoft.mule.ipm.api.failover.FailoverGroup"
          ],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        },
        "typeDsl": {
          "allowInlineDefinition": true,
          "allowTopLevelDefinition": true
        },
        "typeAlias": {
          "value": "address-failover-group"
        },
        "stereotype": {
          "allowedStereotypes": [
            {
              "type": "DEFAULT_FAILOVER_GROUP",
              "namespace": "IPM",
              "parent": {
                "type": "FAILOVER_GROUP",
                "namespace": "IPM"
              }
            }
          ]
        }
      },
      "fields": [
        {
          "key": {
            "name": "failover-hosts",
            "required": "true"
          },
          "model": {
            "type": "Array",
            "annotations": {
              "classInformation": {
                "classname": "java.util.Set",
                "hasDefaultConstructor": false,
                "isInterface": true,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": false,
                "implementedInterfaces": [
                  "java.util.Collection"
                ],
                "parent": "",
                "genericTypes": [
                  "cz.integsoft.mule.ipm.api.failover.FailoverHost"
                ],
                "isMap": false
              }
            },
            "item": {
              "type": "Object",
              "annotations": {
                "typeId": "cz.integsoft.mule.ipm.api.failover.FailoverHost",
                "classInformation": {
                  "classname": "cz.integsoft.mule.ipm.api.failover.FailoverHost",
                  "hasDefaultConstructor": true,
                  "isInterface": false,
                  "isInstantiable": true,
                  "isAbstract": false,
                  "isFinal": false,
                  "implementedInterfaces": [],
                  "parent": "",
                  "genericTypes": [],
                  "isMap": false
                },
                "typeDsl": {
                  "allowInlineDefinition": true,
                  "allowTopLevelDefinition": false
                },
                "typeAlias": {
                  "value": "host"
                }
              },
              "fields": [
                {
                  "key": {
                    "name": "hostname",
                    "required": "true"
                  },
                  "model": {
                    "type": "String"
                  },
                  "annotations": {
                    "expressionSupport": {
                      "value": "NOT_SUPPORTED"
                    },
                    "layout": {
                      "layoutModel": {
                        "password": false,
                        "text": false,
                        "query": false,
                        "order": 1,
                        "tabName": "Connection"
                      }
                    },
                    "display": {
                      "displayModel": {
                        "summary": "Host DNS or IP address"
                      }
                    }
                  }
                },
                {
                  "key": {
                    "name": "port",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "int",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": true,
                        "implementedInterfaces": [],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "annotations": {
                    "expressionSupport": {
                      "value": "NOT_SUPPORTED"
                    },
                    "layout": {
                      "layoutModel": {
                        "password": false,
                        "text": false,
                        "query": false,
                        "order": 2,
                        "tabName": "Connection"
                      }
                    },
                    "display": {
                      "displayModel": {
                        "summary": "Port number"
                      }
                    }
                  }
                },
                {
                  "key": {
                    "name": "username"
                  },
                  "model": {
                    "type": "String"
                  },
                  "annotations": {
                    "expressionSupport": {
                      "value": "NOT_SUPPORTED"
                    },
                    "layout": {
                      "layoutModel": {
                        "password": false,
                        "text": false,
                        "query": false,
                        "order": 1,
                        "tabName": "TLS"
                      }
                    },
                    "display": {
                      "displayModel": {
                        "summary": "User name for authentication"
                      }
                    }
                  }
                },
                {
                  "key": {
                    "name": "password"
                  },
                  "model": {
                    "type": "String"
                  },
                  "annotations": {
                    "expressionSupport": {
                      "value": "NOT_SUPPORTED"
                    },
                    "layout": {
                      "layoutModel": {
                        "password": true,
                        "text": false,
                        "query": false,
                        "order": 2,
                        "tabName": "TLS"
                      }
                    },
                    "display": {
                      "displayModel": {
                        "summary": "Password for authentication"
                      }
                    }
                  }
                }
              ]
            }
          },
          "annotations": {
            "expressionSupport": {
              "value": "NOT_SUPPORTED"
            },
            "display": {
              "displayModel": {
                "summary": "Set of hosts to use for failover"
              }
            }
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "cz.integsoft.mule.ipm.api.failover.DefaultFailoverManager",
        "classInformation": {
          "classname": "cz.integsoft.mule.ipm.api.failover.DefaultFailoverManager",
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [
            "cz.integsoft.mule.ipm.api.failover.FailoverManager"
          ],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        },
        "typeDsl": {
          "allowInlineDefinition": true,
          "allowTopLevelDefinition": true
        },
        "typeAlias": {
          "value": "simple-failover-manager"
        },
        "stereotype": {
          "allowedStereotypes": [
            {
              "type": "DEFAULT_FAILOVER_MANAGER",
              "namespace": "IPM",
              "parent": {
                "type": "FAILOVER_MANAGER",
                "namespace": "IPM"
              }
            }
          ]
        }
      },
      "fields": [
        {
          "key": {
            "name": "failover-group",
            "required": "true"
          },
          "model": {
            "type": "Object",
            "annotations": {
              "typeId": "cz.integsoft.mule.ipm.api.failover.FailoverGroup",
              "classInformation": {
                "classname": "cz.integsoft.mule.ipm.api.failover.FailoverGroup",
                "hasDefaultConstructor": false,
                "isInterface": true,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": false,
                "implementedInterfaces": [],
                "parent": "",
                "genericTypes": [
                  "cz.integsoft.mule.ipm.api.failover.FailoverHost"
                ],
                "isMap": false
              },
              "typeAlias": {
                "value": "FailoverGroup"
              },
              "stereotype": {
                "allowedStereotypes": [
                  {
                    "type": "FAILOVER_GROUP",
                    "namespace": "IPM"
                  }
                ]
              }
            },
            "fields": []
          },
          "annotations": {
            "expressionSupport": {
              "value": "NOT_SUPPORTED"
            },
            "layout": {
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1,
                "tabName": "Connection"
              }
            },
            "display": {
              "displayModel": {
                "summary": "Failover group (set of hosts for checking availability)."
              }
            }
          }
        },
        {
          "key": {
            "name": "exception-on-no-hosts"
          },
          "model": {
            "type": "Boolean",
            "annotations": {
              "typeId": "boolean"
            }
          },
          "annotations": {
            "default": "false",
            "expressionSupport": {
              "value": "NOT_SUPPORTED"
            },
            "layout": {
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2,
                "tabName": "General"
              }
            },
            "display": {
              "displayModel": {
                "summary": "If this failover manager throws CONNECTIVITY error if no route is available. Default is false."
              }
            }
          }
        },
        {
          "key": {
            "name": "enable-notifications"
          },
          "model": {
            "type": "Boolean",
            "annotations": {
              "typeId": "boolean"
            }
          },
          "annotations": {
            "default": "true",
            "expressionSupport": {
              "value": "NOT_SUPPORTED"
            },
            "layout": {
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3,
                "tabName": "General"
              }
            },
            "display": {
              "displayModel": {
                "summary": "If this failover manager notifies registered observers, e.g. circuit breaker. Default is true."
              }
            }
          }
        },
        {
          "key": {
            "name": "test-strategy",
            "required": "true"
          },
          "model": {
            "type": "Object",
            "annotations": {
              "typeId": "cz.integsoft.mule.ipm.api.failover.FailoverTestingStrategy",
              "classInformation": {
                "classname": "cz.integsoft.mule.ipm.api.failover.FailoverTestingStrategy",
                "hasDefaultConstructor": false,
                "isInterface": true,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": false,
                "implementedInterfaces": [],
                "parent": "",
                "genericTypes": [
                  "cz.integsoft.mule.ipm.api.failover.FailoverHost"
                ],
                "isMap": false
              },
              "typeAlias": {
                "value": "FailoverTestingStrategy"
              },
              "stereotype": {
                "allowedStereotypes": [
                  {
                    "type": "FAILOVER_TESTING_STRATEGY",
                    "namespace": "IPM"
                  }
                ]
              }
            },
            "fields": []
          },
          "annotations": {
            "expressionSupport": {
              "value": "NOT_SUPPORTED"
            },
            "layout": {
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 4,
                "tabName": "General"
              }
            },
            "display": {
              "displayModel": {
                "summary": "Required testing strategy. This strategy is executed to determine, if the given host is accessible or not."
              }
            }
          }
        },
        {
          "key": {
            "name": "period"
          },
          "model": {
            "type": "Number",
            "annotations": {
              "classInformation": {
                "classname": "long",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": true,
                "implementedInterfaces": [],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              },
              "int": {}
            }
          },
          "annotations": {
            "default": "5000",
            "expressionSupport": {
              "value": "NOT_SUPPORTED"
            },
            "layout": {
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 5,
                "tabName": "General"
              }
            },
            "display": {
              "displayModel": {
                "summary": "The period for checking hosts with the given strategy (in milliseconds). Default is 5000."
              }
            }
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "cz.integsoft.mule.ipm.api.failover.FailoverGroup",
        "classInformation": {
          "classname": "cz.integsoft.mule.ipm.api.failover.FailoverGroup",
          "hasDefaultConstructor": false,
          "isInterface": true,
          "isInstantiable": false,
          "isAbstract": true,
          "isFinal": false,
          "implementedInterfaces": [],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "FailoverGroup"
        },
        "stereotype": {
          "allowedStereotypes": [
            {
              "type": "FAILOVER_GROUP",
              "namespace": "IPM"
            }
          ]
        }
      },
      "fields": []
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "cz.integsoft.mule.ipm.api.failover.FailoverHost",
        "classInformation": {
          "classname": "cz.integsoft.mule.ipm.api.failover.FailoverHost",
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        },
        "typeDsl": {
          "allowInlineDefinition": true,
          "allowTopLevelDefinition": false
        },
        "typeAlias": {
          "value": "host"
        }
      },
      "fields": [
        {
          "key": {
            "name": "hostname",
            "required": "true"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "NOT_SUPPORTED"
            },
            "layout": {
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1,
                "tabName": "Connection"
              }
            },
            "display": {
              "displayModel": {
                "summary": "Host DNS or IP address"
              }
            }
          }
        },
        {
          "key": {
            "name": "port",
            "required": "true"
          },
          "model": {
            "type": "Number",
            "annotations": {
              "classInformation": {
                "classname": "int",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": true,
                "implementedInterfaces": [],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              },
              "int": {}
            }
          },
          "annotations": {
            "expressionSupport": {
              "value": "NOT_SUPPORTED"
            },
            "layout": {
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2,
                "tabName": "Connection"
              }
            },
            "display": {
              "displayModel": {
                "summary": "Port number"
              }
            }
          }
        },
        {
          "key": {
            "name": "username"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "NOT_SUPPORTED"
            },
            "layout": {
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1,
                "tabName": "TLS"
              }
            },
            "display": {
              "displayModel": {
                "summary": "User name for authentication"
              }
            }
          }
        },
        {
          "key": {
            "name": "password"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "NOT_SUPPORTED"
            },
            "layout": {
              "layoutModel": {
                "password": true,
                "text": false,
                "query": false,
                "order": 2,
                "tabName": "TLS"
              }
            },
            "display": {
              "displayModel": {
                "summary": "Password for authentication"
              }
            }
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "cz.integsoft.mule.ipm.api.failover.FailoverManager",
        "classInformation": {
          "classname": "cz.integsoft.mule.ipm.api.failover.FailoverManager",
          "hasDefaultConstructor": false,
          "isInterface": true,
          "isInstantiable": false,
          "isAbstract": true,
          "isFinal": false,
          "implementedInterfaces": [
            "java.lang.AutoCloseable",
            "org.mule.runtime.api.lifecycle.Startable",
            "org.mule.runtime.api.lifecycle.Stoppable"
          ],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "FailoverManager"
        },
        "stereotype": {
          "allowedStereotypes": [
            {
              "type": "FAILOVER_MANAGER",
              "namespace": "IPM"
            }
          ]
        }
      },
      "fields": []
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "cz.integsoft.mule.ipm.api.failover.FailoverTestingStrategy",
        "classInformation": {
          "classname": "cz.integsoft.mule.ipm.api.failover.FailoverTestingStrategy",
          "hasDefaultConstructor": false,
          "isInterface": true,
          "isInstantiable": false,
          "isAbstract": true,
          "isFinal": false,
          "implementedInterfaces": [],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "FailoverTestingStrategy"
        },
        "stereotype": {
          "allowedStereotypes": [
            {
              "type": "FAILOVER_TESTING_STRATEGY",
              "namespace": "IPM"
            }
          ]
        }
      },
      "fields": []
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "cz.integsoft.mule.ipm.api.failover.strategy.PingTestingStrategy",
        "classInformation": {
          "classname": "cz.integsoft.mule.ipm.api.failover.strategy.PingTestingStrategy",
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [
            "cz.integsoft.mule.ipm.api.failover.FailoverTestingStrategy"
          ],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "ping"
        }
      },
      "fields": [
        {
          "key": {
            "name": "timeout"
          },
          "model": {
            "type": "Number",
            "annotations": {
              "classInformation": {
                "classname": "int",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": true,
                "implementedInterfaces": [],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              },
              "int": {}
            }
          },
          "annotations": {
            "default": "1000",
            "expressionSupport": {
              "value": "NOT_SUPPORTED"
            },
            "display": {
              "displayModel": {
                "summary": "Timeout in milliseconds to reach the host. Optional and default is 1000"
              }
            }
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "cz.integsoft.mule.ipm.api.http.ProxyHttpResponseAttributes",
        "classInformation": {
          "classname": "cz.integsoft.mule.ipm.api.http.ProxyHttpResponseAttributes",
          "hasDefaultConstructor": false,
          "isInterface": false,
          "isInstantiable": false,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [],
          "parent": "org.mule.extension.http.api.HttpListenerResponseAttributes",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "ProxyHttpResponseAttributes"
        }
      },
      "fields": [
        {
          "key": {
            "name": "requestUri",
            "required": "true"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            }
          }
        },
        {
          "key": {
            "name": "requestHeaders",
            "required": "true"
          },
          "model": {
            "type": "Object",
            "annotations": {
              "classInformation": {
                "classname": "org.mule.runtime.api.util.MultiMap",
                "hasDefaultConstructor": true,
                "isInterface": false,
                "isInstantiable": true,
                "isAbstract": false,
                "isFinal": false,
                "implementedInterfaces": [
                  "java.util.Map",
                  "java.io.Serializable"
                ],
                "parent": "",
                "genericTypes": [
                  "java.lang.String",
                  "java.lang.String"
                ],
                "isMap": true
              }
            },
            "open": {
              "type": "String"
            },
            "fields": []
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            }
          }
        },
        {
          "key": {
            "name": "requestMethod",
            "required": "true"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            }
          }
        },
        {
          "key": {
            "name": "statusCode",
            "required": "true"
          },
          "model": {
            "type": "Number",
            "annotations": {
              "classInformation": {
                "classname": "int",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": true,
                "implementedInterfaces": [],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              },
              "int": {}
            }
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            }
          }
        },
        {
          "key": {
            "name": "reasonPhrase",
            "required": "true"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            }
          }
        },
        {
          "key": {
            "name": "headers",
            "required": "true"
          },
          "model": {
            "type": "Object",
            "annotations": {
              "classInformation": {
                "classname": "org.mule.runtime.api.util.MultiMap",
                "hasDefaultConstructor": true,
                "isInterface": false,
                "isInstantiable": true,
                "isAbstract": false,
                "isFinal": false,
                "implementedInterfaces": [
                  "java.util.Map",
                  "java.io.Serializable"
                ],
                "parent": "",
                "genericTypes": [
                  "java.lang.String",
                  "java.lang.String"
                ],
                "isMap": true
              }
            },
            "open": {
              "type": "String"
            },
            "fields": []
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            }
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "cz.integsoft.mule.ipm.api.http.authentication.BasicAuthentication",
        "classInformation": {
          "classname": "cz.integsoft.mule.ipm.api.http.authentication.BasicAuthentication",
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [],
          "parent": "cz.integsoft.mule.ipm.api.http.authentication.UsernamePasswordAuthentication",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "BasicAuthentication"
        }
      },
      "fields": [
        {
          "key": {
            "name": "username",
            "required": "true"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            }
          }
        },
        {
          "key": {
            "name": "password",
            "required": "true"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "layout": {
              "layoutModel": {
                "password": true,
                "text": false,
                "query": false
              }
            }
          }
        },
        {
          "key": {
            "name": "preemptive"
          },
          "model": {
            "type": "Boolean",
            "annotations": {
              "typeId": "boolean"
            }
          },
          "annotations": {
            "default": "true",
            "expressionSupport": {
              "value": "SUPPORTED"
            }
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "cz.integsoft.mule.ipm.api.http.authentication.DigestAuthentication",
        "classInformation": {
          "classname": "cz.integsoft.mule.ipm.api.http.authentication.DigestAuthentication",
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [],
          "parent": "cz.integsoft.mule.ipm.api.http.authentication.UsernamePasswordAuthentication",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "DigestAuthentication"
        }
      },
      "fields": [
        {
          "key": {
            "name": "username",
            "required": "true"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            }
          }
        },
        {
          "key": {
            "name": "password",
            "required": "true"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "layout": {
              "layoutModel": {
                "password": true,
                "text": false,
                "query": false
              }
            }
          }
        },
        {
          "key": {
            "name": "preemptive"
          },
          "model": {
            "type": "Boolean",
            "annotations": {
              "typeId": "boolean"
            }
          },
          "annotations": {
            "default": "true",
            "expressionSupport": {
              "value": "SUPPORTED"
            }
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "cz.integsoft.mule.ipm.api.http.authentication.HttpRequestAuthentication",
        "classInformation": {
          "classname": "cz.integsoft.mule.ipm.api.http.authentication.HttpRequestAuthentication",
          "hasDefaultConstructor": false,
          "isInterface": true,
          "isInstantiable": false,
          "isAbstract": true,
          "isFinal": false,
          "implementedInterfaces": [
            "org.mule.runtime.http.api.client.auth.HttpAuthentication"
          ],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "HttpRequestAuthentication"
        },
        "stereotype": {
          "allowedStereotypes": [
            {
              "type": "HTTP_REQUEST_AUTHENTICATION",
              "namespace": "IPM"
            }
          ]
        }
      },
      "fields": []
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "cz.integsoft.mule.ipm.api.http.authentication.NtlmAuthentication",
        "classInformation": {
          "classname": "cz.integsoft.mule.ipm.api.http.authentication.NtlmAuthentication",
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [
            "org.mule.runtime.http.api.client.auth.HttpAuthentication.HttpNtlmAuthentication"
          ],
          "parent": "cz.integsoft.mule.ipm.api.http.authentication.UsernamePasswordAuthentication",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "NtlmAuthentication"
        }
      },
      "fields": [
        {
          "key": {
            "name": "domain"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            }
          }
        },
        {
          "key": {
            "name": "workstation"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            }
          }
        },
        {
          "key": {
            "name": "username",
            "required": "true"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            }
          }
        },
        {
          "key": {
            "name": "password",
            "required": "true"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "layout": {
              "layoutModel": {
                "password": true,
                "text": false,
                "query": false
              }
            }
          }
        },
        {
          "key": {
            "name": "preemptive"
          },
          "model": {
            "type": "Boolean",
            "annotations": {
              "typeId": "boolean"
            }
          },
          "annotations": {
            "default": "true",
            "expressionSupport": {
              "value": "SUPPORTED"
            }
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "cz.integsoft.mule.ipm.api.http.parameter.ClientKeystore",
        "classInformation": {
          "classname": "cz.integsoft.mule.ipm.api.http.parameter.ClientKeystore",
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        },
        "typeDsl": {
          "allowInlineDefinition": true,
          "allowTopLevelDefinition": false
        },
        "typeAlias": {
          "value": "client-keystore"
        }
      },
      "fields": [
        {
          "key": {
            "name": "path",
            "required": "true"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "pathModel": {
                  "type": "FILE",
                  "fileExtensions": [],
                  "acceptsUrls": false,
                  "location": "ANY"
                }
              }
            }
          }
        },
        {
          "key": {
            "name": "password"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "NOT_SUPPORTED"
            },
            "layout": {
              "layoutModel": {
                "password": true,
                "text": false,
                "query": false
              }
            }
          }
        },
        {
          "key": {
            "name": "alias",
            "required": "true"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            }
          }
        },
        {
          "key": {
            "name": "key-password"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "NOT_SUPPORTED"
            },
            "layout": {
              "layoutModel": {
                "password": true,
                "text": false,
                "query": false
              }
            }
          }
        },
        {
          "key": {
            "name": "mapping",
            "required": "true"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "NOT_SUPPORTED"
            }
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "cz.integsoft.mule.ipm.api.http.parameter.HttpHeader",
        "classInformation": {
          "classname": "cz.integsoft.mule.ipm.api.http.parameter.HttpHeader",
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        },
        "typeDsl": {
          "allowInlineDefinition": true,
          "allowTopLevelDefinition": false
        },
        "typeAlias": {
          "value": "http-header"
        }
      },
      "fields": [
        {
          "key": {
            "name": "key",
            "required": "true"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "NOT_SUPPORTED"
            }
          }
        },
        {
          "key": {
            "name": "value"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "default": "",
            "expressionSupport": {
              "value": "SUPPORTED"
            }
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "cz.integsoft.mule.ipm.api.http.parameter.ServerKeystore",
        "classInformation": {
          "classname": "cz.integsoft.mule.ipm.api.http.parameter.ServerKeystore",
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        },
        "typeDsl": {
          "allowInlineDefinition": true,
          "allowTopLevelDefinition": false
        },
        "typeAlias": {
          "value": "server-keystore"
        }
      },
      "fields": [
        {
          "key": {
            "name": "path",
            "required": "true"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "pathModel": {
                  "type": "FILE",
                  "fileExtensions": [],
                  "acceptsUrls": false,
                  "location": "ANY"
                }
              }
            }
          }
        },
        {
          "key": {
            "name": "password"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "NOT_SUPPORTED"
            },
            "layout": {
              "layoutModel": {
                "password": true,
                "text": false,
                "query": false
              }
            }
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "cz.integsoft.mule.ipm.api.http.proxy.DefaultNtlmProxyConfig",
        "classInformation": {
          "classname": "cz.integsoft.mule.ipm.api.http.proxy.DefaultNtlmProxyConfig",
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [
            "cz.integsoft.mule.ipm.api.http.proxy.ViaHttpProxyConfig.HttpNtlmProxyConfig"
          ],
          "parent": "cz.integsoft.mule.ipm.api.http.proxy.DefaultProxyConfig",
          "genericTypes": [],
          "isMap": false
        },
        "typeDsl": {
          "allowInlineDefinition": true,
          "allowTopLevelDefinition": true
        },
        "typeAlias": {
          "value": "ntlm-proxy"
        },
        "stereotype": {
          "allowedStereotypes": [
            {
              "type": "DEFAULT_NTLM_PROXY_CONFIG",
              "namespace": "IPM",
              "parent": {
                "type": "VIA_HTTP_PROXY_CONFIG",
                "namespace": "IPM"
              }
            }
          ]
        }
      },
      "fields": [
        {
          "key": {
            "name": "ntlm-domain",
            "required": "true"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "displayName": "NTLM Domain"
              }
            }
          }
        },
        {
          "key": {
            "name": "host",
            "required": "true"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            }
          }
        },
        {
          "key": {
            "name": "port"
          },
          "model": {
            "type": "Number",
            "annotations": {
              "classInformation": {
                "classname": "int",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": true,
                "implementedInterfaces": [],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              },
              "int": {}
            }
          },
          "annotations": {
            "default": "-1",
            "expressionSupport": {
              "value": "SUPPORTED"
            }
          }
        },
        {
          "key": {
            "name": "username"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            }
          }
        },
        {
          "key": {
            "name": "password"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "layout": {
              "layoutModel": {
                "password": true,
                "text": false,
                "query": false
              }
            }
          }
        },
        {
          "key": {
            "name": "non-proxy-hosts"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            }
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "cz.integsoft.mule.ipm.api.http.proxy.DefaultProxyConfig",
        "classInformation": {
          "classname": "cz.integsoft.mule.ipm.api.http.proxy.DefaultProxyConfig",
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [
            "cz.integsoft.mule.ipm.api.http.proxy.ViaHttpProxyConfig"
          ],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        },
        "typeDsl": {
          "allowInlineDefinition": true,
          "allowTopLevelDefinition": true
        },
        "typeAlias": {
          "value": "proxy"
        },
        "stereotype": {
          "allowedStereotypes": [
            {
              "type": "DEFAULT_PROXY_CONFIG",
              "namespace": "IPM",
              "parent": {
                "type": "VIA_HTTP_PROXY_CONFIG",
                "namespace": "IPM"
              }
            }
          ]
        }
      },
      "fields": [
        {
          "key": {
            "name": "host",
            "required": "true"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            }
          }
        },
        {
          "key": {
            "name": "port"
          },
          "model": {
            "type": "Number",
            "annotations": {
              "classInformation": {
                "classname": "int",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": true,
                "implementedInterfaces": [],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              },
              "int": {}
            }
          },
          "annotations": {
            "default": "-1",
            "expressionSupport": {
              "value": "SUPPORTED"
            }
          }
        },
        {
          "key": {
            "name": "username"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            }
          }
        },
        {
          "key": {
            "name": "password"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "layout": {
              "layoutModel": {
                "password": true,
                "text": false,
                "query": false
              }
            }
          }
        },
        {
          "key": {
            "name": "non-proxy-hosts"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            }
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "cz.integsoft.mule.ipm.api.http.proxy.ViaHttpProxyConfig",
        "classInformation": {
          "classname": "cz.integsoft.mule.ipm.api.http.proxy.ViaHttpProxyConfig",
          "hasDefaultConstructor": false,
          "isInterface": true,
          "isInstantiable": false,
          "isAbstract": true,
          "isFinal": false,
          "implementedInterfaces": [
            "org.mule.runtime.http.api.client.proxy.ProxyConfig"
          ],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "ViaHttpProxyConfig"
        },
        "stereotype": {
          "allowedStereotypes": [
            {
              "type": "VIA_HTTP_PROXY_CONFIG",
              "namespace": "IPM"
            }
          ]
        }
      },
      "fields": []
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "cz.integsoft.mule.ipm.api.tcp.InboundSocketWrapper",
        "classInformation": {
          "classname": "cz.integsoft.mule.ipm.api.tcp.InboundSocketWrapper",
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "InboundSocketWrapper"
        }
      },
      "fields": [
        {
          "key": {
            "name": "inboundSocket"
          },
          "model": {
            "type": "Object",
            "annotations": {
              "typeId": "java.net.Socket",
              "classInformation": {
                "classname": "java.net.Socket",
                "hasDefaultConstructor": true,
                "isInterface": false,
                "isInstantiable": true,
                "isAbstract": false,
                "isFinal": false,
                "implementedInterfaces": [
                  "java.io.Closeable"
                ],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              },
              "typeAlias": {
                "value": "Socket"
              }
            },
            "fields": [
              {
                "key": {
                  "name": "OOBInline"
                },
                "model": {
                  "type": "Boolean",
                  "annotations": {
                    "typeId": "boolean"
                  }
                }
              },
              {
                "key": {
                  "name": "bound"
                },
                "model": {
                  "type": "Boolean",
                  "annotations": {
                    "typeId": "boolean"
                  }
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "channel"
                },
                "model": {
                  "type": "Object",
                  "annotations": {
                    "typeId": "java.nio.channels.SocketChannel",
                    "classInformation": {
                      "classname": "java.nio.channels.SocketChannel",
                      "hasDefaultConstructor": false,
                      "isInterface": false,
                      "isInstantiable": false,
                      "isAbstract": true,
                      "isFinal": false,
                      "implementedInterfaces": [
                        "java.nio.channels.ByteChannel",
                        "java.nio.channels.ScatteringByteChannel",
                        "java.nio.channels.GatheringByteChannel",
                        "java.nio.channels.NetworkChannel"
                      ],
                      "parent": "java.nio.channels.spi.AbstractSelectableChannel",
                      "genericTypes": [],
                      "isMap": false
                    },
                    "typeAlias": {
                      "value": "SocketChannel"
                    }
                  },
                  "fields": [
                    {
                      "key": {
                        "name": "blocking"
                      },
                      "model": {
                        "type": "Boolean",
                        "annotations": {
                          "typeId": "boolean"
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "connected"
                      },
                      "model": {
                        "type": "Boolean",
                        "annotations": {
                          "typeId": "boolean"
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "connectionPending"
                      },
                      "model": {
                        "type": "Boolean",
                        "annotations": {
                          "typeId": "boolean"
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "localAddress"
                      },
                      "model": {
                        "type": "Object",
                        "annotations": {
                          "typeId": "java.net.SocketAddress",
                          "classInformation": {
                            "classname": "java.net.SocketAddress",
                            "hasDefaultConstructor": true,
                            "isInterface": false,
                            "isInstantiable": false,
                            "isAbstract": true,
                            "isFinal": false,
                            "implementedInterfaces": [
                              "java.io.Serializable"
                            ],
                            "parent": "",
                            "genericTypes": [],
                            "isMap": false
                          },
                          "typeAlias": {
                            "value": "SocketAddress"
                          }
                        },
                        "fields": []
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "open"
                      },
                      "model": {
                        "type": "Boolean",
                        "annotations": {
                          "typeId": "boolean"
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "registered"
                      },
                      "model": {
                        "type": "Boolean",
                        "annotations": {
                          "typeId": "boolean"
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "remoteAddress"
                      },
                      "model": {
                        "type": "Object",
                        "annotations": {
                          "typeId": "java.net.SocketAddress",
                          "classInformation": {
                            "classname": "java.net.SocketAddress",
                            "hasDefaultConstructor": true,
                            "isInterface": false,
                            "isInstantiable": false,
                            "isAbstract": true,
                            "isFinal": false,
                            "implementedInterfaces": [
                              "java.io.Serializable"
                            ],
                            "parent": "",
                            "genericTypes": [],
                            "isMap": false
                          },
                          "typeAlias": {
                            "value": "SocketAddress"
                          }
                        },
                        "fields": []
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    }
                  ]
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "closed"
                },
                "model": {
                  "type": "Boolean",
                  "annotations": {
                    "typeId": "boolean"
                  }
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "connected"
                },
                "model": {
                  "type": "Boolean",
                  "annotations": {
                    "typeId": "boolean"
                  }
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "inetAddress"
                },
                "model": {
                  "type": "Object",
                  "annotations": {
                    "typeId": "java.net.InetAddress",
                    "classInformation": {
                      "classname": "java.net.InetAddress",
                      "hasDefaultConstructor": false,
                      "isInterface": false,
                      "isInstantiable": false,
                      "isAbstract": false,
                      "isFinal": false,
                      "implementedInterfaces": [
                        "java.io.Serializable"
                      ],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    },
                    "typeAlias": {
                      "value": "InetAddress"
                    }
                  },
                  "fields": [
                    {
                      "key": {
                        "name": "MCGlobal"
                      },
                      "model": {
                        "type": "Boolean",
                        "annotations": {
                          "typeId": "boolean"
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "MCLinkLocal"
                      },
                      "model": {
                        "type": "Boolean",
                        "annotations": {
                          "typeId": "boolean"
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "MCNodeLocal"
                      },
                      "model": {
                        "type": "Boolean",
                        "annotations": {
                          "typeId": "boolean"
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "MCOrgLocal"
                      },
                      "model": {
                        "type": "Boolean",
                        "annotations": {
                          "typeId": "boolean"
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "MCSiteLocal"
                      },
                      "model": {
                        "type": "Boolean",
                        "annotations": {
                          "typeId": "boolean"
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "address"
                      },
                      "model": {
                        "type": "Binary",
                        "annotations": {
                          "classInformation": {
                            "classname": "byte[]",
                            "hasDefaultConstructor": false,
                            "isInterface": false,
                            "isInstantiable": false,
                            "isAbstract": true,
                            "isFinal": true,
                            "implementedInterfaces": [
                              "java.lang.Cloneable",
                              "java.io.Serializable"
                            ],
                            "parent": "",
                            "genericTypes": [],
                            "isMap": false
                          }
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "anyLocalAddress"
                      },
                      "model": {
                        "type": "Boolean",
                        "annotations": {
                          "typeId": "boolean"
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "canonicalHostName"
                      },
                      "model": {
                        "type": "String"
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "hostAddress"
                      },
                      "model": {
                        "type": "String"
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "hostName"
                      },
                      "model": {
                        "type": "String"
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "linkLocalAddress"
                      },
                      "model": {
                        "type": "Boolean",
                        "annotations": {
                          "typeId": "boolean"
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "loopbackAddress"
                      },
                      "model": {
                        "type": "Boolean",
                        "annotations": {
                          "typeId": "boolean"
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "multicastAddress"
                      },
                      "model": {
                        "type": "Boolean",
                        "annotations": {
                          "typeId": "boolean"
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "siteLocalAddress"
                      },
                      "model": {
                        "type": "Boolean",
                        "annotations": {
                          "typeId": "boolean"
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    }
                  ]
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "inputShutdown"
                },
                "model": {
                  "type": "Boolean",
                  "annotations": {
                    "typeId": "boolean"
                  }
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "inputStream"
                },
                "model": {
                  "type": "Binary",
                  "annotations": {
                    "classInformation": {
                      "classname": "java.io.InputStream",
                      "hasDefaultConstructor": true,
                      "isInterface": false,
                      "isInstantiable": false,
                      "isAbstract": true,
                      "isFinal": false,
                      "implementedInterfaces": [
                        "java.io.Closeable"
                      ],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    }
                  }
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "keepAlive"
                },
                "model": {
                  "type": "Boolean",
                  "annotations": {
                    "typeId": "boolean"
                  }
                }
              },
              {
                "key": {
                  "name": "localAddress"
                },
                "model": {
                  "type": "Object",
                  "annotations": {
                    "typeId": "java.net.InetAddress",
                    "classInformation": {
                      "classname": "java.net.InetAddress",
                      "hasDefaultConstructor": false,
                      "isInterface": false,
                      "isInstantiable": false,
                      "isAbstract": false,
                      "isFinal": false,
                      "implementedInterfaces": [
                        "java.io.Serializable"
                      ],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    },
                    "typeAlias": {
                      "value": "InetAddress"
                    }
                  },
                  "fields": [
                    {
                      "key": {
                        "name": "MCGlobal"
                      },
                      "model": {
                        "type": "Boolean",
                        "annotations": {
                          "typeId": "boolean"
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "MCLinkLocal"
                      },
                      "model": {
                        "type": "Boolean",
                        "annotations": {
                          "typeId": "boolean"
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "MCNodeLocal"
                      },
                      "model": {
                        "type": "Boolean",
                        "annotations": {
                          "typeId": "boolean"
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "MCOrgLocal"
                      },
                      "model": {
                        "type": "Boolean",
                        "annotations": {
                          "typeId": "boolean"
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "MCSiteLocal"
                      },
                      "model": {
                        "type": "Boolean",
                        "annotations": {
                          "typeId": "boolean"
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "address"
                      },
                      "model": {
                        "type": "Binary",
                        "annotations": {
                          "classInformation": {
                            "classname": "byte[]",
                            "hasDefaultConstructor": false,
                            "isInterface": false,
                            "isInstantiable": false,
                            "isAbstract": true,
                            "isFinal": true,
                            "implementedInterfaces": [
                              "java.lang.Cloneable",
                              "java.io.Serializable"
                            ],
                            "parent": "",
                            "genericTypes": [],
                            "isMap": false
                          }
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "anyLocalAddress"
                      },
                      "model": {
                        "type": "Boolean",
                        "annotations": {
                          "typeId": "boolean"
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "canonicalHostName"
                      },
                      "model": {
                        "type": "String"
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "hostAddress"
                      },
                      "model": {
                        "type": "String"
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "hostName"
                      },
                      "model": {
                        "type": "String"
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "linkLocalAddress"
                      },
                      "model": {
                        "type": "Boolean",
                        "annotations": {
                          "typeId": "boolean"
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "loopbackAddress"
                      },
                      "model": {
                        "type": "Boolean",
                        "annotations": {
                          "typeId": "boolean"
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "multicastAddress"
                      },
                      "model": {
                        "type": "Boolean",
                        "annotations": {
                          "typeId": "boolean"
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "siteLocalAddress"
                      },
                      "model": {
                        "type": "Boolean",
                        "annotations": {
                          "typeId": "boolean"
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    }
                  ]
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "localPort"
                },
                "model": {
                  "type": "Number",
                  "annotations": {
                    "classInformation": {
                      "classname": "int",
                      "hasDefaultConstructor": false,
                      "isInterface": false,
                      "isInstantiable": false,
                      "isAbstract": true,
                      "isFinal": true,
                      "implementedInterfaces": [],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    },
                    "int": {}
                  }
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "localSocketAddress"
                },
                "model": {
                  "type": "Object",
                  "annotations": {
                    "typeId": "java.net.SocketAddress",
                    "classInformation": {
                      "classname": "java.net.SocketAddress",
                      "hasDefaultConstructor": true,
                      "isInterface": false,
                      "isInstantiable": false,
                      "isAbstract": true,
                      "isFinal": false,
                      "implementedInterfaces": [
                        "java.io.Serializable"
                      ],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    },
                    "typeAlias": {
                      "value": "SocketAddress"
                    }
                  },
                  "fields": []
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "outputShutdown"
                },
                "model": {
                  "type": "Boolean",
                  "annotations": {
                    "typeId": "boolean"
                  }
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "outputStream"
                },
                "model": {
                  "type": "Object",
                  "annotations": {
                    "typeId": "java.io.OutputStream",
                    "classInformation": {
                      "classname": "java.io.OutputStream",
                      "hasDefaultConstructor": true,
                      "isInterface": false,
                      "isInstantiable": false,
                      "isAbstract": true,
                      "isFinal": false,
                      "implementedInterfaces": [
                        "java.io.Closeable",
                        "java.io.Flushable"
                      ],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    },
                    "typeAlias": {
                      "value": "OutputStream"
                    }
                  },
                  "fields": []
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "port"
                },
                "model": {
                  "type": "Number",
                  "annotations": {
                    "classInformation": {
                      "classname": "int",
                      "hasDefaultConstructor": false,
                      "isInterface": false,
                      "isInstantiable": false,
                      "isAbstract": true,
                      "isFinal": true,
                      "implementedInterfaces": [],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    },
                    "int": {}
                  }
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "receiveBufferSize"
                },
                "model": {
                  "type": "Number",
                  "annotations": {
                    "classInformation": {
                      "classname": "int",
                      "hasDefaultConstructor": false,
                      "isInterface": false,
                      "isInstantiable": false,
                      "isAbstract": true,
                      "isFinal": true,
                      "implementedInterfaces": [],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    },
                    "int": {}
                  }
                }
              },
              {
                "key": {
                  "name": "remoteSocketAddress"
                },
                "model": {
                  "type": "Object",
                  "annotations": {
                    "typeId": "java.net.SocketAddress",
                    "classInformation": {
                      "classname": "java.net.SocketAddress",
                      "hasDefaultConstructor": true,
                      "isInterface": false,
                      "isInstantiable": false,
                      "isAbstract": true,
                      "isFinal": false,
                      "implementedInterfaces": [
                        "java.io.Serializable"
                      ],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    },
                    "typeAlias": {
                      "value": "SocketAddress"
                    }
                  },
                  "fields": []
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "reuseAddress"
                },
                "model": {
                  "type": "Boolean",
                  "annotations": {
                    "typeId": "boolean"
                  }
                }
              },
              {
                "key": {
                  "name": "sendBufferSize"
                },
                "model": {
                  "type": "Number",
                  "annotations": {
                    "classInformation": {
                      "classname": "int",
                      "hasDefaultConstructor": false,
                      "isInterface": false,
                      "isInstantiable": false,
                      "isAbstract": true,
                      "isFinal": true,
                      "implementedInterfaces": [],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    },
                    "int": {}
                  }
                }
              },
              {
                "key": {
                  "name": "soLinger"
                },
                "model": {
                  "type": "Number",
                  "annotations": {
                    "classInformation": {
                      "classname": "int",
                      "hasDefaultConstructor": false,
                      "isInterface": false,
                      "isInstantiable": false,
                      "isAbstract": true,
                      "isFinal": true,
                      "implementedInterfaces": [],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    },
                    "int": {}
                  }
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "soTimeout"
                },
                "model": {
                  "type": "Number",
                  "annotations": {
                    "classInformation": {
                      "classname": "int",
                      "hasDefaultConstructor": false,
                      "isInterface": false,
                      "isInstantiable": false,
                      "isAbstract": true,
                      "isFinal": true,
                      "implementedInterfaces": [],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    },
                    "int": {}
                  }
                }
              },
              {
                "key": {
                  "name": "tcpNoDelay"
                },
                "model": {
                  "type": "Boolean",
                  "annotations": {
                    "typeId": "boolean"
                  }
                }
              },
              {
                "key": {
                  "name": "trafficClass"
                },
                "model": {
                  "type": "Number",
                  "annotations": {
                    "classInformation": {
                      "classname": "int",
                      "hasDefaultConstructor": false,
                      "isInterface": false,
                      "isInstantiable": false,
                      "isAbstract": true,
                      "isFinal": true,
                      "implementedInterfaces": [],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    },
                    "int": {}
                  }
                }
              }
            ]
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "cz.integsoft.mule.ipm.api.tcp.OutboundSocketWrapper",
        "classInformation": {
          "classname": "cz.integsoft.mule.ipm.api.tcp.OutboundSocketWrapper",
          "hasDefaultConstructor": false,
          "isInterface": false,
          "isInstantiable": false,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "OutboundSocketWrapper"
        }
      },
      "fields": [
        {
          "key": {
            "name": "outboundSocket"
          },
          "model": {
            "type": "Object",
            "annotations": {
              "typeId": "java.net.Socket",
              "classInformation": {
                "classname": "java.net.Socket",
                "hasDefaultConstructor": true,
                "isInterface": false,
                "isInstantiable": true,
                "isAbstract": false,
                "isFinal": false,
                "implementedInterfaces": [
                  "java.io.Closeable"
                ],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              },
              "typeAlias": {
                "value": "Socket"
              }
            },
            "fields": [
              {
                "key": {
                  "name": "OOBInline"
                },
                "model": {
                  "type": "Boolean",
                  "annotations": {
                    "typeId": "boolean"
                  }
                }
              },
              {
                "key": {
                  "name": "bound"
                },
                "model": {
                  "type": "Boolean",
                  "annotations": {
                    "typeId": "boolean"
                  }
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "channel"
                },
                "model": {
                  "type": "Object",
                  "annotations": {
                    "typeId": "java.nio.channels.SocketChannel",
                    "classInformation": {
                      "classname": "java.nio.channels.SocketChannel",
                      "hasDefaultConstructor": false,
                      "isInterface": false,
                      "isInstantiable": false,
                      "isAbstract": true,
                      "isFinal": false,
                      "implementedInterfaces": [
                        "java.nio.channels.ByteChannel",
                        "java.nio.channels.ScatteringByteChannel",
                        "java.nio.channels.GatheringByteChannel",
                        "java.nio.channels.NetworkChannel"
                      ],
                      "parent": "java.nio.channels.spi.AbstractSelectableChannel",
                      "genericTypes": [],
                      "isMap": false
                    },
                    "typeAlias": {
                      "value": "SocketChannel"
                    }
                  },
                  "fields": [
                    {
                      "key": {
                        "name": "blocking"
                      },
                      "model": {
                        "type": "Boolean",
                        "annotations": {
                          "typeId": "boolean"
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "connected"
                      },
                      "model": {
                        "type": "Boolean",
                        "annotations": {
                          "typeId": "boolean"
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "connectionPending"
                      },
                      "model": {
                        "type": "Boolean",
                        "annotations": {
                          "typeId": "boolean"
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "localAddress"
                      },
                      "model": {
                        "type": "Object",
                        "annotations": {
                          "typeId": "java.net.SocketAddress",
                          "classInformation": {
                            "classname": "java.net.SocketAddress",
                            "hasDefaultConstructor": true,
                            "isInterface": false,
                            "isInstantiable": false,
                            "isAbstract": true,
                            "isFinal": false,
                            "implementedInterfaces": [
                              "java.io.Serializable"
                            ],
                            "parent": "",
                            "genericTypes": [],
                            "isMap": false
                          },
                          "typeAlias": {
                            "value": "SocketAddress"
                          }
                        },
                        "fields": []
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "open"
                      },
                      "model": {
                        "type": "Boolean",
                        "annotations": {
                          "typeId": "boolean"
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "registered"
                      },
                      "model": {
                        "type": "Boolean",
                        "annotations": {
                          "typeId": "boolean"
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "remoteAddress"
                      },
                      "model": {
                        "type": "Object",
                        "annotations": {
                          "typeId": "java.net.SocketAddress",
                          "classInformation": {
                            "classname": "java.net.SocketAddress",
                            "hasDefaultConstructor": true,
                            "isInterface": false,
                            "isInstantiable": false,
                            "isAbstract": true,
                            "isFinal": false,
                            "implementedInterfaces": [
                              "java.io.Serializable"
                            ],
                            "parent": "",
                            "genericTypes": [],
                            "isMap": false
                          },
                          "typeAlias": {
                            "value": "SocketAddress"
                          }
                        },
                        "fields": []
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    }
                  ]
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "closed"
                },
                "model": {
                  "type": "Boolean",
                  "annotations": {
                    "typeId": "boolean"
                  }
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "connected"
                },
                "model": {
                  "type": "Boolean",
                  "annotations": {
                    "typeId": "boolean"
                  }
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "inetAddress"
                },
                "model": {
                  "type": "Object",
                  "annotations": {
                    "typeId": "java.net.InetAddress",
                    "classInformation": {
                      "classname": "java.net.InetAddress",
                      "hasDefaultConstructor": false,
                      "isInterface": false,
                      "isInstantiable": false,
                      "isAbstract": false,
                      "isFinal": false,
                      "implementedInterfaces": [
                        "java.io.Serializable"
                      ],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    },
                    "typeAlias": {
                      "value": "InetAddress"
                    }
                  },
                  "fields": [
                    {
                      "key": {
                        "name": "MCGlobal"
                      },
                      "model": {
                        "type": "Boolean",
                        "annotations": {
                          "typeId": "boolean"
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "MCLinkLocal"
                      },
                      "model": {
                        "type": "Boolean",
                        "annotations": {
                          "typeId": "boolean"
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "MCNodeLocal"
                      },
                      "model": {
                        "type": "Boolean",
                        "annotations": {
                          "typeId": "boolean"
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "MCOrgLocal"
                      },
                      "model": {
                        "type": "Boolean",
                        "annotations": {
                          "typeId": "boolean"
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "MCSiteLocal"
                      },
                      "model": {
                        "type": "Boolean",
                        "annotations": {
                          "typeId": "boolean"
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "address"
                      },
                      "model": {
                        "type": "Binary",
                        "annotations": {
                          "classInformation": {
                            "classname": "byte[]",
                            "hasDefaultConstructor": false,
                            "isInterface": false,
                            "isInstantiable": false,
                            "isAbstract": true,
                            "isFinal": true,
                            "implementedInterfaces": [
                              "java.lang.Cloneable",
                              "java.io.Serializable"
                            ],
                            "parent": "",
                            "genericTypes": [],
                            "isMap": false
                          }
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "anyLocalAddress"
                      },
                      "model": {
                        "type": "Boolean",
                        "annotations": {
                          "typeId": "boolean"
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "canonicalHostName"
                      },
                      "model": {
                        "type": "String"
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "hostAddress"
                      },
                      "model": {
                        "type": "String"
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "hostName"
                      },
                      "model": {
                        "type": "String"
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "linkLocalAddress"
                      },
                      "model": {
                        "type": "Boolean",
                        "annotations": {
                          "typeId": "boolean"
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "loopbackAddress"
                      },
                      "model": {
                        "type": "Boolean",
                        "annotations": {
                          "typeId": "boolean"
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "multicastAddress"
                      },
                      "model": {
                        "type": "Boolean",
                        "annotations": {
                          "typeId": "boolean"
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "siteLocalAddress"
                      },
                      "model": {
                        "type": "Boolean",
                        "annotations": {
                          "typeId": "boolean"
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    }
                  ]
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "inputShutdown"
                },
                "model": {
                  "type": "Boolean",
                  "annotations": {
                    "typeId": "boolean"
                  }
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "inputStream"
                },
                "model": {
                  "type": "Binary",
                  "annotations": {
                    "classInformation": {
                      "classname": "java.io.InputStream",
                      "hasDefaultConstructor": true,
                      "isInterface": false,
                      "isInstantiable": false,
                      "isAbstract": true,
                      "isFinal": false,
                      "implementedInterfaces": [
                        "java.io.Closeable"
                      ],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    }
                  }
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "keepAlive"
                },
                "model": {
                  "type": "Boolean",
                  "annotations": {
                    "typeId": "boolean"
                  }
                }
              },
              {
                "key": {
                  "name": "localAddress"
                },
                "model": {
                  "type": "Object",
                  "annotations": {
                    "typeId": "java.net.InetAddress",
                    "classInformation": {
                      "classname": "java.net.InetAddress",
                      "hasDefaultConstructor": false,
                      "isInterface": false,
                      "isInstantiable": false,
                      "isAbstract": false,
                      "isFinal": false,
                      "implementedInterfaces": [
                        "java.io.Serializable"
                      ],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    },
                    "typeAlias": {
                      "value": "InetAddress"
                    }
                  },
                  "fields": [
                    {
                      "key": {
                        "name": "MCGlobal"
                      },
                      "model": {
                        "type": "Boolean",
                        "annotations": {
                          "typeId": "boolean"
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "MCLinkLocal"
                      },
                      "model": {
                        "type": "Boolean",
                        "annotations": {
                          "typeId": "boolean"
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "MCNodeLocal"
                      },
                      "model": {
                        "type": "Boolean",
                        "annotations": {
                          "typeId": "boolean"
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "MCOrgLocal"
                      },
                      "model": {
                        "type": "Boolean",
                        "annotations": {
                          "typeId": "boolean"
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "MCSiteLocal"
                      },
                      "model": {
                        "type": "Boolean",
                        "annotations": {
                          "typeId": "boolean"
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "address"
                      },
                      "model": {
                        "type": "Binary",
                        "annotations": {
                          "classInformation": {
                            "classname": "byte[]",
                            "hasDefaultConstructor": false,
                            "isInterface": false,
                            "isInstantiable": false,
                            "isAbstract": true,
                            "isFinal": true,
                            "implementedInterfaces": [
                              "java.lang.Cloneable",
                              "java.io.Serializable"
                            ],
                            "parent": "",
                            "genericTypes": [],
                            "isMap": false
                          }
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "anyLocalAddress"
                      },
                      "model": {
                        "type": "Boolean",
                        "annotations": {
                          "typeId": "boolean"
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "canonicalHostName"
                      },
                      "model": {
                        "type": "String"
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "hostAddress"
                      },
                      "model": {
                        "type": "String"
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "hostName"
                      },
                      "model": {
                        "type": "String"
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "linkLocalAddress"
                      },
                      "model": {
                        "type": "Boolean",
                        "annotations": {
                          "typeId": "boolean"
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "loopbackAddress"
                      },
                      "model": {
                        "type": "Boolean",
                        "annotations": {
                          "typeId": "boolean"
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "multicastAddress"
                      },
                      "model": {
                        "type": "Boolean",
                        "annotations": {
                          "typeId": "boolean"
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "siteLocalAddress"
                      },
                      "model": {
                        "type": "Boolean",
                        "annotations": {
                          "typeId": "boolean"
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    }
                  ]
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "localPort"
                },
                "model": {
                  "type": "Number",
                  "annotations": {
                    "classInformation": {
                      "classname": "int",
                      "hasDefaultConstructor": false,
                      "isInterface": false,
                      "isInstantiable": false,
                      "isAbstract": true,
                      "isFinal": true,
                      "implementedInterfaces": [],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    },
                    "int": {}
                  }
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "localSocketAddress"
                },
                "model": {
                  "type": "Object",
                  "annotations": {
                    "typeId": "java.net.SocketAddress",
                    "classInformation": {
                      "classname": "java.net.SocketAddress",
                      "hasDefaultConstructor": true,
                      "isInterface": false,
                      "isInstantiable": false,
                      "isAbstract": true,
                      "isFinal": false,
                      "implementedInterfaces": [
                        "java.io.Serializable"
                      ],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    },
                    "typeAlias": {
                      "value": "SocketAddress"
                    }
                  },
                  "fields": []
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "outputShutdown"
                },
                "model": {
                  "type": "Boolean",
                  "annotations": {
                    "typeId": "boolean"
                  }
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "outputStream"
                },
                "model": {
                  "type": "Object",
                  "annotations": {
                    "typeId": "java.io.OutputStream",
                    "classInformation": {
                      "classname": "java.io.OutputStream",
                      "hasDefaultConstructor": true,
                      "isInterface": false,
                      "isInstantiable": false,
                      "isAbstract": true,
                      "isFinal": false,
                      "implementedInterfaces": [
                        "java.io.Closeable",
                        "java.io.Flushable"
                      ],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    },
                    "typeAlias": {
                      "value": "OutputStream"
                    }
                  },
                  "fields": []
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "port"
                },
                "model": {
                  "type": "Number",
                  "annotations": {
                    "classInformation": {
                      "classname": "int",
                      "hasDefaultConstructor": false,
                      "isInterface": false,
                      "isInstantiable": false,
                      "isAbstract": true,
                      "isFinal": true,
                      "implementedInterfaces": [],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    },
                    "int": {}
                  }
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "receiveBufferSize"
                },
                "model": {
                  "type": "Number",
                  "annotations": {
                    "classInformation": {
                      "classname": "int",
                      "hasDefaultConstructor": false,
                      "isInterface": false,
                      "isInstantiable": false,
                      "isAbstract": true,
                      "isFinal": true,
                      "implementedInterfaces": [],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    },
                    "int": {}
                  }
                }
              },
              {
                "key": {
                  "name": "remoteSocketAddress"
                },
                "model": {
                  "type": "Object",
                  "annotations": {
                    "typeId": "java.net.SocketAddress",
                    "classInformation": {
                      "classname": "java.net.SocketAddress",
                      "hasDefaultConstructor": true,
                      "isInterface": false,
                      "isInstantiable": false,
                      "isAbstract": true,
                      "isFinal": false,
                      "implementedInterfaces": [
                        "java.io.Serializable"
                      ],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    },
                    "typeAlias": {
                      "value": "SocketAddress"
                    }
                  },
                  "fields": []
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "reuseAddress"
                },
                "model": {
                  "type": "Boolean",
                  "annotations": {
                    "typeId": "boolean"
                  }
                }
              },
              {
                "key": {
                  "name": "sendBufferSize"
                },
                "model": {
                  "type": "Number",
                  "annotations": {
                    "classInformation": {
                      "classname": "int",
                      "hasDefaultConstructor": false,
                      "isInterface": false,
                      "isInstantiable": false,
                      "isAbstract": true,
                      "isFinal": true,
                      "implementedInterfaces": [],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    },
                    "int": {}
                  }
                }
              },
              {
                "key": {
                  "name": "soLinger"
                },
                "model": {
                  "type": "Number",
                  "annotations": {
                    "classInformation": {
                      "classname": "int",
                      "hasDefaultConstructor": false,
                      "isInterface": false,
                      "isInstantiable": false,
                      "isAbstract": true,
                      "isFinal": true,
                      "implementedInterfaces": [],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    },
                    "int": {}
                  }
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "soTimeout"
                },
                "model": {
                  "type": "Number",
                  "annotations": {
                    "classInformation": {
                      "classname": "int",
                      "hasDefaultConstructor": false,
                      "isInterface": false,
                      "isInstantiable": false,
                      "isAbstract": true,
                      "isFinal": true,
                      "implementedInterfaces": [],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    },
                    "int": {}
                  }
                }
              },
              {
                "key": {
                  "name": "tcpNoDelay"
                },
                "model": {
                  "type": "Boolean",
                  "annotations": {
                    "typeId": "boolean"
                  }
                }
              },
              {
                "key": {
                  "name": "trafficClass"
                },
                "model": {
                  "type": "Number",
                  "annotations": {
                    "classInformation": {
                      "classname": "int",
                      "hasDefaultConstructor": false,
                      "isInterface": false,
                      "isInstantiable": false,
                      "isAbstract": true,
                      "isFinal": true,
                      "implementedInterfaces": [],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    },
                    "int": {}
                  }
                }
              }
            ]
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "cz.integsoft.mule.ipm.api.tcp.TcpClientSocketProperties",
        "classInformation": {
          "classname": "cz.integsoft.mule.ipm.api.tcp.TcpClientSocketProperties",
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [],
          "parent": "cz.integsoft.mule.ipm.api.tcp.AbstractTcpSocketProperties",
          "genericTypes": [],
          "isMap": false
        },
        "typeDsl": {
          "allowInlineDefinition": true,
          "allowTopLevelDefinition": true
        },
        "typeAlias": {
          "value": "tcp-client-socket-properties"
        },
        "stereotype": {
          "allowedStereotypes": [
            {
              "type": "TCP_CLIENT_SOCKET_PROPERTIES",
              "namespace": "IPM"
            }
          ]
        }
      },
      "fields": [
        {
          "key": {
            "name": "connection-timeout"
          },
          "model": {
            "type": "Number",
            "annotations": {
              "classInformation": {
                "classname": "java.lang.Integer",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": false,
                "isFinal": true,
                "implementedInterfaces": [
                  "java.lang.Comparable"
                ],
                "parent": "java.lang.Number",
                "genericTypes": [],
                "isMap": false
              },
              "int": {}
            }
          },
          "annotations": {
            "default": "30000",
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "layout": {
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "tabName": "Timeout Configuration"
              }
            },
            "display": {
              "displayModel": {
                "summary": "Time to wait during a connection to a remote server before failing with a timeout. A timeout value of zero is interpreted as an infinite timeout."
              }
            }
          }
        },
        {
          "key": {
            "name": "send-tcp-no-delay"
          },
          "model": {
            "type": "Boolean",
            "annotations": {
              "typeId": "boolean"
            }
          },
          "annotations": {
            "default": "true",
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "displayName": "Send TCP With No Delay",
                "summary": "Indicates whether the transmitted data should not be collected together for greater efficiency, and sent immediately"
              }
            }
          }
        },
        {
          "key": {
            "name": "linger"
          },
          "model": {
            "type": "Number",
            "annotations": {
              "classInformation": {
                "classname": "java.lang.Integer",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": false,
                "isFinal": true,
                "implementedInterfaces": [
                  "java.lang.Comparable"
                ],
                "parent": "java.lang.Number",
                "genericTypes": [],
                "isMap": false
              },
              "int": {}
            }
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "summary": "This indicates for how long, in milliseconds, the socket will take to close so any remaining data is transmitted correctly"
              }
            }
          }
        },
        {
          "key": {
            "name": "keep-alive"
          },
          "model": {
            "type": "Boolean",
            "annotations": {
              "typeId": "boolean"
            }
          },
          "annotations": {
            "default": "false",
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "summary": "Indicates whether the open socket connections unused for a long period and with an unavailable connection should be closed"
              }
            }
          }
        },
        {
          "key": {
            "name": "fail-on-unresolved-host"
          },
          "model": {
            "type": "Boolean",
            "annotations": {
              "typeId": "boolean"
            }
          },
          "annotations": {
            "default": "true",
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "summary": "Whether the socket should fail during its creation if the host set on the endpoint cannot be resolved"
              }
            }
          }
        },
        {
          "key": {
            "name": "send-buffer-size"
          },
          "model": {
            "type": "Number",
            "annotations": {
              "classInformation": {
                "classname": "java.lang.Integer",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": false,
                "isFinal": true,
                "implementedInterfaces": [
                  "java.lang.Comparable"
                ],
                "parent": "java.lang.Number",
                "genericTypes": [],
                "isMap": false
              },
              "int": {}
            }
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "layout": {
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "tabName": "Buffer Configuration"
              }
            },
            "display": {
              "displayModel": {
                "summary": "The size of the buffer (in bytes) used when sending data"
              }
            }
          }
        },
        {
          "key": {
            "name": "receive-buffer-size"
          },
          "model": {
            "type": "Number",
            "annotations": {
              "classInformation": {
                "classname": "java.lang.Integer",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": false,
                "isFinal": true,
                "implementedInterfaces": [
                  "java.lang.Comparable"
                ],
                "parent": "java.lang.Number",
                "genericTypes": [],
                "isMap": false
              },
              "int": {}
            }
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "layout": {
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "tabName": "Buffer Configuration"
              }
            },
            "display": {
              "displayModel": {
                "summary": "The size of the buffer (in bytes) used when receiving data"
              }
            }
          }
        },
        {
          "key": {
            "name": "client-timeout"
          },
          "model": {
            "type": "Number",
            "annotations": {
              "classInformation": {
                "classname": "java.lang.Integer",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": false,
                "isFinal": true,
                "implementedInterfaces": [
                  "java.lang.Comparable"
                ],
                "parent": "java.lang.Number",
                "genericTypes": [],
                "isMap": false
              },
              "int": {}
            }
          },
          "annotations": {
            "default": "0",
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "layout": {
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "tabName": "Timeout Configuration"
              }
            },
            "display": {
              "displayModel": {
                "summary": "Time, in milliseconds, that the socket will wait in a blocking operation before failing"
              }
            }
          }
        },
        {
          "key": {
            "name": "reuse-address"
          },
          "model": {
            "type": "Boolean",
            "annotations": {
              "typeId": "boolean"
            }
          },
          "annotations": {
            "default": "true",
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "summary": "Indicates whether if the configured socket could be reused or fail at when trying to bind it"
              }
            }
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "cz.integsoft.mule.ipm.api.tcp.TcpServerSocketProperties",
        "classInformation": {
          "classname": "cz.integsoft.mule.ipm.api.tcp.TcpServerSocketProperties",
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [],
          "parent": "cz.integsoft.mule.ipm.api.tcp.AbstractTcpSocketProperties",
          "genericTypes": [],
          "isMap": false
        },
        "typeDsl": {
          "allowInlineDefinition": true,
          "allowTopLevelDefinition": true
        },
        "typeAlias": {
          "value": "tcp-server-socket-properties"
        },
        "stereotype": {
          "allowedStereotypes": [
            {
              "type": "TCP_SERVER_SOCKET_PROPERTIES",
              "namespace": "IPM"
            }
          ]
        }
      },
      "fields": [
        {
          "key": {
            "name": "server-timeout"
          },
          "model": {
            "type": "Number",
            "annotations": {
              "classInformation": {
                "classname": "java.lang.Integer",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": false,
                "isFinal": true,
                "implementedInterfaces": [
                  "java.lang.Comparable"
                ],
                "parent": "java.lang.Number",
                "genericTypes": [],
                "isMap": false
              },
              "int": {}
            }
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "layout": {
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "tabName": "Timeout Configuration"
              }
            },
            "display": {
              "displayModel": {
                "summary": "Sets the \u0027SO_TIMEOUT\u0027 value when the socket is used as a server"
              }
            }
          }
        },
        {
          "key": {
            "name": "receive-backlog"
          },
          "model": {
            "type": "Number",
            "annotations": {
              "classInformation": {
                "classname": "int",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": true,
                "implementedInterfaces": [],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              },
              "int": {}
            }
          },
          "annotations": {
            "default": "50",
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "layout": {
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "tabName": "Advanced"
              }
            },
            "display": {
              "displayModel": {
                "summary": "The maximum queue length for incoming connections"
              }
            }
          }
        },
        {
          "key": {
            "name": "send-tcp-no-delay"
          },
          "model": {
            "type": "Boolean",
            "annotations": {
              "typeId": "boolean"
            }
          },
          "annotations": {
            "default": "true",
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "displayName": "Send TCP With No Delay",
                "summary": "Indicates whether the transmitted data should not be collected together for greater efficiency, and sent immediately"
              }
            }
          }
        },
        {
          "key": {
            "name": "linger"
          },
          "model": {
            "type": "Number",
            "annotations": {
              "classInformation": {
                "classname": "java.lang.Integer",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": false,
                "isFinal": true,
                "implementedInterfaces": [
                  "java.lang.Comparable"
                ],
                "parent": "java.lang.Number",
                "genericTypes": [],
                "isMap": false
              },
              "int": {}
            }
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "summary": "This indicates for how long, in milliseconds, the socket will take to close so any remaining data is transmitted correctly"
              }
            }
          }
        },
        {
          "key": {
            "name": "keep-alive"
          },
          "model": {
            "type": "Boolean",
            "annotations": {
              "typeId": "boolean"
            }
          },
          "annotations": {
            "default": "false",
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "summary": "Indicates whether the open socket connections unused for a long period and with an unavailable connection should be closed"
              }
            }
          }
        },
        {
          "key": {
            "name": "fail-on-unresolved-host"
          },
          "model": {
            "type": "Boolean",
            "annotations": {
              "typeId": "boolean"
            }
          },
          "annotations": {
            "default": "true",
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "summary": "Whether the socket should fail during its creation if the host set on the endpoint cannot be resolved"
              }
            }
          }
        },
        {
          "key": {
            "name": "send-buffer-size"
          },
          "model": {
            "type": "Number",
            "annotations": {
              "classInformation": {
                "classname": "java.lang.Integer",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": false,
                "isFinal": true,
                "implementedInterfaces": [
                  "java.lang.Comparable"
                ],
                "parent": "java.lang.Number",
                "genericTypes": [],
                "isMap": false
              },
              "int": {}
            }
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "layout": {
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "tabName": "Buffer Configuration"
              }
            },
            "display": {
              "displayModel": {
                "summary": "The size of the buffer (in bytes) used when sending data"
              }
            }
          }
        },
        {
          "key": {
            "name": "receive-buffer-size"
          },
          "model": {
            "type": "Number",
            "annotations": {
              "classInformation": {
                "classname": "java.lang.Integer",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": false,
                "isFinal": true,
                "implementedInterfaces": [
                  "java.lang.Comparable"
                ],
                "parent": "java.lang.Number",
                "genericTypes": [],
                "isMap": false
              },
              "int": {}
            }
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "layout": {
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "tabName": "Buffer Configuration"
              }
            },
            "display": {
              "displayModel": {
                "summary": "The size of the buffer (in bytes) used when receiving data"
              }
            }
          }
        },
        {
          "key": {
            "name": "client-timeout"
          },
          "model": {
            "type": "Number",
            "annotations": {
              "classInformation": {
                "classname": "java.lang.Integer",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": false,
                "isFinal": true,
                "implementedInterfaces": [
                  "java.lang.Comparable"
                ],
                "parent": "java.lang.Number",
                "genericTypes": [],
                "isMap": false
              },
              "int": {}
            }
          },
          "annotations": {
            "default": "0",
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "layout": {
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "tabName": "Timeout Configuration"
              }
            },
            "display": {
              "displayModel": {
                "summary": "Time, in milliseconds, that the socket will wait in a blocking operation before failing"
              }
            }
          }
        },
        {
          "key": {
            "name": "reuse-address"
          },
          "model": {
            "type": "Boolean",
            "annotations": {
              "typeId": "boolean"
            }
          },
          "annotations": {
            "default": "true",
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "summary": "Indicates whether if the configured socket could be reused or fail at when trying to bind it"
              }
            }
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "cz.integsoft.mule.ipm.api.util.ProxyModuleUtils",
        "classInformation": {
          "classname": "cz.integsoft.mule.ipm.api.util.ProxyModuleUtils",
          "hasDefaultConstructor": false,
          "isInterface": false,
          "isInstantiable": false,
          "isAbstract": false,
          "isFinal": true,
          "implementedInterfaces": [],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "ProxyModuleUtils"
        }
      },
      "fields": []
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "org.mule.extension.socket.api.ImmutableSocketAttributes",
        "classInformation": {
          "classname": "org.mule.extension.socket.api.ImmutableSocketAttributes",
          "hasDefaultConstructor": false,
          "isInterface": false,
          "isInstantiable": false,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [
            "org.mule.extension.socket.api.SocketAttributes",
            "java.io.Serializable"
          ],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "ImmutableSocketAttributes"
        }
      },
      "fields": [
        {
          "key": {
            "name": "port",
            "required": "true"
          },
          "model": {
            "type": "Number",
            "annotations": {
              "classInformation": {
                "classname": "int",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": true,
                "implementedInterfaces": [],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              },
              "int": {}
            }
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            }
          }
        },
        {
          "key": {
            "name": "hostAddress",
            "required": "true"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            }
          }
        },
        {
          "key": {
            "name": "hostName",
            "required": "true"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            }
          }
        },
        {
          "key": {
            "name": "localCertificates"
          },
          "model": {
            "type": "Array",
            "annotations": {
              "classInformation": {
                "classname": "java.security.cert.Certificate[]",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": true,
                "implementedInterfaces": [
                  "java.lang.Cloneable",
                  "java.io.Serializable"
                ],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              }
            },
            "item": {
              "type": "Object",
              "annotations": {
                "typeId": "java.security.cert.Certificate",
                "classInformation": {
                  "classname": "java.security.cert.Certificate",
                  "hasDefaultConstructor": false,
                  "isInterface": false,
                  "isInstantiable": false,
                  "isAbstract": true,
                  "isFinal": false,
                  "implementedInterfaces": [
                    "java.io.Serializable"
                  ],
                  "parent": "",
                  "genericTypes": [],
                  "isMap": false
                },
                "typeAlias": {
                  "value": "Certificate"
                }
              },
              "fields": [
                {
                  "key": {
                    "name": "encoded"
                  },
                  "model": {
                    "type": "Binary",
                    "annotations": {
                      "classInformation": {
                        "classname": "byte[]",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Cloneable",
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      }
                    }
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "publicKey"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "typeId": "java.security.PublicKey",
                      "classInformation": {
                        "classname": "java.security.PublicKey",
                        "hasDefaultConstructor": false,
                        "isInterface": true,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.security.Key"
                        ],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "typeAlias": {
                        "value": "PublicKey"
                      }
                    },
                    "fields": []
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "type"
                  },
                  "model": {
                    "type": "String"
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                }
              ]
            }
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            }
          }
        },
        {
          "key": {
            "name": "peerCertificates"
          },
          "model": {
            "type": "Array",
            "annotations": {
              "classInformation": {
                "classname": "java.security.cert.Certificate[]",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": true,
                "implementedInterfaces": [
                  "java.lang.Cloneable",
                  "java.io.Serializable"
                ],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              }
            },
            "item": {
              "type": "Object",
              "annotations": {
                "typeId": "java.security.cert.Certificate",
                "classInformation": {
                  "classname": "java.security.cert.Certificate",
                  "hasDefaultConstructor": false,
                  "isInterface": false,
                  "isInstantiable": false,
                  "isAbstract": true,
                  "isFinal": false,
                  "implementedInterfaces": [
                    "java.io.Serializable"
                  ],
                  "parent": "",
                  "genericTypes": [],
                  "isMap": false
                },
                "typeAlias": {
                  "value": "Certificate"
                }
              },
              "fields": [
                {
                  "key": {
                    "name": "encoded"
                  },
                  "model": {
                    "type": "Binary",
                    "annotations": {
                      "classInformation": {
                        "classname": "byte[]",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Cloneable",
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      }
                    }
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "publicKey"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "typeId": "java.security.PublicKey",
                      "classInformation": {
                        "classname": "java.security.PublicKey",
                        "hasDefaultConstructor": false,
                        "isInterface": true,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.security.Key"
                        ],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "typeAlias": {
                        "value": "PublicKey"
                      }
                    },
                    "fields": []
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "type"
                  },
                  "model": {
                    "type": "String"
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                }
              ]
            }
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            }
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "org.mule.extension.socket.api.SocketConnectionSettings",
        "classInformation": {
          "classname": "org.mule.extension.socket.api.SocketConnectionSettings",
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "SocketConnectionSettings"
        }
      },
      "fields": [
        {
          "key": {
            "name": "port",
            "required": "true"
          },
          "model": {
            "type": "Number",
            "annotations": {
              "classInformation": {
                "classname": "java.lang.Integer",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": false,
                "isFinal": true,
                "implementedInterfaces": [
                  "java.lang.Comparable"
                ],
                "parent": "java.lang.Number",
                "genericTypes": [],
                "isMap": false
              },
              "int": {}
            }
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "layout": {
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2,
                "tabName": "General"
              }
            }
          }
        },
        {
          "key": {
            "name": "host",
            "required": "true"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "layout": {
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1,
                "tabName": "General"
              }
            }
          }
        }
      ]
    }
  ]
}
